From: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>,
linux-scsi@vger.kernel.org,
"Martin K. Petersen" <martin.petersen@oracle.com>,
yrl.pp-manager.tt@hitachi.com, linux-kernel@vger.kernel.org,
"James E.J. Bottomley" <JBottomley@parallels.com>,
Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>,
Doug Gilbert <dgilbert@interlog.com>,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Subject: Re: Re: [RFC PATCH 07/10] scsi/trace: Use scsi_show_result trace point instead of printk
Date: Wed, 03 Sep 2014 10:17:10 +0900 [thread overview]
Message-ID: <54066C16.7070900@hitachi.com> (raw)
In-Reply-To: <20140829005039.GA2876@lst.de>
Hi Christoph,
Sorry for the late reply.
(2014/08/29 9:50), Christoph Hellwig wrote:
>> I'm not sure this is the correct way.
>> Currently we have quite some code duplication in scsi_trace.c and
>> constants.c, correct.
>> So I definitely would like to see them both merged.
>>
>> But constants.c is influenced by CONFIG_SCSI_CONSTANTS, whereas
>> scsi_trace isn't, and the functions in constants.c are used throughout the
>> scsi stack.
>> So I'd rather see to have scsi_trace to be updated to use the functions
>> from constants.c, and remove the duplicate code in
>> scsi_trace.
>
> The tracepoints need to use the magic print_flags & co helpers so that
> output works properly if using the binary tracebuffer and user space tools that
> decoded it (e.g. trace-cmd or perf), so using a kernel function for decoding is
> not an option.
Ah, I see.
The "format" files in SCSI traceevents output decoders, so we don't
need to implement own decoders in userland.
I think the current problem is duplicated decoders, so we'll
consolidate those. If we use decoders in constants.c, the decoders are
not output in format file, so user tools cannot decode the binary.
On the other hand, if we use decoders in scsi_trace.c, the output format
of command names is changed and there are unsupported command names.
We would use decoders in scsi_trace.c and add new command names to
decoders in scsi_trace.c, I think.
How do you think about this? Hannes?
As another topic, we found that we cannot decode SCSI traceevents by
using current decoder in format files. For example, format file of
scsi_dispatch_cmd_timeout outputs prot_op as follows:
__print_symbolic(REC->prot_op, { SCSI_PROT_NORMAL, "SCSI_PROT_NORMAL" },
{ SCSI_PROT_READ_INSERT, "SCSI_PROT_READ_INSERT" }, {
SCSI_PROT_WRITE_STRIP, "SCSI_PROT_WRITE_STRIP" }, {
SCSI_PROT_READ_STRIP, "SCSI_PROT_READ_STRIP" }, {
SCSI_PROT_WRITE_INSERT, "SCSI_PROT_WRITE_INSERT" }, {
SCSI_PROT_READ_PASS, "SCSI_PROT_READ_PASS" }, { SCSI_PROT_WRITE_PASS,
"SCSI_PROT_WRITE_PASS" })
Decoding will fail to do macro expansion here, so we need to fix this.
(We don't use enum for traceevents.)
Thanks,
Yoshihiro YUNOMAE
> But we can make these tracepoints dependent on CONFIG_SCSI_CONSTANTS to
> still allow building lighter kernels if we really care about it.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Yoshihiro YUNOMAE
Software Platform Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: yoshihiro.yunomae.ez@hitachi.com
next prev parent reply other threads:[~2014-09-03 1:17 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-08 11:50 [RFC PATCH -logging 00/10] scsi/constants: Output continuous error messages on trace Yoshihiro YUNOMAE
2014-08-08 11:50 ` [RFC PATCH 01/10] scsi/constants: Cleanup printk message in __scsi_print_sense() Yoshihiro YUNOMAE
2014-08-12 14:51 ` Elliott, Robert (Server Storage)
2014-08-12 14:51 ` Elliott, Robert (Server Storage)
2014-08-13 3:14 ` Yoshihiro YUNOMAE
2014-08-27 13:56 ` Hannes Reinecke
2014-08-08 11:50 ` [RFC PATCH 02/10] scsi/constants: Cleanup printk message in scsi_decode_sense_extras() Yoshihiro YUNOMAE
2014-08-27 13:58 ` Hannes Reinecke
2014-08-08 11:50 ` [RFC PATCH 03/10] scsi/constants: Cleanup printk message in __scsi_print_command() Yoshihiro YUNOMAE
2014-08-15 15:05 ` Ewan Milne
2014-08-18 5:05 ` Yoshihiro YUNOMAE
2014-08-27 13:58 ` Hannes Reinecke
2014-08-27 13:58 ` Hannes Reinecke
2014-08-08 11:50 ` [RFC PATCH 04/10] scsi/constants: Cleanup printk message in scsi_dump_sense_buffer() Yoshihiro YUNOMAE
2014-08-15 15:08 ` Ewan Milne
2014-08-18 5:06 ` Yoshihiro YUNOMAE
2014-08-27 13:59 ` Hannes Reinecke
2014-08-08 11:50 ` [RFC PATCH 05/10] scsi/trace: Use macros for getting driver byte, host byte, msg byte, and status byte Yoshihiro YUNOMAE
2014-08-15 15:10 ` Ewan Milne
2014-08-27 14:01 ` Hannes Reinecke
2014-08-08 11:50 ` [RFC PATCH 06/10] scsi/sd: Delete extra scsi_show_extd_sense() in sd_print_sense_hdr() Yoshihiro YUNOMAE
2014-08-15 15:14 ` Ewan Milne
2014-08-27 14:07 ` Hannes Reinecke
2014-08-08 11:50 ` [RFC PATCH 07/10] scsi/trace: Use scsi_show_result trace point instead of printk Yoshihiro YUNOMAE
2014-08-27 14:12 ` Hannes Reinecke
2014-08-27 14:12 ` Hannes Reinecke
2014-08-28 1:37 ` Yoshihiro YUNOMAE
2014-08-29 0:50 ` Christoph Hellwig
2014-09-03 1:17 ` Yoshihiro YUNOMAE [this message]
2014-08-08 11:50 ` [RFC PATCH 08/10] scsi/trace: Use scsi_print_sense " Yoshihiro YUNOMAE
2014-08-27 14:15 ` Hannes Reinecke
2014-08-28 1:39 ` Yoshihiro YUNOMAE
2014-08-08 11:50 ` [RFC PATCH 09/10] scsi/trace: Add additional sense code and additional sense code qualifier to scsi_print_sense trace point Yoshihiro YUNOMAE
2014-08-27 14:16 ` Hannes Reinecke
2014-08-27 14:16 ` Hannes Reinecke
2014-08-28 1:39 ` Yoshihiro YUNOMAE
2014-08-08 11:50 ` [RFC PATCH 10/10] scsi/trace: Use scsi_print_command trace point instead of printk Yoshihiro YUNOMAE
2014-08-27 14:16 ` Hannes Reinecke
2014-08-28 1:40 ` Yoshihiro YUNOMAE
2014-08-28 6:19 ` Yoshihiro YUNOMAE
2014-08-28 12:15 ` Hannes Reinecke
2014-08-28 12:15 ` Hannes Reinecke
2014-09-01 6:38 ` Yoshihiro YUNOMAE
2014-08-08 13:07 ` [RFC PATCH -logging 00/10] scsi/constants: Output continuous error messages on trace Douglas Gilbert
2014-08-13 3:13 ` Yoshihiro YUNOMAE
2014-08-22 19:54 ` Douglas Gilbert
2014-08-26 14:23 ` Hannes Reinecke
2014-08-27 14:23 ` Hannes Reinecke
2014-08-27 14:23 ` Hannes Reinecke
2014-08-27 14:48 ` Douglas Gilbert
2014-08-22 0:39 ` Elliott, Robert (Server Storage)
2014-08-22 0:39 ` Elliott, Robert (Server Storage)
2014-08-24 20:44 ` scsi logging future directions, was " Christoph Hellwig
2014-08-25 11:30 ` Hannes Reinecke
2014-08-26 8:53 ` Hannes Reinecke
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=54066C16.7070900@hitachi.com \
--to=yoshihiro.yunomae.ez@hitachi.com \
--cc=JBottomley@parallels.com \
--cc=dgilbert@interlog.com \
--cc=hare@suse.de \
--cc=hch@lst.de \
--cc=hidehiro.kawai.ez@hitachi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=yrl.pp-manager.tt@hitachi.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 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.