[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/5] xen/sched: rtds: add per-cpupool admission control



On 9/11/26 15:57, Jürgen Groß wrote:
> On 11.09.26 14:25, Furkan Çalışkan wrote:
>>
>> On 8/26/26 07:57, Furkan Caliskan wrote:
>>> RTDS currently has no admission control: nothing stops the sum of
>>> all admitted units' (budget/period) reservations in a cpupool from
>>> exceeding what its pCPUs can actually provide. Once that happens,
>>> the global-EDF deadline guarantees the scheduler is built around no
>>> longer hold for any unit sharing that pool.
>>>
>>> This series adds admission control to prevent that, tracks and
>>> report utilization, and makes the check toggleable per cpupool so
>>> an operator can disable it if they intentionally want to overcommit.
>>>
>>> Patch 1 introduces the core mechanism: a running utilization total
>>> per cpupool, a fixed-point representation of a unit's (budget/period),
>>> and a capacity check enforced in rt_alloc_udata()/rt_free_udata() -
>>> the lifecycle hooks that catch every new unit's default reservation.
>>>
>>> Patch 2 extends the same check to domctl, so growing an existing
>>> reservation via xl sched-rtds is checked too.
>>>
>>> Patch 3 reports a cpupool's admitted utilization agains its capacity
>>> via the 'r' debug key.
>>>
>>> Patch 4 makes admission control itself toggleable per cpupool
>>> (enabled by default) via sysctl.
>>>
>>> Patch 5 wires that toggle through libxl and adds -s/-a to
>>> xl sched-rtds, and documents it.
>>>
>>> Furkan Caliskan (5):
>>>    xen/sched: rtds: add global-EDF utilization admission control
>>>    xen/sched: rtds: enforce admission control in xl sched-rtds
>>>    xen/sched: rtds: report utilization and cap via debug key
>>>    xen/sched: rtds: make admission control cpupool-wide toggleable
>>>    tools: expose admission control toggle via xl sched-rtds
>>>
>>>   docs/man/xl.1.pod.in                 |  20 +++
>>>   tools/golang/xenlight/helpers.gen.go |  23 +++
>>>   tools/golang/xenlight/types.gen.go   |   4 +
>>>   tools/include/libxl.h                |   4 +
>>>   tools/include/xenctrl.h              |   6 +
>>>   tools/libs/ctrl/xc_rt.c              |  40 ++++++
>>>   tools/libs/light/libxl_sched.c       |  46 ++++++
>>>   tools/libs/light/libxl_types.idl     |   5 +
>>>   tools/xl/xl_cmdtable.c               |   8 +-
>>>   tools/xl/xl_sched.c                  | 103 +++++++++++++-
>>>   xen/common/sched/rt.c                | 205 ++++++++++++++++++++++++++-
>>>   xen/include/public/sysctl.h          |   5 +
>>>   12 files changed, 463 insertions(+), 6 deletions(-)
>>>
>>
>> Hi Juergen,
>>
>> Can I get a review on this series please?
> 
> I was quite busy preparing for Xen summit. I'm planning to do the review on
> the train to Munich. :-)
> 
> 
> Juergen

Okay, thanks

Furkan




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.