diff options
| author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2015-04-16 14:47:33 +0200 |
|---|---|---|
| committer | Jiri Slaby <jslaby@suse.cz> | 2015-08-04 16:51:58 +0200 |
| commit | 6c1ad037a144bb56db6e70b00a4108ce7ff7c950 (patch) | |
| tree | d80651feedca13d94f5ddf98ccbb5cbaae6b864f /include/linux | |
| parent | cbe04187a6cac63ce4c6277b9759d370de68cb00 (diff) | |
| download | lwn-6c1ad037a144bb56db6e70b00a4108ce7ff7c950.tar.gz lwn-6c1ad037a144bb56db6e70b00a4108ce7ff7c950.zip | |
kexec: allocate the kexec control page with KEXEC_CONTROL_MEMORY_GFP
commit 7e01b5acd88b3f3108d8c4ce44e3205d67437202 upstream.
Introduce KEXEC_CONTROL_MEMORY_GFP to allow the architecture code
to override the gfp flags of the allocation for the kexec control
page. The loop in kimage_alloc_normal_control_pages allocates pages
with GFP_KERNEL until a page is found that happens to have an
address smaller than the KEXEC_CONTROL_MEMORY_LIMIT. On systems
with a large memory size but a small KEXEC_CONTROL_MEMORY_LIMIT
the loop will keep allocating memory until the oom killer steps in.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/kexec.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 5fd33dc1fe3a..66e3687b401b 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -26,6 +26,10 @@ #error KEXEC_CONTROL_MEMORY_LIMIT not defined #endif +#ifndef KEXEC_CONTROL_MEMORY_GFP +#define KEXEC_CONTROL_MEMORY_GFP GFP_KERNEL +#endif + #ifndef KEXEC_CONTROL_PAGE_SIZE #error KEXEC_CONTROL_PAGE_SIZE not defined #endif |
