From: Shaun Tancheff Date: Tue, 28 Nov 2023 07:34:01 +0000 (-0800) Subject: LU-16534 build: Prefer timer_delete[_sync] X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F65%2F53265%2F2;p=fs%2Flustre-release.git LU-16534 build: Prefer timer_delete[_sync] Linux commit v6.1-rc1-7-g9a5a30568697 timers: Get rid of del_singleshot_timer_sync() Linux commit v6.1-rc1-11-g9b13df3fb64e timers: Rename del_timer_sync() to timer_delete_sync() Linux commit v6.1-rc1-12-gbb663f0f3c39 timers: Rename del_timer() to timer_delete() Prefer timer_delete_sync() to del_singleshot_timer_sync() Prefer timer_delete_sync() to del_timer_sync() Prefer del_timer() to timer_delete() Provide del_timer and del_timer_sync when timer_delete[_sync] is not available Lustre-change: https://review.whamcloud.com/49922 Lustre-commit: 0ec89529ce14a1bb5af0c01ed86424a10e0e373c Test-Parameters: trivial HPE-bug-id: LUS-11470 Signed-off-by: Shaun Tancheff Change-Id: I4c946c315a83482dd0bd69e5e89f0302a67bf81c Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53265 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger --- diff --git a/contrib/scripts/spelling.txt b/contrib/scripts/spelling.txt index fd28a99..b6aebb6 100644 --- a/contrib/scripts/spelling.txt +++ b/contrib/scripts/spelling.txt @@ -93,6 +93,9 @@ cfs_time_current||jiffies cfs_time_current_64||ktime_get cfs_time_current_sec||ktime_get_real_seconds DEFINE_TIMER||CFS_DEFINE_TIMER +del_timer||timer_delete +del_timer_sync||timer_delete_sync +del_singleshot_timer_sync||timer_delete_sync DN_MAX_BONUSLEN||DN_BONUS_SIZE(dnodesize) DN_OLD_MAX_BONUSLEN||DN_BONUS_SIZE(DNODE_MIN_SIZE) from_timer||cfs_from_timer diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 index 4b40e3e..3c0b935 100644 --- a/libcfs/autoconf/lustre-libcfs.m4 +++ b/libcfs/autoconf/lustre-libcfs.m4 @@ -1277,6 +1277,58 @@ param_set_uint_minmax, [ ]) # LIBCFS_PARAM_SET_UINT_MINMAX # +# LIBCFS_HAVE_TIMER_DELETE_SYNC +# +# Linux commit v6.1-rc1-7-g9a5a30568697 +# timers: Get rid of del_singleshot_timer_sync() +# Linux commit v6.1-rc1-11-g9b13df3fb64e +# timers: Rename del_timer_sync() to timer_delete_sync() +# +AC_DEFUN([LIBCFS_HAVE_TIMER_DELETE_SYNC], [ +tmp_flags="$EXTRA_KCFLAGS" +EXTRA_KCFLAGS="-Werror" +LB_CHECK_COMPILE([is timer_delete_sync() available], +timer_delete_sync, [ + #include +],[ + struct timer_list *timer = NULL; + (void)timer_delete_sync(timer); +],[ + AC_DEFINE(HAVE_TIMER_DELETE_SYNC, 1, + [timer_delete_sync() is available]) +],[ + AC_DEFINE(timer_delete_sync(t), del_timer_sync(t), + [timer_delete_sync() is not available]) +]) +EXTRA_KCFLAGS="$tmp_flags" +]) # LIBCFS_HAVE_TIMER_DELETE_SYNC + +# +# LIBCFS_HAVE_TIMER_DELETE +# +# Linux commit v6.1-rc1-12-gbb663f0f3c39 +# timers: Rename del_timer() to timer_delete() +# +AC_DEFUN([LIBCFS_HAVE_TIMER_DELETE], [ +tmp_flags="$EXTRA_KCFLAGS" +EXTRA_KCFLAGS="-Werror" +LB_CHECK_COMPILE([is timer_delete() available], +timer_delete, [ + #include +],[ + struct timer_list *timer = NULL; + (void)timer_delete(timer); +],[ + AC_DEFINE(HAVE_TIMER_DELETE, 1, + [timer_delete() is available]) +],[ + AC_DEFINE(timer_delete(t), del_timer(t), + [timer_delete() not is available]) +]) +EXTRA_KCFLAGS="$tmp_flags" +]) # LIBCFS_HAVE_TIMER_DELETE + +# # LIBCFS_PROG_LINUX # # LibCFS linux kernel checks @@ -1392,6 +1444,9 @@ LIBCFS_CACHE_DETAIL_WRITERS LIBCFS_HAVE_NR_UNSTABLE_NFS # 5.15 LIBCFS_PARAM_SET_UINT_MINMAX +# 6.1 +LIBCFS_HAVE_TIMER_DELETE_SYNC +LIBCFS_HAVE_TIMER_DELETE ]) # LIBCFS_PROG_LINUX # diff --git a/lnet/klnds/gnilnd/gnilnd_cb.c b/lnet/klnds/gnilnd/gnilnd_cb.c index 89f8bd2..a4ca2f9 100644 --- a/lnet/klnds/gnilnd/gnilnd_cb.c +++ b/lnet/klnds/gnilnd/gnilnd_cb.c @@ -3085,7 +3085,7 @@ kgnilnd_reaper(void *arg) CDEBUG(D_INFO, "awake after schedule\n"); } - del_singleshot_timer_sync(&timer); + timer_delete_sync(&timer); spin_lock(&kgnilnd_data.kgn_reaper_lock); finish_wait(&kgnilnd_data.kgn_reaper_waitq, &wait); continue; @@ -3902,7 +3902,7 @@ kgnilnd_process_rdmaq(kgn_device_t *dev) /* if we think we need to adjust, take lock to serialize and recheck */ spin_lock(&dev->gnd_rdmaq_lock); if (time_after_eq(jiffies, dev->gnd_rdmaq_deadline)) { - del_singleshot_timer_sync(&dev->gnd_rdmaq_timer); + timer_delete_sync(&dev->gnd_rdmaq_timer); dead_bump = cfs_time_seconds(1) / *kgnilnd_tunables.kgn_rdmaq_intervals; @@ -4734,7 +4734,7 @@ kgnilnd_process_mapped_tx(kgn_device_t *dev) spin_lock(&dev->gnd_lock); if (list_empty(&dev->gnd_map_tx)) { /* if the list is empty make sure we dont have a timer running */ - del_singleshot_timer_sync(&dev->gnd_map_timer); + timer_delete_sync(&dev->gnd_map_timer); spin_unlock(&dev->gnd_lock); RETURN(0); } @@ -4761,7 +4761,7 @@ kgnilnd_process_mapped_tx(kgn_device_t *dev) } /* delete the previous timer if it exists */ - del_singleshot_timer_sync(&dev->gnd_map_timer); + timer_delete_sync(&dev->gnd_map_timer); /* stash the last map version to let us know when a good one was seen */ last_map_version = dev->gnd_map_version; diff --git a/lnet/klnds/gnilnd/gnilnd_conn.c b/lnet/klnds/gnilnd/gnilnd_conn.c index a3f7c75..7fa7ac0 100644 --- a/lnet/klnds/gnilnd/gnilnd_conn.c +++ b/lnet/klnds/gnilnd/gnilnd_conn.c @@ -2541,7 +2541,7 @@ kgnilnd_dgram_mover(void *arg) deadline = jiffies + cfs_time_seconds(*kgnilnd_tunables.kgn_dgram_timeout); } - del_singleshot_timer_sync(&timer); + timer_delete_sync(&timer); finish_wait(&dev->gnd_dgram_waitq, &wait); } diff --git a/lnet/lnet/net_fault.c b/lnet/lnet/net_fault.c index 6b1469e..c63b6bd 100644 --- a/lnet/lnet/net_fault.c +++ b/lnet/lnet/net_fault.c @@ -639,7 +639,7 @@ delayed_msg_check(struct lnet_delay_rule *rule, bool all, } if (list_empty(&rule->dl_msg_list)) { - del_timer(&rule->dl_timer); + timer_delete(&rule->dl_timer); rule->dl_msg_send = -1; } else if (!list_empty(msg_list)) { @@ -929,7 +929,7 @@ lnet_delay_rule_del(lnet_nid_t src, lnet_nid_t dst, bool shutdown) list_for_each_entry_safe(rule, tmp, &rule_list, dl_link) { list_del_init(&rule->dl_link); - del_timer_sync(&rule->dl_timer); + timer_delete_sync(&rule->dl_timer); delayed_msg_check(rule, true, &msg_list); delay_rule_decref(rule); /* -1 for the_lnet.ln_delay_rules */ n++; diff --git a/lustre/ldlm/ldlm_lockd.c b/lustre/ldlm/ldlm_lockd.c index 137ba42..c2a8405 100644 --- a/lustre/ldlm/ldlm_lockd.c +++ b/lustre/ldlm/ldlm_lockd.c @@ -487,7 +487,7 @@ static int __ldlm_del_waiting_lock(struct ldlm_lock *lock) /* Removing the head of the list, adjust timer. */ if (list_next == &waiting_locks_list) { /* No more, just cancel. */ - del_timer(&waiting_locks_timer); + timer_delete(&waiting_locks_timer); } else { struct ldlm_lock *next; diff --git a/lustre/osp/osp_precreate.c b/lustre/osp/osp_precreate.c index 490fee5..b116025 100644 --- a/lustre/osp/osp_precreate.c +++ b/lustre/osp/osp_precreate.c @@ -242,7 +242,7 @@ static int osp_statfs_update(const struct lu_env *env, struct osp_device *d) /* * no updates till reply */ - del_timer(&d->opd_statfs_timer); + timer_delete(&d->opd_statfs_timer); d->opd_statfs_fresh_till = ktime_add_ns(ktime_get(), expire); d->opd_statfs_update_in_progress = 1; @@ -296,7 +296,7 @@ void osp_statfs_need_now(struct osp_device *d) * is replied */ d->opd_statfs_fresh_till = ktime_sub_ns(ktime_get(), NSEC_PER_SEC); - del_timer(&d->opd_statfs_timer); + timer_delete(&d->opd_statfs_timer); wake_up(&d->opd_pre_waitq); } } @@ -1827,7 +1827,7 @@ void osp_statfs_fini(struct osp_device *d) struct ptlrpc_thread *thread = &d->opd_pre_thread; ENTRY; - del_timer(&d->opd_statfs_timer); + timer_delete(&d->opd_statfs_timer); if (!thread_is_init(thread) && !thread_is_stopped(thread)) { thread->t_flags = SVC_STOPPING; diff --git a/lustre/ptlrpc/gss/gss_keyring.c b/lustre/ptlrpc/gss/gss_keyring.c index 4047e14..2d8089a 100644 --- a/lustre/ptlrpc/gss/gss_keyring.c +++ b/lustre/ptlrpc/gss/gss_keyring.c @@ -146,7 +146,7 @@ void ctx_clear_timer_kr(struct ptlrpc_cli_ctx *ctx) CDEBUG(D_SEC, "ctx %p, key %p\n", ctx, gctx_kr->gck_key); - del_singleshot_timer_sync(timer); + timer_delete_sync(timer); } static diff --git a/lustre/ptlrpc/service.c b/lustre/ptlrpc/service.c index 6373c36..ce811a0 100644 --- a/lustre/ptlrpc/service.c +++ b/lustre/ptlrpc/service.c @@ -1195,7 +1195,7 @@ static void ptlrpc_at_set_timer(struct ptlrpc_service_part *svcpt) time64_t next; if (array->paa_count == 0) { - del_timer(&svcpt->scp_at_timer); + timer_delete(&svcpt->scp_at_timer); return; } @@ -3135,7 +3135,7 @@ ptlrpc_service_del_atimer(struct ptlrpc_service *svc) /* early disarm AT timer... */ ptlrpc_service_for_each_part(svcpt, i, svc) { if (svcpt->scp_service != NULL) - del_timer(&svcpt->scp_at_timer); + timer_delete(&svcpt->scp_at_timer); } } @@ -3276,7 +3276,7 @@ ptlrpc_service_free(struct ptlrpc_service *svc) break; /* In case somebody rearmed this in the meantime */ - del_timer(&svcpt->scp_at_timer); + timer_delete(&svcpt->scp_at_timer); array = &svcpt->scp_at_array; if (array->paa_reqs_array != NULL) {