From: Eric Dumazet <[email protected]> It is not uncommon on busy servers to get stuck hundred of ms in vmalloc() calls (like file descriptor expansions).
Add a cond_resched() to __vmalloc_area_node() to be gentle to other tasks. Signed-off-by: Eric Dumazet <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: David Rientjes <[email protected]> --- mm/vmalloc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index f64632b67196..05a145ed1332 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -1602,6 +1602,7 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask, goto fail; } area->pages[i] = page; + cond_resched(); } if (map_vm_area(area, prot, &pages)) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

