Re: Questin about swap_slot free and invalidate page

From: Ric Mason
Date: Thu Feb 21 2013 - 22:13:50 EST


On 02/22/2013 05:42 AM, Dan Magenheimer wrote:
From: Ric Mason [mailto:ric.masonn@xxxxxxxxx]
Subject: Re: Questin about swap_slot free and invalidate page

On 02/19/2013 11:27 PM, Dan Magenheimer wrote:
From: Ric Mason [mailto:ric.masonn@xxxxxxxxx]
Hugh is right that handling the possibility of duplicates is
part of the tmem ABI. If there is any possibility of duplicates,
the ABI defines how a backend must handle them to avoid data
coherency issues.

The kernel implements an in-kernel API which implements the tmem
ABI. If the frontend and backend can always agree that duplicate
Which ABI in zcache implement that?
https://oss.oracle.com/projects/tmem/dist/documentation/api/tmemspec-v001.pdf

The in-kernel APIs are frontswap and cleancache. For more information about
tmem, see http://lwn.net/Articles/454795/
But you mentioned that you have in-kernel API which can handle
duplicate. Do you mean zcache_cleancache/frontswap_put_page? I think
they just overwrite instead of optional flush the page on the
second(duplicate) put as mentioned in your tmemspec.
Maybe I am misunderstanding your question... The spec allows
overwrite (and return success) OR flush the page (and return
failure). Zcache does the latter (flush). The code that implements
it is in tmem_put.

Thanks for your point out. Pers pages can have duplicate put since swap cache page can be reused. Can eph pages also have duplicate put? If yes, when can happen?



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/