From: Mike Christie <michaelc@cs.wisc.edu>
To: open-iscsi@googlegroups.com
Cc: linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH] iscsi: Kconfig option for debug prints.
Date: Mon, 12 Jan 2009 09:59:52 -0600 [thread overview]
Message-ID: <496B68F8.3070103@cs.wisc.edu> (raw)
In-Reply-To: <496B63DF.6010602@panasas.com>
[-- Attachment #1: Type: text/plain, Size: 1797 bytes --]
Boaz Harrosh wrote:
> Boaz Harrosh wrote:
>> Remove the dark ages /* define debug_print */ in code, to use
>> a Kconfig option. With a system like Kconfig, in code, commented out,
>> configuration options are slavery and hard work.
>> (version control, manual edit ... need I say more)
>>
>> I've used an "int" config bit-mask so more areas of code can be
>> selected with one Koption, but mainly so that allmodconfig will
>> not turn it on.
>>
>> bit-1 - will turn on prints for libiscsi.
>> bit-2 - will turn on prints for libiscsi_tcp & iscsi_tcp.
>>
>> More iscsi drivers should use more bits.
>>
>> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
>> ---
>> drivers/scsi/Kconfig | 15 +++++++++++++++
>> drivers/scsi/iscsi_tcp.c | 7 -------
>> drivers/scsi/iscsi_tcp.h | 6 ++++++
>> drivers/scsi/libiscsi_tcp.c | 7 -------
>> include/scsi/libiscsi.h | 3 +--
>> 5 files changed, 22 insertions(+), 16 deletions(-)
>>
>> diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
>
> Mike hi.
>
> These are over latest Linus. Sorry I mixed up the branches.
> If they don't apply to your tree any more, I'll rebase.
>
It applies ok.
> I'm sending these because for too many times I submit some code
> with iscsi sources edits, because I forget to remove the edits
> for enabling prints. Please consider for inclusion.
>
What about compile time vs load time? Olaf had the attached patch which
does it at module load time. It is nicer for users, but I was just
worried about maybe there being a perf change with all the new ifs? I
was waiting to do some testing to see if there was and change, but did
not get around to it. Is that too paranoid (probably other factors like
our crappy locking will slow us down more than some ifs for printks right)?
[-- Attachment #2: [PATCH 04_21 - retry] Make iscsi debugging a module option.eml --]
[-- Type: message/rfc822, Size: 6691 bytes --]
From: Olaf Kirch <olaf.kirch@oracle.com>
To: open-iscsi@googlegroups.com
Subject: [PATCH 04/21 - retry] Make iscsi debugging a module option
Date: Fri, 22 Jun 2007 16:42:04 +0200
Message-ID: <200706221442.l5MEg40x025590@verein.lst.de>
Make iscsi debugging a module option
This patch adds a debug module parameter to both
libiscsi and iscsi_tcp, allowing to toggle debug
at runtime via /sys/modules/$name/parameters/debug
Signed-off-by: olaf.kirch@oracle.com
---
drivers/scsi/Kconfig | 9 +++++++++
drivers/scsi/iscsi_tcp.c | 13 +++++++++----
drivers/scsi/libiscsi.c | 10 ++++++++++
include/scsi/libiscsi.h | 11 +++++++----
4 files changed, 35 insertions(+), 8 deletions(-)
Index: iscsi-2.6/drivers/scsi/iscsi_tcp.c
===================================================================
--- iscsi-2.6.orig/drivers/scsi/iscsi_tcp.c
+++ iscsi-2.6/drivers/scsi/iscsi_tcp.c
@@ -48,13 +48,18 @@ MODULE_AUTHOR("Dmitry Yusupov <dmitry_yu
"Alex Aizman <itn780@yahoo.com>");
MODULE_DESCRIPTION("iSCSI/TCP data-path");
MODULE_LICENSE("GPL");
-#undef DEBUG_TCP
#define DEBUG_ASSERT
-#ifdef DEBUG_TCP
-#define debug_tcp(fmt...) printk(KERN_INFO "tcp: " fmt)
+#ifdef CONFIG_SCSI_ISCSI_DEBUG
+static int iscsi_tcp_debug = 0;
+#define debug_tcp(fmt...) do { \
+ if (unlikely(iscsi_tcp_debug)) \
+ printk(KERN_INFO "tcp: " fmt); \
+ } while (0)
+
+module_param_named(debug, iscsi_tcp_debug, int, S_IRUGO | S_IWUSR);
#else
-#define debug_tcp(fmt...)
+#define debug_tcp(fmt...) do { } while (0)
#endif
#ifndef DEBUG_ASSERT
Index: iscsi-2.6/drivers/scsi/libiscsi.c
===================================================================
--- iscsi-2.6.orig/drivers/scsi/libiscsi.c
+++ iscsi-2.6/drivers/scsi/libiscsi.c
@@ -37,6 +37,16 @@
#include <scsi/scsi_transport_iscsi.h>
#include <scsi/libiscsi.h>
+/* Debug flag for libiscsi - needs to be
+ * exported so other iscsi modules can make use
+ * of the debug_scsi() macro */
+#ifdef CONFIG_SCSI_ISCSI_DEBUG
+int libiscsi_debug = 0;
+EXPORT_SYMBOL_GPL(libiscsi_debug);
+
+module_param_named(debug, libiscsi_debug, int, S_IRUGO | S_IWUSR);
+#endif
+
struct iscsi_session *
class_to_transport_session(struct iscsi_cls_session *cls_session)
{
Index: iscsi-2.6/include/scsi/libiscsi.h
===================================================================
--- iscsi-2.6.orig/include/scsi/libiscsi.h
+++ iscsi-2.6/include/scsi/libiscsi.h
@@ -41,11 +41,14 @@ struct iscsi_cls_conn;
struct iscsi_session;
struct iscsi_nopin;
-/* #define DEBUG_SCSI */
-#ifdef DEBUG_SCSI
-#define debug_scsi(fmt...) printk(KERN_INFO "iscsi: " fmt)
+#ifdef CONFIG_SCSI_ISCSI_DEBUG
+extern int libiscsi_debug;
+#define debug_scsi(fmt...) do { \
+ if (unlikely(libiscsi_debug)) \
+ printk(KERN_INFO "iscsi: " fmt); \
+ } while (0)
#else
-#define debug_scsi(fmt...)
+#define debug_scsi(fmt...) do { } while (0)
#endif
#define ISCSI_DEF_XMIT_CMDS_MAX 128 /* must be power of 2 */
Index: iscsi-2.6/drivers/scsi/Kconfig
===================================================================
--- iscsi-2.6.orig/drivers/scsi/Kconfig
+++ iscsi-2.6/drivers/scsi/Kconfig
@@ -312,6 +312,15 @@ config ISCSI_TCP
http://linux-iscsi.sf.net
+config SCSI_ISCSI_DEBUG
+ bool "Support iSCSI debugging"
+ depends on ISCSI_TCP
+ default n
+ help
+ Say Y here to compile debugging support into libiscsi and
+ iscsi_tcp. Debugging will not be enable by default, but
+ can be switched on and off via module options.
+
config SGIWD93_SCSI
tristate "SGI WD93C93 SCSI Driver"
depends on SGI_IP22 && SCSI
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "open-iscsi" group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to open-iscsi-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~----------~----~----~----~------~----~------~--~---
next prev parent reply other threads:[~2009-01-12 16:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-12 15:33 [PATCH] iscsi: Kconfig option for debug prints Boaz Harrosh
2009-01-12 15:38 ` Boaz Harrosh
2009-01-12 15:59 ` Mike Christie [this message]
[not found] ` <496B68F8.3070103-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2009-01-12 17:10 ` Boaz Harrosh
[not found] ` <496B62B8.3030402-C4P08NqkoRlBDgjK7y7TUQ@public.gmane.org>
2009-01-12 15:39 ` Ulrich Windl
2009-01-12 15:43 ` Boaz Harrosh
2009-01-12 16:58 ` Randy Dunlap
2009-01-12 17:12 ` Boaz Harrosh
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=496B68F8.3070103@cs.wisc.edu \
--to=michaelc@cs.wisc.edu \
--cc=linux-scsi@vger.kernel.org \
--cc=open-iscsi@googlegroups.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.