mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-31 22:15:38 +00:00
Staging: lustre: lnet: Improve 'incarnation' stamp
ksock_net_t uses a __u64 quantity as an 'incarnation' timestamp. This is also passed on in hello messages and used to detect if a reboot has occurred. This 'incarnation' is obtained using do_gettimeofday.It is only used in equality checks, so the absolute value does not matter. This patch replaces do_gettimeofday with ktime_get_ns for the following reasons: 1. ktime_get_ns returns a __u64 which is safer than 'struct timeval' which will overflow on 32-bit systems in year 2038 and beyond. 2. Reduced compute: ktime_get_ns is faster than the multiply/add combination used in this function Signed-off-by: Tina Ruchandani <ruchandani.tina@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b7c12ca4df
commit
11dd2a979a
@ -2348,16 +2348,11 @@ ksocknal_base_shutdown(void)
|
||||
static __u64
|
||||
ksocknal_new_incarnation (void)
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
/* The incarnation number is the time this module loaded and it
|
||||
* identifies this particular instance of the socknal. Hopefully
|
||||
* we won't be able to reboot more frequently than 1MHz for the
|
||||
* foreseeable future :) */
|
||||
|
||||
do_gettimeofday(&tv);
|
||||
|
||||
return (((__u64)tv.tv_sec) * 1000000) + tv.tv_usec;
|
||||
* identifies this particular instance of the socknal.
|
||||
*/
|
||||
return ktime_get_ns();
|
||||
}
|
||||
|
||||
static int
|
||||
|
Loading…
Reference in New Issue
Block a user