[lustre-devel] [PATCH 0/8] staging: lustre: lnet: resolve time handling issues
James Simmons
jsimmons at infradead.org
Sun Jun 24 14:53:44 PDT 2018
The migration of lustre to 64 bit time handling exposed various bugs
which have lead to problems like routers no longer functioning with
the upstream client. This is due to the complex handling of time by
lustre with seconds time units and jiffies. Add in the fact that
jiffies can vary from node to node and you can encounter corner
case issues in a large node deployment. The solution to resolve this
was to migrate as much as possible to time64_t when all you needed
was seconds percision and ktime_t if better percision was required.
With these changes it is reduced down to using jiffies only for
schedule_timeout calls.
James Simmons (8):
staging: lustre: lnet: simplify lnet_eq_wait_locked
staging: lustre: o2iblnd: use ktime_get_real_ns for ibn_incarnation
staging: lustre: ksocklnd: use ktime_get_real_ns for ksnn_incarnation
staging: lustre: ksocklnd: move remaining time handling to 64 bits
staging: lustre: lnet: use ktime_get_real_ns for cookie creation
staging: lustre: lnet: move ping and delay injection to time64_t
staging: lustre: ko2iblnd: remove remaining jiffy use
staging: lustre: selftest: fix time reporting
drivers/staging/lustre/include/linux/lnet/api.h | 2 +-
.../staging/lustre/include/linux/lnet/lib-lnet.h | 8 +-
.../staging/lustre/include/linux/lnet/lib-types.h | 13 ++-
.../lustre/include/uapi/linux/lnet/lnet-types.h | 2 -
.../lustre/include/uapi/linux/lnet/lnetst.h | 2 +-
.../staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c | 53 +++++-----
.../staging/lustre/lnet/klnds/o2iblnd/o2iblnd.h | 28 ++---
.../staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c | 36 +++----
.../staging/lustre/lnet/klnds/socklnd/socklnd.c | 44 ++++----
.../staging/lustre/lnet/klnds/socklnd/socklnd.h | 22 ++--
.../staging/lustre/lnet/klnds/socklnd/socklnd_cb.c | 117 ++++++++++-----------
drivers/staging/lustre/lnet/lnet/api-ni.c | 54 ++++++----
drivers/staging/lustre/lnet/lnet/lib-eq.c | 26 ++---
drivers/staging/lustre/lnet/lnet/lib-move.c | 24 ++---
drivers/staging/lustre/lnet/lnet/net_fault.c | 72 ++++++-------
drivers/staging/lustre/lnet/lnet/peer.c | 2 +-
drivers/staging/lustre/lnet/lnet/router.c | 35 +++---
drivers/staging/lustre/lnet/lnet/router_proc.c | 27 +++--
drivers/staging/lustre/lnet/selftest/conrpc.c | 39 +++----
drivers/staging/lustre/lnet/selftest/conrpc.h | 2 +-
drivers/staging/lustre/lnet/selftest/console.c | 4 +-
drivers/staging/lustre/lnet/selftest/console.h | 2 +-
drivers/staging/lustre/lnet/selftest/framework.c | 4 +-
drivers/staging/lustre/lnet/selftest/selftest.h | 2 +-
drivers/staging/lustre/lnet/selftest/timer.c | 8 +-
25 files changed, 304 insertions(+), 324 deletions(-)
--
1.8.3.1
More information about the lustre-devel
mailing list