From: Hannes Reinecke <hare@suse.de>
To: James Bottomley <jbottomley@parallels.com>
Cc: Christoph Hellwig <hch@lst.de>,
linux-scsi@vger.kernel.org, Hannes Reinecke <hare@suse.de>
Subject: [PATCHv4 0/9] scsi logging update: the real thing
Date: Thu, 8 Jan 2015 07:43:41 +0100 [thread overview]
Message-ID: <1420699430-9492-1-git-send-email-hare@suse.de> (raw)
Hi all,
this is the second part of my scsi logging update, covering
CDB and sense code printing. With this patchset CDBs and
sense code bytes will be formatted on a single line
(where possible), and prefixed with the device and command
tag.
To ensure CDBs and sense code bytes are not broken up during
printk I've implemented a per-cpu buffer for formatting
messages. One can allocate a chunk from the buffer using
scsi_log_reserve_buffer() and return it via scsi_log_release_buffer().
Both function do an implicit preempt_disable() / preempt_enable()
to ensure we're not scheduled away from that cpu whilst writing
into the buffer.
With that I've been able to clean up constants.c to remove all the
#ifdef CONFIG_SCSI_CONSTANTS statements. It'll now be compiled in
conditionally if CONFIG_SCSI_CONSTANTS is set.
Thanks go to Stephen Rostedt who suffered my annoying questions
during LPC.
Changes to v3:
- Update to scsi-for-3.20 tree
- Drop upstreamed patches
Changes to v2:
- Include reviews and suggestions from Robert Elliott
Hannes Reinecke (9):
scsi: Implement per-cpu logging buffer
scsi: log request tag for scmd_printk()
scsi: use external buffer for command logging
libata: use __scsi_format_command()
scsi: use per-cpu buffer for formatting sense
scsi: use per-cpu buffer for formatting scsi_print_result()
scsi: Conditionally compile in constants.c
scsi: Do not display buffer pointers in scsi_log_send()
scsi_error: do not display kernel pointer in message logs
drivers/ata/libata-eh.c | 17 +-
drivers/scsi/Kconfig | 4 +-
drivers/scsi/Makefile | 6 +-
drivers/scsi/ch.c | 6 +-
drivers/scsi/constants.c | 247 +---------------------
drivers/scsi/scsi.c | 11 +-
drivers/scsi/scsi_error.c | 49 ++---
drivers/scsi/scsi_logging.c | 489 ++++++++++++++++++++++++++++++++++++++++++++
drivers/scsi/sd.c | 7 +-
drivers/scsi/sr_ioctl.c | 13 +-
drivers/scsi/ufs/ufshcd.c | 6 +-
drivers/xen/xen-scsiback.c | 1 +
include/scsi/scsi.h | 3 +
include/scsi/scsi_dbg.h | 74 ++++++-
include/scsi/scsi_device.h | 21 +-
15 files changed, 624 insertions(+), 330 deletions(-)
create mode 100644 drivers/scsi/scsi_logging.c
--
1.8.4.5
next reply other threads:[~2015-01-08 6:44 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-08 6:43 Hannes Reinecke [this message]
2015-01-08 6:43 ` [PATCH 1/9] scsi: Implement per-cpu logging buffer Hannes Reinecke
2015-01-13 18:41 ` James Bottomley
2015-01-08 6:43 ` [PATCH 2/9] scsi: log request tag for scmd_printk() Hannes Reinecke
2015-01-08 6:43 ` [PATCH 3/9] scsi: use external buffer for command logging Hannes Reinecke
2015-01-13 18:56 ` James Bottomley
2015-01-14 9:36 ` hch
2015-01-14 15:24 ` James Bottomley
2015-01-08 6:43 ` [PATCH 4/9] libata: use __scsi_format_command() Hannes Reinecke
2015-01-08 6:43 ` [PATCH 5/9] scsi: use per-cpu buffer for formatting sense Hannes Reinecke
2015-01-08 6:43 ` [PATCH 6/9] scsi: use per-cpu buffer for formatting scsi_print_result() Hannes Reinecke
2015-01-08 6:43 ` [PATCH 7/9] scsi: Conditionally compile in constants.c Hannes Reinecke
2015-01-08 6:43 ` [PATCH 8/9] scsi: Do not display buffer pointers in scsi_log_send() Hannes Reinecke
2015-01-08 6:43 ` [PATCH 9/9] scsi_error: do not display kernel pointer in message logs Hannes Reinecke
2015-01-10 19:17 ` Elliott, Robert (Server Storage)
2015-01-11 18:39 ` Douglas Gilbert
2015-01-12 13:12 ` Ewan Milne
2015-01-12 13:29 ` Hannes Reinecke
2015-01-12 14:57 ` Ewan Milne
2015-01-12 15:18 ` Ewan Milne
2015-01-10 18:01 ` [PATCHv4 0/9] scsi logging update: the real thing Christoph Hellwig
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=1420699430-9492-1-git-send-email-hare@suse.de \
--to=hare@suse.de \
--cc=hch@lst.de \
--cc=jbottomley@parallels.com \
--cc=linux-scsi@vger.kernel.org \
/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).