public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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