Messages in this thread |  | | Date | Sun, 11 Dec 2022 16:15:59 -1000 | From | Tejun Heo <> | Subject | Re: [PATCH 14/31] sched_ext: Implement BPF extensible scheduler class |
| |
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@kernel.org> > > + * Copyright (c) 2022 David Vernet <dvernet@meta.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.
Thanks.
-- tejun
|  |