答复: [PATCH] sched/isolation: allow isolcpus and nohz_full for different cpus

From: Li,Rongqing
Date: Mon Apr 20 2020 - 22:22:37 EST




> -----邮件原件-----
> 发件人: Frederic Weisbecker [mailto:frederic@xxxxxxxxxx]
> 发送时间: 2020年4月21日 0:34
> 收件人: Li,Rongqing <lirongqing@xxxxxxxxx>
> 抄送: peterz@xxxxxxxxxxxxx; tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx;
> srikar@xxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> 主题: Re: [PATCH] sched/isolation: allow isolcpus and nohz_full for different
> cpus
>
> On Thu, Apr 16, 2020 at 04:51:18PM +0800, Li RongQing wrote:
> > when both isolcpus and nohz_full are set, their cpus must be same now,
> > in fact isolcpus and nohz_full are not related, and different cpus are
> > expected for some cases, for example, some cores for polling threads
> > wants to isolcpus, and some cores for dedicated threads, only
> > nohz_full is expected
> >
> > so define two housekeeping mask to save these two configuration
> > separately and make cpus same only when both nohz_full and isolcpus
> > with nohz are passed into kernel
> >
> > fix a build error when CONFIG_CPUMASK_OFFSTACK is not configured
> > reported by kbuild test robot <lkp@xxxxxxxxx>
>
> What is the usecase when you want to affine managed interrupt?
> Do you only want to affine IRQ or do you also want to affine every unbound
> work, such as kthread, workqueues, timers, etc...?
>

As cloud compute node, both qemu and ovs-dpdk run on it

Some cores are bound to run ovs-dpdk, and should be isolated from any disturb (isolcpus= nohz_full= rcu_nocbs= )

Other cores run kvm qemu, and do not wants to be disturbed by hrtimer (only nohz_full=) by using this feature https://patchwork.kernel.org/cover/11033533/

Thanks

-LiRongQing

> In the end I would like to group the isolation features that only make sense
> together. So we could end up with three cpumasks, one for "domains", one for
> "nohz" and one for all "unbound" works.
>
> In fact "domains" should even disappear and become "unbound" +
> "load_balance", as that's the desired outcome of having NULL domains.
>
> I'm trying to prepare a suitable interface for all that in cpusets where we
> already have the load_balance part.
>
> Thanks.