[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.0905131751150.3561@localhost.localdomain>
Date: Wed, 13 May 2009 17:54:03 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Chris Friesen <cfriesen@...tel.com>
cc: Andi Kleen <andi@...stfloor.org>, Ingo Molnar <mingo@...e.hu>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Steven Rostedt <rostedt@...dmis.org>,
David Miller <davem@...emloft.net>, linuxppc-dev@...abs.org,
paulus@...ba.org, netdev@...r.kernel.org
Subject: Re: question about softirqs
On Wed, 13 May 2009, Chris Friesen wrote:
> Andi Kleen wrote:
> > Thomas Gleixner <tglx@...utronix.de> writes:
>
> >>Err, no. Chris is completely correct:
> >>
> >> if (!in_interrupt())
> >> wakeup_softirqd();
> >
> > Yes you have to wake it up just in case, but it doesn't normally
> > process the data because a normal softirq comes in faster. It's
> > just a safety policy.
>
> What about the scenario I raised earlier, where we have incoming network
> packets, no hardware interrupts coming in other than the timer tick, and
> a high-priority userspace app is spinning on recvmsg() with MSG_DONTWAIT
> set?
>
> As far as I can tell, in this scenario softirqs may not get processed on
> return from a syscall (contradicting the documentation). In the worst
> case, they may not get processed until the next timer tick.
Right because your high prio tasks prevents that ksoftirqd runs,
because it can not preempt the high priority task.
Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists