14 Jan, 2011
1 commit
-
Documentation/vm/transhuge.txt
Signed-off-by: Andrea Arcangeli
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
06 Nov, 2010
2 commits
-
This patch fixes a build breakage introduced by commit
f5ac4916e9840292edd33c7a52b10364526547f3 ("slub: move slabinfo.c to
tools/slub/slabinfo.c") that was repoted by Stephen:After merging the slab tree, today's linux-next build (x86_64 allmodconfig)
failed like this:gcc: /scratch/sfr/next/Documentation/vm/slabinfo.c: No such file or directory
gcc: no input filesCaused by commit f5ac4916e9840292edd33c7a52b10364526547f3 ("slub: move
slabinfo.c to tools/slub/slabinfo.c"). Missing update to
Documentation/vm/Makefile?Reported-by: Stephen Rothwell
Signed-off-by: Pekka Enberg -
We now have a tools directory for these things.
Reviewed-by: KOSAKI Motohiro
Acked-by: David Rientjes
Signed-off-by: Christoph Lameter
Signed-off-by: Pekka Enberg
27 Oct, 2010
1 commit
-
Document outlining some of the highmem issues, started by me, edited by
David.Signed-off-by: David Howells
Signed-off-by: Peter Zijlstra
Acked-by: Chris Metcalf
Cc: Hugh Dickins
Cc: Rik van Riel
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: "H. Peter Anvin"
Cc: Steven Rostedt
Cc: Russell King
Cc: Ralf Baechle
Cc: David Miller
Cc: Paul Mackerras
Cc: Benjamin Herrenschmidt
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
25 Oct, 2010
1 commit
-
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
Update broken web addresses in arch directory.
Update broken web addresses in the kernel.
Revert "drivers/usb: Remove unnecessary return's from void functions" for musb gadget
Revert "Fix typo: configuation => configuration" partially
ida: document IDA_BITMAP_LONGS calculation
ext2: fix a typo on comment in ext2/inode.c
drivers/scsi: Remove unnecessary casts of private_data
drivers/s390: Remove unnecessary casts of private_data
net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data
drivers/infiniband: Remove unnecessary casts of private_data
drivers/gpu/drm: Remove unnecessary casts of private_data
kernel/pm_qos_params.c: Remove unnecessary casts of private_data
fs/ecryptfs: Remove unnecessary casts of private_data
fs/seq_file.c: Remove unnecessary casts of private_data
arm: uengine.c: remove C99 comments
arm: scoop.c: remove C99 comments
Fix typo configue => configure in comments
Fix typo: configuation => configuration
Fix typo interrest[ing|ed] => interest[ing|ed]
Fix various typos of valid in comments
...Fix up trivial conflicts in:
drivers/char/ipmi/ipmi_si_intf.c
drivers/usb/gadget/rndis.c
net/irda/irnet/irnet_ppp.c
07 Oct, 2010
1 commit
-
The page-types utility still uses an out of date name for the
unpoison interface: debugfs:hwpoison/renew-pfn
This patch renames and fixes it.Signed-off-by: Naoya Horiguchi
Acked-by: Wu Fengguang
Signed-off-by: Andi Kleen
21 Sep, 2010
1 commit
-
Fix typo s/packages/packaged in Documentation/vm/numa_memory_policy.txt.
Signed-off-by: Nikanth Karthikesan
Signed-off-by: Jiri Kosina
06 Aug, 2010
1 commit
-
Trivial typo fixes.
Signed-off-by: Tommi Rantala
Signed-off-by: Randy Dunlap
Signed-off-by: Linus Torvalds
28 May, 2010
1 commit
-
Kamezawa Hiroyuki requested documentation for the numa_mem_id() and slab
related changes. He suggested Documentation/vm/numa for this
documentation. Looking at this file, it seems to me to be hopelessly out
of date relative to current Linux NUMA support. At the risk of going down
a rathole, I have made an attempt to rewrite the doc at a slightly higher
level [I think] and provide pointers to other in-tree documents and
out-of-tree man pages that cover the details.Let the games begin.
Signed-off-by: Lee Schermerhorn
Cc: Tejun Heo
Cc: Mel Gorman
Cc: Christoph Lameter
Cc: Nick Piggin
Cc: David Rientjes
Cc: Eric Whitney
Cc: KAMEZAWA Hiroyuki
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: "H. Peter Anvin"
Cc: "Luck, Tony"
Cc: Pekka Enberg
Cc: Randy Dunlap
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
24 May, 2010
1 commit
-
documentation: slightly more correct value for MAP_HUGETLB in map_hugetlb.c
still not correct for alpha, mips, parisc or xtensa but working out of
the box in the most common architectures without having to deal with
complicated macros or including architecture specific headers.Signed-off-by: Carlo Marcelo Arenas Belon
Signed-off-by: Randy Dunlap
Signed-off-by: Linus Torvalds
23 Apr, 2010
1 commit
-
Fix obvious cases of "it's" being used when "its" was meant.
Signed-off-by: Francis Galiegue
Acked-by: Randy Dunlap
Signed-off-by: Jiri Kosina
13 Mar, 2010
1 commit
-
Documentation/vm/:
Expose example and tool source files in the Documentation/ directory in
their own files instead of being buried (almost hidden) in readme/txt files.
This should help to prevent bitrot.This will make them more visible/usable to users who may need
to use them, to developers who may need to test with them, and
to anyone who would fix/update them if they were more visible.Also, if any of these possibly should not be in the kernel tree at
all, it will be clearer that they are here and we can discuss if
they should be removed.Also build the recently-added map_hugetlb.c.
Make several functions static to prevent linker warnings.Signed-off-by: Randy Dunlap
Acked-by: Eric B Munson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
27 Feb, 2010
1 commit
-
This patch allow to inject faults only for specific slabs.
In order to preserve default behavior cache filter is off by
default (all caches are faulty).One may define specific set of slabs like this:
# mark skbuff_head_cache as faulty
echo 1 > /sys/kernel/slab/skbuff_head_cache/failslab
# Turn on cache filter (off by default)
echo 1 > /sys/kernel/debug/failslab/cache-filter
# Turn on fault injection
echo 1 > /sys/kernel/debug/failslab/times
echo 1 > /sys/kernel/debug/failslab/probabilityAcked-by: David Rientjes
Acked-by: Akinobu Mita
Acked-by: Christoph Lameter
Signed-off-by: Dmitry Monakhov
Signed-off-by: Pekka Enberg
16 Dec, 2009
16 commits
-
Signed-off-by: Andi Kleen
-
The hwpoison test suite need to inject hwpoison to a collection of
selected task pages, and must not touch pages not owned by them and
thus kill important system processes such as init. (But it's OK to
mis-hwpoison free/unowned pages as well as shared clean pages.
Mis-hwpoison of shared dirty pages will kill all tasks, so the test
suite will target all or non of such tasks in the first place.)The memory cgroup serves this purpose well. We can put the target
processes under the control of a memory cgroup, and tell the hwpoison
injection code to only kill pages associated with some active memory
cgroup.The prerequisite for doing hwpoison stress tests with mem_cgroup is,
the mem_cgroup code tracks task pages _accurately_ (unless page is
locked). Which we believe is/should be true.The benefits are simplification of hwpoison injector code. Also the
mem_cgroup code will automatically be tested by hwpoison test cases.The alternative interfaces pin-pfn/unpin-pfn can also delegate the
(process and page flags) filtering functions reliably to user space.
However prototype implementation shows that this scheme adds more
complexity than we wanted.Example test case:
mkdir /cgroup/hwpoison
usemem -m 100 -s 1000 &
echo `jobs -p` > /cgroup/hwpoison/tasksmemcg_ino=$(ls -id /cgroup/hwpoison | cut -f1 -d' ')
echo $memcg_ino > /debug/hwpoison/corrupt-filter-memcgpage-types -p `pidof init` --hwpoison # shall do nothing
page-types -p `pidof usemem` --hwpoison # poison its pages[AK: Fix documentation]
[Add fix for problem noticed by Li Zefan ;
dentry in the css could be NULL]CC: KOSAKI Motohiro
CC: Hugh Dickins
CC: Daisuke Nishimura
CC: Balbir Singh
CC: KAMEZAWA Hiroyuki
CC: Li Zefan
CC: Paul Menage
CC: Nick Piggin
CC: Andi Kleen
Signed-off-by: Wu Fengguang
Signed-off-by: Andi Kleen -
When specified, only poison pages if ((page_flags & mask) == value).
- corrupt-filter-flags-mask
- corrupt-filter-flags-valueThis allows stress testing of many kinds of pages.
Strictly speaking, the buddy pages requires taking zone lock, to avoid
setting PG_hwpoison on a "was buddy but now allocated to someone" page.
However we can just do nothing because we set PG_locked in the beginning,
this prevents the page allocator from allocating it to someone. (It will
BUG() on the unexpected PG_locked, which is fine for hwpoison testing.)[AK: Add select PROC_PAGE_MONITOR to satisfy dependency]
CC: Nick Piggin
Signed-off-by: Wu Fengguang
Signed-off-by: Andi Kleen -
__memory_failure()'s workflow is
set PG_hwpoison
//...
unset PG_hwpoison if didn't pass hwpoison filterThat could kill unrelated process if it happens to page fault on the
page with the (temporary) PG_hwpoison. The race should be big enough to
appear in stress tests.Fix it by grabbing the page and checking filter at inject time. This
also avoids the very noisy "Injecting memory failure..." messages.- we don't touch madvise() based injection, because the filters are
generally not necessary for it.
- if we want to apply the filters to h/w aided injection, we'd better to
rearrange the logic in __memory_failure() instead of this patch.AK: fix documentation, use drain all, cleanups
CC: Haicheng Li
Signed-off-by: Wu Fengguang
Signed-off-by: Andi Kleen -
Filesystem data/metadata present the most tricky-to-isolate pages.
It requires careful code review and stress testing to get them right.The fs/device filter helps to target the stress tests to some specific
filesystem pages. The filter condition is block device's major/minor
numbers:
- corrupt-filter-dev-major
- corrupt-filter-dev-minor
When specified (non -1), only page cache pages that belong to that
device will be poisoned.The filters are checked reliably on the locked and refcounted page.
Haicheng: clear PG_hwpoison and drop bad page count if filter not OK
AK: Add documentationCC: Haicheng Li
CC: Nick Piggin
Signed-off-by: Wu Fengguang
Signed-off-by: Andi Kleen -
The unpoisoning interface is useful for stress testing tools to
reclaim poisoned pages (to prevent OOM)There is no hardware level unpoisioning, so this
cannot be used for real memory errors, only for software injected errors.Note that it may leak pages silently - those who have been removed from
LRU cache, but not isolated from page cache/swap cache at hwpoison time.
Especially the stress test of dirty swap cache pages shall reboot system
before exhausting memory.AK: Fix comments, add documentation, add printks, rename symbol
Signed-off-by: Wu Fengguang
Signed-off-by: Andi Kleen -
Signed-off-by: Wu Fengguang
Signed-off-by: Andi Kleen -
Now that ksm pages are swappable, and the known holes plugged, remove
mention of unswappable kernel pages from KSM documentation and comments.Remove the totalram_pages/4 initialization of max_kernel_pages. In fact,
remove max_kernel_pages altogether - we can reinstate it if removal turns
out to break someone's script; but if we later want to limit KSM's memory
usage, limiting the stable nodes would not be an effective approach.Signed-off-by: Hugh Dickins
Cc: Izik Eidus
Cc: Andrea Arcangeli
Cc: Chris Wright
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Register per node hstate attributes only for nodes with memory. As
suggested by David Rientjes.With Memory Hotplug, memory can be added to a memoryless node and a node
with memory can become memoryless. Therefore, add a memory on/off-line
notifier callback to [un]register a node's attributes on transition
to/from memoryless state.N.B., Only tested build, boot, libhugetlbfs regression.
i.e., no memory hotplug testing.Signed-off-by: Lee Schermerhorn
Reviewed-by: Andi Kleen
Acked-by: David Rientjes
Cc: KAMEZAWA Hiroyuki
Cc: Lee Schermerhorn
Cc: Mel Gorman
Cc: Randy Dunlap
Cc: Nishanth Aravamudan
Cc: Adam Litke
Cc: Andy Whitcroft
Cc: Eric Whitney
Cc: Christoph Lameter
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Register per node hstate sysfs attributes only for nodes with memory.
Global replacement of 'all online nodes" with "all nodes with memory" in
mm/hugetlb.c. Suggested by David Rientjes.A subsequent patch will handle adding/removing of per node hstate sysfs
attributes when nodes transition to/from memoryless state via memory
hotplug.NOTE: this patch has not been tested with memoryless nodes.
Signed-off-by: Lee Schermerhorn
Reviewed-by: Andi Kleen
Cc: KAMEZAWA Hiroyuki
Cc: Mel Gorman
Cc: Randy Dunlap
Cc: Nishanth Aravamudan
Acked-by: David Rientjes
Cc: Adam Litke
Cc: Andy Whitcroft
Cc: Eric Whitney
Cc: Christoph Lameter
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Update the kernel huge tlb documentation to describe the numa memory
policy based huge page management. Additionaly, the patch includes a fair
amount of rework to improve consistency, eliminate duplication and set the
context for documenting the memory policy interaction.Signed-off-by: Lee Schermerhorn
Acked-by: David Rientjes
Acked-by: Mel Gorman
Reviewed-by: Andi Kleen
Cc: KAMEZAWA Hiroyuki
Cc: Lee Schermerhorn
Cc: Randy Dunlap
Cc: Nishanth Aravamudan
Cc: Adam Litke
Cc: Andy Whitcroft
Cc: Eric Whitney
Cc: Christoph Lameter
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
On a system with large amount of memory (256GB), invoking page-types can
take quite a long time, which is unreasonable considering the user only
wants a description of the flags:# time ./page-types -d 0x10
0x0000000000000010 ____D_____________________________ dirtyreal 0m34.285s
user 0m1.966s
sys 0m32.313sThis is because we still walk the entire address range.
Exiting early seems like a reasonble solution:
# time ./page-types -d 0x10
0x0000000000000010 ____D_____________________________ dirtyreal 0m0.007s
user 0m0.001s
sys 0m0.005sSigned-off-by: Alex Chiang
Cc: Andi Kleen
Cc: Haicheng Li
Acked-by: Wu Fengguang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Align the output when page-type -h is invoked.
Signed-off-by: Alex Chiang
Acked-by: Wu Fengguang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Teach page-types to describe page flags directly from the command line.
Why is this useful? For instance, if you're using memory hotplug and see
this in /var/log/messages:kernel: removing from LRU failed 3836dd0/1/1e00000000000010
It would be nice to decode those page flags without staring at the source.
Example usage and output:
# Documentation/vm/page-types -d 0x10
0x0000000000000010 ____D_____________________________ dirty# Documentation/vm/page-types -d anon
0x0000000000001000 ____________a_____________________ anonymous# Documentation/vm/page-types -d anon,0x10
0x0000000000001010 ____D_______a_____________________ dirty,anonymous[achiang@hp.com: documentation]
Signed-off-by: Alex Chiang
Signed-off-by: Wu Fengguang
Cc: Andi Kleen
Cc: Haicheng Li
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
If not signed, testing of the read() return value in this function
will not work.Signed-off-by: Roel Kluin
Cc: Wu Fengguang
Cc: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Tommi Rantala
Cc: Randy Dunlap
Cc: Wu Fengguang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
08 Dec, 2009
1 commit
-
Conflicts:
kernel/irq/chip.c
04 Dec, 2009
2 commits
-
Signed-off-by: Justin P. Mattock
Signed-off-by: Jiri Kosina -
That is "success", "unknown", "through", "performance", "[re|un]mapping"
, "access", "default", "reasonable", "[con]currently", "temperature"
, "channel", "[un]used", "application", "example","hierarchy", "therefore"
, "[over|under]flow", "contiguous", "threshold", "enough" and others.Signed-off-by: André Goddard Rosa
Signed-off-by: Jiri Kosina
18 Nov, 2009
1 commit
-
…ux/kernel/git/josh/linux-misc
* 'hostprogs-wmissing-prototypes' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux-misc:
Makefile: Add -Wmising-prototypes to HOSTCFLAGS
oss: Mark loadhex static in hex2hex.c
dtc: Mark various internal functions static
dtc: Set "noinput" in the lexer to avoid an unused function
drm: radeon: Mark several functions static in mkregtable
arch/sparc/boot/*.c: Mark various internal functions static
arch/powerpc/boot/addRamDisk.c: Mark several internal functions static
arch/alpha/boot/tools/objstrip.c: Mark "usage" static
Documentation/vm/page-types.c: Declare checked_open static
genksyms: Mark is_reserved_word static
kconfig: Mark various internal functions static
kconfig: Make zconf.y work with current bison
16 Nov, 2009
1 commit
-
Nothing outside of Documentation/vm/page-types.c references
checked_open.Signed-off-by: Josh Triplett
29 Oct, 2009
1 commit
-
* 'hwpoison-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6:
HWPOISON: fix invalid page count in printk output
HWPOISON: Allow schedule_on_each_cpu() from keventd
HWPOISON: fix/proc/meminfo alignment
HWPOISON: fix oops on ksm pages
HWPOISON: Fix page count leak in hwpoison late kill in do_swap_page
HWPOISON: return early on non-LRU pages
HWPOISON: Add brief hwpoison description to Documentation
HWPOISON: Clean up PR_MCE_KILL interface
08 Oct, 2009
5 commits
-
For hwpoison stress testing. The debugfs mount point is assumed to be
/debug/.Signed-off-by: Wu Fengguang
Cc: Andi Kleen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Wu Fengguang
Cc: Andi Kleen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Wu Fengguang
Cc: Andi Kleen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Refactor the code to be more modular and easier to reuse.
Signed-off-by: Wu Fengguang
Cc: Andi Kleen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This helps merge duplicate code (now and future) and outstand the main
logic.Signed-off-by: Wu Fengguang
Cc: Andi Kleen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds