search for: pagelock

Displaying 20 results from an estimated 70 matches for "pagelock".

Did you mean: page_lock
2016 May 30
1
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...++ b/mm/compaction.c > >@@ -81,6 +81,39 @@ static inline bool migrate_async_suitable(int migratetype) > > > > #ifdef CONFIG_COMPACTION > > > >+int PageMovable(struct page *page) > >+{ > >+ struct address_space *mapping; > >+ > >+ VM_BUG_ON_PAGE(!PageLocked(page), page); > >+ if (!__PageMovable(page)) > >+ return 0; > >+ > >+ mapping = page_mapping(page); > >+ if (mapping && mapping->a_ops && mapping->a_ops->isolate_page) > >+ return 1; > >+ > >+ return 0; > >+} > &g...
2016 May 30
1
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...++ b/mm/compaction.c > >@@ -81,6 +81,39 @@ static inline bool migrate_async_suitable(int migratetype) > > > > #ifdef CONFIG_COMPACTION > > > >+int PageMovable(struct page *page) > >+{ > >+ struct address_space *mapping; > >+ > >+ VM_BUG_ON_PAGE(!PageLocked(page), page); > >+ if (!__PageMovable(page)) > >+ return 0; > >+ > >+ mapping = page_mapping(page); > >+ if (mapping && mapping->a_ops && mapping->a_ops->isolate_page) > >+ return 1; > >+ > >+ return 0; > >+} > &g...
2016 May 30
0
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...t;? > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -81,6 +81,39 @@ static inline bool migrate_async_suitable(int migratetype) > > #ifdef CONFIG_COMPACTION > > +int PageMovable(struct page *page) > +{ > + struct address_space *mapping; > + > + VM_BUG_ON_PAGE(!PageLocked(page), page); > + if (!__PageMovable(page)) > + return 0; > + > + mapping = page_mapping(page); > + if (mapping && mapping->a_ops && mapping->a_ops->isolate_page) > + return 1; > + > + return 0; > +} > +EXPORT_SYMBOL(PageMovable); > + &g...
2016 May 27
2
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...df60 100644 > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -81,6 +81,41 @@ static inline bool migrate_async_suitable(int migratetype) > > #ifdef CONFIG_COMPACTION > > +int PageMovable(struct page *page) > +{ > + struct address_space *mapping; > + > + WARN_ON(!PageLocked(page)); Why not VM_BUG_ON_PAGE as elsewhere? > + if (!__PageMovable(page)) > + goto out; Just return 0. > + > + mapping = page_mapping(page); > + if (mapping && mapping->a_ops && mapping->a_ops->isolate_page) > + return 1; > +out: > + return...
2016 May 27
2
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...df60 100644 > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -81,6 +81,41 @@ static inline bool migrate_async_suitable(int migratetype) > > #ifdef CONFIG_COMPACTION > > +int PageMovable(struct page *page) > +{ > + struct address_space *mapping; > + > + WARN_ON(!PageLocked(page)); Why not VM_BUG_ON_PAGE as elsewhere? > + if (!__PageMovable(page)) > + goto out; Just return 0. > + > + mapping = page_mapping(page); > + if (mapping && mapping->a_ops && mapping->a_ops->isolate_page) > + return 1; > +out: > + return...
2016 Mar 21
2
[PATCH v2 17/18] zsmalloc: migrate tail pages in zspage
Hi Minchan, [auto build test WARNING on next-20160318] [cannot apply to v4.5-rc7 v4.5-rc6 v4.5-rc5 v4.5] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Minchan-Kim/Support-non-lru-page-migration/20160321-143339 coccinelle warnings: (new ones prefixed by >>) >>
2016 Mar 21
2
[PATCH v2 17/18] zsmalloc: migrate tail pages in zspage
Hi Minchan, [auto build test WARNING on next-20160318] [cannot apply to v4.5-rc7 v4.5-rc6 v4.5-rc5 v4.5] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Minchan-Kim/Support-non-lru-page-migration/20160321-143339 coccinelle warnings: (new ones prefixed by >>) >>
2016 May 30
5
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...mm/compaction.c index 1427366ad673..c7e0cd4dda9d 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -81,6 +81,39 @@ static inline bool migrate_async_suitable(int migratetype) #ifdef CONFIG_COMPACTION +int PageMovable(struct page *page) +{ + struct address_space *mapping; + + VM_BUG_ON_PAGE(!PageLocked(page), page); + if (!__PageMovable(page)) + return 0; + + mapping = page_mapping(page); + if (mapping && mapping->a_ops && mapping->a_ops->isolate_page) + return 1; + + return 0; +} +EXPORT_SYMBOL(PageMovable); + +void __SetPageMovable(struct page *page, struct address_...
2016 May 30
5
PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration
...mm/compaction.c index 1427366ad673..c7e0cd4dda9d 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -81,6 +81,39 @@ static inline bool migrate_async_suitable(int migratetype) #ifdef CONFIG_COMPACTION +int PageMovable(struct page *page) +{ + struct address_space *mapping; + + VM_BUG_ON_PAGE(!PageLocked(page), page); + if (!__PageMovable(page)) + return 0; + + mapping = page_mapping(page); + if (mapping && mapping->a_ops && mapping->a_ops->isolate_page) + return 1; + + return 0; +} +EXPORT_SYMBOL(PageMovable); + +void __SetPageMovable(struct page *page, struct address_...
2016 May 30
0
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...; >+++ b/mm/compaction.c > >@@ -81,6 +81,41 @@ static inline bool migrate_async_suitable(int migratetype) > > > > #ifdef CONFIG_COMPACTION > > > >+int PageMovable(struct page *page) > >+{ > >+ struct address_space *mapping; > >+ > >+ WARN_ON(!PageLocked(page)); > > Why not VM_BUG_ON_PAGE as elsewhere? I have backported this patchset to huge old kernel which doesn't have VM_BUG_ON_PAGE and forgot to correct it beforre sending mainline. Thanks. > > >+ if (!__PageMovable(page)) > >+ goto out; > > Just return 0....
2007 Apr 18
2
[patch 4/9] Guest page hinting: volatile swap cache.
...inux/module.h> #include <linux/spinlock.h> #include <linux/buffer_head.h> +#include <linux/swap.h> #include "internal.h" @@ -32,7 +33,8 @@ static inline int __page_discardable(str */ if (PageDirty(page) || PageReserved(page) || PageWriteback(page) || PageLocked(page) || PagePrivate(page) || PageDiscarded(page) || - !PageUptodate(page) || !PageLRU(page) || PageAnon(page)) + !PageUptodate(page) || !PageLRU(page) || + (PageAnon(page) && !PageSwapCache(page))) return 0; /* @@ -149,15 +151,21 @@ static void __page_discard(struct pa...
2007 Apr 18
2
[patch 4/9] Guest page hinting: volatile swap cache.
...inux/module.h> #include <linux/spinlock.h> #include <linux/buffer_head.h> +#include <linux/swap.h> #include "internal.h" @@ -32,7 +33,8 @@ static inline int __page_discardable(str */ if (PageDirty(page) || PageReserved(page) || PageWriteback(page) || PageLocked(page) || PagePrivate(page) || PageDiscarded(page) || - !PageUptodate(page) || !PageLRU(page) || PageAnon(page)) + !PageUptodate(page) || !PageLRU(page) || + (PageAnon(page) && !PageSwapCache(page))) return 0; /* @@ -149,15 +151,21 @@ static void __page_discard(struct pa...
2016 May 20
5
[PATCH v6 00/12] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and easy fork fail. The problem was fragmentation caused by zram and GPU driver mainly. With memory pressure, their pages were spread out all of pageblock and it cannot be migrated with current compaction algorithm which supports only LRU pages. In the end, compaction cannot
2016 May 20
5
[PATCH v6 00/12] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and easy fork fail. The problem was fragmentation caused by zram and GPU driver mainly. With memory pressure, their pages were spread out all of pageblock and it cannot be migrated with current compaction algorithm which supports only LRU pages. In the end, compaction cannot
2016 May 09
0
[PATCH v5 02/12] mm: migrate: support non-lru movable page migration
...->kpfn); page = pfn_to_page(kpfn); diff --git a/mm/migrate.c b/mm/migrate.c index f2932498ded2..24205e1f9204 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -47,6 +47,38 @@ #include "internal.h" +int PageMovable(struct page *page) +{ + struct address_space *mapping; + + WARN_ON(!PageLocked(page)); + if (!__PageMovable(page)) + goto out; + + mapping = page_mapping(page); + if (mapping && mapping->a_ops && mapping->a_ops->isolate_page) + return 1; +out: + return 0; +} + +void __SetPageMovable(struct page *page, struct address_space *mapping) +{ + VM_BUG_ON_...
2016 May 20
0
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
...on.c b/mm/compaction.c index 1427366ad673..2d6862d0df60 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -81,6 +81,41 @@ static inline bool migrate_async_suitable(int migratetype) #ifdef CONFIG_COMPACTION +int PageMovable(struct page *page) +{ + struct address_space *mapping; + + WARN_ON(!PageLocked(page)); + if (!__PageMovable(page)) + goto out; + + mapping = page_mapping(page); + if (mapping && mapping->a_ops && mapping->a_ops->isolate_page) + return 1; +out: + return 0; +} +EXPORT_SYMBOL(PageMovable); + +void __SetPageMovable(struct page *page, struct address_sp...
2016 May 31
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...mm/compaction.c index 1427366ad673..a680b52e190b 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -81,6 +81,44 @@ static inline bool migrate_async_suitable(int migratetype) #ifdef CONFIG_COMPACTION +int PageMovable(struct page *page) +{ + struct address_space *mapping; + + VM_BUG_ON_PAGE(!PageLocked(page), page); + if (!__PageMovable(page)) + return 0; + + mapping = page_mapping(page); + if (mapping && mapping->a_ops && mapping->a_ops->isolate_page) + return 1; + + return 0; +} +EXPORT_SYMBOL(PageMovable); + +void __SetPageMovable(struct page *page, struct address_...
2016 Mar 21
0
[PATCH v2 17/18] zsmalloc: migrate tail pages in zspage
...= + get_next_page(cursor)) { + if (cursor != locked_page) + unlock_page(cursor); + } + + return 0; +} + +void unlock_zspage(struct page *first_page, struct page *locked_page) +{ + struct page *cursor = first_page; + + for (; cursor != NULL; cursor = get_next_page(cursor)) { + VM_BUG_ON_PAGE(!PageLocked(cursor), cursor); + if (cursor != locked_page) + unlock_page(cursor); + }; +} + static void free_zspage(struct zs_pool *pool, struct page *first_page) { struct page *nextp, *tmp; @@ -1090,16 +1141,17 @@ static void init_zspage(struct size_class *class, struct page *first_page, first_page...
2016 May 09
5
[PATCH v5 00/13] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and easy fork fail. The problem was fragmentation caused by zram and GPU driver mainly. With memory pressure, their pages were spread out all of pageblock and it cannot be migrated with current compaction algorithm which supports only LRU pages. In the end, compaction cannot
2016 May 09
5
[PATCH v5 00/13] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and easy fork fail. The problem was fragmentation caused by zram and GPU driver mainly. With memory pressure, their pages were spread out all of pageblock and it cannot be migrated with current compaction algorithm which supports only LRU pages. In the end, compaction cannot