Messages in this thread | | | Date | Sat, 15 Dec 2001 18:50:10 +0100 | From | Stephan von Krawczynski <> | Subject | Re: [patch] mempool-2.5.1-D2 |
| |
On Sat, 15 Dec 2001 07:41:12 +0100 (CET) Ingo Molnar <mingo@elte.hu> wrote:
> - mempool_alloc(), if called from a process context, never fails. This > simplifies lowlevel IO code (which often must not fail) visibly.
Uh, do you trust your own word? This already sounds like an upcoming deadlock to me _now_. I saw a lot of try-and-error during the last month regarding exactly this point. There have been VM-days where allocs didn't really fail (set with right flags), but didn't come back either. And exactly this was the reason why the stuff was _broken_. Obviously no process can wait a indefinitely long time to get its alloc fulfilled. And there are conditions under heavy load where this cannot be met, and you will see complete stall.
In fact I pretty much agree to Ben's thesis that the current allocator has a problem. I would not call it broken, but it cannot present the ad-hoc answer to one (_the_) important question: what is the correct cache page to drop _now_ when resources get low and I have to successfully return an allocation? This is _the_ central issue that must be solved in a VM with such a tremendous page caching going on like we have now. And really important is the fact the answer must be presentable ad-hoc. If you have to loop around, wait for I/O or whatever, then the basic design is already sub-optimal. Looking at your mempool-ideas one cannot fight the impression that you try to "patch" around a deficiency of the current code. This cannot be the right thing to do.
Regards, Stephan
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |