diff options
| author | Andrew Morton <akpm@digeo.com> | 2003-02-10 07:37:03 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-02-10 07:37:03 -0800 |
| commit | 3322be329b2b75c784e0614aee71adc0dff2afdc (patch) | |
| tree | 7fbd10e0b8fc76fb279828fea7c89c3fefca84cb /kernel/user.c | |
| parent | e1f3b1fc6d0936fff36942c84503960ecd937abe (diff) | |
[PATCH] remove the buffer_head mempool
mempools have the wrong semantics for use by buffer_heads. The problem
scenario:
- Process A calls mempool_alloc(), asking for a buffer_head.
- While process A sleeps, process B frees up a ton of memory.
That's it. There is no longer any memory pressure, so nobody frees any
buffer_heads, so process A does not get woken up. I managed to trigger this
in some testing recently.
One approach would be to use a schedule_timeout(2) in mempool_alloc().
Anyway, the importance of buffer_head allocation was lessened when swapout
stopped using them, so let's just drop the mempool out of it for now.
Diffstat (limited to 'kernel/user.c')
0 files changed, 0 insertions, 0 deletions
