Re: scalable kmap (was Re: vm lock contention reduction)
From: Linus Torvalds <torvalds@transmeta.com>
Date: 2002-07-07 18:55:57
On Sun, 7 Jul 2002, Linus Torvalds wrote:
Anyway, it couldn't be an atomic kmap in file_send_actor anyway, since the write itself may need to block for other reasons (ie socket buffer full etc). THAT is the one that can get misused - the others are not a big deal, I think. So kmap_atomic definitely doesn't work there.
We do actually have an alternate approach: get rid of the "kmap()" in file_send_actor() altogether, and require targets of sendfile() to always support the sendpage() interface (which can do a kmap at a lower level if they need to - it's not even guaranteed that they do need to). I suspect most uses of sendfile() are TCP, which already does sendpage(). That would largely get rid of the DoS worry (can anybody see any other ways of forcing a arbitrarily long sleep on a kmap'ed page?) It still leaves the scalability issue, but quite frankly, so far I'd still much rather optimize for the regular hardware and screw scalability if it slows down the 4GB UP (or 2P) case. Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/