[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55389BDB.3060307@siemens.com>
Date: Thu, 23 Apr 2015 09:14:35 +0200
From: Jan Kiszka <jan.kiszka@...mens.com>
To: Mike Galbraith <umgwanakikbuti@...il.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 2015-04-23 08:58, Mike Galbraith wrote:
> 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.
Ah, now I see it. Indeed.
OK, will run through your fix and suggestions and come up with a new
version.
Thanks,
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists