* [PATCH] Move an assert under DEBUG_KERNEL.
@ 2011-01-06 8:13 Rob Landley
2011-01-06 23:41 ` Andrew Morton
0 siblings, 1 reply; 4+ messages in thread
From: Rob Landley @ 2011-01-06 8:13 UTC (permalink / raw)
To: trivial, linux-kernel, linux-embedded
From: Rob Landley <rlandley@parallels.com>
Move an assert under DEBUG_KERNEL.
Signed-off-by: Rob Landley <rlandley@parallels.com>
---
Saves about 3k from x86-64 defconfig according to scripts/bloat-o-meter.
include/linux/rtnetlink.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index bbad657..28c4025 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -782,6 +782,7 @@ extern struct netdev_queue
*dev_ingress_queue_create(struct net_device *dev);
extern void rtnetlink_init(void);
extern void __rtnl_unlock(void);
+#ifdef CONFIG_DEBUG_KERNEL
#define ASSERT_RTNL() do { \
if (unlikely(!rtnl_is_locked())) { \
printk(KERN_ERR "RTNL: assertion failed at %s (%d)\n", \
@@ -789,6 +790,9 @@ extern void __rtnl_unlock(void);
dump_stack(); \
} \
} while(0)
+#else
+#define ASSERT_RTNL()
+#endif
static inline u32 rtm_get_table(struct rtattr **rta, u8 table)
{
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] Move an assert under DEBUG_KERNEL.
2011-01-06 8:13 Rob Landley
@ 2011-01-06 23:41 ` Andrew Morton
2011-01-07 9:44 ` Rob Landley
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2011-01-06 23:41 UTC (permalink / raw)
To: Rob Landley; +Cc: trivial, linux-kernel, linux-embedded
On Thu, 6 Jan 2011 02:13:38 -0600
Rob Landley <rlandley@parallels.com> wrote:
> From: Rob Landley <rlandley@parallels.com>
>
> Move an assert under DEBUG_KERNEL.
>
> Signed-off-by: Rob Landley <rlandley@parallels.com>
> ---
>
> Saves about 3k from x86-64 defconfig according to scripts/bloat-o-meter.
>
> include/linux/rtnetlink.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
> index bbad657..28c4025 100644
> --- a/include/linux/rtnetlink.h
> +++ b/include/linux/rtnetlink.h
> @@ -782,6 +782,7 @@ extern struct netdev_queue
> *dev_ingress_queue_create(struct net_device *dev);
> extern void rtnetlink_init(void);
> extern void __rtnl_unlock(void);
>
> +#ifdef CONFIG_DEBUG_KERNEL
> #define ASSERT_RTNL() do { \
> if (unlikely(!rtnl_is_locked())) { \
> printk(KERN_ERR "RTNL: assertion failed at %s (%d)\n", \
> @@ -789,6 +790,9 @@ extern void __rtnl_unlock(void);
> dump_stack(); \
> } \
> } while(0)
> +#else
> +#define ASSERT_RTNL()
> +#endif
>
> static inline u32 rtm_get_table(struct rtattr **rta, u8 table)
> {
Probably a worthwhile thing to do, IMO. If there's some net-specific
CONFIG_DEBUG_ setting then that wold be a better thing to use.
However the patch was a) wordwrapped, b) space-stuffed and c) not cc'ed
to the networking list. So its prospects are dim.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Move an assert under DEBUG_KERNEL.
2011-01-06 23:41 ` Andrew Morton
@ 2011-01-07 9:44 ` Rob Landley
0 siblings, 0 replies; 4+ messages in thread
From: Rob Landley @ 2011-01-07 9:44 UTC (permalink / raw)
To: Andrew Morton; +Cc: trivial, linux-kernel, linux-embedded
On 01/06/2011 05:41 PM, Andrew Morton wrote:
>> +#ifdef CONFIG_DEBUG_KERNEL
>> #define ASSERT_RTNL() do { \
>> if (unlikely(!rtnl_is_locked())) { \
>> printk(KERN_ERR "RTNL: assertion failed at %s (%d)\n", \
>> @@ -789,6 +790,9 @@ extern void __rtnl_unlock(void);
>> dump_stack(); \
>> } \
>> } while(0)
>> +#else
>> +#define ASSERT_RTNL()
>> +#endif
>>
>> static inline u32 rtm_get_table(struct rtattr **rta, u8 table)
>> {
>
> Probably a worthwhile thing to do, IMO. If there's some net-specific
> CONFIG_DEBUG_ setting then that wold be a better thing to use.
I looked and didn't find one. lib/Kconfig.debug has DEBUG_OBJECTS and
PROVE_LOCKING and such but nothing quite on topic. The only "DEBUG" in
net/Kconfig is NETFLITER_DEBUG. Nothing relevant in
drivers/net/Kconfig, there isn't a Kconfig in net/core...
I thought about adding a new symbol, but CONFIG_DEBUG_KERNEL is already
used in a few existing places:
arch/powerpc/kernel/sysfs.c
arch/parisc/mm/init.c
arch/blackfin/include/asm/entry.h
So this isn't the first instance of it, but that doesn't mean those uses
are correct. :)
> However the patch was a) wordwrapped, b) space-stuffed and c) not cc'ed
> to the networking list. So its prospects are dim.
Sorry, finally gave up on kmail and set up thunderbird. Still trying to
beat the darn thing into submission. (It looked right before I hit
send. And I cursored over the tabs to make sure. :)
I'll work out my email issues and then cc: the networking list on the
resubmit.
Thanks,
Rob
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] Move an assert under DEBUG_KERNEL.
@ 2011-03-09 21:37 Rob Landley
0 siblings, 0 replies; 4+ messages in thread
From: Rob Landley @ 2011-03-09 21:37 UTC (permalink / raw)
To: LKML
Cc: David S. Miller, Eric Dumazet, Patrick McHardy, Andy Whitcroft,
Andrew Morton
From: Rob Landley <rlandley@parallels.com>
Move an assert under DEBUG_KERNEL. (Minor cleanup, saves about 3k for me.)
Signed-off-by: Rob Landley <rlandley@parallels.com>
---
Note: I looked for a better config symbol than DEBUG_KERNEL but there
isn't currently a relevant DEBUG_NET variant and this doesn't seem
big enough to add one. DEBUG_KERNEL is already used directly in
powerpc, parisc, and blackfin anyway.
include/linux/rtnetlink.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index bbad657..28c4025 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -782,6 +782,7 @@ extern struct netdev_queue *dev_ingress_queue_create(struct net_device *dev);
extern void rtnetlink_init(void);
extern void __rtnl_unlock(void);
+#ifdef CONFIG_DEBUG_KERNEL
#define ASSERT_RTNL() do { \
if (unlikely(!rtnl_is_locked())) { \
printk(KERN_ERR "RTNL: assertion failed at %s (%d)\n", \
@@ -789,6 +790,9 @@ extern void __rtnl_unlock(void);
dump_stack(); \
} \
} while(0)
+#else
+#define ASSERT_RTNL()
+#endif
static inline u32 rtm_get_table(struct rtattr **rta, u8 table)
{
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-03-09 21:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-09 21:37 [PATCH] Move an assert under DEBUG_KERNEL Rob Landley
-- strict thread matches above, loose matches on Subject: below --
2011-01-06 8:13 Rob Landley
2011-01-06 23:41 ` Andrew Morton
2011-01-07 9:44 ` Rob Landley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox