]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
cachefiles: Add some subrequest tracepoints
authorDavid Howells <dhowells@redhat.com>
Mon, 16 Dec 2024 20:41:05 +0000 (20:41 +0000)
committerChristian Brauner <brauner@kernel.org>
Fri, 20 Dec 2024 21:34:05 +0000 (22:34 +0100)
Add some tracepoints into the cachefiles write paths.

Signed-off-by: David Howells <dhowells@redhat.com>
Link: https://lore.kernel.org/r/20241216204124.3752367-16-dhowells@redhat.com
cc: netfs@lists.linux.dev
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/cachefiles/io.c
include/trace/events/netfs.h

index 6a821a959b59e621395a0be5cb48ec6621504b0d..92058ae43488265fc4c2e753179b846916dc4f0d 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/falloc.h>
 #include <linux/sched/mm.h>
 #include <trace/events/fscache.h>
+#include <trace/events/netfs.h>
 #include "internal.h"
 
 struct cachefiles_kiocb {
@@ -366,6 +367,7 @@ static int cachefiles_write(struct netfs_cache_resources *cres,
        if (!fscache_wait_for_operation(cres, FSCACHE_WANT_WRITE)) {
                if (term_func)
                        term_func(term_func_priv, -ENOBUFS, false);
+               trace_netfs_sreq(term_func_priv, netfs_sreq_trace_cache_nowrite);
                return -ENOBUFS;
        }
 
@@ -695,6 +697,7 @@ static void cachefiles_issue_write(struct netfs_io_subrequest *subreq)
                iov_iter_truncate(&subreq->io_iter, len);
        }
 
+       trace_netfs_sreq(subreq, netfs_sreq_trace_cache_prepare);
        cachefiles_begin_secure(cache, &saved_cred);
        ret = __cachefiles_prepare_write(object, cachefiles_cres_file(cres),
                                         &start, &len, len, true);
@@ -704,6 +707,7 @@ static void cachefiles_issue_write(struct netfs_io_subrequest *subreq)
                return;
        }
 
+       trace_netfs_sreq(subreq, netfs_sreq_trace_cache_write);
        cachefiles_write(&subreq->rreq->cache_resources,
                         subreq->start, &subreq->io_iter,
                         netfs_write_subrequest_terminated, subreq);
index 2dfc9f716e3b0e2bc8a9968a0d9a2ef28bde4c51..02f6e179b7bc3e7e9fd04981642401b510c6f69f 100644 (file)
@@ -74,6 +74,9 @@
 #define netfs_sreq_traces                                      \
        EM(netfs_sreq_trace_add_donations,      "+DON ")        \
        EM(netfs_sreq_trace_added,              "ADD  ")        \
+       EM(netfs_sreq_trace_cache_nowrite,      "CA-NW")        \
+       EM(netfs_sreq_trace_cache_prepare,      "CA-PR")        \
+       EM(netfs_sreq_trace_cache_write,        "CA-WR")        \
        EM(netfs_sreq_trace_clear,              "CLEAR")        \
        EM(netfs_sreq_trace_discard,            "DSCRD")        \
        EM(netfs_sreq_trace_donate_to_prev,     "DON-P")        \