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-on: https://review.whamcloud.com/c/fs/lustre-release/+/53265
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
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
]) # 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 <linux/timer.h>
+],[
+ 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 <linux/timer.h>
+],[
+ 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
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
#
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;
/* 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;
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);
}
}
/* 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;
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);
}
}
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)) {
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++;
/* 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;
/*
* 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;
* 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);
}
}
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;
CDEBUG(D_SEC, "ctx %p, key %p\n", ctx, gctx_kr->gck_key);
- del_singleshot_timer_sync(timer);
+ timer_delete_sync(timer);
}
static
time64_t next;
if (array->paa_count == 0) {
- del_timer(&svcpt->scp_at_timer);
+ timer_delete(&svcpt->scp_at_timer);
return;
}
/* 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);
}
}
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) {