On Wed, 15 Nov 2017, Deepa Dinamani wrote:
I had on concern about x32, maybe we should check for "COMPAT_USE_64BIT_TIME" before zeroing out the tv_nsec bits.
Thanks, I think you are right. I had the check conditional on CONFIG_64BIT_TIME and then removed as I forgot why I added it. :)
Regarding CONFIG_COMPAT_TIME/CONFIG_64BIT_TIME, would it help to just leave out that part for now and unconditionally define '__kernel_timespec' as 'timespec' until we are ready to convert the architectures?
Another approach would be to use separate configs:
- To indicate 64 bit time_t syscall support. This will be dependent
on architectures as CONFIG_64BIT_TIME. We can delete this once all architectures have provided support for this.
- Another config (maybe COMPAT_32BIT_TIME?) to be introduced later,
which will compile out all syscalls/ features that use 32 bit time_t. This can help build a y2038 safe kernel later.
Would this work for everyone?
Having extra config switches which are selectable by architectures and removed when everything is converted is definitely the right way to go.
That allows you to gradually convert stuff w/o inflicting wreckage all over the place.
Thanks,
tglx