All of lore.kernel.org
 help / color / mirror / Atom feed
From: jamal <hadi@cyberus.ca>
To: Manfred Spraul <manfred@colorfullife.com>
Cc: Catalin BOIE <util@deuroconsult.ro>,
	Tomas Szepe <szepe@pinerecords.com>,
	"" <linux-kernel@vger.kernel.org>, "" <netdev@oss.sgi.com>,
	"" <kuznet@ms2.inr.ac.ru>
Subject: Re: [PATCH] qdisc oops fix
Date: Wed, 16 Apr 2003 14:39:17 -0400 (EDT)	[thread overview]
Message-ID: <20030416142802.E5912@shell.cyberus.ca> (raw)
In-Reply-To: <3E9D755A.8060601@colorfullife.com>


On Wed, 16 Apr 2003, Manfred Spraul wrote:

> jamal wrote:
>
> >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.
> >
> >
> This is a 2.4 kernel, correct?
>

Catalin, Can you what kernel that is?

> >>With many rules (~5000 classes and ~3500 qdiscs and ~50000 filters)
> >>the kernel oopses in slab.c:1128.
> >>
> This check?
>        if (in_interrupt() && (flags & SLAB_LEVEL_MASK) != SLAB_ATOMIC)
>                 BUG();

thats the one i meant.

> It's triggered, because someone does something like
>     spin_lock_bh(&my_lock);
>     p = kmalloc(,GFP_KERNEL);
>
> I don't like the proposed fix: usually code that calls
> kmalloc(,GFP_KERNEL) assumes that it runs at process space, e.g. uses
> semaphores, or non-bh spinlocks, etc.
> slab just happens to contain a test that complains about illegal calls.

ok. Nice.

>
> >>Trace; c0127e0f <kmalloc+eb/110>
> >>Trace; c01d3cac <qdisc_create_dflt+20/bc>
> >>Trace; d081ecc7 <END_OF_CODE+1054ff0f/????>
> >>Trace; c01d5265 <tc_ctl_tclass+1cd/214>
> >>Trace; d0820600 <END_OF_CODE+10551848/????>
> >>Trace; c01d27e4 <rtnetlink_rcv+298/3bc>
> >>Trace; c01d0605 <__neigh_event_send+89/1b4>
> >>Trace; c01d7cd4 <netlink_data_ready+1c/60>
> >>Trace; c01d7730 <netlink_unicast+230/278>
> >>Trace; c01d7b73 <netlink_sendmsg+1fb/20c>
> >>Trace; c01c79d5 <sock_sendmsg+69/88>
> >>Trace; c01c8b48 <sys_sendmsg+18c/1e8>
> >>Trace; c0120010 <map_user_kiobuf+8/f8>
> >>
> >>
> >>
> >>
> I don't understand the backtrace. Were any modules loaded? Perhaps
> 0xd081ecc7 is a module.
>

Probably a module. Again Catalin, run no modules.

> I'd add a
>     if(in_interrupt()) show_stack(NULL);
> into qdisc_create_dflt(), and try to reproduce the bug without modules.
>

Catalin - again instead of your fix can you please add this call?

cheers,
jamal

  parent reply	other threads:[~2003-04-16 18:28 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-15 13:09 [PATCH] qdisc oops fix jamal
2003-04-15 13:43 ` Tomas Szepe
2003-04-15 14:31   ` jamal
2003-04-15 21:10     ` Tomas Szepe
2003-04-16  5:41 ` Catalin BOIE
2003-04-16 11:49   ` jamal
2003-04-16 15:23     ` Manfred Spraul
2003-04-16 16:06       ` Tomas Szepe
2003-04-16 16:52         ` Manfred Spraul
2003-04-16 18:03           ` Marc-Christian Petersen
2003-04-16 18:18             ` jamal
2003-04-16 21:44               ` Tomas Szepe
2003-04-17  5:25         ` Catalin BOIE
2003-04-16 18:39       ` jamal [this message]
2003-04-16 19:43         ` Julian Anastasov
2003-04-17  6:06         ` Catalin BOIE
2003-04-17 10:55           ` jamal
2003-04-18  6:47             ` Catalin BOIE
2003-04-17  5:13     ` Catalin BOIE
  -- strict thread matches above, loose matches on Subject: below --
2003-04-15 22:42 Julian Anastasov
2003-04-16  0:53 ` jamal
2003-04-16  6:30 ` devik
2003-04-16  7:24   ` Julian Anastasov
2003-04-15  8:18 Tomas Szepe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030416142802.E5912@shell.cyberus.ca \
    --to=hadi@cyberus.ca \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manfred@colorfullife.com \
    --cc=netdev@oss.sgi.com \
    --cc=szepe@pinerecords.com \
    --cc=util@deuroconsult.ro \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.