Whamcloud - gitweb
LU-16534 build: Prefer timer_delete[_sync] 22/49922/6
authorShaun Tancheff <shaun.tancheff@hpe.com>
Tue, 7 Feb 2023 08:18:36 +0000 (02:18 -0600)
committerOleg Drokin <green@whamcloud.com>
Mon, 13 Mar 2023 06:08:08 +0000 (06:08 +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

Test-Parameters: trivial
HPE-bug-id: LUS-11470
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I4c946c315a83482dd0bd69e5e89f0302a67bf81c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49922
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
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/klnds/kfilnd/kfilnd_tn.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 b79e5a5..8f6dd2c 100644 (file)
@@ -102,6 +102,9 @@ msecs_to_jiffies||cfs_time_seconds
 DEFINE_TIMER||CFS_DEFINE_TIMER
 define OBD_CONNECT||see "XXX README XXX" below and contact adilger@whamcloud.com
 __u[136][624] ocd_||see "XXX README XXX" below and contact adilger@whamcloud.com
+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 eb6dac2..3794134 100644 (file)
@@ -2264,6 +2264,58 @@ AC_DEFUN([LIBCFS_BIO_ALLOC_WITH_BDEV],[
        ])
 ]) # LIBCFS_BIO_ALLOC_WITH_BDEV
 
+#
+# 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
@@ -2404,6 +2456,9 @@ AC_DEFUN([LIBCFS_PROG_LINUX_SRC], [
        # 5.17
        LIBCFS_SRC_PDE_DATA_EXISTS
        LIBCFS_SRC_BIO_ALLOC_WITH_BDEV
+       # 6.2
+       LIBCFS_SRC_TIMER_DELETE_SYNC
+       LIBCFS_SRC_TIMER_DELETE
 
        LB2_LINUX_TEST_COMPILE_ALL([libcfs],
                [for available kernel interfaces to libcfs])
@@ -2546,6 +2601,9 @@ AC_DEFUN([LIBCFS_PROG_LINUX_RESULTS], [
        # 5.17
        LIBCFS_PDE_DATA_EXISTS
        LIBCFS_BIO_ALLOC_WITH_BDEV
+       # 6.2
+       LIBCFS_TIMER_DELETE_SYNC
+       LIBCFS_TIMER_DELETE
 ])
 
 #
index 3ed3dad..b2fad14 100644 (file)
@@ -2986,7 +2986,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;
@@ -3803,7 +3803,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;
 
@@ -4634,7 +4634,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);
        }
@@ -4661,7 +4661,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 d7b6ef3..f887762 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 1056e03..59fe030 100644 (file)
@@ -485,7 +485,7 @@ static void kfilnd_tn_timeout(cfs_timer_cb_arg_t data)
 
 static bool kfilnd_tn_timeout_cancel(struct kfilnd_transaction *tn)
 {
-       return del_timer(&tn->timeout_timer);
+       return timer_delete(&tn->timeout_timer);
 }
 
 static void kfilnd_tn_timeout_enable(struct kfilnd_transaction *tn)
index 98f9b31..8b1f2f2 100644 (file)
@@ -655,7 +655,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)) {
@@ -941,7 +941,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 8ae0a22..b481894 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 badc064..77ff8dd 100644 (file)
@@ -1582,7 +1582,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 5ea92e4..8502574 100644 (file)
@@ -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);
        }
 }
@@ -1885,7 +1885,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 930d5c6..824197b 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 4cda678..b0a6471 100644 (file)
@@ -1264,7 +1264,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;
        }
 
@@ -3405,7 +3405,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);
        }
 }
 
@@ -3574,7 +3574,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) {