Messages in this thread Patch in this message | | | Subject | small patch - 2.4.21-pre7 net/core/bk | From | Grzegorz Jaskiewicz <> | Date | 21 Apr 2003 19:46:50 +0100 |
| |
Maybe i just don't understeand this part of code, but i think we should not give calling driver five chances :)
--------------------------------------------------------------- --- net/core/skbuff.c 2003-04-21 19:43:10.000000000 +0100 +++ net/core/skbuff.c.org 2003-04-21 19:42:35.000000000 +0100 @@ -167,9 +167,13 @@ u8 *data; if (in_interrupt() && (gfp_mask & __GFP_WAIT)) { - printk(KERN_ERR "alloc_skb called nonatomically " - "from interrupt %p\n", NET_CALLER(size)); - BUG(); + static int count = 0; + if (++count < 5) { + printk(KERN_ERR "alloc_skb called nonatomically " + "from interrupt %p\n", NET_CALLER(size)); + BUG(); + } + gfp_mask &= ~__GFP_WAIT; } /* Get the HEAD */ --------------------------------------------------------------- Also, i am bit confused with this part : /* Get the DATA. Size must match skb_add_mtu(). */ size = SKB_DATA_ALIGN(size); data = kmalloc(size + sizeof(struct skb_shared_info), gfp_mask); if (data == NULL) goto nodata; /* XXX: does not include slab overhead */ skb->truesize = size + sizeof(struct sk_buff); can anybody explain me please why skb->truesize gets size+sizeof(struct sk_buff) (acording to XXX above it, it is incorrect).
-- Grzegorz Jaskiewicz aka Kain/K4 K4 labs
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |