Re: [tip:timers/core] ARM: Kconfig: allow full nohz CPU accounting

From: Kevin Hilman
Date: Mon Oct 28 2013 - 02:08:19 EST


Hi Stephen,

On 10/18/2013 09:37 AM, Stephen Boyd wrote:
> On 10/16, Frederic Weisbecker wrote:
>> On Thu, Oct 03, 2013 at 06:58:03AM -0700, tip-bot for Kevin Hilman wrote:
>>> Commit-ID: 31c1fc8187158cb80ccd57c19e024c55af901797
>>> Gitweb: http://git.kernel.org/tip/31c1fc8187158cb80ccd57c19e024c55af901797
>>> Author: Kevin Hilman <khilman@xxxxxxxxxx>
>>> AuthorDate: Mon, 16 Sep 2013 15:28:22 -0700
>>> Committer: Frederic Weisbecker <fweisbec@xxxxxxxxx>
>>> CommitDate: Mon, 30 Sep 2013 15:37:05 +0200
>>>
>>> ARM: Kconfig: allow full nohz CPU accounting
>>>
>>> With the 64-bit requirement removed from VIRT_CPU_ACCOUNTING_GEN,
>>> allow ARM platforms to enable it. Since VIRT_CPU_ACCOUNTING_GEN is a
>>> dependency for full NO_HZ, this allows ARM platforms to enable full
>>> NO_HZ as well.
>>
>> I realize that arm doesn't implement irq work raise. It hooks on the
>> timer to execute pending irq work. You'll need to implement arch_irq_work_raise()
>> and implement some sort of self IPI to trigger irq work. The full dynticks subsystem
>> relies on that to work correctly. It often use that to re-evaluate and possibly restart
>> the tick after scheduler, posix timer updates, etc...
>>
>> That notwithstanding that if you have no tick, tick based irq work can't
>> work.
>>
>
> Something like this? The only problem is that this latches on to
> the SMP support for IPIs. If CONFIG_SMP is disabled we won't get
> arch_irq_work_raise() but perhaps that isn't so big of a deal? Or
> we should think about exposing IPI support to UP systems on ARM.

Care to submit a proper patch for this to LAKML? or if you prefer I can
do it (keeping your authorship.) We need this for proper full NOHZ
support on ARM. Thanks.

Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/