Received: by 10.213.65.68 with SMTP id h4csp2731749imn; Mon, 2 Apr 2018 12:58:48 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+8r/llaXsfmNvRTD6fONFucLujO3m63d4AgBcGfNT4MNv7XymJiFOslTG6GuJfuxDuDUnM X-Received: by 10.98.165.8 with SMTP id v8mr3949028pfm.225.1522699128626; Mon, 02 Apr 2018 12:58:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522699128; cv=none; d=google.com; s=arc-20160816; b=CCGu0qWR23MkvFE7YJ3Qr5cztF30ctm4hkhRBlztaExeAj+hPHL0ruUrn8vtDuN2V0 7yDD2/Qm4qvmUfourUBRB8Q6g2JtxzhfzeddQ7HvxtUq3sGzADutUyGQbG7asPkEjU+G jMFhNKrVP51nKUv7olDLWDaGwBGudAR3giorBvT3Tmof6jOYtjEiXJLmPj7U0d00pMcK LtUVhL0xAyYcObURhG62MkBURgRJrDBvcYWmAjWazou0kOsAcm0GyLOeBUGvqVHbASDA Xn2MsIGpMHZmzHu2T1TCQVlTpF6YmLRUKOoam7nfwMi1WFSTUTyzCj/dNgywzWngmgLN CY0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :arc-authentication-results; bh=/tDoskR41QGAXL0FMaAfagYbIjBW6SvTP+3hBu8iYb0=; b=CB5reAMY+FFq9U+0CqeektkCV4oegUUSXw5nlKq5YxAZzYqZysmTne4m/pjZotMeEW /QOegtJLMKYZE1UHWTYrr4z2IgcQiHM1ljAGpz7X2NWOKR+j3Nt/saRzx32c21FloxVB E7u3vLPMDoK2OQ1lMwjLPp6YyKoFJu7KBmHiU6zPBQNylVOtRks9CtSwTrlTQeKq0Im8 4QCBHJyFEUGC37fXHFFe73qwuzsLyF8IdxTgAWh75SnsikJnDGTUbovvIESNIcb7XWhI IwxzI/8I8b9VRfqva2otB/LwJomcEFLAgpJoGXyPUQ9WAsOQgK+OyDfxxHZIVtMQrmIq gT1Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m12-v6si996041pln.302.2018.04.02.12.58.34; Mon, 02 Apr 2018 12:58:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757082AbeDBTeu convert rfc822-to-8bit (ORCPT + 99 others); Mon, 2 Apr 2018 15:34:50 -0400 Received: from mga04.intel.com ([192.55.52.120]:45658 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757068AbeDBTet (ORCPT ); Mon, 2 Apr 2018 15:34:49 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Apr 2018 12:34:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,396,1517904000"; d="scan'208";a="217038970" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga005.fm.intel.com with ESMTP; 02 Apr 2018 12:34:48 -0700 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 2 Apr 2018 12:34:48 -0700 Received: from FMSMSX109.amr.corp.intel.com ([169.254.15.178]) by fmsmsx120.amr.corp.intel.com ([169.254.15.18]) with mapi id 14.03.0319.002; Mon, 2 Apr 2018 12:34:34 -0700 From: "Dilger, Andreas" To: James Simmons CC: NeilBrown , "Drokin, Oleg" , "Greg Kroah-Hartman" , Linux Kernel Mailing List , Lustre Development List Subject: Re: [PATCH 11/17] staging: lustre: libcfs: discard cfs_time_shift(). Thread-Topic: [PATCH 11/17] staging: lustre: libcfs: discard cfs_time_shift(). Thread-Index: AQHTyFmnPaab2m4I+kyw4VsVO58/aKPuV+IA Date: Mon, 2 Apr 2018 19:34:33 +0000 Message-ID: <0B6A147C-7E98-4B00-AF32-AF8843484CF9@intel.com> References: <152229732768.27689.4800156943561963977.stgit@noble> <152229760863.27689.4681198496926109808.stgit@noble> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.254.110.185] Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On Mar 30, 2018, at 13:02, James Simmons wrote: > > >> This function simply multiplies by HZ and adds jiffies. >> This is simple enough to be opencoded, and doing so >> makes the code easier to read. >> >> Same for cfs_time_shift_64() > > Reviewed-by: James Simmons Hmm, I thought we were trying to get rid of direct HZ usage in modules, because of tickless systems, and move to e.g. msecs_to_jiffies() or similar? Cheers, Andreas > >> Signed-off-by: NeilBrown >> --- >> .../lustre/include/linux/libcfs/libcfs_time.h | 5 ---- >> .../lustre/include/linux/libcfs/linux/linux-time.h | 5 ---- >> .../staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c | 12 +++++---- >> .../staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c | 4 ++- >> .../staging/lustre/lnet/klnds/socklnd/socklnd.c | 4 ++- >> .../staging/lustre/lnet/klnds/socklnd/socklnd_cb.c | 12 +++++---- >> drivers/staging/lustre/lnet/lnet/net_fault.c | 26 ++++++++++---------- >> drivers/staging/lustre/lnet/lnet/router.c | 2 +- >> drivers/staging/lustre/lustre/ldlm/ldlm_request.c | 2 +- >> drivers/staging/lustre/lustre/ldlm/ldlm_resource.c | 2 +- >> drivers/staging/lustre/lustre/llite/llite_lib.c | 4 ++- >> drivers/staging/lustre/lustre/llite/lproc_llite.c | 12 +++++---- >> drivers/staging/lustre/lustre/llite/statahead.c | 2 +- >> drivers/staging/lustre/lustre/lmv/lmv_obd.c | 2 +- >> drivers/staging/lustre/lustre/lov/lov_obd.c | 2 +- >> drivers/staging/lustre/lustre/mdc/mdc_request.c | 2 +- >> .../lustre/lustre/obdclass/lprocfs_status.c | 12 +++++---- >> .../staging/lustre/lustre/obdclass/obd_config.c | 2 +- >> drivers/staging/lustre/lustre/osc/osc_request.c | 2 +- >> drivers/staging/lustre/lustre/ptlrpc/pinger.c | 6 ++--- >> drivers/staging/lustre/lustre/ptlrpc/service.c | 2 +- >> 21 files changed, 56 insertions(+), 66 deletions(-) >> >> diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_time.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_time.h >> index 7b41a129f041..0ebbde4ec8e8 100644 >> --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_time.h >> +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_time.h >> @@ -50,11 +50,6 @@ static inline int cfs_time_aftereq(unsigned long t1, unsigned long t2) >> return time_before_eq(t2, t1); >> } >> >> -static inline unsigned long cfs_time_shift(int seconds) >> -{ >> - return jiffies + seconds * HZ; >> -} >> - >> /* >> * return valid time-out based on user supplied one. Currently we only check >> * that time-out is not shorted than allowed. >> diff --git a/drivers/staging/lustre/include/linux/libcfs/linux/linux-time.h b/drivers/staging/lustre/include/linux/libcfs/linux/linux-time.h >> index b3a80531bd71..ff3aae2f1231 100644 >> --- a/drivers/staging/lustre/include/linux/libcfs/linux/linux-time.h >> +++ b/drivers/staging/lustre/include/linux/libcfs/linux/linux-time.h >> @@ -65,11 +65,6 @@ static inline long cfs_duration_sec(long d) >> return d / msecs_to_jiffies(MSEC_PER_SEC); >> } >> >> -static inline u64 cfs_time_shift_64(int seconds) >> -{ >> - return get_jiffies_64() + (u64)seconds * HZ; >> -} >> - >> static inline int cfs_time_before_64(u64 t1, u64 t2) >> { >> return (__s64)t2 - (__s64)t1 > 0; >> diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c >> index 7df07f39b849..276bf486f64b 100644 >> --- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c >> +++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c >> @@ -1446,7 +1446,7 @@ static int kiblnd_create_fmr_pool(struct kib_fmr_poolset *fps, >> if (rc) >> goto out_fpo; >> >> - fpo->fpo_deadline = cfs_time_shift(IBLND_POOL_DEADLINE); >> + fpo->fpo_deadline = jiffies + IBLND_POOL_DEADLINE * HZ; >> fpo->fpo_owner = fps; >> *pp_fpo = fpo; >> >> @@ -1619,7 +1619,7 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, struct kib_tx *tx, >> spin_lock(&fps->fps_lock); >> version = fps->fps_version; >> list_for_each_entry(fpo, &fps->fps_pool_list, fpo_list) { >> - fpo->fpo_deadline = cfs_time_shift(IBLND_POOL_DEADLINE); >> + fpo->fpo_deadline = jiffies + IBLND_POOL_DEADLINE * HZ; >> fpo->fpo_map_count++; >> >> if (fpo->fpo_is_fmr) { >> @@ -1743,7 +1743,7 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, struct kib_tx *tx, >> fps->fps_version++; >> list_add_tail(&fpo->fpo_list, &fps->fps_pool_list); >> } else { >> - fps->fps_next_retry = cfs_time_shift(IBLND_POOL_RETRY); >> + fps->fps_next_retry = jiffies + IBLND_POOL_RETRY * HZ; >> } >> spin_unlock(&fps->fps_lock); >> >> @@ -1764,7 +1764,7 @@ static void kiblnd_init_pool(struct kib_poolset *ps, struct kib_pool *pool, int >> >> memset(pool, 0, sizeof(*pool)); >> INIT_LIST_HEAD(&pool->po_free_list); >> - pool->po_deadline = cfs_time_shift(IBLND_POOL_DEADLINE); >> + pool->po_deadline = jiffies + IBLND_POOL_DEADLINE * HZ; >> pool->po_owner = ps; >> pool->po_size = size; >> } >> @@ -1899,7 +1899,7 @@ struct list_head *kiblnd_pool_alloc_node(struct kib_poolset *ps) >> continue; >> >> pool->po_allocated++; >> - pool->po_deadline = cfs_time_shift(IBLND_POOL_DEADLINE); >> + pool->po_deadline = jiffies + IBLND_POOL_DEADLINE * HZ; >> node = pool->po_free_list.next; >> list_del(node); >> >> @@ -1947,7 +1947,7 @@ struct list_head *kiblnd_pool_alloc_node(struct kib_poolset *ps) >> if (!rc) { >> list_add_tail(&pool->po_list, &ps->ps_pool_list); >> } else { >> - ps->ps_next_retry = cfs_time_shift(IBLND_POOL_RETRY); >> + ps->ps_next_retry = jiffies + IBLND_POOL_RETRY * HZ; >> CERROR("Can't allocate new %s pool because out of memory\n", >> ps->ps_name); >> } >> diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c >> index c1c3277f4c1f..f9761d8f2e3e 100644 >> --- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c >> +++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c >> @@ -3700,13 +3700,13 @@ kiblnd_failover_thread(void *arg) >> LASSERT(dev->ibd_failover); >> dev->ibd_failover = 0; >> if (rc >= 0) { /* Device is OK or failover succeed */ >> - dev->ibd_next_failover = cfs_time_shift(3); >> + dev->ibd_next_failover = jiffies + 3 * HZ; >> continue; >> } >> >> /* failed to failover, retry later */ >> dev->ibd_next_failover = >> - cfs_time_shift(min(dev->ibd_failed_failover, 10)); >> + jiffies + min(dev->ibd_failed_failover, 10) * HZ; >> if (kiblnd_dev_can_failover(dev)) { >> list_add_tail(&dev->ibd_fail_list, >> &kiblnd_data.kib_failed_devs); >> diff --git a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c >> index 4546618c1c12..16c1ab0b0bd9 100644 >> --- a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c >> +++ b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c >> @@ -1287,7 +1287,7 @@ ksocknal_create_conn(struct lnet_ni *ni, struct ksock_route *route, >> conn->ksnc_tx_last_post = jiffies; >> /* Set the deadline for the outgoing HELLO to drain */ >> conn->ksnc_tx_bufnob = sock->sk->sk_wmem_queued; >> - conn->ksnc_tx_deadline = cfs_time_shift(*ksocknal_tunables.ksnd_timeout); >> + conn->ksnc_tx_deadline = jiffies + *ksocknal_tunables.ksnd_timeout * HZ; >> mb(); /* order with adding to peer's conn list */ >> >> list_add(&conn->ksnc_list, &peer->ksnp_conns); >> @@ -1852,7 +1852,7 @@ ksocknal_query(struct lnet_ni *ni, lnet_nid_t nid, unsigned long *when) >> if (bufnob < conn->ksnc_tx_bufnob) { >> /* something got ACKed */ >> conn->ksnc_tx_deadline = >> - cfs_time_shift(*ksocknal_tunables.ksnd_timeout); >> + jiffies + *ksocknal_tunables.ksnd_timeout * HZ; >> peer->ksnp_last_alive = now; >> conn->ksnc_tx_bufnob = bufnob; >> } >> diff --git a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c >> index 5b34c7c030ad..1ace54c9b133 100644 >> --- a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c >> +++ b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c >> @@ -221,7 +221,7 @@ ksocknal_transmit(struct ksock_conn *conn, struct ksock_tx *tx) >> * something got ACKed >> */ >> conn->ksnc_tx_deadline = >> - cfs_time_shift(*ksocknal_tunables.ksnd_timeout); >> + jiffies + *ksocknal_tunables.ksnd_timeout * HZ; >> conn->ksnc_peer->ksnp_last_alive = jiffies; >> conn->ksnc_tx_bufnob = bufnob; >> mb(); >> @@ -269,7 +269,7 @@ ksocknal_recv_iter(struct ksock_conn *conn) >> >> conn->ksnc_peer->ksnp_last_alive = jiffies; >> conn->ksnc_rx_deadline = >> - cfs_time_shift(*ksocknal_tunables.ksnd_timeout); >> + jiffies + *ksocknal_tunables.ksnd_timeout * HZ; >> mb(); /* order with setting rx_started */ >> conn->ksnc_rx_started = 1; >> >> @@ -405,7 +405,7 @@ ksocknal_check_zc_req(struct ksock_tx *tx) >> >> /* ZC_REQ is going to be pinned to the peer */ >> tx->tx_deadline = >> - cfs_time_shift(*ksocknal_tunables.ksnd_timeout); >> + jiffies + *ksocknal_tunables.ksnd_timeout * HZ; >> >> LASSERT(!tx->tx_msg.ksm_zc_cookies[0]); >> >> @@ -677,7 +677,7 @@ ksocknal_queue_tx_locked(struct ksock_tx *tx, struct ksock_conn *conn) >> if (list_empty(&conn->ksnc_tx_queue) && !bufnob) { >> /* First packet starts the timeout */ >> conn->ksnc_tx_deadline = >> - cfs_time_shift(*ksocknal_tunables.ksnd_timeout); >> + jiffies + *ksocknal_tunables.ksnd_timeout * HZ; >> if (conn->ksnc_tx_bufnob > 0) /* something got ACKed */ >> conn->ksnc_peer->ksnp_last_alive = jiffies; >> conn->ksnc_tx_bufnob = 0; >> @@ -858,7 +858,7 @@ ksocknal_launch_packet(struct lnet_ni *ni, struct ksock_tx *tx, >> ksocknal_find_connecting_route_locked(peer)) { >> /* the message is going to be pinned to the peer */ >> tx->tx_deadline = >> - cfs_time_shift(*ksocknal_tunables.ksnd_timeout); >> + jiffies + *ksocknal_tunables.ksnd_timeout * HZ; >> >> /* Queue the message until a connection is established */ >> list_add_tail(&tx->tx_list, &peer->ksnp_tx_queue); >> @@ -2308,7 +2308,7 @@ ksocknal_send_keepalive_locked(struct ksock_peer *peer) >> * retry 10 secs later, so we wouldn't put pressure >> * on this peer if we failed to send keepalive this time >> */ >> - peer->ksnp_send_keepalive = cfs_time_shift(10); >> + peer->ksnp_send_keepalive = jiffies + 10 * HZ; >> >> conn = ksocknal_find_conn_locked(peer, NULL, 1); >> if (conn) { >> diff --git a/drivers/staging/lustre/lnet/lnet/net_fault.c b/drivers/staging/lustre/lnet/lnet/net_fault.c >> index 3928e9a74d6f..05d7b754815a 100644 >> --- a/drivers/staging/lustre/lnet/lnet/net_fault.c >> +++ b/drivers/staging/lustre/lnet/lnet/net_fault.c >> @@ -169,9 +169,9 @@ lnet_drop_rule_add(struct lnet_fault_attr *attr) >> >> rule->dr_attr = *attr; >> if (attr->u.drop.da_interval) { >> - rule->dr_time_base = cfs_time_shift(attr->u.drop.da_interval); >> - rule->dr_drop_time = cfs_time_shift( >> - prandom_u32_max(attr->u.drop.da_interval)); >> + rule->dr_time_base = jiffies + attr->u.drop.da_interval * HZ; >> + rule->dr_drop_time = jiffies + >> + prandom_u32_max(attr->u.drop.da_interval) * HZ; >> } else { >> rule->dr_drop_at = prandom_u32_max(attr->u.drop.da_rate); >> } >> @@ -279,9 +279,9 @@ lnet_drop_rule_reset(void) >> if (attr->u.drop.da_rate) { >> rule->dr_drop_at = prandom_u32_max(attr->u.drop.da_rate); >> } else { >> - rule->dr_drop_time = cfs_time_shift( >> - prandom_u32_max(attr->u.drop.da_interval)); >> - rule->dr_time_base = cfs_time_shift(attr->u.drop.da_interval); >> + rule->dr_drop_time = jiffies + >> + prandom_u32_max(attr->u.drop.da_interval) * HZ; >> + rule->dr_time_base = jiffies + attr->u.drop.da_interval * HZ; >> } >> spin_unlock(&rule->dr_lock); >> } >> @@ -513,7 +513,7 @@ delay_rule_match(struct lnet_delay_rule *rule, lnet_nid_t src, >> >> list_add_tail(&msg->msg_list, &rule->dl_msg_list); >> msg->msg_delay_send = round_timeout( >> - cfs_time_shift(attr->u.delay.la_latency)); >> + jiffies + attr->u.delay.la_latency * HZ); >> if (rule->dl_msg_send == -1) { >> rule->dl_msg_send = msg->msg_delay_send; >> mod_timer(&rule->dl_timer, rule->dl_msg_send); >> @@ -767,9 +767,9 @@ lnet_delay_rule_add(struct lnet_fault_attr *attr) >> >> rule->dl_attr = *attr; >> if (attr->u.delay.la_interval) { >> - rule->dl_time_base = cfs_time_shift(attr->u.delay.la_interval); >> - rule->dl_delay_time = cfs_time_shift( >> - prandom_u32_max(attr->u.delay.la_interval)); >> + rule->dl_time_base = jiffies + attr->u.delay.la_interval * HZ; >> + rule->dl_delay_time = jiffies + >> + prandom_u32_max(attr->u.delay.la_interval) * HZ; >> } else { >> rule->dl_delay_at = prandom_u32_max(attr->u.delay.la_rate); >> } >> @@ -920,9 +920,9 @@ lnet_delay_rule_reset(void) >> rule->dl_delay_at = prandom_u32_max(attr->u.delay.la_rate); >> } else { >> rule->dl_delay_time = >> - cfs_time_shift(prandom_u32_max( >> - attr->u.delay.la_interval)); >> - rule->dl_time_base = cfs_time_shift(attr->u.delay.la_interval); >> + jiffies + prandom_u32_max( >> + attr->u.delay.la_interval) * HZ; >> + rule->dl_time_base = jiffies + attr->u.delay.la_interval * HZ; >> } >> spin_unlock(&rule->dl_lock); >> } >> diff --git a/drivers/staging/lustre/lnet/lnet/router.c b/drivers/staging/lustre/lnet/lnet/router.c >> index 4595a7ad4336..c72d4f4454ec 100644 >> --- a/drivers/staging/lustre/lnet/lnet/router.c >> +++ b/drivers/staging/lustre/lnet/lnet/router.c >> @@ -1026,7 +1026,7 @@ lnet_ping_router_locked(struct lnet_peer *rtr) >> >> if (!rtr->lp_ping_deadline) { >> rtr->lp_ping_deadline = >> - cfs_time_shift(router_ping_timeout); >> + jiffies + router_ping_timeout * HZ; >> } >> >> lnet_net_unlock(rtr->lp_cpt); >> diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_request.c b/drivers/staging/lustre/lustre/ldlm/ldlm_request.c >> index 6eb42f16040d..647e85b16c02 100644 >> --- a/drivers/staging/lustre/lustre/ldlm/ldlm_request.c >> +++ b/drivers/staging/lustre/lustre/ldlm/ldlm_request.c >> @@ -118,7 +118,7 @@ static void ldlm_expired_completion_wait(struct ldlm_lock *lock, __u32 conn_cnt) >> lock->l_last_activity)); >> if (cfs_time_after(jiffies, next_dump)) { >> last_dump = next_dump; >> - next_dump = cfs_time_shift(300); >> + next_dump = jiffies + 300 * HZ; >> ldlm_namespace_dump(D_DLMTRACE, >> ldlm_lock_to_ns(lock)); >> if (last_dump == 0) >> diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c b/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c >> index ccd0c082e39b..6c615b6e9bdc 100644 >> --- a/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c >> +++ b/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c >> @@ -1323,7 +1323,7 @@ void ldlm_namespace_dump(int level, struct ldlm_namespace *ns) >> ldlm_res_hash_dump, >> (void *)(unsigned long)level, 0); >> spin_lock(&ns->ns_lock); >> - ns->ns_next_dump = cfs_time_shift(10); >> + ns->ns_next_dump = jiffies + 10 * HZ; >> spin_unlock(&ns->ns_lock); >> } >> >> diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c b/drivers/staging/lustre/lustre/llite/llite_lib.c >> index e7500c53fafc..60dbe888e336 100644 >> --- a/drivers/staging/lustre/lustre/llite/llite_lib.c >> +++ b/drivers/staging/lustre/lustre/llite/llite_lib.c >> @@ -257,7 +257,7 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt) >> * available >> */ >> err = obd_statfs(NULL, sbi->ll_md_exp, osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_FOR_MDT0); >> if (err) >> goto out_md_fid; >> @@ -1675,7 +1675,7 @@ int ll_statfs(struct dentry *de, struct kstatfs *sfs) >> >> /* Some amount of caching on the client is allowed */ >> rc = ll_statfs_internal(sb, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> 0); >> if (rc) >> return rc; >> diff --git a/drivers/staging/lustre/lustre/llite/lproc_llite.c b/drivers/staging/lustre/lustre/llite/lproc_llite.c >> index 644bea2f9d37..164fe4d6b6b8 100644 >> --- a/drivers/staging/lustre/lustre/llite/lproc_llite.c >> +++ b/drivers/staging/lustre/lustre/llite/lproc_llite.c >> @@ -53,7 +53,7 @@ static ssize_t blocksize_show(struct kobject *kobj, struct attribute *attr, >> int rc; >> >> rc = ll_statfs_internal(sbi->ll_sb, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) >> return sprintf(buf, "%u\n", osfs.os_bsize); >> @@ -71,7 +71,7 @@ static ssize_t kbytestotal_show(struct kobject *kobj, struct attribute *attr, >> int rc; >> >> rc = ll_statfs_internal(sbi->ll_sb, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) { >> __u32 blk_size = osfs.os_bsize >> 10; >> @@ -96,7 +96,7 @@ static ssize_t kbytesfree_show(struct kobject *kobj, struct attribute *attr, >> int rc; >> >> rc = ll_statfs_internal(sbi->ll_sb, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) { >> __u32 blk_size = osfs.os_bsize >> 10; >> @@ -121,7 +121,7 @@ static ssize_t kbytesavail_show(struct kobject *kobj, struct attribute *attr, >> int rc; >> >> rc = ll_statfs_internal(sbi->ll_sb, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) { >> __u32 blk_size = osfs.os_bsize >> 10; >> @@ -146,7 +146,7 @@ static ssize_t filestotal_show(struct kobject *kobj, struct attribute *attr, >> int rc; >> >> rc = ll_statfs_internal(sbi->ll_sb, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) >> return sprintf(buf, "%llu\n", osfs.os_files); >> @@ -164,7 +164,7 @@ static ssize_t filesfree_show(struct kobject *kobj, struct attribute *attr, >> int rc; >> >> rc = ll_statfs_internal(sbi->ll_sb, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) >> return sprintf(buf, "%llu\n", osfs.os_ffree); >> diff --git a/drivers/staging/lustre/lustre/llite/statahead.c b/drivers/staging/lustre/lustre/llite/statahead.c >> index 6f996acf6aa8..b4a6ee6c83f3 100644 >> --- a/drivers/staging/lustre/lustre/llite/statahead.c >> +++ b/drivers/staging/lustre/lustre/llite/statahead.c >> @@ -523,7 +523,7 @@ static void ll_agl_trigger(struct inode *inode, struct ll_statahead_info *sai) >> * affect the performance. >> */ >> if (lli->lli_glimpse_time != 0 && >> - time_before(cfs_time_shift(-1), lli->lli_glimpse_time)) { >> + time_before(jiffies - 1 * HZ, lli->lli_glimpse_time)) { >> up_write(&lli->lli_glimpse_sem); >> lli->lli_agl_index = 0; >> iput(inode); >> diff --git a/drivers/staging/lustre/lustre/lmv/lmv_obd.c b/drivers/staging/lustre/lustre/lmv/lmv_obd.c >> index e8a9b9902c37..7be931039e3c 100644 >> --- a/drivers/staging/lustre/lustre/lmv/lmv_obd.c >> +++ b/drivers/staging/lustre/lustre/lmv/lmv_obd.c >> @@ -876,7 +876,7 @@ static int lmv_iocontrol(unsigned int cmd, struct obd_export *exp, >> return -EFAULT; >> >> rc = obd_statfs(NULL, tgt->ltd_exp, &stat_buf, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> 0); >> if (rc) >> return rc; >> diff --git a/drivers/staging/lustre/lustre/lov/lov_obd.c b/drivers/staging/lustre/lustre/lov/lov_obd.c >> index ec70c12e5b40..355e87ecc62d 100644 >> --- a/drivers/staging/lustre/lustre/lov/lov_obd.c >> +++ b/drivers/staging/lustre/lustre/lov/lov_obd.c >> @@ -1063,7 +1063,7 @@ static int lov_iocontrol(unsigned int cmd, struct obd_export *exp, int len, >> >> /* got statfs data */ >> rc = obd_statfs(NULL, lov->lov_tgts[index]->ltd_exp, &stat_buf, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> flags); >> if (rc) >> return rc; >> diff --git a/drivers/staging/lustre/lustre/mdc/mdc_request.c b/drivers/staging/lustre/lustre/mdc/mdc_request.c >> index 3b1c8e5a3053..266fa90cb03d 100644 >> --- a/drivers/staging/lustre/lustre/mdc/mdc_request.c >> +++ b/drivers/staging/lustre/lustre/mdc/mdc_request.c >> @@ -2104,7 +2104,7 @@ static int mdc_iocontrol(unsigned int cmd, struct obd_export *exp, int len, >> } >> >> rc = mdc_statfs(NULL, obd->obd_self_export, &stat_buf, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> 0); >> if (rc != 0) >> goto out; >> diff --git a/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c b/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c >> index 2ed350527398..eb6396add78d 100644 >> --- a/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c >> +++ b/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c >> @@ -407,7 +407,7 @@ static ssize_t blocksize_show(struct kobject *kobj, struct attribute *attr, >> obd_kobj); >> struct obd_statfs osfs; >> int rc = obd_statfs(NULL, obd->obd_self_export, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) >> return sprintf(buf, "%u\n", osfs.os_bsize); >> @@ -423,7 +423,7 @@ static ssize_t kbytestotal_show(struct kobject *kobj, struct attribute *attr, >> obd_kobj); >> struct obd_statfs osfs; >> int rc = obd_statfs(NULL, obd->obd_self_export, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) { >> __u32 blk_size = osfs.os_bsize >> 10; >> @@ -446,7 +446,7 @@ static ssize_t kbytesfree_show(struct kobject *kobj, struct attribute *attr, >> obd_kobj); >> struct obd_statfs osfs; >> int rc = obd_statfs(NULL, obd->obd_self_export, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) { >> __u32 blk_size = osfs.os_bsize >> 10; >> @@ -469,7 +469,7 @@ static ssize_t kbytesavail_show(struct kobject *kobj, struct attribute *attr, >> obd_kobj); >> struct obd_statfs osfs; >> int rc = obd_statfs(NULL, obd->obd_self_export, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) { >> __u32 blk_size = osfs.os_bsize >> 10; >> @@ -492,7 +492,7 @@ static ssize_t filestotal_show(struct kobject *kobj, struct attribute *attr, >> obd_kobj); >> struct obd_statfs osfs; >> int rc = obd_statfs(NULL, obd->obd_self_export, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) >> return sprintf(buf, "%llu\n", osfs.os_files); >> @@ -508,7 +508,7 @@ static ssize_t filesfree_show(struct kobject *kobj, struct attribute *attr, >> obd_kobj); >> struct obd_statfs osfs; >> int rc = obd_statfs(NULL, obd->obd_self_export, &osfs, >> - cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS), >> + get_jiffies_64() - OBD_STATFS_CACHE_SECONDS * HZ, >> OBD_STATFS_NODELAY); >> if (!rc) >> return sprintf(buf, "%llu\n", osfs.os_ffree); >> diff --git a/drivers/staging/lustre/lustre/obdclass/obd_config.c b/drivers/staging/lustre/lustre/obdclass/obd_config.c >> index 277576b586db..eab03766236f 100644 >> --- a/drivers/staging/lustre/lustre/obdclass/obd_config.c >> +++ b/drivers/staging/lustre/lustre/obdclass/obd_config.c >> @@ -269,7 +269,7 @@ static int class_attach(struct lustre_cfg *lcfg) >> /* obd->obd_osfs_age must be set to a value in the distant >> * past to guarantee a fresh statfs is fetched on mount. >> */ >> - obd->obd_osfs_age = cfs_time_shift_64(-1000); >> + obd->obd_osfs_age = get_jiffies_64() - 1000 * HZ; >> >> /* XXX belongs in setup not attach */ >> init_rwsem(&obd->obd_observer_link_sem); >> diff --git a/drivers/staging/lustre/lustre/osc/osc_request.c b/drivers/staging/lustre/lustre/osc/osc_request.c >> index 9966fc7af789..04d801f11ace 100644 >> --- a/drivers/staging/lustre/lustre/osc/osc_request.c >> +++ b/drivers/staging/lustre/lustre/osc/osc_request.c >> @@ -617,7 +617,7 @@ static void osc_announce_cached(struct client_obd *cli, struct obdo *oa, >> void osc_update_next_shrink(struct client_obd *cli) >> { >> cli->cl_next_shrink_grant = >> - cfs_time_shift(cli->cl_grant_shrink_interval); >> + jiffies + cli->cl_grant_shrink_interval * HZ; >> CDEBUG(D_CACHE, "next time %ld to shrink grant\n", >> cli->cl_next_shrink_grant); >> } >> diff --git a/drivers/staging/lustre/lustre/ptlrpc/pinger.c b/drivers/staging/lustre/lustre/ptlrpc/pinger.c >> index e836591c5936..7057b4447035 100644 >> --- a/drivers/staging/lustre/lustre/ptlrpc/pinger.c >> +++ b/drivers/staging/lustre/lustre/ptlrpc/pinger.c >> @@ -108,7 +108,7 @@ static void ptlrpc_update_next_ping(struct obd_import *imp, int soon) >> at_get(&imp->imp_at.iat_net_latency)); >> time = min(time, dtime); >> } >> - imp->imp_next_ping = cfs_time_shift(time); >> + imp->imp_next_ping = jiffies + time * HZ; >> } >> >> static inline int imp_is_deactive(struct obd_import *imp) >> @@ -120,9 +120,9 @@ static inline int imp_is_deactive(struct obd_import *imp) >> static inline int ptlrpc_next_reconnect(struct obd_import *imp) >> { >> if (imp->imp_server_timeout) >> - return cfs_time_shift(obd_timeout / 2); >> + return jiffies + obd_timeout / 2 * HZ; >> else >> - return cfs_time_shift(obd_timeout); >> + return jiffies + obd_timeout * HZ; >> } >> >> static long pinger_check_timeout(unsigned long time) >> diff --git a/drivers/staging/lustre/lustre/ptlrpc/service.c b/drivers/staging/lustre/lustre/ptlrpc/service.c >> index e71046db28e5..4265e8d00ca5 100644 >> --- a/drivers/staging/lustre/lustre/ptlrpc/service.c >> +++ b/drivers/staging/lustre/lustre/ptlrpc/service.c >> @@ -922,7 +922,7 @@ static void ptlrpc_at_set_timer(struct ptlrpc_service_part *svcpt) >> if (next <= 0) { >> ptlrpc_at_timer(&svcpt->scp_at_timer); >> } else { >> - mod_timer(&svcpt->scp_at_timer, cfs_time_shift(next)); >> + mod_timer(&svcpt->scp_at_timer, jiffies + next * HZ); >> CDEBUG(D_INFO, "armed %s at %+ds\n", >> svcpt->scp_service->srv_name, next); >> } >> >> >> Cheers, Andreas -- Andreas Dilger Lustre Principal Architect Intel Corporation