Skip to content

Commit

Permalink
qeth module size reduction.
Browse files Browse the repository at this point in the history
Replace complex macro for s390dbf calls by equivalent function. This reduces
module size about 10% without visible performance impact.

Signed-off-by: Peter Tiedemann <ptiedem@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
  • Loading branch information
Peter Tiedemann authored and Jeff Garzik committed Apr 29, 2008
1 parent 022b660 commit cd02321
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 27 deletions.
18 changes: 2 additions & 16 deletions drivers/s390/net/qeth_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,22 +72,7 @@ struct qeth_dbf_info {
debug_sprintf_event(qeth_dbf[QETH_DBF_MSG].id, level, text)

#define QETH_DBF_TEXT_(name, level, text...) \
do { \
if (qeth_dbf_passes(qeth_dbf[QETH_DBF_##name].id, level)) { \
char *dbf_txt_buf = \
get_cpu_var(QETH_DBF_TXT_BUF); \
sprintf(dbf_txt_buf, text); \
debug_text_event(qeth_dbf[QETH_DBF_##name].id, \
level, dbf_txt_buf); \
put_cpu_var(QETH_DBF_TXT_BUF); \
} \
} while (0)

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

/**
* some more debug stuff
Expand Down Expand Up @@ -894,6 +879,7 @@ void qeth_core_get_ethtool_stats(struct net_device *,
struct ethtool_stats *, u64 *);
void qeth_core_get_strings(struct net_device *, u32, u8 *);
void qeth_core_get_drvinfo(struct net_device *, struct ethtool_drvinfo *);
void qeth_dbf_longtext(enum qeth_dbf_names dbf_nix, int level, char *text, ...);

/* exports for OSN */
int qeth_osn_assist(struct net_device *, void *, int);
Expand Down
15 changes: 12 additions & 3 deletions drivers/s390/net/qeth_core_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@
#include "qeth_core.h"
#include "qeth_core_offl.h"

static DEFINE_PER_CPU(char[256], qeth_core_dbf_txt_buf);
#define QETH_DBF_TXT_BUF qeth_core_dbf_txt_buf

struct qeth_dbf_info qeth_dbf[QETH_DBF_INFOS] = {
/* define dbf - Name, Pages, Areas, Maxlen, Level, View, Handle */
/* N P A M L V H */
Expand Down Expand Up @@ -4067,6 +4064,18 @@ static void qeth_unregister_dbf_views(void)
}
}

void qeth_dbf_longtext(enum qeth_dbf_names dbf_nix, int level, char *text, ...)
{
char dbf_txt_buf[32];

if (level > (qeth_dbf[dbf_nix].id)->level)
return;
snprintf(dbf_txt_buf, sizeof(dbf_txt_buf), text);
debug_text_event(qeth_dbf[dbf_nix].id, level, dbf_txt_buf);

}
EXPORT_SYMBOL_GPL(qeth_dbf_longtext);

static int qeth_register_dbf_views(void)
{
int ret;
Expand Down
3 changes: 0 additions & 3 deletions drivers/s390/net/qeth_l2_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@
#include "qeth_core.h"
#include "qeth_core_offl.h"

#define QETH_DBF_TXT_BUF qeth_l2_dbf_txt_buf
static DEFINE_PER_CPU(char[256], qeth_l2_dbf_txt_buf);

static int qeth_l2_set_offline(struct ccwgroup_device *);
static int qeth_l2_stop(struct net_device *);
static int qeth_l2_send_delmac(struct qeth_card *, __u8 *);
Expand Down
3 changes: 0 additions & 3 deletions drivers/s390/net/qeth_l3.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@

#include "qeth_core.h"

#define QETH_DBF_TXT_BUF qeth_l3_dbf_txt_buf
DECLARE_PER_CPU(char[256], qeth_l3_dbf_txt_buf);

struct qeth_ipaddr {
struct list_head entry;
enum qeth_ip_types type;
Expand Down
2 changes: 0 additions & 2 deletions drivers/s390/net/qeth_l3_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
#include "qeth_l3.h"
#include "qeth_core_offl.h"

DEFINE_PER_CPU(char[256], qeth_l3_dbf_txt_buf);

static int qeth_l3_set_offline(struct ccwgroup_device *);
static int qeth_l3_recover(void *);
static int qeth_l3_stop(struct net_device *);
Expand Down

0 comments on commit cd02321

Please sign in to comment.