On Tue, May 6, 2014 at 11:13 AM, Jerome Glisse <j.glisse@xxxxxxxxx> wrote: > > I could grow the radix function to return some bool to avoid looping over for > case where there is no special entry. .. or even just a bool (or counter) associated with the mapping to mark whether any special entries exist at all. Also, the code to turn special entries is duplicated over and over again, usually together with a "FIXME - what about migration failure", so it would make sense to do that as it's own function. But conceptually I don't hate it. I didn't much like having random hmm_pagecache_migrate() calls in core vm code, and code like this + hmm_pagecache_migrate(mapping, swap); + spd.pages[page_nr] = find_get_page(mapping, index + page_nr); looks fundamentally racy, and in other places you seemed to assume that all exceptional entries are always about hmm, which looked questionable. But those are details. The concept of putting a special swap entry in the mapping radix trees I don't necessarily find objectionable per se. Linus -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>