Re: [PATCH, RFC] RCU : OOM avoidance and lower latency



On Gwe, 2006-01-06 at 15:00 +0100, Eric Dumazet wrote:
> In the case of call_rcu_bh(), you can be sure that the caller cannot afford
> 'sleeping memory allocations'. Better drop a frame than block the stack, no ?

atomic allocations can't sleep and will fail which is fine. If memory
allocation pressure exists for sleeping allocations because of a large
rcu backlog we want to be sure that the rcu backlog from the networking
stack or other sources does not cause us to OOM kill or take incorrect
action.

So if for example we want to grow a process stack and the memory is
there just stuck in the RCU lists pending recovery we want to let the
RCU recovery happen before making drastic decisions.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: Recovering from out of memory on the stack
    ... allocation without something that feels and smells like a stack. ... allocations ... list of memory blocks malloced by the underlying implementation. ... automatic storage, though probably not harder than "prohibitively ...
    (comp.lang.c)
  • Re: automatic vs allocated attempts
    ... allocations of allocated storage will never fail, ... malloc can potentially give you access to the full memory resources ... whereas stack space is ``artificially'' limited. ...
    (comp.lang.c)
  • Re: Wikipedia goes wrong: is this possible?
    ... impose limits on stack size. ... which I believe is where heap allocations come ... from, is unlimited, as is the virtual memory size. ... to allocate very large chunks of memory via malloc() or equivalent ...
    (comp.lang.c)
  • Re: static, global variable memory allocation
    ... contiguous while doing successive memory allocations using calloc/ ... please tell how) be replaced by stack; as stack is just a method ... applied to a particular section of memory. ... do not need the attributes of either stack or heap. ...
    (comp.lang.c)
  • Re: static, global variable memory allocation
    ... please tell how) be replaced by stack; as stack is just a method ... applied to a particular section of memory. ... do not need the attributes of either stack or heap. ... allocations are termed as heap which must be freed before execution ...
    (comp.lang.c)