提交 60baa158 编写于 作者: J Jeff Dike 提交者: Linus Torvalds

[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: NJeff Dike <jdike@addtoit.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 7b04d717
...@@ -87,7 +87,7 @@ static irqreturn_t mconsole_interrupt(int irq, void *dev_id, ...@@ -87,7 +87,7 @@ static irqreturn_t mconsole_interrupt(int irq, void *dev_id,
if(req.cmd->context == MCONSOLE_INTR) if(req.cmd->context == MCONSOLE_INTR)
(*req.cmd->handler)(&req); (*req.cmd->handler)(&req);
else { else {
new = kmalloc(sizeof(*new), GFP_ATOMIC); new = kmalloc(sizeof(*new), GFP_NOWAIT);
if(new == NULL) if(new == NULL)
mconsole_reply(&req, "Out of memory", 1, 0); mconsole_reply(&req, "Out of memory", 1, 0);
else { else {
...@@ -415,7 +415,6 @@ static int mem_config(char *str) ...@@ -415,7 +415,6 @@ static int mem_config(char *str)
unplugged = page_address(page); unplugged = page_address(page);
if(unplug_index == UNPLUGGED_PER_PAGE){ if(unplug_index == UNPLUGGED_PER_PAGE){
INIT_LIST_HEAD(&unplugged->list);
list_add(&unplugged->list, &unplugged_pages); list_add(&unplugged->list, &unplugged_pages);
unplug_index = 0; unplug_index = 0;
} }
...@@ -655,7 +654,6 @@ static void with_console(struct mc_request *req, void (*proc)(void *), ...@@ -655,7 +654,6 @@ static void with_console(struct mc_request *req, void (*proc)(void *),
struct mconsole_entry entry; struct mconsole_entry entry;
unsigned long flags; unsigned long flags;
INIT_LIST_HEAD(&entry.list);
entry.request = *req; entry.request = *req;
list_add(&entry.list, &clients); list_add(&entry.list, &clients);
spin_lock_irqsave(&console_lock, flags); spin_lock_irqsave(&console_lock, flags);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册