Re: [PATCH v3 01/17] mm: support madvise(MADV_FREE)
From: Minchan Kim <minchan@kernel.org>
Date: 2015-11-13 06:14:58
Also in:
linux-mm, lkml
On Thu, Nov 12, 2015 at 12:21:30AM -0500, Daniel Micay wrote:
quoted
I also think that the kernel should commit to either zeroing the page or leaving it unchanged in response to MADV_FREE (even if the decision of which to do is made later on). I think that your patch series does this, but only after a few of the patches are applied (the swap entry freeing), and I think that it should be a real guaranteed part of the semantics and maybe have a test case.This would be a good thing to test because it would be required to add MADV_FREE_UNDO down the road. It would mean the same semantics as the MEM_RESET and MEM_RESET_UNDO features on Windows, and there's probably value in that for the sake of migrating existing software too.
So, do you mean that we could implement MADV_FREE_UNDO with "read"
opearation("just access bit marking) easily in future?
If so, it would be good reason to change MADV_FREE from dirty bit to
access bit. Okay, I will look at that.
For one example, it could be dropped into Firefox: https://dxr.mozilla.org/mozilla-central/source/memory/volatile/VolatileBufferWindows.cpp And in Chromium: https://code.google.com/p/chromium/codesearch#chromium/src/base/memory/discardable_shared_memory.cc Worth noting that both also support the API for pinning/unpinning that's used by Android's ashmem too. Linux really needs a feature like this for caches. Firefox simply doesn't drop the memory at all on Linux right now: https://dxr.mozilla.org/mozilla-central/source/memory/volatile/VolatileBufferFallback.cpp (Lock == pin, Unlock == unpin) For reference: https://msdn.microsoft.com/en-us/library/windows/desktop/aa366887(v=vs.85).aspx
-- 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/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>