Messages in this thread Patch in this message | | | Date | Mon, 3 Apr 2006 19:22:38 +0200 | From | Martin Schwidefsky <> | Subject | [patch 5/9] s390: increase cio_trace debug event size. |
| |
From: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
[patch 5/9] s390: increase cio_trace debug event size.
Debugging events in cio_trace/hex_ascii are truncated for some trace entries. Increase trace event size to 16 bytes to cover longer text events, make CIO_HEX_EVENT an inline function that loops to cover bigger hex events.
Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> ---
drivers/s390/cio/cio.c | 2 +- drivers/s390/cio/cio_debug.h | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-)
diff -urpN linux-2.6/drivers/s390/cio/cio.c linux-2.6-patched/drivers/s390/cio/cio.c --- linux-2.6/drivers/s390/cio/cio.c 2006-03-20 06:53:29.000000000 +0100 +++ linux-2.6-patched/drivers/s390/cio/cio.c 2006-04-03 18:46:38.000000000 +0200 @@ -67,7 +67,7 @@ cio_debug_init (void) goto out_unregister; debug_register_view (cio_debug_msg_id, &debug_sprintf_view); debug_set_level (cio_debug_msg_id, 2); - cio_debug_trace_id = debug_register ("cio_trace", 16, 4, 8); + cio_debug_trace_id = debug_register ("cio_trace", 16, 4, 16); if (!cio_debug_trace_id) goto out_unregister; debug_register_view (cio_debug_trace_id, &debug_hex_ascii_view); diff -urpN linux-2.6/drivers/s390/cio/cio_debug.h linux-2.6-patched/drivers/s390/cio/cio_debug.h --- linux-2.6/drivers/s390/cio/cio_debug.h 2006-03-20 06:53:29.000000000 +0100 +++ linux-2.6-patched/drivers/s390/cio/cio_debug.h 2006-04-03 18:46:38.000000000 +0200 @@ -3,6 +3,11 @@ #include <asm/debug.h> +/* for use of debug feature */ +extern debug_info_t *cio_debug_msg_id; +extern debug_info_t *cio_debug_trace_id; +extern debug_info_t *cio_debug_crw_id; + #define CIO_TRACE_EVENT(imp, txt) do { \ debug_text_event(cio_debug_trace_id, imp, txt); \ } while (0) @@ -15,18 +20,19 @@ debug_sprintf_event(cio_debug_crw_id, imp , ##args); \ } while (0) -#define CIO_HEX_EVENT(imp, args...) do { \ - debug_event(cio_debug_trace_id, imp, ##args); \ - } while (0) +static inline void +CIO_HEX_EVENT(int level, void *data, int length) +{ + while (length > 0) { + debug_event(cio_debug_trace_id, level, data, length); + length -= cio_debug_trace_id->buf_size; + data += cio_debug_trace_id->buf_size; + } +} #define CIO_DEBUG(printk_level,event_level,msg...) ({ \ if (cio_show_msg) printk(printk_level msg); \ CIO_MSG_EVENT (event_level, msg); \ }) -/* for use of debug feature */ -extern debug_info_t *cio_debug_msg_id; -extern debug_info_t *cio_debug_trace_id; -extern debug_info_t *cio_debug_crw_id; - #endif - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |