From: Andrew Davidoff <davidoff@qedmf.net>
To: linux-mm@kvack.org
Subject: Transparent huge page collapse and NUMA
Date: Tue, 20 Aug 2013 12:05:03 -0400 [thread overview]
Message-ID: <CAJLXCZTtJmQo5WnwsdQWnoMPYSxOjxU0x77J59qE-GKOL9tqbA@mail.gmail.com> (raw)
Hi,
In an effort to learn more about transparent huge pages and NUMA, I
have written a very simple C snippet that malloc()s in a loop. I am
running this under numactl with an interleave policy across both the
NUMA nodes in the system. To make watching allocation progress easier,
I am malloc()ing 4k (1 page) at a time.
If I watch node usage for the process (numa_maps) allocation looks
correct (interleave), but then allocation will drop on one node and
increase on another, at the same time as I see an increase in
pages_collapsed. It appears as though pages are always migrating away
from and to the same nodes, resulting in allocation (again, by
examining numa_maps) being almost entirely on one node.
This leads me to believe that khugepaged's defrag is to blame, though
I am not certain. I tried to disable transparent huge page defrag
completely via the following under /sys:
/sys/kernel/mm/transparent_hugepage/defrag
/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
but the same behavior persists. I am not sure if this is an indication
that I don't know how to control transparent huge page collapse, or or
that my issue isn't defrag/collapse related.
Do I understand what I am seeing? Does anyone have any thoughts on this?
The OS is CentOS5.8 running the Oracle Unbreakable Kernel 2,
2.6.39-400.109.4.el5uek.
Further questions:
The way I understand it, transparent_hugepage/defrag controls defrag
on page fault, and transparent_hugepage/khugepaged/defrag controls
maintenance defrag (time based). Is that correct?
Thanks.
Andy
--
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>
next reply other threads:[~2013-08-20 16:05 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-20 16:05 Andrew Davidoff [this message]
2013-08-21 15:25 ` Kirill A. Shutemov
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=CAJLXCZTtJmQo5WnwsdQWnoMPYSxOjxU0x77J59qE-GKOL9tqbA@mail.gmail.com \
--to=davidoff@qedmf.net \
--cc=linux-mm@kvack.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox