Re: [PATCH -mm -v3] mm, swap: Sort swap entries before free

From: Huang\, Ying
Date: Tue May 02 2017 - 01:35:32 EST


Hi, Minchan,

Minchan Kim <minchan@xxxxxxxxxx> writes:

> On Fri, Apr 28, 2017 at 09:35:37PM +0800, Huang, Ying wrote:
>> In fact, during the test, I found the overhead of sort() is comparable
>> with the performance difference of adding likely()/unlikely() to the
>> "if" in the function.
>
> Huang,
>
> This discussion is started from your optimization code:
>
> if (nr_swapfiles > 1)
> sort();
>
> I don't have such fast machine so cannot test it. However, you added
> such optimization code in there so I guess it's *worth* to review so
> with spending my time, I pointed out what you are missing and
> suggested a idea to find a compromise.

Sorry for wasting your time and Thanks a lot for your review and
suggestion!

When I started talking this with you, I found there is some measurable
overhead of sort(). But later when I done more tests, I found the
measurable overhead is at the same level of likely()/unlikely() compiler
notation. So you help me to find that, Thanks again!

> Now you are saying sort is so fast so no worth to add more logics
> to avoid the overhead?
> Then, please just drop that if condition part and instead, sort
> it unconditionally.

Now, because we found the overhead of sort() is low, I suggest to put
minimal effort to avoid it. Like the original implementation,

if (nr_swapfiles > 1)
sort();

Or, we can make nr_swapfiles more correct as Tim suggested (tracking
the number of the swap devices during swap on/off).

Best Regards,
Huang, Ying