From: Christoph Hellwig <hch@lst.de> To: "Darrick J . Wong" <darrick.wong@oracle.com> Cc: Damien Le Moal <Damien.LeMoal@wdc.com>, Andreas Gruenbacher <agruenba@redhat.com>, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 01/11] iomap: add tracing for the readpage / readpages Date: Tue, 1 Oct 2019 09:11:42 +0200 [thread overview] Message-ID: <20191001071152.24403-2-hch@lst.de> (raw) In-Reply-To: <20191001071152.24403-1-hch@lst.de> Lift the xfs code for tracing address space operations to the iomap layer. Signed-off-by: Christoph Hellwig <hch@lst.de> --- fs/iomap/buffered-io.c | 7 +++++++ include/trace/events/iomap.h | 27 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 include/trace/events/iomap.h diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index e25901ae3ff4..099daf0c09b8 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -19,6 +19,9 @@ #include "../internal.h" +#define CREATE_TRACE_POINTS +#include <trace/events/iomap.h> + static struct iomap_page * iomap_page_create(struct inode *inode, struct page *page) { @@ -293,6 +296,8 @@ iomap_readpage(struct page *page, const struct iomap_ops *ops) unsigned poff; loff_t ret; + trace_iomap_readpage(page->mapping->host, 1); + for (poff = 0; poff < PAGE_SIZE; poff += ret) { ret = iomap_apply(inode, page_offset(page) + poff, PAGE_SIZE - poff, 0, ops, &ctx, @@ -389,6 +394,8 @@ iomap_readpages(struct address_space *mapping, struct list_head *pages, loff_t last = page_offset(list_entry(pages->next, struct page, lru)); loff_t length = last - pos + PAGE_SIZE, ret = 0; + trace_iomap_readpages(mapping->host, nr_pages); + while (length > 0) { ret = iomap_apply(mapping->host, pos, length, 0, ops, &ctx, iomap_readpages_actor); diff --git a/include/trace/events/iomap.h b/include/trace/events/iomap.h new file mode 100644 index 000000000000..7d2fe2c773f3 --- /dev/null +++ b/include/trace/events/iomap.h @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2009-2019, Christoph Hellwig + * All Rights Reserved. + * + * NOTE: none of these tracepoints shall be consider a stable kernel ABI + * as they can change at any time. + */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM iomap + +#if !defined(_TRACE_IOMAP_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_IOMAP_H + +#include <linux/tracepoint.h> + +#define DEFINE_READPAGE_EVENT(name) \ +DEFINE_EVENT(iomap_readpage_class, name, \ + TP_PROTO(struct inode *inode, int nr_pages), \ + TP_ARGS(inode, nr_pages)) +DEFINE_READPAGE_EVENT(iomap_readpage); +DEFINE_READPAGE_EVENT(iomap_readpages); + +#endif /* _TRACE_IOMAP_H */ + +/* This part must be outside protection */ +#include <trace/define_trace.h> -- 2.20.1
next prev parent reply other threads:[~2019-10-01 7:16 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-10-01 7:11 lift the xfs writepage code into iomap v5 Christoph Hellwig 2019-10-01 7:11 ` Christoph Hellwig [this message] 2019-10-01 15:23 ` [PATCH 01/11] iomap: add tracing for the readpage / readpages Brian Foster 2019-10-01 20:52 ` Darrick J. Wong 2019-10-04 23:49 ` Darrick J. Wong 2019-10-01 7:11 ` [PATCH 02/11] iomap: copy the xfs writeback code to iomap.c Christoph Hellwig 2019-10-01 7:11 ` [PATCH 03/11] iomap: warn on inline maps in iomap_writepage_map Christoph Hellwig 2019-10-01 7:11 ` [PATCH 04/11] xfs: set IOMAP_F_NEW more carefully Christoph Hellwig 2019-10-01 7:11 ` [PATCH 05/11] iomap: zero newly allocated mapped blocks Christoph Hellwig 2019-10-01 7:11 ` [PATCH 06/11] xfs: remove the readpage / readpages tracing code Christoph Hellwig 2019-10-01 15:23 ` Brian Foster 2019-10-02 15:38 ` Darrick J. Wong 2019-10-01 7:11 ` [PATCH 07/11] xfs: initialize iomap->flags in xfs_bmbt_to_iomap Christoph Hellwig 2019-10-01 7:11 ` [PATCH 08/11] xfs: use a struct iomap in xfs_writepage_ctx Christoph Hellwig 2019-10-01 7:11 ` [PATCH 09/11] xfs: remove the fork fields in the writepage_ctx and ioend Christoph Hellwig 2019-10-01 7:11 ` [PATCH 10/11] xfs: use the iomap write page code Christoph Hellwig 2019-10-02 18:04 ` Brian Foster 2019-10-01 7:11 ` [PATCH 11/11] iomap: move struct iomap_page out of iomap.h Christoph Hellwig 2019-10-06 15:45 lift the xfs writepage code into iomap v6 Christoph Hellwig 2019-10-06 15:45 ` [PATCH 01/11] iomap: add tracing for the readpage / readpages Christoph Hellwig 2019-10-06 22:43 ` Darrick J. Wong 2019-10-07 5:48 ` Christoph Hellwig 2019-10-07 6:17 ` Christoph Hellwig 2019-10-07 15:23 ` Darrick J. Wong 2019-10-07 13:00 ` Brian Foster
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191001071152.24403-2-hch@lst.de \ --to=hch@lst.de \ --cc=Damien.LeMoal@wdc.com \ --cc=agruenba@redhat.com \ --cc=darrick.wong@oracle.com \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-xfs@vger.kernel.org \ --subject='Re: [PATCH 01/11] iomap: add tracing for the readpage / readpages' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.