On Mon, May 13, 2013 at 05:11:43PM +0800, Tang Chen wrote: > Hi Mel, > > On 02/06/2013 05:56 PM, Mel Gorman wrote: > > > >There is the possibility that callbacks could be introduced for > >migrate_unpin() and migrate_pin() that takes a list of PFN pairs > >(old,new). The unpin callback should release the old PFNs and barrier > >against any operations until the migrate_pfn() callback is called with > >the updated pfns to be repinned. Again it would fully depend on subsystems > >implementing it properly. > > > >The callback interface would be more robust but puts a lot more work on > >the driver side where your milage will vary. > > > > I'm very interested in the "callback" way you said. > > For memory hot-remove case, the aio pages are pined in memory and making > the pages cannot be offlined, furthermore, the pages cannot be removed. > > IIUC, you mean implement migrate_unpin() and migrate_pin() callbacks in aio > subsystem, and call them when hot-remove code tries to offline > pages, right ? > > If so, I'm wondering where should we put this callback pointers ? > In struct page ? > No, I would expect the callbacks to be part the address space operations which can be found via page->mapping. -- Mel Gorman SUSE Labs -- 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>