All of lore.kernel.org
 help / color / mirror / Atom feed
* SCSI logging sucks
@ 2007-02-07 17:06 Chuck Ebbert
  2007-02-07 23:35 ` [patch] " Randy Dunlap
  0 siblings, 1 reply; 5+ messages in thread
From: Chuck Ebbert @ 2007-02-07 17:06 UTC (permalink / raw)
  To: linux-kernel, linux-scsi

SCSI logging isn't documented very well, and what little there is
has a problem:

In Documentation/kernel-parameters.txt we have:

        scsi_logging=   [SCSI]

but it's really "scsi_logging_level", as seen here in drivers/scsi/scsi.c:

 module_param(scsi_logging_level, int, S_IRUGO|S_IWUSR);
 MODULE_PARM_DESC(scsi_logging_level, "a bit mask of logging levels");

Not exactly helpful. And the sysctl is called:

    /proc/sys/dev/scsi/logging_level

Using scsi_logging.h, I came up with this:

                0000 0000 0000 0000 0000 0000 0000 0000
       0x7                                          111  Error
      0x38                                      11 1     Timeout
     0x1c0                                  1 11         Scan
     0xe00                               111             Midlevel queue
    0x7000                           111                 Midlevel
completions
   0x38000                       11 1                    Lowlevel queue
  0x1c0000                   1 11                        Lowlevel
completions
  0xe00000                111                            Highlevel queue
 0x7000000            111                                Highlevel
completions
0x38000000        11 1                                   IOCTL

but I'm not sure if it's right.

And the actual implementation looks backwards, at least for highlevel
events. You need to set the level to 800000 to see driver loads and
that means wading through tons of extraneous crap.  The logging
should show more verbosity at the higher numbers, not start
out with the most verbose output at the low numbers.


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

* [patch] Re: SCSI logging sucks
  2007-02-07 17:06 SCSI logging sucks Chuck Ebbert
@ 2007-02-07 23:35 ` Randy Dunlap
  2007-02-08  0:20   ` Martin K. Petersen
  2007-02-09 22:45   ` Chuck Ebbert
  0 siblings, 2 replies; 5+ messages in thread
From: Randy Dunlap @ 2007-02-07 23:35 UTC (permalink / raw)
  To: Chuck Ebbert; +Cc: linux-kernel, linux-scsi, jejb

On Wed, 07 Feb 2007 12:06:30 -0500 Chuck Ebbert wrote:

> SCSI logging isn't documented very well, and what little there is
> has a problem:
> 
> In Documentation/kernel-parameters.txt we have:
> 
>         scsi_logging=   [SCSI]
> 
> but it's really "scsi_logging_level", as seen here in drivers/scsi/scsi.c:
> 
>  module_param(scsi_logging_level, int, S_IRUGO|S_IWUSR);
>  MODULE_PARM_DESC(scsi_logging_level, "a bit mask of logging levels");

Patch for Documentation/kernel-parameters.txt is below.
Want more/different?


Is this part of drivers/scsi/Kconfig correct??

"""
config SCSI_LOGGING
	bool "SCSI logging facility"
	depends on SCSI
	---help---
	  This turns on a logging facility that can be used to debug a number
	  of SCSI related problems.

	  If you say Y here, no logging output will appear by default, but you
	  can enable logging by saying Y to "/proc file system support" and
	  "Sysctl support" below and executing the command

	  echo "scsi log token [level]" > /proc/scsi/scsi

	  at boot time after the /proc file system has been mounted.

	  There are a number of things that can be used for 'token' (you can
	  find them in the source: <file:drivers/scsi/scsi.c>), and this
	  allows you to select the types of information you want, and the
	  level allows you to select the level of verbosity.
"""


> Not exactly helpful. And the sysctl is called:
> 
>     /proc/sys/dev/scsi/logging_level
> 
> Using scsi_logging.h, I came up with this:
> 
>                 0000 0000 0000 0000 0000 0000 0000 0000
>        0x7                                          111  Error
>       0x38                                      11 1     Timeout
>      0x1c0                                  1 11         Scan
>      0xe00                               111             Midlevel queue
>     0x7000                           111                 Midlevel
> completions
>    0x38000                       11 1                    Lowlevel queue
>   0x1c0000                   1 11                        Lowlevel
> completions
>   0xe00000                111                            Highlevel queue
>  0x7000000            111                                Highlevel
> completions
> 0x38000000        11 1                                   IOCTL
> 
> but I'm not sure if it's right.
> 
> And the actual implementation looks backwards, at least for highlevel
> events. You need to set the level to 800000 to see driver loads and
> that means wading through tons of extraneous crap.  The logging
> should show more verbosity at the higher numbers, not start
> out with the most verbose output at the low numbers.


From: Randy Dunlap <randy.dunlap@oracle.com>

Minor corrections and additions to 'scsi_logging_level', as pointed out
by Chuck Ebbert.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
 Documentation/kernel-parameters.txt |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- linux-2620-work.orig/Documentation/kernel-parameters.txt
+++ linux-2620-work/Documentation/kernel-parameters.txt
@@ -1444,7 +1444,10 @@ and is between 256 and 4096 characters. 
 			Format: <vendor>:<model>:<flags>
 			(flags are integer value)
 
