> From: Rik van Riel [mailto:riel@xxxxxxxxxx] > Subject: Re: [GIT PULL] mm: frontswap (for 3.2 window) > > On 10/30/2011 04:06 PM, Dave Hansen wrote: > > On Sun, 2011-10-30 at 12:18 -0700, Dan Magenheimer wrote: > >>> since they're the ones who will have to understand this stuff and know > >>> how to maintain it. And keeping this maintainable is a key goal. > >> > >> Absolutely agree. Count the number of frontswap lines that affect > >> the current VM core code and note also how they are very clearly > >> identified. It really is a very VERY small impact to the core VM > >> code (e.g. in the files swapfile.c and page_io.c). > > > > Granted, the impact on the core VM in lines of code is small. But, I > > think the behavioral impact is potentially huge since tmem's hooks add > > non-trivial amounts of framework underneath the VM in core paths. In > > zcache's case, this means a bunch of allocations and an entirely new > > allocator memory allocator being used in the swap paths. > > My only real behaviour concern with tmem is that > /proc/sys/overcommit_memory will no longer be able > to do anything useful, since we'll never know in > advance how much memory is available. True, for Case C (as defined in James Bottomley subthread). For Case A and Case B (ie. no tmem backend enabled), end-users can still rely on that existing mechanism, so they have a choice. > That may be outweighed by the benefits of having > more memory available than before, and a reasonable > tradeoff to make for the users. > > That leaves us with having the code cleaned up to > reasonable standards. To be honest, I would rather > have larger hooks in the existing mm code, than > exported variables and having the hooks live elsewhere > (where people changing the "normal" mm code won't see > it, and are more likely to break it). Hmmm... the original hooks in 2009 were larger, but there was lots of feedback to hide the ugly details as much as possible. As a side effect, higher level info is passed via the hooks, e.g. a "struct page *" rather than swaptype/entry, so backends have more flexibility (and IIUC it looks like Andrea's proposed changes to zcache may need the higher level info). But if you want to propose some code showing what you mean by "larger" hooks and they result in the same information available in the backends, and if others agree your hooks are more maintainable, I am certainly open to changing them and re-posting. Note that this could happen post-frontswap-merge too though which would, naturally, be my preference ;-) Dan -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href