All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Huang\, Ying" <ying.huang@intel.com>
To: Minchan Kim <minchan@kernel.org>
Cc: "Huang\, Ying" <ying.huang@intel.com>,
	Andrew Morton <akpm@linux-foundation.org>, <linux-mm@kvack.org>,
	<linux-kernel@vger.kernel.org>, Hugh Dickins <hughd@google.com>,
	Shaohua Li <shli@kernel.org>, Rik van Riel <riel@redhat.com>
Subject: Re: [PATCH -mm -v3] mm, swap: Sort swap entries before free
Date: Tue, 02 May 2017 14:08:21 +0800	[thread overview]
Message-ID: <87fugneqp6.fsf@yhuang-dev.intel.com> (raw)
In-Reply-To: <20170502054858.GA27319@bbox> (Minchan Kim's message of "Tue, 2 May 2017 14:48:58 +0900")

Minchan Kim <minchan@kernel.org> writes:

> Hi Huang,
>
> On Tue, May 02, 2017 at 01:35:24PM +0800, Huang, Ying wrote:
>> Hi, Minchan,
>> 
>> Minchan Kim <minchan@kernel.org> 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();
>
> It might confuse someone in future and would make him/her send a patch
> to fix like we discussed. If the logic is not clear and doesn't have
> measureable overhead, just leave it which is more simple/clear.

Because the added code is minimal and cheap, I tend to keep it and add
some comments to avoid confusion.  For example,

/*
 * Although nr_swapfiles isn't absolute correct, but the overhead of sort()
 * is so low that it isn't necessary to optimize further.
 */

>> 
>> Or, we can make nr_swapfiles more correct as Tim suggested (tracking
>> the number of the swap devices during swap on/off).
>
> It might be better option but it's still hard to justify the patch
> because you said it's hard to measure. Such optimiztion patch should
> be from numbers.

OK.

Best Regards,
Huang, Ying

WARNING: multiple messages have this Message-ID (diff)
From: "Huang\, Ying" <ying.huang@intel.com>
To: Minchan Kim <minchan@kernel.org>
Cc: "Huang, Ying" <ying.huang@intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Hugh Dickins <hughd@google.com>, Shaohua Li <shli@kernel.org>,
	Rik van Riel <riel@redhat.com>
Subject: Re: [PATCH -mm -v3] mm, swap: Sort swap entries before free
Date: Tue, 02 May 2017 14:08:21 +0800	[thread overview]
Message-ID: <87fugneqp6.fsf@yhuang-dev.intel.com> (raw)
In-Reply-To: <20170502054858.GA27319@bbox> (Minchan Kim's message of "Tue, 2 May 2017 14:48:58 +0900")

Minchan Kim <minchan@kernel.org> writes:

> Hi Huang,
>
> On Tue, May 02, 2017 at 01:35:24PM +0800, Huang, Ying wrote:
>> Hi, Minchan,
>> 
>> Minchan Kim <minchan@kernel.org> 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();
>
> It might confuse someone in future and would make him/her send a patch
> to fix like we discussed. If the logic is not clear and doesn't have
> measureable overhead, just leave it which is more simple/clear.

Because the added code is minimal and cheap, I tend to keep it and add
some comments to avoid confusion.  For example,

/*
 * Although nr_swapfiles isn't absolute correct, but the overhead of sort()
 * is so low that it isn't necessary to optimize further.
 */

>> 
>> Or, we can make nr_swapfiles more correct as Tim suggested (tracking
>> the number of the swap devices during swap on/off).
>
> It might be better option but it's still hard to justify the patch
> because you said it's hard to measure. Such optimiztion patch should
> be from numbers.

OK.

Best Regards,
Huang, Ying

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2017-05-02  6:08 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-07  6:49 [PATCH -mm -v3] mm, swap: Sort swap entries before free Huang, Ying
2017-04-07  6:49 ` Huang, Ying
2017-04-07 13:05 ` Rik van Riel
2017-04-07 13:05   ` Rik van Riel
2017-04-07 21:43 ` Andrew Morton
2017-04-07 21:43   ` Andrew Morton
2017-04-11  7:03   ` Huang, Ying
2017-04-11  7:03     ` Huang, Ying
2017-04-14  1:36   ` Huang, Ying
2017-04-14  1:36     ` Huang, Ying
2017-04-14  1:41     ` Huang, Ying
2017-04-18  4:59 ` Minchan Kim
2017-04-18  4:59   ` Minchan Kim
2017-04-19  8:14   ` Huang, Ying
2017-04-19  8:14     ` Huang, Ying
2017-04-20  6:38     ` Minchan Kim
2017-04-20  6:38       ` Minchan Kim
2017-04-20  7:15       ` Huang, Ying
2017-04-20  7:15         ` Huang, Ying
2017-04-21 12:29         ` Huang, Ying
2017-04-21 12:29           ` Huang, Ying
2017-04-21 23:29           ` Tim Chen
2017-04-21 23:29             ` Tim Chen
2017-04-23 13:16             ` Huang, Ying
2017-04-23 13:16               ` Huang, Ying
2017-04-24 16:03               ` Tim Chen
2017-04-24 16:03                 ` Tim Chen
2017-04-24  4:52           ` Minchan Kim
2017-04-24  4:52             ` Minchan Kim
2017-04-24  6:47             ` Huang, Ying
2017-04-24  6:47               ` Huang, Ying
2017-04-26 12:42             ` Huang, Ying
2017-04-26 12:42               ` Huang, Ying
2017-04-26 20:13               ` Tim Chen
2017-04-26 20:13                 ` Tim Chen
2017-04-27  1:21                 ` Huang, Ying
2017-04-27  1:21                   ` Huang, Ying
2017-04-27 16:48                   ` Tim Chen
2017-04-27 16:48                     ` Tim Chen
2017-04-27  4:35               ` Minchan Kim
2017-04-27  4:35                 ` Minchan Kim
2017-04-28  1:09                 ` Huang, Ying
2017-04-28  1:09                   ` Huang, Ying
2017-04-28  7:42                   ` Minchan Kim
2017-04-28  7:42                     ` Minchan Kim
2017-04-28  8:05                     ` Huang, Ying
2017-04-28  8:05                       ` Huang, Ying
2017-04-28  9:00                       ` Minchan Kim
2017-04-28  9:00                         ` Minchan Kim
2017-04-28 11:48                         ` Huang, Ying
2017-04-28 11:48                           ` Huang, Ying
2017-04-28 13:35                           ` Huang, Ying
2017-04-28 13:35                             ` Huang, Ying
2017-05-02  5:02                             ` Minchan Kim
2017-05-02  5:02                               ` Minchan Kim
2017-05-02  5:35                               ` Huang, Ying
2017-05-02  5:35                                 ` Huang, Ying
2017-05-02  5:48                                 ` Minchan Kim
2017-05-02  5:48                                   ` Minchan Kim
2017-05-02  6:08                                   ` Huang, Ying [this message]
2017-05-02  6:08                                     ` Huang, Ying

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fugneqp6.fsf@yhuang-dev.intel.com \
    --to=ying.huang@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=hughd@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=minchan@kernel.org \
    --cc=riel@redhat.com \
    --cc=shli@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.