Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9056be30 authored by Tina Ruchandani's avatar Tina Ruchandani Committed by Greg Kroah-Hartman
Browse files

Staging: lustre: lnet: lnet: Better cookie gen



api-ni.c uses do_gettimeofday to get a 'cookie' or timestamp.
This patch replaces it 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. Improved resolution: nsecs instead of usecs.
3. Reduced compute: ktime_get_ns is faster than the multiply/add
   combination used in this function

Signed-off-by: default avatarTina Ruchandani <ruchandani.tina@gmail.com>
Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 60444139
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@
#define DEBUG_SUBSYSTEM S_LNET
#include "../../include/linux/lnet/lib-lnet.h"
#include <linux/log2.h>
#include <linux/ktime.h>

#define D_LNI D_CONSOLE

@@ -417,17 +418,9 @@ static __u64
lnet_create_interface_cookie(void)
{
	/* NB the interface cookie in wire handles guards against delayed
	 * replies and ACKs appearing valid after reboot. Initialisation time,
	 * even if it's only implemented to millisecond resolution is probably
	 * easily good enough. */
	struct timeval tv;
	__u64	  cookie;

	do_gettimeofday(&tv);
	cookie = tv.tv_sec;
	cookie *= 1000000;
	cookie += tv.tv_usec;
	return cookie;
	 * replies and ACKs appearing valid after reboot.
	 */
	return ktime_get_ns();
}

static char *