[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CO2PR11MB00889101E00EA4328672A374970F0@CO2PR11MB0088.namprd11.prod.outlook.com>
Date: Wed, 27 Jul 2016 07:24:17 +0000
From: Yuval Mintz <Yuval.Mintz@...gic.com>
To: Joe Perches <joe@...ches.com>,
Ariel Elior <Ariel.Elior@...gic.com>,
Dept-Eng Everest Linux L2 <Dept-EngEverestLinuxL2@...gic.com>
CC: linux-kernel <linux-kernel@...r.kernel.org>,
netdev <netdev@...r.kernel.org>
Subject: RE: [PATCH] qed: Add and use specific logging functions to reduce
object size
> Current DP_<LEVEL> macros generate a lot of code.
> Using functions with vsprintf extension %pV helps reduce that size.
>
> drivers/net/ethernet/qlogic/qed/Makefile | 2 +-
> drivers/net/ethernet/qlogic/qed/qed_util.c | 82
> ++++++++++++++++++++++++++++++
> include/linux/qed/qed_if.h | 60 +++++++++-------------
> 3 files changed, 106 insertions(+), 38 deletions(-) create mode 100644
> drivers/net/ethernet/qlogic/qed/qed_util.c
This won't compile when CONFIG_QED*=m, as qede can't link to
the new qed_{err, verbose, info, notice} functions.
That was the original reason for putting the macros in the interface
header.
Other alternatives:
- We can EXPORT_SYMBOL() the functions, although we've taken a
strain not adding such to the interface.
- Code duplication between qed/qede [ugly].
- Implementing this in qede via the interface functions with qed;
But the notion of defining an interface between 2 modules passing
va_args seems [to me] like a bad one.
If you have cleaner solutions, I'd be happy to hear those.
Powered by blists - more mailing lists