Re: [RFC][Patch v1 1/3] sched/isolation: API to get num of hosekeeping CPUs

Nitesh Narayan Lal
2020-09-22T21:15:44Z

[-- Attachment #1.1: Type: text/plain, Size: 1710 bytes --]

On 9/22/20 4:58 PM, Frederic Weisbecker wrote:
> On Tue, Sep 22, 2020 at 09:50:55AM -0400, Nitesh Narayan Lal wrote:
>> On 9/22/20 6:08 AM, Frederic Weisbecker wrote:
>> TBH I don't have a very strong case here at the moment.
>> But still, IMHO, this will force the user to have both managed irqs and
>> nohz_full in their environments to avoid these kinds of issues. Is that how
>> we would like to proceed?
> Yep that sounds good to me. I never know how much we want to split each and any
> of the isolation features but I'd rather stay cautious to separate HK_FLAG_TICK
> from the rest, just in case running in nohz_full mode ever becomes interesting
> alone for performance and not just latency/isolation.

Fair point.

>
> But look what you can do as well:
>
> diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c
> index 5a6ea03f9882..9df9598a9e39 100644
> --- a/kernel/sched/isolation.c
> +++ b/kernel/sched/isolation.c
> @@ -141,7 +141,7 @@ static int __init housekeeping_nohz_full_setup(char *str)
> unsigned int flags;
>
> flags = HK_FLAG_TICK | HK_FLAG_WQ | HK_FLAG_TIMER | HK_FLAG_RCU |
> - HK_FLAG_MISC | HK_FLAG_KTHREAD;
> + HK_FLAG_MISC | HK_FLAG_KTHREAD | HK_FLAG_MANAGED_IRQ;
>
> return housekeeping_setup(str, flags);
> }
>
>
> "nohz_full=" has historically gathered most wanted isolation features. It can
> as well isolate managed irqs.

Nice, yeap this will work.

>
>
>>> And then can we rename it to housekeeping_num_online()?
>> It could be just me, but does something like hk_num_online_cpus() makes more
>> sense here?
> Sure, that works as well.

Thanks a lot for all the help.

>
> Thanks.
>
--
Nitesh

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]