Hi, On 26/07/19 16:54, Peter Zijlstra wrote: > > Cc: Daniel Bristot de Oliveira <[email protected]> > Cc: Luca Abeni <[email protected]> > Cc: Juri Lelli <[email protected]> > Cc: Dmitry Vyukov <[email protected]> > Signed-off-by: Peter Zijlstra (Intel) <[email protected]> > --- > include/linux/sched/sysctl.h | 3 +++ > kernel/sched/deadline.c | 23 +++++++++++++++++++++-- > kernel/sysctl.c | 14 ++++++++++++++ > 3 files changed, 38 insertions(+), 2 deletions(-) > > --- a/include/linux/sched/sysctl.h > +++ b/include/linux/sched/sysctl.h > @@ -56,6 +56,9 @@ int sched_proc_update_handler(struct ctl > extern unsigned int sysctl_sched_rt_period; > extern int sysctl_sched_rt_runtime; > > +extern unsigned int sysctl_sched_dl_period_max; > +extern unsigned int sysctl_sched_dl_period_min; > + > #ifdef CONFIG_UCLAMP_TASK > extern unsigned int sysctl_sched_uclamp_util_min; > extern unsigned int sysctl_sched_uclamp_util_max; > --- a/kernel/sched/deadline.c > +++ b/kernel/sched/deadline.c > @@ -2597,6 +2597,14 @@ void __getparam_dl(struct task_struct *p > } > > /* > + * Default limits for DL period; on the top end we guard against small util > + * tasks still getting rediculous long effective runtimes, on the bottom end > we
s/rediculous/ridiculous/ > + * guard against timer DoS. > + */ > +unsigned int sysctl_sched_dl_period_max = 1 << 22; /* ~4 seconds */ > +unsigned int sysctl_sched_dl_period_min = 100; /* 100 us */ These limits look sane to me. I've actually been experimenting with 10us period tasks and throttling seemed to behave fine, but I guess 100us is a saner default. So, (with a few lines of changelog :) Acked-by: Juri Lelli <[email protected]> Thanks for doing this. Best, Juri

