All of lore.kernel.org
 help / color / mirror / Atom feed
From: riel@redhat.com
To: linux-kernel@vger.kernel.org
Cc: peterz@infradead.org, mingo@kernel.org, jstancek@redhat.com,
	mgorman@suse.de
Subject: [PATCH 0/2] sched,numa: cap pte scanning overhead to 3% of run time
Date: Thu,  5 Nov 2015 15:56:21 -0500	[thread overview]
Message-ID: <1446756983-28173-1-git-send-email-riel@redhat.com> (raw)

Jan Stancek identified an LTP stress test causing trouble with the
NUMA balancing code. The test forks off enough 3GB sized tasks to
fill up 80% of system memory on a system with 12TB RAM. That results
in over 2000 tasks allocating and touching memory simultaneously.

The NUMA balancing code causes each task to scan a certain number of PTEs
every 10ms. Due to the large number of tasks on the system, and the large
amount of memory in each process, it may take 10ms for each task to finish
its PTE scan.

Meanwhile, the NUMA code only tries to ensure each task has used a few (2-3)
ms of CPU time in-between invocations of task_numa_work.

On a system that overloaded, we end up spending essentially all of our
CPU time in task_numa_work, and the tasks make very little progress.

Allocating all the memory can take several hours.

With these patches, the CPU time spent in task_numa_work is limited to
around 3% of run time, and the test case completes in minutes.


             reply	other threads:[~2015-11-05 20:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-05 20:56 riel [this message]
2015-11-05 20:56 ` [PATCH 1/2] sched,numa: fix math underflow in task_tick_numa riel
2015-11-10  6:40   ` [tip:sched/urgent] sched/numa: Fix math underflow in task_tick_numa() tip-bot for Rik van Riel
2015-11-05 20:56 ` [PATCH 2/2] sched,numa: cap pte scanning overhead to 3% of run time riel
2015-11-23 16:19   ` [tip:sched/core] sched/numa: Cap PTE " tip-bot for Rik van Riel

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=1446756983-28173-1-git-send-email-riel@redhat.com \
    --to=riel@redhat.com \
    --cc=jstancek@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.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.