linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>
Cc: 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>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [RFC PATCH 10/10] scsi/trace: Use scsi_print_command trace point instead of printk
Date: Thu, 28 Aug 2014 14:15:00 +0200	[thread overview]
Message-ID: <53FF1D44.3080702@suse.de> (raw)
In-Reply-To: <53FEC9E7.6000909@hitachi.com>

On 08/28/2014 08:19 AM, Yoshihiro YUNOMAE wrote:
> Hi Hannes,
>
> I tried to remove duplicated decoder of SCSI command, but the
> output format of it in constants.c is different from it in traceevents.
> I have two questions for it.
>
> (Ex1)
> traceevents: TEST_UNIT_READY
> constants: Test Unit Ready
>
> => Which of "XXX_YYY_ZZZ" and "Xxx Yyy Zzz" should the kernel output
> strings? This difference comes from difference of implementation.
> The decoder in traceevents are using macro. So, it cannot define
> separated words. On the other hand, the decoder in constants are using
> constant string array table. So, it can define separated words.
>
I would go with the wording in constants.c, but set in double quotes 
like "Test Unit Ready" to avoid parsing errors later on.

> (Ex2)
> traceevents: (nothing)
> constants: Set limits(12)
>
> => Should we merge those decoder?
>
Yes, I would prefer this. Again, we should be setting the strings in 
double quotes irrespective if there are spaces in the resulting 
string or not.

> I understand we use the decoder of constants, but we need to solve
> these problems. Would you give me your comments?
>
As mentioned previously, my aim is to convert the logging system in 
several steps:

a) convert all lone 'printk' statements into dev_printk() variants
    and ensure everything is printed in one statement to avoid
    linebreaks in the resulting logging message.
    This will eliminate the immediate problem we're having, namely
    that debugging is near to impossible under high load.
    The patchset is nearing completion, and I will be posting it
    later this week.
b) Convert scsi_trace to use the functions from constants.c to
    avoid code duplication and update scsi_trace to log sense codes.
c) Remove all logging functions in the hot path (ie
    SCSI_LOG_MLQUEUE and SCSI_LOG_MLCOMPLETE) and replace them
    with trace events.

b) is what you're working on, right?
For 'c)' the problem is that we should retain the existing 
functionality with scsi_logging_level here, at least initially.
So we cannot just replace it, as this would leave SCSI_LOG_ML
a dummy without any real functionality.

I'll be posting my current patchset for review shortly.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

  reply	other threads:[~2014-08-28 12:15 UTC|newest]

Thread overview: 48+ 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-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-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-28  1:37     ` Yoshihiro YUNOMAE
2014-08-29  0:50     ` Christoph Hellwig
2014-09-03  1:17       ` Yoshihiro YUNOMAE
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-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 [this message]
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:48     ` Douglas Gilbert
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=53FF1D44.3080702@suse.de \
    --to=hare@suse.de \
    --cc=JBottomley@parallels.com \
    --cc=dgilbert@interlog.com \
    --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=yoshihiro.yunomae.ez@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 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).