Displaying 20 results from an estimated 41 matches for "out_putpage".
2015 Jul 27
2
[PATCH 2/4] mm/compaction: enable mobile-page migration
...being (wrongly) re-isolated while it is under migration,
> + * or to avoid attempting to isolate pages being released,
> + * lets be sure we have the page lock
> + * before proceeding with the mobile page isolation steps.
> + */
> + if (unlikely(!trylock_page(page)))
> + goto out_putpage;
> +
> + if (!(mobile_page(page) && page->mapping->a_ops->isolatepage))
> + goto out_not_isolated;
> + ret = page->mapping->a_ops->isolatepage(page, mode);
> + if (!ret)
> + goto out_not_isolated;
> + unlock_page(page);
> + return ret;
> +
>...
2015 Jul 27
2
[PATCH 2/4] mm/compaction: enable mobile-page migration
...being (wrongly) re-isolated while it is under migration,
> + * or to avoid attempting to isolate pages being released,
> + * lets be sure we have the page lock
> + * before proceeding with the mobile page isolation steps.
> + */
> + if (unlikely(!trylock_page(page)))
> + goto out_putpage;
> +
> + if (!(mobile_page(page) && page->mapping->a_ops->isolatepage))
> + goto out_not_isolated;
> + ret = page->mapping->a_ops->isolatepage(page, mode);
> + if (!ret)
> + goto out_not_isolated;
> + unlock_page(page);
> + return ret;
> +
>...
2015 Jul 31
1
[PATCH 2/4] mm/compaction: enable mobile-page migration
...being (wrongly) re-isolated while it is under migration,
> + * or to avoid attempting to isolate pages being released,
> + * lets be sure we have the page lock
> + * before proceeding with the mobile page isolation steps.
> + */
> + if (unlikely(!trylock_page(page)))
> + goto out_putpage;
> +
> + if (!(mobile_page(page) && page->mapping->a_ops->isolatepage))
> + goto out_not_isolated;
I cannot know how isolate_mobilepage is called by upper layer
because this patch doesn't include it.
Anyway, why we need such many checks to prove it's mobile page?...
2015 Jul 31
1
[PATCH 2/4] mm/compaction: enable mobile-page migration
...being (wrongly) re-isolated while it is under migration,
> + * or to avoid attempting to isolate pages being released,
> + * lets be sure we have the page lock
> + * before proceeding with the mobile page isolation steps.
> + */
> + if (unlikely(!trylock_page(page)))
> + goto out_putpage;
> +
> + if (!(mobile_page(page) && page->mapping->a_ops->isolatepage))
> + goto out_not_isolated;
I cannot know how isolate_mobilepage is called by upper layer
because this patch doesn't include it.
Anyway, why we need such many checks to prove it's mobile page?...
2015 Jul 13
0
[PATCH 2/4] mm/compaction: enable mobile-page migration
...ady isolated mobile page
+ * being (wrongly) re-isolated while it is under migration,
+ * or to avoid attempting to isolate pages being released,
+ * lets be sure we have the page lock
+ * before proceeding with the mobile page isolation steps.
+ */
+ if (unlikely(!trylock_page(page)))
+ goto out_putpage;
+
+ if (!(mobile_page(page) && page->mapping->a_ops->isolatepage))
+ goto out_not_isolated;
+ ret = page->mapping->a_ops->isolatepage(page, mode);
+ if (!ret)
+ goto out_not_isolated;
+ unlock_page(page);
+ return ret;
+
+out_not_isolated:
+ unlock_page(page);
+out_putp...
2016 Mar 30
0
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...ge, thus avoiding a nasty leakage.
+ */
+ if (unlikely(!get_page_unless_zero(page)))
+ goto out;
+
+ /*
+ * Check PG_movable before holding a PG_lock because page's owner
+ * assumes anybody doesn't touch PG_lock of newly allocated page.
+ */
+ if (unlikely(!PageMovable(page)))
+ goto out_putpage;
+ /*
+ * As movable pages are not isolated from LRU lists, concurrent
+ * compaction threads can race against page migration functions
+ * as well as race against the releasing a page.
+ *
+ * In order to avoid having an already isolated movable page
+ * being (wrongly) re-isolated while it...
2015 Jul 27
0
[PATCH 2/4] mm/compaction: enable mobile-page migration
...* or to avoid attempting to isolate pages being released,
>> + * lets be sure we have the page lock
>> + * before proceeding with the mobile page isolation steps.
>> + */
>> + if (unlikely(!trylock_page(page)))
>> + goto out_putpage;
>> +
>> + if (!(mobile_page(page) && page->mapping->a_ops->isolatepage))
>> + goto out_not_isolated;
>> + ret = page->mapping->a_ops->isolatepage(page, mode);
>> + if (!ret)
>> + goto out_no...
2016 Apr 01
2
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...+ if (unlikely(!get_page_unless_zero(page)))
> + goto out;
> +
> + /*
> + * Check PG_movable before holding a PG_lock because page's owner
> + * assumes anybody doesn't touch PG_lock of newly allocated page.
> + */
> + if (unlikely(!PageMovable(page)))
> + goto out_putpage;
> + /*
> + * As movable pages are not isolated from LRU lists, concurrent
> + * compaction threads can race against page migration functions
> + * as well as race against the releasing a page.
> + *
> + * In order to avoid having an already isolated movable page
> + * be...
2016 Apr 01
2
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
...+ if (unlikely(!get_page_unless_zero(page)))
> + goto out;
> +
> + /*
> + * Check PG_movable before holding a PG_lock because page's owner
> + * assumes anybody doesn't touch PG_lock of newly allocated page.
> + */
> + if (unlikely(!PageMovable(page)))
> + goto out_putpage;
> + /*
> + * As movable pages are not isolated from LRU lists, concurrent
> + * compaction threads can race against page migration functions
> + * as well as race against the releasing a page.
> + *
> + * In order to avoid having an already isolated movable page
> + * be...
2016 Mar 22
2
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...eing (wrongly) re-isolated while it is under migration,
> + * or to avoid attempting to isolate pages being released,
> + * lets be sure we have the page lock
> + * before proceeding with the movable page isolation steps.
> + */
> + if (unlikely(!trylock_page(page)))
> + goto out_putpage;
> +
> + if (!PageMovable(page) || PageIsolated(page))
> + goto out_no_isolated;
> +
> + ret = page->mapping->a_ops->isolate_page(page, mode);
> + if (!ret)
> + goto out_no_isolated;
> +
> + WARN_ON_ONCE(!PageIsolated(page));
> + unlock_page(page);
> + re...
2016 Mar 22
2
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...eing (wrongly) re-isolated while it is under migration,
> + * or to avoid attempting to isolate pages being released,
> + * lets be sure we have the page lock
> + * before proceeding with the movable page isolation steps.
> + */
> + if (unlikely(!trylock_page(page)))
> + goto out_putpage;
> +
> + if (!PageMovable(page) || PageIsolated(page))
> + goto out_no_isolated;
> +
> + ret = page->mapping->a_ops->isolate_page(page, mode);
> + if (!ret)
> + goto out_no_isolated;
> +
> + WARN_ON_ONCE(!PageIsolated(page));
> + unlock_page(page);
> + re...
2016 Apr 04
0
[PATCH v3 02/16] mm/compaction: support non-lru movable page migration
..._zero(page)))
> >+ goto out;
> >+
> >+ /*
> >+ * Check PG_movable before holding a PG_lock because page's owner
> >+ * assumes anybody doesn't touch PG_lock of newly allocated page.
> >+ */
> >+ if (unlikely(!PageMovable(page)))
> >+ goto out_putpage;
> >+ /*
> >+ * As movable pages are not isolated from LRU lists, concurrent
> >+ * compaction threads can race against page migration functions
> >+ * as well as race against the releasing a page.
> >+ *
> >+ * In order to avoid having an already isolated m...
2016 Mar 23
1
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...> > + * or to avoid attempting to isolate pages being released,
> > > + * lets be sure we have the page lock
> > > + * before proceeding with the movable page isolation steps.
> > > + */
> > > + if (unlikely(!trylock_page(page)))
> > > + goto out_putpage;
> > > +
> > > + if (!PageMovable(page) || PageIsolated(page))
> > > + goto out_no_isolated;
> > > +
> > > + ret = page->mapping->a_ops->isolate_page(page, mode);
> > > + if (!ret)
> > > + goto out_no_isolated;
> > >...
2016 Mar 23
1
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...> > + * or to avoid attempting to isolate pages being released,
> > > + * lets be sure we have the page lock
> > > + * before proceeding with the movable page isolation steps.
> > > + */
> > > + if (unlikely(!trylock_page(page)))
> > > + goto out_putpage;
> > > +
> > > + if (!PageMovable(page) || PageIsolated(page))
> > > + goto out_no_isolated;
> > > +
> > > + ret = page->mapping->a_ops->isolate_page(page, mode);
> > > + if (!ret)
> > > + goto out_no_isolated;
> > >...
2015 Jul 13
14
[PATCH 0/4] enable migration of driver pages
From: Gioh Kim <gurugio at hanmail.net>
Hello,
This series try to enable migration of non-LRU pages, such as driver's page.
My ARM-based platform occured severe fragmentation problem after long-term
(several days) test. Sometimes even order-3 page allocation failed. It has
memory size 512MB ~ 1024MB. 30% ~ 40% memory is consumed for graphic processing
and 20~30 memory is reserved for
2015 Jul 13
14
[PATCH 0/4] enable migration of driver pages
From: Gioh Kim <gurugio at hanmail.net>
Hello,
This series try to enable migration of non-LRU pages, such as driver's page.
My ARM-based platform occured severe fragmentation problem after long-term
(several days) test. Sometimes even order-3 page allocation failed. It has
memory size 512MB ~ 1024MB. 30% ~ 40% memory is consumed for graphic processing
and 20~30 memory is reserved for
2016 May 27
2
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
.../*
> + * Check PageMovable before holding a PG_lock because page's owner
> + * assumes anybody doesn't touch PG_lock of newly allocated page
> + * so unconditionally grapping the lock ruins page's owner side.
> + */
> + if (unlikely(!__PageMovable(page)))
> + goto out_putpage;
> + /*
> + * As movable pages are not isolated from LRU lists, concurrent
> + * compaction threads can race against page migration functions
> + * as well as race against the releasing a page.
> + *
> + * In order to avoid having an already isolated movable page
> + * be...
2016 May 27
2
[PATCH v6 02/12] mm: migrate: support non-lru movable page migration
.../*
> + * Check PageMovable before holding a PG_lock because page's owner
> + * assumes anybody doesn't touch PG_lock of newly allocated page
> + * so unconditionally grapping the lock ruins page's owner side.
> + */
> + if (unlikely(!__PageMovable(page)))
> + goto out_putpage;
> + /*
> + * As movable pages are not isolated from LRU lists, concurrent
> + * compaction threads can race against page migration functions
> + * as well as race against the releasing a page.
> + *
> + * In order to avoid having an already isolated movable page
> + * be...
2016 Mar 21
0
[PATCH v2 13/18] mm/compaction: support non-lru movable page migration
...y isolated movable page
+ * being (wrongly) re-isolated while it is under migration,
+ * or to avoid attempting to isolate pages being released,
+ * lets be sure we have the page lock
+ * before proceeding with the movable page isolation steps.
+ */
+ if (unlikely(!trylock_page(page)))
+ goto out_putpage;
+
+ if (!PageMovable(page) || PageIsolated(page))
+ goto out_no_isolated;
+
+ ret = page->mapping->a_ops->isolate_page(page, mode);
+ if (!ret)
+ goto out_no_isolated;
+
+ WARN_ON_ONCE(!PageIsolated(page));
+ unlock_page(page);
+ return ret;
+
+out_no_isolated:
+ unlock_page(page);
+out...
2016 Mar 11
0
[PATCH v1 02/19] mm/compaction: support non-lru movable page migration
...y isolated movable page
+ * being (wrongly) re-isolated while it is under migration,
+ * or to avoid attempting to isolate pages being released,
+ * lets be sure we have the page lock
+ * before proceeding with the movable page isolation steps.
+ */
+ if (unlikely(!trylock_page(page)))
+ goto out_putpage;
+
+ if (!PageMovable(page) || PageIsolated(page))
+ goto out_no_isolated;
+
+ ret = page->mapping->a_ops->isolate_page(page, mode);
+ if (!ret)
+ goto out_no_isolated;
+
+ WARN_ON_ONCE(!PageIsolated(page));
+ unlock_page(page);
+ return ret;
+
+out_no_isolated:
+ unlock_page(page);
+out...