linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/15] block: add blktrace support for zoned block device commands
@ 2025-09-25 15:02 Johannes Thumshirn
  2025-09-25 15:02 ` [PATCH v2 01/15] blktrace: only calculate trace length once Johannes Thumshirn
                   ` (14 more replies)
  0 siblings, 15 replies; 43+ messages in thread
From: Johannes Thumshirn @ 2025-09-25 15:02 UTC (permalink / raw)
  To: Jens Axboe
  Cc: Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers, linux-block,
	linux-kernel, linux-trace-kernel, linux-btrace, John Garry,
	Hannes Reinecke, Damien Le Moal, Christoph Hellwig, Naohiro Aota,
	Shinichiro Kawasaki, Chaitanya Kulkarni, Martin K . Petersen,
	Johannes Thumshirn

This patch series extends the kernel blktrace infrastructure to support
tracing zoned block device commands. Zoned block devices (e.g., ZAC/ZBC and
ZNS) introduce command types such as zone open, close, reset, finish, and
zone append. These are currently not visible in blktrace, making it difficult
to debug and analyze I/O workloads on zoned devices.

The patches in this series utilize the new trace points for these zone
management operations, and propagate the necessary context to the blktrace
logging path. These additions are designed to be backward-compatible, and are
only active when zoned devices are in use.

In order to not break the user-space ABI, a new ioctl was introduced to request
the new version of the blk_io_trace with extended 'action' field.

The user-space tools in the blktrace suite are updated in a separate patch
series to interpret and display the new trace events.This patch series extends the kernel blktrace infrastructure to support
tracing zoned block device commands. Zoned block devices (e.g., ZAC/ZBC and
ZNS) introduce command types such as zone open, close, reset, finish, and
zone append. These are currently not visible in blktrace, making it difficult
to debug and analyze I/O workloads on zoned devices.

The patches in this series utilize the new trace points for these zone
management operations, and propagate the necessary context to the blktrace
logging path. These additions are designed to be backward-compatible, and are
only active when zoned devices are in use.

In order to not break the user-space ABI, a new ioctl was introduced to request
the new version of the blk_io_trace with extended 'action' field.

The user-space tools in the blktrace suite are updated in a separate patch
series to interpret and display the new trace events.

Changes to v1:
- Incroporate feedback from Christoph

Johannes Thumshirn (15):
  blktrace: only calculate trace length once
  blktrace: factor out recording a blktrace event
  blktrace: split out relaying a blktrace event
  blktrace: untangle if/else sequence in __blk_add_trace
  blktrace: change the internal action to 64bit
  blktrace: split do_blk_trace_setup into two functions
  blktrace: add definitions for blk_user_trace_setup2
  blktrace: pass blk_user_trace2 to setup functions
  blktrace: add definitions for struct blk_io_trace2
  blktrace: differentiate between blk_io_trace versions
  blktrace: add block trace commands for zone operations
  blktrace: expose ZONE APPEND completions to blktrace
  blktrace: trace zone management operations
  blktrace: trace zone write plugging operations
  blktrace: handle BLKTRACESETUP2 ioctl

 block/ioctl.c                     |   1 +
 include/linux/blktrace_api.h      |   3 +-
 include/uapi/linux/blktrace_api.h |  54 +++-
 include/uapi/linux/fs.h           |   1 +
 kernel/trace/blktrace.c           | 458 +++++++++++++++++++++++-------
 5 files changed, 407 insertions(+), 110 deletions(-)

-- 
2.51.0


^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2025-10-10  7:32 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-25 15:02 [PATCH v2 00/15] block: add blktrace support for zoned block device commands Johannes Thumshirn
2025-09-25 15:02 ` [PATCH v2 01/15] blktrace: only calculate trace length once Johannes Thumshirn
2025-10-01  6:12   ` Damien Le Moal
2025-09-25 15:02 ` [PATCH v2 02/15] blktrace: factor out recording a blktrace event Johannes Thumshirn
2025-10-01  6:14   ` Damien Le Moal
2025-09-25 15:02 ` [PATCH v2 03/15] blktrace: split out relaying " Johannes Thumshirn
2025-10-01  6:19   ` Damien Le Moal
2025-09-25 15:02 ` [PATCH v2 04/15] blktrace: untangle if/else sequence in __blk_add_trace Johannes Thumshirn
2025-10-01  6:19   ` Damien Le Moal
2025-09-25 15:02 ` [PATCH v2 05/15] blktrace: change the internal action to 64bit Johannes Thumshirn
2025-10-01  6:21   ` Damien Le Moal
2025-09-25 15:02 ` [PATCH v2 06/15] blktrace: split do_blk_trace_setup into two functions Johannes Thumshirn
2025-10-01  6:25   ` Damien Le Moal
2025-10-03  7:27   ` Christoph Hellwig
2025-09-25 15:02 ` [PATCH v2 07/15] blktrace: add definitions for blk_user_trace_setup2 Johannes Thumshirn
2025-10-01  6:27   ` Damien Le Moal
2025-10-03  7:29   ` Christoph Hellwig
2025-09-25 15:02 ` [PATCH v2 08/15] blktrace: pass blk_user_trace2 to setup functions Johannes Thumshirn
2025-10-01  6:34   ` Damien Le Moal
2025-09-25 15:02 ` [PATCH v2 09/15] blktrace: add definitions for struct blk_io_trace2 Johannes Thumshirn
2025-10-01  6:37   ` Damien Le Moal
2025-10-03  7:31   ` Christoph Hellwig
2025-09-25 15:02 ` [PATCH v2 10/15] blktrace: differentiate between blk_io_trace versions Johannes Thumshirn
2025-10-01  7:21   ` Damien Le Moal
2025-09-25 15:02 ` [PATCH v2 11/15] blktrace: add block trace commands for zone operations Johannes Thumshirn
2025-10-01  7:23   ` Damien Le Moal
2025-10-03  7:32   ` Christoph Hellwig
2025-10-07 13:08     ` Johannes Thumshirn
2025-10-08  6:14       ` hch
2025-10-08  6:16         ` Johannes Thumshirn
2025-10-09 11:17         ` Johannes Thumshirn
2025-10-10  7:32           ` hch
2025-09-25 15:02 ` [PATCH v2 12/15] blktrace: expose ZONE APPEND completions to blktrace Johannes Thumshirn
2025-10-01  7:28   ` Damien Le Moal
2025-09-25 15:02 ` [PATCH v2 13/15] blktrace: trace zone management operations Johannes Thumshirn
2025-10-01  7:30   ` Damien Le Moal
2025-10-08 13:29     ` Johannes Thumshirn
2025-10-08 22:41       ` Damien Le Moal
2025-10-09  9:57         ` Johannes Thumshirn
2025-09-25 15:02 ` [PATCH v2 14/15] blktrace: trace zone write plugging operations Johannes Thumshirn
2025-10-01  7:31   ` Damien Le Moal
2025-09-25 15:02 ` [PATCH v2 15/15] blktrace: handle BLKTRACESETUP2 ioctl Johannes Thumshirn
2025-10-01  7:35   ` Damien Le Moal

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).