Re: [PATCH 3/4] plist: add plist_rotate

From: Steven Rostedt
Date: Tue May 06 2014 - 16:39:59 EST


On Tue, 6 May 2014 16:12:54 -0400
Dan Streetman <ddstreet@xxxxxxxx> wrote:

> On Mon, May 5, 2014 at 10:18 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> > On Fri, 2 May 2014 15:02:29 -0400
> > Dan Streetman <ddstreet@xxxxxxxx> wrote:
> >
> >> Add plist_rotate(), which moves the specified plist_node after
> >> all other same-priority plist_nodes in the list.
> >
> > This is a little confusing? You mean it takes a plist_node from a plist
> > and simply moves it to the end of the list of all other nodes of the
> > same priority?
>
> yes, exactly
>
> > Kind of like what a sched_yield() would do with a
> > SCHED_FIFO task? I wonder if we should call this "plist_yield()" then?
>
> I suppose it is similar, yes...I'll rename it in a v2 patch.

I'm open to other suggestions as well. What else can give you the idea
that it's putting a node at the end of its priority?

I added Peter to the Cc list because I know how much he loves
sched_yield() :-)

>
> >
> >>
> >> This is needed by swap, which has a plist of swap_info_structs
> >> and needs to use each same-priority swap_info_struct equally.
> >
> > "needs to use each same-priority swap_info_struct equally"
> >
> > -ENOCOMPUTE
>
> heh, yeah that needs a bit more explaining doesn't it :-)
>
> by "equally", I mean as swap writes pages out to its swap devices, it
> must write to any same-priority devices on a round-robin basis.

OK, I think you are suffering from "being too involved to explain
clearly" syndrome. :)

I still don't see the connection between swap pages and plist, and even
more so, why something would already be in a plist and then needs to be
pushed to the end of its priority.

>
> I'll update the comment in the v2 patch to try to explain clearer.
>

Please do. But explain it to someone that has no idea how plists are
used by the swap subsystem, and why you need to move a node to the end
of its priority.

Thanks,

-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/