lkml.org 
[lkml]   [2015]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3 0/3] epoll: introduce round robin wakeup mode
On Fri, 27 Feb 2015 17:01:32 -0500 Jason Baron <jbaron@akamai.com> wrote:

>
> >
> > I don't really understand the need for rotation/round-robin. We can
> > solve the thundering herd via exclusive wakeups, but what is the point
> > in choosing to wake the task which has been sleeping for the longest
> > time? Why is that better than waking the task which has been sleeping
> > for the *least* time? That's probably faster as that task's data is
> > more likely to still be in cache.
> >
> > The changelogs talks about "starvation" but they don't really say what
> > this term means in this context, nor why it is a bad thing.
> >

I'm still not getting it.

> So the idea with the 'rotation' is to try and distribute the
> workload more evenly across the worker threads.

Why?

> We currently
> tend to wake up the 'head' of the queue over and over and
> thus the workload for us is not evenly distributed.

What's wrong with that?

> In fact, we
> have a workload where we have to remove all the epoll sets
> and then re-add them in a different order to improve the situation.

Why?

> We are trying to avoid this workaround and in addition avoid
> thundering wakeups when possible (using exclusive as you
> mention).


A better way to describe a patchset like this is to start out
describing what the user sees: what is wrong with the current kernel
behaviour and how will it be improved? Once that is understood then
start getting into kernel internal details.


Jon's explanation was much more useful. Was it accurate?




\
 
 \ /
  Last update: 2015-02-28 00:01    [W:1.940 / U:0.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site