Whamcloud - gitweb
LU-16534 build: Prefer timer_delete[_sync] 90/53090/3
authorShaun Tancheff <shaun.tancheff@hpe.com>
Mon, 13 Nov 2023 23:36:41 +0000 (15:36 -0800)
committerOleg Drokin <green@whamcloud.com>
Sat, 18 Nov 2023 15:56:37 +0000 (15:56 +0000)
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 <shaun.tancheff@hpe.com>
Change-Id: I4c946c315a83482dd0bd69e5e89f0302a67bf81c
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53090
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
contrib/scripts/spelling.txt
libcfs/autoconf/lustre-libcfs.m4
lnet/klnds/gnilnd/gnilnd_cb.c
lnet/klnds/gnilnd/gnilnd_conn.c
lnet/lnet/net_fault.c
lustre/ldlm/ldlm_lockd.c
lustre/lod/lod_qos.c
lustre/osp/osp_precreate.c
lustre/ptlrpc/gss/gss_keyring.c
lustre/ptlrpc/service.c

index b812339..5e34d04 100644 (file)
@@ -100,6 +100,9 @@ cfs_time_current_sec||ktime_get_real_seconds
 CLASSERT||BUILD_BUG_ON()
 msecs_to_jiffies||cfs_time_seconds
 DEFINE_TIMER||CFS_DEFINE_TIMER
+del_timer||timer_delete
+del_timer_sync||timer_delete_sync
+del_singleshot_timer_sync||timer_delete_sync
 EWOULDBLOCK||EAGAIN
 container_of0||container_of_safe
 DN_MAX_BONUSLEN||DN_BONUS_SIZE(dnodesize)
index 2e99cff..37c2762 100644 (file)
@@ -2197,6 +2197,58 @@ AC_DEFUN([LIBCFS_PDE_DATA_EXISTS],[
        ])
 ]) # LIBCFS_PDE_DATA_EXISTS
 
+#
+# LIBCFS_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_SRC_TIMER_DELETE_SYNC],[
+       LB2_LINUX_TEST_SRC([timer_delete_sync], [
+               #include <linux/timer.h>
+       ],[
+               struct timer_list *timer = NULL;
+               (void)timer_delete_sync(timer);
+       ],[])
+])
+AC_DEFUN([LIBCFS_TIMER_DELETE_SYNC],[
+       AC_MSG_CHECKING([is timer_delete_sync() available])
+       LB2_LINUX_TEST_RESULT([timer_delete_sync], [
+               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() not is available])
+       ])
+]) # LIBCFS_TIMER_DELETE_SYNC
+
+#
+# LIBCFS_TIMER_DELETE_SYNC
+#
+# Linux commit v6.1-rc1-12-gbb663f0f3c39
+#   timers: Rename del_timer() to timer_delete()
+#
+AC_DEFUN([LIBCFS_SRC_TIMER_DELETE],[
+       LB2_LINUX_TEST_SRC([timer_delete], [
+               #include <linux/timer.h>
+       ],[
+               struct timer_list *timer = NULL;
+               (void)timer_delete(timer);
+       ],[])
+])
+AC_DEFUN([LIBCFS_TIMER_DELETE],[
+       AC_MSG_CHECKING([is timer_delete() available])
+       LB2_LINUX_TEST_RESULT([timer_delete], [
+               AC_DEFINE(HAVE_TIMER_DELETE, 1,
+                       [timer_delete() is available])
+       ],[
+               AC_DEFINE(timer_delete(t), del_timer(t),
+                       [timer_delete() not is available])
+       ])
+]) # LIBCFS_TIMER_DELETE
+
 dnl #
 dnl # Generate and compile all of the kernel API test cases to determine
 dnl # which interfaces are available.  By invoking the kernel build system
@@ -2334,6 +2386,9 @@ AC_DEFUN([LIBCFS_PROG_LINUX_SRC], [
        LIBCFS_SRC_PARAM_SET_UINT_MINMAX
        # 5.17
        LIBCFS_SRC_PDE_DATA_EXISTS
+       # 6.2
+       LIBCFS_SRC_TIMER_DELETE_SYNC
+       LIBCFS_SRC_TIMER_DELETE
 
        LB2_LINUX_TEST_COMPILE_ALL([libcfs],
                [for available kernel interfaces to libcfs])
@@ -2473,6 +2528,9 @@ AC_DEFUN([LIBCFS_PROG_LINUX_RESULTS], [
        LIBCFS_PARAM_SET_UINT_MINMAX
        # 5.17
        LIBCFS_PDE_DATA_EXISTS
+       # 6.2
+       LIBCFS_TIMER_DELETE_SYNC
+       LIBCFS_TIMER_DELETE
 ])
 
 #
index 6be0b2a..abf88d3 100644 (file)
@@ -2988,7 +2988,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;
@@ -3805,7 +3805,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;
 
@@ -4636,7 +4636,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);
        }
@@ -4663,7 +4663,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;
 
index 38dce1d..9ac9549 100644 (file)
@@ -2545,7 +2545,7 @@ kgnilnd_dgram_mover(void *arg)
                        deadline = jiffies + cfs_time_seconds(*kgnilnd_tunables.kgn_dgram_timeout);
                }
 
-               del_singleshot_timer_sync(&timer.timer);
+               timer_delete_sync(&timer.timer);
                finish_wait(&dev->gnd_dgram_waitq, &wait);
        }
 
index 0a201a0..98bdb16 100644 (file)
@@ -649,7 +649,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)) {
@@ -936,7 +936,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++;
index 7e59709..7a42d5d 100644 (file)
@@ -511,7 +511,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 {
                        time64_t now = ktime_get_seconds();
                        struct ldlm_lock *next;
index 4d816b6..5d7af0c 100644 (file)
@@ -1488,7 +1488,7 @@ static int lod_ost_alloc_qos(const struct lu_env *env, struct lod_object *lo,
                /* Do actual allocation, use write lock here. */
                rc = down_write_killable(&lod->lod_ost_descs.ltd_qos.lq_rw_sem);
 
-               del_singleshot_timer_sync(&timer.timer);
+               timer_delete_sync(&timer.timer);
                kernel_sigaction(SIGKILL, SIG_IGN);
                if (rc) {
                        flush_signals(current);
index 5585ce1..d9d64ff 100644 (file)
@@ -239,7 +239,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;
 
@@ -293,7 +293,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);
        }
 }
@@ -1837,7 +1837,7 @@ void osp_statfs_fini(struct osp_device *d)
        struct task_struct *task = d->opd_pre_task;
        ENTRY;
 
-       del_timer(&d->opd_statfs_timer);
+       timer_delete(&d->opd_statfs_timer);
 
        d->opd_pre_task = NULL;
        if (task)
index 124ebe1..5d4e3c1 100644 (file)
@@ -149,7 +149,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
index 16fcaba..366dc5a 100644 (file)
@@ -1248,7 +1248,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;
        }
 
@@ -3390,7 +3390,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);
        }
 }
 
@@ -3558,7 +3558,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) {