Re: ntp_init() looks like a nop
- In reply to: Konstantin Belousov : "Re: ntp_init() looks like a nop"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 07 Feb 2022 18:04:37 UTC
On Mon, Feb 7, 2022 at 8:20 AM Konstantin Belousov <kostikbel@gmail.com> wrote: > On Mon, Feb 07, 2022 at 04:04:56PM +0100, Sebastian Huber wrote: > > Hello, > > > > I review currently the kern_ntptime.c module since I would like to use > it in > > RTEMS. I have a question to ntp_init(): > > > > /* > > * ntp_init() - initialize variables and structures > > * > > * This routine must be called after the kernel variables hz and tick > > * are set or changed and before the next tick interrupt. In this > > * particular implementation, these values are assumed set elsewhere in > > * the kernel. The design allows the clock frequency and tick interval > > * to be changed while the system is running. So, this routine should > > * probably be integrated with the code that does that. > > */ > > static void > > ntp_init(void) > > { > > > > /* > > * The following variables are initialized only at startup. Only > > * those structures not cleared by the compiler need to be > > * initialized, and these only in the simulator. In the actual > > * kernel, any nonzero values here will quickly evaporate. > > */ > > L_CLR(time_offset); > > L_CLR(time_freq); > > #ifdef PPS_SYNC > > pps_tf[0].tv_sec = pps_tf[0].tv_nsec = 0; > > pps_tf[1].tv_sec = pps_tf[1].tv_nsec = 0; > > pps_tf[2].tv_sec = pps_tf[2].tv_nsec = 0; > > pps_fcount = 0; > > L_CLR(pps_freq); > > #endif /* PPS_SYNC */ > > } > > > > SYSINIT(ntpclocks, SI_SUB_CLOCKS, SI_ORDER_MIDDLE, ntp_init, NULL); > > > > The ntp_init() function sets a couple of global variables to zero. These > > variables should be in the .bss section. Are they not already cleared > during > > the kernel loading? > This is nop indeed, be it linked in kernel, or loaded as a module. > I just looked at the posted patch, and I concur. Warner