Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v4.16-rc4]
[also build test ERROR on next-20180316]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/jason-vas-dias-gmail-com/x86-vdso-on-Intel-VDSO-should-handle-CLOCK_MONOTONIC_RAW/20180317-143702
config: x86_64-randconfig-x010-201810 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   arch/x86/entry/vdso/vclock_gettime.c: In function 
'__vdso_linux_tsc_calibration':
>> arch/x86/entry/vdso/vclock_gettime.c:399:27: error: 'struct 
>> vsyscall_gtod_data' has no member named 'tsc_khz'
       tsc_cal->tsc_khz = gtod->tsc_khz;
                              ^~

vim +399 arch/x86/entry/vdso/vclock_gettime.c

   324  
   325  notrace int __vdso_clock_gettime(clockid_t clock, struct timespec *ts)
   326  {
   327          switch (clock) {
   328          case CLOCK_REALTIME:
   329                  if (do_realtime(ts) == VCLOCK_NONE)
   330                          goto fallback;
   331                  break;
   332          case CLOCK_MONOTONIC:
   333                  if (do_monotonic(ts) == VCLOCK_NONE)
   334                          goto fallback;
   335                  break;
   336          case CLOCK_MONOTONIC_RAW:
   337                  if (do_monotonic_raw(ts) == VCLOCK_NONE)
   338                          goto fallback;
   339                  break;
   340          case CLOCK_REALTIME_COARSE:
   341                  do_realtime_coarse(ts);
   342                  break;
   343          case CLOCK_MONOTONIC_COARSE:
   344                  do_monotonic_coarse(ts);
   345                  break;
   346          default:
   347                  goto fallback;
   348          }
   349  
   350          return 0;
   351  fallback:
   352          return vdso_fallback_gettime(clock, ts);
   353  }
   354  int clock_gettime(clockid_t, struct timespec *)
   355          __attribute__((weak, alias("__vdso_clock_gettime")));
   356  
   357  notrace int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz)
   358  {
   359          if (likely(tv != NULL)) {
   360                  if (unlikely(do_realtime((struct timespec *)tv) == 
VCLOCK_NONE))
   361                          return vdso_fallback_gtod(tv, tz);
   362                  tv->tv_usec /= 1000;
   363          }
   364          if (unlikely(tz != NULL)) {
   365                  tz->tz_minuteswest = gtod->tz_minuteswest;
   366                  tz->tz_dsttime = gtod->tz_dsttime;
   367          }
   368  
   369          return 0;
   370  }
   371  int gettimeofday(struct timeval *, struct timezone *)
   372          __attribute__((weak, alias("__vdso_gettimeofday")));
   373  
   374  /*
   375   * This will break when the xtime seconds get inaccurate, but that is
   376   * unlikely
   377   */
   378  notrace time_t __vdso_time(time_t *t)
   379  {
   380          /* This is atomic on x86 so we don't need any locks. */
   381          time_t result = READ_ONCE(gtod->wall_time_sec);
   382  
   383          if (t)
   384                  *t = result;
   385          return result;
   386  }
   387  time_t time(time_t *t)
   388          __attribute__((weak, alias("__vdso_time")));
   389  
   390  notrace unsigned int
   391  __vdso_linux_tsc_calibration(struct linux_tsc_calibration_s *tsc_cal)
   392  {
   393          unsigned long seq;
   394  
   395          do {
   396                  seq = gtod_read_begin(gtod);
   397                  if ((gtod->vclock_mode == VCLOCK_TSC) &&
   398                      (tsc_cal != ((void *)0UL))) {
 > 399                          tsc_cal->tsc_khz = gtod->tsc_khz;
   400                          tsc_cal->mult    = gtod->raw_mult;
   401                          tsc_cal->shift   = gtod->raw_shift;
   402                          return 1;
   403                  }
   404          } while (unlikely(gtod_read_retry(gtod, seq)));
   405  
   406          return 0;
   407  }
   408  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to