From: Ryan Bradetich <rbradetich@uswest.net>
To: george anzinger <george@mvista.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Possible bug with the keyboard_tasklet? or is it softirq tasklet scheduling?
Date: 30 Nov 2001 07:56:35 -0700 [thread overview]
Message-ID: <1007132195.13785.10.camel@beavis> (raw)
In-Reply-To: <3C0739DE.4E2EF490@mvista.com>
In-Reply-To: <1007100759.13785.8.camel@beavis> <3C0739DE.4E2EF490@mvista.com>
> I found this same problem in while trying to run down timer bh issues.
> With out looking at the keyboard driver (since this is IMHO a tasklet
> issue), I recommend that we not set the "pending" bit
> (__cpu_raise_softirq()) if the tasklet fails because of count !=0, and
> then modify the enable macro to, if the count is now 0, do the
> __cpu_raise_softirq(). This still leaves the issue of the
> tasklet_trylock(t), which will fail in the same way, but there we are
> contending with another cpu and the rules say it can only run on one cpu
> at a time.
hmm.. interesting. I agree with you that this is a softirq tasklet
scheduling problem, not just related to the keyboard tasklet. According
to the rules you stated, the tasklet_trylock(t) is bogus and can be
removed. So what you suggest is to reschedule the tasklet, but not
raise the pending bit if the tasklet is disabled. I can live with that
:)
I will produce and test a patch based on this tonight.
> On the other hand, why is this bothering you? You don't say what kernel
> version you are on, but the later versions push this sort of thing off
> to ksoftirqd (a kernel thread) which allows the system to boot (even if
> the thread doesn't exist yet, and it doesn't at this point).
Sorry, I am running (available from cvs.parisc-linux.org)
Linux vega 2.4.16-pa5 #2 SMP Thu Nov 29 21:35:27 MST 2001 parisc unknown
Since this code is arch independent, it is very similar to the 2.4.16
kernel. (Before posting to the list, I did verify that this problem
existed in the 2.4.16 kernel, and the code paths were the same.)
The reason I tracked this problem down was, if I enabled CONFIG_SMP
(C200+ is a single processor system), the system would "hang" after the
following bootup message:
Based upon Swansea University Computer Society NET3.039
UP kernels worked fine, but SMP kernels would "hang" every time. I
still do not understand why toggling CONFIG_SMP triggered this "hang",
but it did. Looks I need to keep digging further and try to understand
why CONFIG_SMP "hangs" the system.
> The tasklet info suggests that it is ok for a tasklet to reschedule
> itself, however, in the current system, this means that it will run each
> interrupt. Surly a timer would be a better answer, except we don't have
> sub jiffie timers... yet.
> --
> George george@mvista.com
> High-res-timers: http://sourceforge.net/projects/high-res-timers/
> Real time sched: http://sourceforge.net/projects/rtsched/
>
Thanks for your feedback George!
- Ryan
parisc-linux newbie kernel hacker.
prev parent reply other threads:[~2001-11-30 14:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-30 6:12 Possible bug with the keyboard_tasklet? Ryan Bradetich
2001-11-30 7:48 ` Possible bug with the keyboard_tasklet? or is it softirq tasklet scheduling? george anzinger
2001-11-30 14:56 ` Ryan Bradetich [this message]
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=1007132195.13785.10.camel@beavis \
--to=rbradetich@uswest.net \
--cc=george@mvista.com \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox