hi Tglx, When we adjust the date setting using date command we observed 'timerfd_read()' on CLOCK_REALTIME (TFD_TIMER_ABSTIME flag is set) returns 0. we don't see any hardware influence here and we are able to recreate it consistently. Is it expected? if yes, isn't it something to be documented in timerfd read() man page? Steps followed to make timerfd read to return 0. 1. run the following script in background to move the date front and back root@sonic:~/test/exp2# cat ./clock_change_test.sh while [ 1 ] do date --set="04 sep 2019 09:50:21" > /dev/null date --set="04 sep 2019 09:58:21" > /dev/null done root@sonic:~/test/exp2# ./clock_change_test.sh 2. Execute the following program to do read on CLOCK_REALTIME timer. root@sonic:~/test/exp2# cat timerfdtest.c #include <errno.h> #include <inttypes.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/epoll.h> #include <sys/timerfd.h> int main() { int tfd; struct itimerspec ts; tfd = timerfd_create(CLOCK_REALTIME, 0); ts.it_interval.tv_sec = 0; ts.it_interval.tv_nsec = 10; ts.it_value.tv_sec = 10; ts.it_value.tv_nsec = 1000; if (timerfd_settime(tfd, TFD_TIMER_ABSTIME, &ts, NULL) < 0) { return EXIT_FAILURE; } while(1) { uint64_t noftimeo; if (read(tfd, &noftimeo, sizeof(noftimeo)) == 0) { printf("read returned 0 nooftimeo:%d\n", noftimeo); } } /* not reached */ return EXIT_SUCCESS; } 3. Observed the following read failure logs within few minutes. root@sonic:~/test/exp2# ./timerfdtest read returned 0 nooftimeo:1392 Regards, Arul On Tue, Aug 20, 2019 at 3:12 PM Arul Jeniston <arul.jeniston@xxxxxxxxx> wrote: > > Hi Tglx, > > > Can you please boot something more recent - at least 4.19 LTS - on that > > machine and let it run for a couple of days to check whether there are 'TSC > > ADJUST' related entries in dmesg? > > Sure. Would check and update. > > Regards, > Arul