All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rik van Riel <riel@redhat.com>
To: Andi Kleen <andi@firstfloor.org>, Alex Thorlton <athorlton@sgi.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	Bob Liu <lliubbo@gmail.com>, David Rientjes <rientjes@google.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Hugh Dickins <hughd@google.com>, Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Mel Gorman <mgorman@suse.de>, Oleg Nesterov <oleg@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vladimir Davydov <vdavydov@parallels.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/4] Convert khugepaged to a task_work function
Date: Tue, 28 Oct 2014 11:39:20 -0400	[thread overview]
Message-ID: <544FB8A8.1090402@redhat.com> (raw)
In-Reply-To: <544F9302.4010001@redhat.com>

On 10/28/2014 08:58 AM, Rik van Riel wrote:
> On 10/28/2014 08:12 AM, Andi Kleen wrote:
>> Alex Thorlton <athorlton@sgi.com> writes:
>>
>>> Last week, while discussing possible fixes for some unexpected/unwanted behavior
>>> from khugepaged (see: https://lkml.org/lkml/2014/10/8/515) several people
>>> mentioned possibly changing changing khugepaged to work as a task_work function
>>> instead of a kernel thread.  This will give us finer grained control over the
>>> page collapse scans, eliminate some unnecessary scans since tasks that are
>>> relatively inactive will not be scanned often, and eliminate the unwanted
>>> behavior described in the email thread I mentioned.
>>
>> With your change, what would happen in a single threaded case?
>>
>> Previously one core would scan and another would run the workload.
>> With your change both scanning and running would be on the same
>> core.
>>
>> Would seem like a step backwards to me.
>
> It's not just scanning, either.
>
> Memory compaction can spend a lot of time waiting on
> locks. Not consuming CPU or anything, but just waiting.
>
> I am not convinced that moving all that waiting to task
> context is a good idea.

It may be worth investigating how the hugepage code calls
the memory allocation & compaction code.

Doing only async compaction from task_work context should
probably be ok.

--
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>

WARNING: multiple messages have this Message-ID (diff)
From: Rik van Riel <riel@redhat.com>
To: Andi Kleen <andi@firstfloor.org>, Alex Thorlton <athorlton@sgi.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	Bob Liu <lliubbo@gmail.com>, David Rientjes <rientjes@google.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Hugh Dickins <hughd@google.com>, Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Mel Gorman <mgorman@suse.de>, Oleg Nesterov <oleg@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vladimir Davydov <vdavydov@parallels.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/4] Convert khugepaged to a task_work function
Date: Tue, 28 Oct 2014 11:39:20 -0400	[thread overview]
Message-ID: <544FB8A8.1090402@redhat.com> (raw)
In-Reply-To: <544F9302.4010001@redhat.com>

On 10/28/2014 08:58 AM, Rik van Riel wrote:
> On 10/28/2014 08:12 AM, Andi Kleen wrote:
>> Alex Thorlton <athorlton@sgi.com> writes:
>>
>>> Last week, while discussing possible fixes for some unexpected/unwanted behavior
>>> from khugepaged (see: https://lkml.org/lkml/2014/10/8/515) several people
>>> mentioned possibly changing changing khugepaged to work as a task_work function
>>> instead of a kernel thread.  This will give us finer grained control over the
>>> page collapse scans, eliminate some unnecessary scans since tasks that are
>>> relatively inactive will not be scanned often, and eliminate the unwanted
>>> behavior described in the email thread I mentioned.
>>
>> With your change, what would happen in a single threaded case?
>>
>> Previously one core would scan and another would run the workload.
>> With your change both scanning and running would be on the same
>> core.
>>
>> Would seem like a step backwards to me.
>
> It's not just scanning, either.
>
> Memory compaction can spend a lot of time waiting on
> locks. Not consuming CPU or anything, but just waiting.
>
> I am not convinced that moving all that waiting to task
> context is a good idea.

It may be worth investigating how the hugepage code calls
the memory allocation & compaction code.

Doing only async compaction from task_work context should
probably be ok.


  reply	other threads:[~2014-10-28 15:40 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-23  2:49 [PATCH 0/4] Convert khugepaged to a task_work function Alex Thorlton
2014-10-23  2:49 ` Alex Thorlton
2014-10-23  2:49 ` [PATCH 1/4] Disable khugepaged thread Alex Thorlton
2014-10-23  2:49   ` Alex Thorlton
2014-10-23  2:49 ` [PATCH] Add pgcollapse controls to task_struct Alex Thorlton
2014-10-23  2:49   ` Alex Thorlton
2014-10-23 15:29   ` Alex Thorlton
2014-10-23 15:29     ` Alex Thorlton
2014-10-23  2:49 ` [PATCH 3/4] Convert khugepaged scan functions to work with task_work Alex Thorlton
2014-10-23  2:49 ` [PATCH 4/4] Add /proc files to expose per-mm pgcollapse stats Alex Thorlton
2014-10-23  2:49   ` Alex Thorlton
2014-10-23  3:06 ` [PATCH 1/2] Add pgcollapse stat counter to task_struct Alex Thorlton
2014-10-23  3:06   ` Alex Thorlton
2014-10-23  3:06 ` [PATCH 2/2] Add /proc files to expose per-mm pgcollapse stats Alex Thorlton
2014-10-23  3:06   ` Alex Thorlton
2014-10-23 17:55 ` [PATCH 0/4] Convert khugepaged to a task_work function Rik van Riel
2014-10-23 17:55   ` Rik van Riel
2014-10-23 18:05   ` Alex Thorlton
2014-10-23 18:05     ` Alex Thorlton
2014-10-23 18:52     ` Alex Thorlton
2014-10-23 18:52       ` Alex Thorlton
2014-10-28 12:12 ` Andi Kleen
2014-10-28 12:12   ` Andi Kleen
2014-10-28 12:58   ` Rik van Riel
2014-10-28 12:58     ` Rik van Riel
2014-10-28 15:39     ` Rik van Riel [this message]
2014-10-28 15:39       ` Rik van Riel
2014-10-31 20:27       ` Vlastimil Babka
2014-10-31 20:27         ` Vlastimil Babka
2014-11-17 21:34         ` Alex Thorlton
2014-11-17 21:34           ` Alex Thorlton
2014-11-10 11:03     ` Mel Gorman
2014-11-10 11:03       ` Mel Gorman
2014-11-17 21:16       ` Alex Thorlton
2014-11-17 21:16         ` Alex Thorlton
2014-10-29 21:58   ` Alex Thorlton
2014-10-29 21:58     ` Alex Thorlton
2014-10-30  0:23     ` Kirill A. Shutemov
2014-10-30  0:23       ` Kirill A. Shutemov
2014-10-30  8:35     ` Andi Kleen
2014-10-30  8:35       ` Andi Kleen
2014-10-30 18:25       ` Alex Thorlton
2014-10-30 18:25         ` Alex Thorlton
  -- strict thread matches above, loose matches on Subject: below --
2014-10-23  2:35 Alex Thorlton
2014-10-23  2:43 ` Alex Thorlton

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=544FB8A8.1090402@redhat.com \
    --to=riel@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=athorlton@sgi.com \
    --cc=ebiederm@xmission.com \
    --cc=hughd@google.com \
    --cc=keescook@chromium.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lliubbo@gmail.com \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rientjes@google.com \
    --cc=tglx@linutronix.de \
    --cc=vdavydov@parallels.com \
    /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.