Messages in this thread | | | Date | Tue, 6 May 2014 16:39:50 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH 3/4] plist: add plist_rotate |
| |
On Tue, 6 May 2014 16:12:54 -0400 Dan Streetman <ddstreet@ieee.org> wrote:
> On Mon, May 5, 2014 at 10:18 PM, Steven Rostedt <rostedt@goodmis.org> wrote: > > On Fri, 2 May 2014 15:02:29 -0400 > > Dan Streetman <ddstreet@ieee.org> 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
| |