-	scsi_logging=	[SCSI]
+	scsi_logging_level=	[SCSI] a bit mask of logging levels
+			See drivers/scsi/scsi_logging.h for bits.  Also
+			settable via sysctl at dev.scsi.logging_level
+			(/proc/sys/dev/scsi/logging_level).
 
 	scsi_mod.scan=	[SCSI] sync (default) scans SCSI busses as they are
 			discovered.  async scans them in kernel threads,

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

* Re: [patch] Re: SCSI logging sucks
  2007-02-07 23:35 ` [patch] " Randy Dunlap
@ 2007-02-08  0:20   ` Martin K. Petersen
  2007-02-08  7:21     ` Volker Sameske
  2007-02-09 22:45   ` Chuck Ebbert
  1 sibling, 1 reply; 5+ messages in thread
From: Martin K. Petersen @ 2007-02-08  0:20 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Chuck Ebbert, linux-kernel, linux-scsi, jejb

>>>>> "Randy" == Randy Dunlap <randy.dunlap@oracle.com> writes:

Randy> There are a number of things that can be used for 'token' (you
Randy> can find them in the source: <file:drivers/scsi/scsi.c>), and
Randy> this allows you to select the types of information you want,
Randy> and the level allows you to select the level of verbosity.  """

There's a very convenient script called scsi_logging_level included in
(of all things) the s390-tools package.

Maybe provide a pointer to it -- or even just include it.  It's not
very big...

http://www-128.ibm.com/developerworks/linux/linux390/s390-tools-1.5.4.html

-- 
Martin K. Petersen	Oracle Linux Engineering


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

* Re: [patch] Re: SCSI logging sucks
  2007-02-08  0:20   ` Martin K. Petersen
@ 2007-02-08  7:21     ` Volker Sameske
  0 siblings, 0 replies; 5+ messages in thread
From: Volker Sameske @ 2007-02-08  7:21 UTC (permalink / raw)
  To: martin.petersen, cebbert, james.bottomley, linux-kernel,
	linux-scsi, randy.dunlap

> There's a very convenient script called scsi_logging_level included in
> (of all things) the s390-tools package.
> 
> Maybe provide a pointer to it -- or even just include it.  It's not
> very big...
> 
> 
http://www-128.ibm.com/developerworks/linux/linux390/s390-tools-1.5.4.html

The scsi_logging_level script is described here in chapter 8:
http://download.boulder.ibm.com/ibmdl/pub/software/dw/linux390/docu/l26cts01.pdf

and here on page 312:
http://download.boulder.ibm.com/ibmdl/pub/software/dw/linux390/docu/l26cdd02.pdf

regards,
Volker

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

* Re: [patch] Re: SCSI logging sucks
  2007-02-07 23:35 ` [patch] " Randy Dunlap
  2007-02-08  0:20   ` Martin K. Petersen
@ 2007-02-09 22:45   ` Chuck Ebbert
  1 sibling, 0 replies; 5+ messages in thread
From: Chuck Ebbert @ 2007-02-09 22:45 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: linux-kernel, linux-scsi, jejb

Randy Dunlap wrote:
> Patch for Documentation/kernel-parameters.txt is below.
> Want more/different?
>
>
> Is this part of drivers/scsi/Kconfig correct??
>
> """
> config SCSI_LOGGING
> 	bool "SCSI logging facility"
> 	depends on SCSI
> 	---help---
> 	  This turns on a logging facility that can be used to debug a number
> 	  of SCSI related problems.
>
> 	  If you say Y here, no logging output will appear by default, but you
> 	  can enable logging by saying Y to "/proc file system support" and
> 	  "Sysctl support" below and executing the command
>
> 	  echo "scsi log token [level]" > /proc/scsi/scsi
>
> 	  at boot time after the /proc file system has been mounted.
>
> 	  There are a number of things that can be used for 'token' (you can
> 	  find them in the source: <file:drivers/scsi/scsi.c>), and this
> 	  allows you to select the types of information you want, and the
> 	  level allows you to select the level of verbosity.
> """
>
>   
I have no clue whether that works, but looking at scsi.c it would
seem it doesn't.  I only see add-single-device and remove-single-device
in there.
> From: Randy Dunlap <randy.dunlap@oracle.com>
>
> Minor corrections and additions to 'scsi_logging_level', as pointed out
> by Chuck Ebbert.
>
> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
> ---
>  Documentation/kernel-parameters.txt |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> --- linux-2620-work.orig/Documentation/kernel-parameters.txt
> +++ linux-2620-work/Documentation/kernel-parameters.txt
> @@ -1444,7 +1444,10 @@ and is between 256 and 4096 characters. 
>  			Format: <vendor>:<model>:<flags>
>  			(flags are integer value)
>  
> -	scsi_logging=	[SCSI]
> +	scsi_logging_level=	[SCSI] a bit mask of logging levels
> +			See drivers/scsi/scsi_logging.h for bits.  Also
> +			settable via sysctl at dev.scsi.logging_level
> +			(/proc/sys/dev/scsi/logging_level).
>  
>  	scsi_mod.scan=	[SCSI] sync (default) scans SCSI busses as they are
>  			discovered.  async scans them in kernel threads,
>   

Patch looks good. The script from IBM looks even better.


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

end of thread, other threads:[~2007-02-09 22:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-07 17:06 SCSI logging sucks Chuck Ebbert
2007-02-07 23:35 ` [patch] " Randy Dunlap
2007-02-08  0:20   ` Martin K. Petersen
2007-02-08  7:21     ` Volker Sameske
2007-02-09 22:45   ` Chuck Ebbert

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.