lkml.org 
[lkml]   [2016]   [May]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v5 02/12] mm: migrate: support non-lru movable page migration
    On (05/17/16 10:18), Minchan Kim wrote:
    [..]
    > > > #ifdef CONFIG_MIGRATION
    > > >
    > > > +extern int PageMovable(struct page *page);
    > > > +extern void __SetPageMovable(struct page *page, struct address_space *mapping);
    > > > +extern void __ClearPageMovable(struct page *page);
    > > > extern void putback_movable_pages(struct list_head *l);
    > > > extern int migrate_page(struct address_space *,
    > > > struct page *, struct page *, enum migrate_mode);
    > > > extern int migrate_pages(struct list_head *l, new_page_t new, free_page_t free,
    > > > unsigned long private, enum migrate_mode mode, int reason);
    > > > +extern bool isolate_movable_page(struct page *page, isolate_mode_t mode);
    > > > +extern void putback_movable_page(struct page *page);
    > > >
    > > > extern int migrate_prep(void);
    > > > extern int migrate_prep_local(void);
    > >
    > > given that some of Movable users can be built as modules, shouldn't
    > > at least some of those symbols be exported via EXPORT_SYMBOL?
    >
    > Those functions aim for VM compaction so driver shouldn't use it.
    > Only driver should be aware of are __SetPageMovable and __CleraPageMovable.
    > I will export them.
    >

    and PageMovable(), probably?

    zsmalloc():

    VM_BUG_ON_PAGE(!PageMovable(page), page);


    > Thanks for the review, Sergey!

    no prob! sorry, I'm a bit slow and late here.

    -ss

    \
     
     \ /
      Last update: 2016-05-17 04:01    [W:2.463 / U:0.208 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site