> From: Ric Mason [mailto:ric.masonn@xxxxxxxxx] > Subject: Re: Questin about swap_slot free and invalidate page > > 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? Yes, I have seen it. I am not sure of the exact circumstances when it happens as I am not an expert in the VFS subsystem. (Chris Mason wrote the VFS cleancache hooks in 2009.) 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/ . Don't email: <a href