On 12/21/2018 12:27 PM, Deepa Dinamani wrote:
Al Viro mentioned that there is probably a race condition lurking in accesses of sk_tstamp on 32-bit machines.
sock->sk_tstamp is of type ktime_t which is always an s64. On a 32 bit architecture, we might run into situations of unsafe access as the access to the field becomes non atomic.
Use seqlocks for synchronization. This allows us to avoid using spinlocks for readers as readers do not need mutual exclusion.
Hi Deepa
Please come up with something that has zero added costs for 64bit kernels.
Most of us do not really care about 32bit kernels anymore, so we do not want to slow down 64bits kernels for such things.
Look at include/linux/u64_stats_sync.h for initial thoughts.
Thanks.