Whamcloud - gitweb
LU-15619 osc: Remove submit time 12/46712/5
authorPatrick Farrell <pfarrell@whamcloud.com>
Wed, 2 Mar 2022 00:08:02 +0000 (19:08 -0500)
committerOleg Drokin <green@whamcloud.com>
Mon, 12 Sep 2022 02:56:09 +0000 (02:56 +0000)
The osc page submit time is an unused bit of debugging
information, but it's allocated for every page.  Let's
just remove it to save memory.

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I160d38039332cb17e07735b60ce7979626ed43dc
Reviewed-on: https://review.whamcloud.com/46712
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
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>
lustre/include/lustre_osc.h
lustre/osc/osc_cache.c
lustre/osc/osc_io.c
lustre/osc/osc_page.c

index bcb9c4a..ca0e2ff 100644 (file)
@@ -531,10 +531,6 @@ struct osc_page {
         * lru page list. See osc_lru_{del|use}() in osc_page.c for usage.
         */
        struct list_head        ops_lru;
-       /**
-        * Submit time - the time when the page is starting RPC. For debugging.
-        */
-       ktime_t                 ops_submit_time;
 };
 
 struct osc_brw_async_args {
@@ -569,7 +565,7 @@ void osc_index2policy(union ldlm_policy_data *policy, const struct cl_object *ob
                      pgoff_t start, pgoff_t end);
 void osc_lru_add_batch(struct client_obd *cli, struct list_head *list);
 void osc_page_submit(const struct lu_env *env, struct osc_page *opg,
-                    enum cl_req_type crt, int brw_flags, ktime_t submit_time);
+                    enum cl_req_type crt, int brw_flags);
 int lru_queue_work(const struct lu_env *env, void *data);
 long osc_lru_shrink(const struct lu_env *env, struct client_obd *cli,
                    long target, bool force);
index cbf4713..0e6e50d 100644 (file)
@@ -1253,16 +1253,15 @@ static inline int osc_is_ready(struct osc_object *osc)
 static int osc_make_ready(const struct lu_env *env, struct osc_async_page *oap,
                          int cmd)
 {
-       struct osc_page *opg  = oap2osc_page(oap);
        struct cl_page  *page = oap2cl_page(oap);
        int result;
 
        LASSERT(cmd == OBD_BRW_WRITE); /* no cached reads */
 
        ENTRY;
+
        result = cl_page_make_ready(env, page, CRT_WRITE);
-       if (result == 0)
-               opg->ops_submit_time = ktime_get();
+
        RETURN(result);
 }
 
@@ -1317,7 +1316,6 @@ static int osc_completion(const struct lu_env *env, struct osc_async_page *oap,
        /* Clear opg->ops_transfer_pinned before VM lock is released. */
        opg->ops_transfer_pinned = 0;
 
-       opg->ops_submit_time = ktime_set(0, 0);
        srvlock = oap->oap_brw_flags & OBD_BRW_SRVLOCK;
 
        /* statistic */
index 8639965..fec986e 100644 (file)
@@ -133,7 +133,6 @@ int osc_io_submit(const struct lu_env *env, const struct cl_io_slice *ios,
        unsigned int max_pages;
        unsigned int ppc_bits; /* pages per chunk bits */
        unsigned int ppc;
-       ktime_t submit_time = ktime_get();
        bool sync_queue = false;
 
        LASSERT(qin->pl_nr > 0);
@@ -201,7 +200,7 @@ int osc_io_submit(const struct lu_env *env, const struct cl_io_slice *ios,
                        spin_unlock(&oap->oap_lock);
                }
 
-               osc_page_submit(env, opg, crt, brw_flags, submit_time);
+               osc_page_submit(env, opg, crt, brw_flags);
                list_add_tail(&oap->oap_pending_item, &list);
 
                if (page->cp_sync_io != NULL)
index 73a29f6..ecc71aa 100644 (file)
@@ -110,14 +110,6 @@ void osc_index2policy(union ldlm_policy_data *policy,
        policy->l_extent.end   = cl_offset(obj, end + 1) - 1;
 }
 
-static inline s64 osc_submit_duration(struct osc_page *opg)
-{
-       if (ktime_to_ns(opg->ops_submit_time) == 0)
-               return 0;
-
-       return ktime_ms_delta(ktime_get(), opg->ops_submit_time);
-}
-
 static int osc_page_print(const struct lu_env *env,
                          const struct cl_page_slice *slice,
                          void *cookie, lu_printer_t printer)
@@ -130,7 +122,7 @@ static int osc_page_print(const struct lu_env *env,
        return (*printer)(env, cookie, LUSTRE_OSC_NAME"-page@%p %lu: "
                          "1< %#x %d %c %c > "
                          "2< %lld %u %u %#x %#x | %p %p %p > "
-                         "3< %d %lld %d > "
+                         "3< %d %d > "
                          "4< %d %d %d %lu %c | %c %c %c %c > "
                          "5< %c %c %c %c | %d %c | %d %c %c>\n",
                          opg, osc_index(opg),
@@ -144,7 +136,7 @@ static int osc_page_print(const struct lu_env *env,
                          oap->oap_request, cli, obj,
                          /* 3 */
                          opg->ops_transfer_pinned,
-                         osc_submit_duration(opg), opg->ops_srvlock,
+                         opg->ops_srvlock,
                          /* 4 */
                          cli->cl_r_in_flight, cli->cl_w_in_flight,
                          cli->cl_max_rpcs_in_flight,
@@ -300,7 +292,7 @@ EXPORT_SYMBOL(osc_page_init);
  * transfer (i.e., transferred synchronously).
  */
 void osc_page_submit(const struct lu_env *env, struct osc_page *opg,
-                    enum cl_req_type crt, int brw_flags, ktime_t submit_time)
+                    enum cl_req_type crt, int brw_flags)
 {
        struct osc_io *oio = osc_env_io(env);
        struct osc_async_page *oap = &opg->ops_oap;
@@ -320,7 +312,6 @@ void osc_page_submit(const struct lu_env *env, struct osc_page *opg,
                oap->oap_cmd |= OBD_BRW_SYS_RESOURCE;
        }
 
-       opg->ops_submit_time = submit_time;
        osc_page_transfer_get(opg, "transfer\0imm");
        osc_page_transfer_add(env, opg, crt);
 }