From: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
To: John Garry <john.g.garry@oracle.com>, linux-block@vger.kernel.org
Cc: axboe@kernel.dk, djwong@kernel.org, ojaswin@linux.ibm.com,
linux-fsdevel@vger.kernel.org
Subject: Re: [RFC] traceevent/block: Add REQ_ATOMIC flag to block trace events
Date: Thu, 03 Apr 2025 23:52:58 +0530 [thread overview]
Message-ID: <87tt752jgd.fsf@gmail.com> (raw)
In-Reply-To: <cad0a39d-32d2-4e66-b12b-2969026ece37@oracle.com>
John Garry <john.g.garry@oracle.com> writes:
> On 03/04/2025 06:28, Ritesh Harjani (IBM) wrote:
>> Filesystems like XFS can implement atomic write I/O using either REQ_ATOMIC
>> flag set in the bio or via CoW operation. It will be useful if we have a
>> flag in trace events to distinguish between the two.
>
> I suppose that this could be useful. So far I test with block driver
> traces, i.e. NVMe or SCSI internal traces, just to ensure that we see
> the requests sent as expected
>
Right.
> This patch adds
>> char 'a' to rwbs field of the trace events if REQ_ATOMIC flag is set in
>> the bio.
>
> All others use uppercase characters, so I suggest that you continue to
> use that.
It will be good to know on whether only uppercase characters are allowed
or we are good with smallcase characters too?
> Since 'A' is already used, how about 'U' for untorn? Or 'T'
> for aTOMic :)
>
If 'a' is not allowed, then we can change it to 'T' maybe.
-ritesh
>>
>> <W/ REQ_ATOMIC>
>> =================
>> xfs_io-1107 [002] ..... 406.206441: block_rq_issue: 8,48 WSa 16384 () 768 + 32 none,0,0 [xfs_io]
>> <idle>-0 [002] ..s1. 406.209918: block_rq_complete: 8,48 WSa () 768 + 32 none,0,0 [0]
>>
>> <W/O REQ_ATOMIC>
>> ===============
>> xfs_io-1108 [002] ..... 411.212317: block_rq_issue: 8,48 WS 16384 () 1024 + 32 none,0,0 [xfs_io]
>> <idle>-0 [002] ..s1. 411.215842: block_rq_complete: 8,48 WS () 1024 + 32 none,0,0 [0]
>>
>> Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
>> ---
>> include/trace/events/block.h | 2 +-
>> kernel/trace/blktrace.c | 2 ++
>> 2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/include/trace/events/block.h b/include/trace/events/block.h
>> index bd0ea07338eb..de538b110ea1 100644
>> --- a/include/trace/events/block.h
>> +++ b/include/trace/events/block.h
>> @@ -11,7 +11,7 @@
>> #include <linux/tracepoint.h>
>> #include <uapi/linux/ioprio.h>
>>
>> -#define RWBS_LEN 8
>> +#define RWBS_LEN 9
>>
>> #define IOPRIO_CLASS_STRINGS \
>> { IOPRIO_CLASS_NONE, "none" }, \
>> diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c
>> index 3679a6d18934..6badf296ab2b 100644
>> --- a/kernel/trace/blktrace.c
>> +++ b/kernel/trace/blktrace.c
>> @@ -1896,6 +1896,8 @@ void blk_fill_rwbs(char *rwbs, blk_opf_t opf)
>> rwbs[i++] = 'S';
>> if (opf & REQ_META)
>> rwbs[i++] = 'M';
>> + if (opf & REQ_ATOMIC)
>> + rwbs[i++] = 'a';
>>
>> rwbs[i] = '\0';
>> }
>> --
>> 2.48.1
>>
next prev parent reply other threads:[~2025-04-03 18:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-03 5:28 [RFC] traceevent/block: Add REQ_ATOMIC flag to block trace events Ritesh Harjani (IBM)
2025-04-03 8:58 ` John Garry
2025-04-03 18:22 ` Ritesh Harjani [this message]
2025-05-22 5:15 ` Ritesh Harjani
2025-05-22 11:00 ` Jens Axboe
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=87tt752jgd.fsf@gmail.com \
--to=ritesh.list@gmail.com \
--cc=axboe@kernel.dk \
--cc=djwong@kernel.org \
--cc=john.g.garry@oracle.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=ojaswin@linux.ibm.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).