[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.22.394.2212120702560.2971@hadrien>
Date: Mon, 12 Dec 2022 07:03:56 +0100 (CET)
From: Julia Lawall <julia.lawall@...ia.fr>
To: Tejun Heo <tj@...nel.org>
cc: Julia Lawall <julia.lawall@...ia.fr>,
torvalds@...ux-foundation.org, mingo@...hat.com,
peterz@...radead.org, juri.lelli@...hat.com,
vincent.guittot@...aro.org, dietmar.eggemann@....com,
rostedt@...dmis.org, bsegall@...gle.com, mgorman@...e.de,
bristot@...hat.com, vschneid@...hat.com, ast@...nel.org,
daniel@...earbox.net, andrii@...nel.org, martin.lau@...nel.org,
joshdon@...gle.com, brho@...gle.com, pjt@...gle.com,
derkling@...gle.com, haoluo@...gle.com, dvernet@...a.com,
dschatzberg@...a.com, dskarlat@...cmu.edu, riel@...riel.com,
linux-kernel@...r.kernel.org, bpf@...r.kernel.org,
kernel-team@...a.com
Subject: Re: [PATCH 14/31] sched_ext: Implement BPF extensible scheduler
class
On Sun, 11 Dec 2022, Tejun Heo wrote:
> Hello, Julia.
>
> On Sun, Dec 11, 2022 at 11:33:50PM +0100, Julia Lawall wrote:
> > > diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
> > > new file mode 100644
> > > index 000000000000..f42464d66de4
> > > --- /dev/null
> > > +++ b/kernel/sched/ext.c
> > > @@ -0,0 +1,2780 @@
> > > +/* SPDX-License-Identifier: GPL-2.0 */
> > > +/*
> > > + * Copyright (c) 2022 Meta Platforms, Inc. and affiliates.
> > > + * Copyright (c) 2022 Tejun Heo <tj@...nel.org>
> > > + * Copyright (c) 2022 David Vernet <dvernet@...a.com>
> > > + */
> > > +#define SCX_OP_IDX(op) (offsetof(struct sched_ext_ops, op) / sizeof(void (*)(void)))
> > > +
> > > +enum scx_internal_consts {
> > > + SCX_NR_ONLINE_OPS = SCX_OP_IDX(init),
> > > + SCX_DSP_DFL_MAX_BATCH = 32,
> >
> > This definition of SCX_DSP_DFL_MAX_BATCH makes the dispatch queue have size
> > 32. The example central policy thus aborts if more than 32 tasks are woken
> > up at once.
>
> Yeah, scx_exampl_central needs to either set ops.dispatch_max_batch higher
> according to number of CPUs or flush and exit the loop and retry when
> scx_bpf_dispatch_nr_slots() reaches zero. Will update.
Since there could be any number of waking threads, maybe some kind of
flush and retry solution would be better?
julia
>
> Thanks.
>
> --
> tejun
>
Powered by blists - more mailing lists