lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 16 Nov 2022 16:25:33 +0800 From: Aaron Lu <aaron.lu@...el.com> To: Vincent Guittot <vincent.guittot@...aro.org> CC: Joel Fernandes <joel@...lfernandes.org>, <mingo@...hat.com>, <peterz@...radead.org>, <juri.lelli@...hat.com>, <dietmar.eggemann@....com>, <rostedt@...dmis.org>, <bsegall@...gle.com>, <mgorman@...e.de>, <bristot@...hat.com>, <vschneid@...hat.com>, <linux-kernel@...r.kernel.org>, <parth@...ux.ibm.com>, <qyousef@...alina.io>, <chris.hyser@...cle.com>, <patrick.bellasi@...bug.net>, <David.Laight@...lab.com>, <pjt@...gle.com>, <pavel@....cz>, <tj@...nel.org>, <qperret@...gle.com>, <tim.c.chen@...ux.intel.com>, <joshdon@...gle.com>, <timj@....org>, <kprateek.nayak@....com>, <yu.c.chen@...el.com>, <youssefesmat@...omium.org>, <riel@...hat.com> Subject: Re: [PATCH v8 1/9] sched/fair: fix unfairness at wakeup On Mon, Nov 14, 2022 at 12:05:18PM +0100, Vincent Guittot wrote: > On Mon, 14 Nov 2022 at 04:06, Joel Fernandes <joel@...lfernandes.org> wrote: > > > > Hi Vincent, > > > > On Thu, Nov 10, 2022 at 06:50:01PM +0100, Vincent Guittot wrote: ... ... > > > +static inline unsigned long get_latency_max(void) > > > +{ > > > + unsigned long thresh = get_sched_latency(false); > > > + > > > + thresh -= sysctl_sched_min_granularity; > > > > Could you clarify, why are you subtracting sched_min_granularity here? Could > > you add some comments here to make it clear? > > If the waking task failed to preempt current it could to wait up to > sysctl_sched_min_granularity before preempting it during next tick. check_preempt_tick() compares vdiff/delta between the leftmost se and curr against curr's ideal_runtime, it doesn't use thresh here or the adjusted wakeup_gran, so I don't see why reducing thresh here can help se to preempt curr during next tick if it failed to preempt curr in its wakeup path. I can see reducing thresh here with whatever value can help the waking se to preempt curr in wakeup_preempt_entity() though, because most likely the waking se's vruntime is cfs_rq->min_vruntime - sysctl_sched_latency/2 and curr->vruntime is near cfs_rq->min_vruntime so vdiff is about sysctl_sched_latency/2, which is the same value as get_sched_latency(false) and when thresh is reduced some bit, then vdiff in wakeup_preempt_entity() will be larger than gran and make it possible to preempt. So I'm confused by your comment or I might misread the code.
Powered by blists - more mailing lists