[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1429772313.3419.38.camel@gmail.com>
Date: Thu, 23 Apr 2015 08:58:33 +0200
From: Mike Galbraith <umgwanakikbuti@...il.com>
To: Jan Kiszka <jan.kiszka@...mens.com>
Cc: Steven Rostedt <rostedt@...dmis.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
RT <linux-rt-users@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH RT 3.18] irq_work: Provide a soft-irq based queue
On Thu, 2015-04-23 at 08:29 +0200, Jan Kiszka wrote:
>
> > void irq_work_tick(void)
> > {
> > -#ifdef CONFIG_PREEMPT_RT_FULL
> > - irq_work_run_list(this_cpu_ptr(&lazy_list));
> > -#else
> > - struct llist_head *raised = &__get_cpu_var(raised_list);
> > + struct llist_head *raised = this_cpu_ptr(&raised_list);
> >
> > - if (!llist_empty(raised) && !arch_irq_work_has_interrupt())
> > + if (!llist_empty(raised) &&
> > (!arch_irq_work_has_interrupt() ||
> > + IS_ENABLED(CONFIG_PREEMPT_RT_FULL)))
>
> OK, that additional condition is addressing archs that don't have
> irq_work support and fall back to the timer, right?
How will ever run if it is not run in either irq_work_run() or
irq_work_tick()? There are two choices, we better pick one.
Attaching patch since either evolution fscked up again (it does that),
or someone has managed to turn it into a completely useless piece of
crap... if so, likely the same dipstick who made it save messages such
that you need fromdos to wipe away the shite it smears all over it.
-Mike
View attachment "irq_work-Provide-a-soft-irq-based-queue.patch" of type "text/x-patch" (4954 bytes)
Powered by blists - more mailing lists