summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2006-04-10 22:53:28 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-11 06:18:35 -0700
commit60baa1583959e8b15e2823ef9e1cc00fd7ea929c (patch)
tree2d46837ed217d829e87f5d963b8d2a5205b24ae2 /arch
parent7b04d7170e9af805cac19f97b28fff10db897893 (diff)
downloadlinux-3.10-60baa1583959e8b15e2823ef9e1cc00fd7ea929c.tar.gz
linux-3.10-60baa1583959e8b15e2823ef9e1cc00fd7ea929c.tar.bz2
linux-3.10-60baa1583959e8b15e2823ef9e1cc00fd7ea929c.zip
[PATCH] uml: memory hotplug cleanups
Change memory hotplug to use GFP_NOWAIT instead of GFP_ATOMIC, so that it will grab memory without sleeping, but doesn't try to use the emergency pools. A small list initialization suggested by Daniel Phillips - don't initialize lists which are just about to be list_add-ed. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/um/drivers/mconsole_kern.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c
index 28e3760e8b9..1646f396056 100644
--- a/arch/um/drivers/mconsole_kern.c
+++ b/arch/um/drivers/mconsole_kern.c
@@ -87,7 +87,7 @@ static irqreturn_t mconsole_interrupt(int irq, void *dev_id,
if(req.cmd->context == MCONSOLE_INTR)
(*req.cmd->handler)(&req);
else {
- new = kmalloc(sizeof(*new), GFP_ATOMIC);
+ new = kmalloc(sizeof(*new), GFP_NOWAIT);
if(new == NULL)
mconsole_reply(&req, "Out of memory", 1, 0);
else {
@@ -415,7 +415,6 @@ static int mem_config(char *str)
unplugged = page_address(page);
if(unplug_index == UNPLUGGED_PER_PAGE){
- INIT_LIST_HEAD(&unplugged->list);
list_add(&unplugged->list, &unplugged_pages);
unplug_index = 0;
}
@@ -655,7 +654,6 @@ static void with_console(struct mc_request *req, void (*proc)(void *),
struct mconsole_entry entry;
unsigned long flags;
- INIT_LIST_HEAD(&entry.list);
entry.request = *req;
list_add(&entry.list, &clients);
spin_lock_irqsave(&console_lock, flags);