From mboxrd@z Thu Jan 1 00:00:00 1970 From: jamal Subject: Re: [PATCH] qdisc oops fix Date: Wed, 16 Apr 2003 07:49:02 -0400 (EDT) Sender: netdev-bounce@oss.sgi.com Message-ID: <20030416072952.E4013@shell.cyberus.ca> References: <20030415084706.O1131@shell.cyberus.ca> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Tomas Szepe , "" , "" , "" , "" Return-path: To: Catalin BOIE In-Reply-To: Errors-to: netdev-bounce@oss.sgi.com List-Id: netdev.vger.kernel.org This is a different problem from previous one posted. Theres a small window (exposed given that you are provisioning a lot of qdiscs and running traffic at the same time) that an incoming packet interupt will cause the BUG(). GFP_ATOMIC will fix it, but i wonder if it appropriate. Alexey or Manfred? cheers, jamal PS:- 15mbits is not a lot of traffic ;-> On Wed, 16 Apr 2003, Catalin BOIE wrote: > > - sch = kmalloc(size, GFP_KERNEL); > > + sch = kmalloc(size, GFP_ATOMIC); > > > > mysteriously fixes the problem? Could the problem be elsewhere? > > Can you repost what the issue was? I am not on lk and i just saw the > > posting on a web page. > > With many rules (~5000 classes and ~3500 qdiscs and ~50000 filters) > the kernel oopses in slab.c:1128. > It happens on high rates (~15mbit). > On low rates, doesn't. > > Seems that an interrupt come and broke the memory allocation. > > > >>EIP; c0127ab4 <===== > > >>EAX; ffffffff > >>EBX; c12c52c0 > >>EDI; c12c52c0 > >>ESP; ceab1c60 > > Trace; c0127e0f > Trace; c01d3cac > Trace; d081ecc7 > Trace; c01d5265 > Trace; d0820600 > Trace; c01d27e4 > Trace; c01d0605 <__neigh_event_send+89/1b4> > Trace; c01d7cd4 > Trace; c01d7730 > Trace; c01d7b73 > Trace; c01c79d5 > Trace; c01c8b48 > Trace; c0120010 > >