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