Commit f33780d3 authored by Peter Tiedemann's avatar Peter Tiedemann Committed by Jeff Garzik
Browse files

claw/lcs/netiucv: check s390dbf level before sprints



additional check of s390dbf level results in better performance
if the default low debugging level is active.

Signed-off-by: default avatarPeter Tiedemann <ptiedem@de.ibm.com>
Signed-off-by: default avatarUrsula Braun <braunu@de.ibm.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 164b0fb1
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -114,10 +114,19 @@ do { \
	debug_event(claw_dbf_##name,level,(void*)(addr),len); \
} while (0)

/* Allow to sort out low debug levels early to avoid wasted sprints */
static inline int claw_dbf_passes(debug_info_t *dbf_grp, int level)
{
	return (level <= dbf_grp->level);
}

#define CLAW_DBF_TEXT_(level,name,text...) \
	do { \
		if (claw_dbf_passes(claw_dbf_##name, level)) { \
			sprintf(debug_buffer, text); \
		debug_text_event(claw_dbf_##name,level, debug_buffer);\
			debug_text_event(claw_dbf_##name, level, \
						debug_buffer); \
		} \
	} while (0)

/*******************************************************
+12 −4
Original line number Diff line number Diff line
@@ -16,10 +16,18 @@ do { \
	debug_event(lcs_dbf_##name,level,(void*)(addr),len); \
} while (0)

/* Allow to sort out low debug levels early to avoid wasted sprints */
static inline int lcs_dbf_passes(debug_info_t *dbf_grp, int level)
{
	return (level <= dbf_grp->level);
}

#define LCS_DBF_TEXT_(level,name,text...) \
	do { \
		if (lcs_dbf_passes(lcs_dbf_##name, level)) { \
			sprintf(debug_buffer, text); \
			debug_text_event(lcs_dbf_##name, level, debug_buffer); \
		} \
	} while (0)

/**
+16 −6
Original line number Diff line number Diff line
@@ -97,12 +97,22 @@ MODULE_DESCRIPTION ("Linux for S/390 IUCV network driver");

DECLARE_PER_CPU(char[256], iucv_dbf_txt_buf);

/* Allow to sort out low debug levels early to avoid wasted sprints */
static inline int iucv_dbf_passes(debug_info_t *dbf_grp, int level)
{
	return (level <= dbf_grp->level);
}

#define IUCV_DBF_TEXT_(name, level, text...) \
	do { \
		char* iucv_dbf_txt_buf = get_cpu_var(iucv_dbf_txt_buf);	\
		if (iucv_dbf_passes(iucv_dbf_##name, level)) { \
			char* iucv_dbf_txt_buf = \
					get_cpu_var(iucv_dbf_txt_buf); \
			sprintf(iucv_dbf_txt_buf, text); \
		debug_text_event(iucv_dbf_##name,level,iucv_dbf_txt_buf); \
			debug_text_event(iucv_dbf_##name, level, \
						iucv_dbf_txt_buf); \
			put_cpu_var(iucv_dbf_txt_buf); \
		} \
	} while (0)

#define IUCV_DBF_SPRINTF(name,level,text...) \