Displaying 20 results from an estimated 48 matches for "setpageprivate".
2016 Mar 12
1
[PATCH v1 13/19] zsmalloc: factor page chain functionality out
...s[], int nr_pages)
> +{
> + int i;
> + struct page *page;
> + struct page *prev_page = NULL;
> + struct page *first_page = NULL;
> +
> + for (i = 0; i < nr_pages; i++) {
> + page = pages[i];
> +
> + INIT_LIST_HEAD(&page->lru);
> + if (i == 0) {
> + SetPagePrivate(page);
> + set_page_private(page, 0);
> + first_page = page;
> + }
> +
> + if (i == 1)
> + set_page_private(first_page, (unsigned long)page);
> + if (i >= 1)
> + set_page_private(page, (unsigned long)first_page);
> + if (i >= 2)
> + list_add(&pa...
2016 Mar 12
1
[PATCH v1 13/19] zsmalloc: factor page chain functionality out
...s[], int nr_pages)
> +{
> + int i;
> + struct page *page;
> + struct page *prev_page = NULL;
> + struct page *first_page = NULL;
> +
> + for (i = 0; i < nr_pages; i++) {
> + page = pages[i];
> +
> + INIT_LIST_HEAD(&page->lru);
> + if (i == 0) {
> + SetPagePrivate(page);
> + set_page_private(page, 0);
> + first_page = page;
> + }
> +
> + if (i == 1)
> + set_page_private(first_page, (unsigned long)page);
> + if (i >= 1)
> + set_page_private(page, (unsigned long)first_page);
> + if (i >= 2)
> + list_add(&pa...
2016 Mar 11
0
[PATCH v1 13/19] zsmalloc: factor page chain functionality out
...e, 0);
}
+static void create_page_chain(struct page *pages[], int nr_pages)
+{
+ int i;
+ struct page *page;
+ struct page *prev_page = NULL;
+ struct page *first_page = NULL;
+
+ for (i = 0; i < nr_pages; i++) {
+ page = pages[i];
+
+ INIT_LIST_HEAD(&page->lru);
+ if (i == 0) {
+ SetPagePrivate(page);
+ set_page_private(page, 0);
+ first_page = page;
+ }
+
+ if (i == 1)
+ set_page_private(first_page, (unsigned long)page);
+ if (i >= 1)
+ set_page_private(page, (unsigned long)first_page);
+ if (i >= 2)
+ list_add(&page->lru, &prev_page->lru);
+ if (i == n...
2016 Mar 30
0
[PATCH v3 10/16] zsmalloc: factor page chain functionality out
...e, 0);
}
+static void create_page_chain(struct page *pages[], int nr_pages)
+{
+ int i;
+ struct page *page;
+ struct page *prev_page = NULL;
+ struct page *first_page = NULL;
+
+ for (i = 0; i < nr_pages; i++) {
+ page = pages[i];
+
+ INIT_LIST_HEAD(&page->lru);
+ if (i == 0) {
+ SetPagePrivate(page);
+ set_page_private(page, 0);
+ first_page = page;
+ }
+
+ if (i == 1)
+ set_page_private(first_page, (unsigned long)page);
+ if (i >= 1)
+ set_page_private(page, (unsigned long)first_page);
+ if (i >= 2)
+ list_add(&page->lru, &prev_page->lru);
+ if (i == n...
2014 Feb 27
3
[PATCH] xen/grant-table: Refactor gnttab_[un]map_refs to avoid m2p_override
...mp; GNTMAP_contains_pte) {
+ pte = (pte_t *) (mfn_to_virt(PFN_DOWN(map_ops[i].host_addr)) +
+ (map_ops[i].host_addr & ~PAGE_MASK));
+ mfn = pte_mfn(*pte);
+ } else {
+ mfn = PFN_DOWN(map_ops[i].dev_bus_addr);
+ }
+ pfn = page_to_pfn(pages[i]);
+
+ WARN_ON(PagePrivate(pages[i]));
+ SetPagePrivate(pages[i]);
+ set_page_private(pages[i], mfn);
+ pages[i]->index = pfn_to_mfn(pfn);
+
+ if (unlikely(!set_phys_to_machine(pfn, FOREIGN_FRAME(mfn)))) {
+ ret = -ENOMEM;
+ goto out;
+ }
+
+ if (kmap_ops) {
+ ret = m2p_add_override(mfn, pages[i], &kmap_ops[i]);
+ if (ret)
+ goto...
2014 Feb 27
3
[PATCH] xen/grant-table: Refactor gnttab_[un]map_refs to avoid m2p_override
...mp; GNTMAP_contains_pte) {
+ pte = (pte_t *) (mfn_to_virt(PFN_DOWN(map_ops[i].host_addr)) +
+ (map_ops[i].host_addr & ~PAGE_MASK));
+ mfn = pte_mfn(*pte);
+ } else {
+ mfn = PFN_DOWN(map_ops[i].dev_bus_addr);
+ }
+ pfn = page_to_pfn(pages[i]);
+
+ WARN_ON(PagePrivate(pages[i]));
+ SetPagePrivate(pages[i]);
+ set_page_private(pages[i], mfn);
+ pages[i]->index = pfn_to_mfn(pfn);
+
+ if (unlikely(!set_phys_to_machine(pfn, FOREIGN_FRAME(mfn)))) {
+ ret = -ENOMEM;
+ goto out;
+ }
+
+ if (kmap_ops) {
+ ret = m2p_add_override(mfn, pages[i], &kmap_ops[i]);
+ if (ret)
+ goto...
2015 Jul 09
1
[RFCv3 3/5] mm/balloon: apply mobile page migratable into balloon
...struct page *page, enum migrate_mode mode);
>
> /*
> @@ -124,6 +130,7 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
> struct page *page)
> {
> __SetPageBalloon(page);
> + page->mapping = balloon->inode->i_mapping;
> SetPagePrivate(page);
> set_page_private(page, (unsigned long)balloon);
> list_add(&page->lru, &balloon->pages);
> @@ -140,6 +147,7 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
> static inline void balloon_page_delete(struct page *page)
> {
>...
2015 Jul 09
1
[RFCv3 3/5] mm/balloon: apply mobile page migratable into balloon
...struct page *page, enum migrate_mode mode);
>
> /*
> @@ -124,6 +130,7 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
> struct page *page)
> {
> __SetPageBalloon(page);
> + page->mapping = balloon->inode->i_mapping;
> SetPagePrivate(page);
> set_page_private(page, (unsigned long)balloon);
> list_add(&page->lru, &balloon->pages);
> @@ -140,6 +147,7 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
> static inline void balloon_page_delete(struct page *page)
> {
>...
2016 Mar 14
0
[PATCH v1 13/19] zsmalloc: factor page chain functionality out
...> >+ struct page *page;
> >+ struct page *prev_page = NULL;
> >+ struct page *first_page = NULL;
> >+
> >+ for (i = 0; i < nr_pages; i++) {
> >+ page = pages[i];
> >+
> >+ INIT_LIST_HEAD(&page->lru);
> >+ if (i == 0) {
> >+ SetPagePrivate(page);
> >+ set_page_private(page, 0);
> >+ first_page = page;
> >+ }
> >+
> >+ if (i == 1)
> >+ set_page_private(first_page, (unsigned long)page);
> >+ if (i >= 1)
> >+ set_page_private(page, (unsigned long)first_page);
> >+ if (...
2016 May 09
0
[PATCH v5 03/12] mm: balloon: use general non-lru movable page feature
...rt a page into the balloon's page list and make
* the page->private assignment accordingly.
* @balloon : pointer to balloon device
@@ -124,7 +100,7 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
struct page *page)
{
__SetPageBalloon(page);
- SetPagePrivate(page);
+ __SetPageMovable(page, balloon->inode->i_mapping);
set_page_private(page, (unsigned long)balloon);
list_add(&page->lru, &balloon->pages);
}
@@ -140,11 +116,14 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
static inline void balloon_pa...
2016 May 20
0
[PATCH v6 03/12] mm: balloon: use general non-lru movable page feature
...rt a page into the balloon's page list and make
* the page->private assignment accordingly.
* @balloon : pointer to balloon device
@@ -124,7 +100,7 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
struct page *page)
{
__SetPageBalloon(page);
- SetPagePrivate(page);
+ __SetPageMovable(page, balloon->inode->i_mapping);
set_page_private(page, (unsigned long)balloon);
list_add(&page->lru, &balloon->pages);
}
@@ -140,11 +116,14 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
static inline void balloon_pa...
2016 Mar 30
0
[PATCH v3 09/16] zsmalloc: move struct zs_meta from mapping to freelist
...;flags);
set_page_private(page, 0);
- page->mapping = NULL;
page->freelist = NULL;
}
@@ -1056,6 +1055,7 @@ static struct page *alloc_zspage(struct size_class *class, gfp_t flags)
INIT_LIST_HEAD(&page->lru);
if (i == 0) { /* first page */
+ page->freelist = NULL;
SetPagePrivate(page);
set_page_private(page, 0);
first_page = page;
@@ -2068,9 +2068,9 @@ static int __init zs_init(void)
/*
* A zspage's a free object index, class index, fullness group,
- * inuse object count are encoded in its (first)page->mapping
+ * inuse object count are encoded in i...
2016 Mar 30
0
[PATCH v3 04/16] mm/balloon: use general movable page feature into balloon
...he page->private assignment accordingly.
* @balloon : pointer to balloon device
@@ -123,8 +99,7 @@ static inline bool isolated_balloon_page(struct page *page)
static inline void balloon_page_insert(struct balloon_dev_info *balloon,
struct page *page)
{
- __SetPageBalloon(page);
- SetPagePrivate(page);
+ __SetPageBalloon(page, balloon->inode->i_mapping);
set_page_private(page, (unsigned long)balloon);
list_add(&page->lru, &balloon->pages);
}
@@ -141,10 +116,8 @@ static inline void balloon_page_delete(struct page *page)
{
__ClearPageBalloon(page);
set_page_priv...
2016 Mar 21
0
[PATCH v2 14/18] mm/balloon: use general movable page feature into balloon
...on : pointer to balloon device
@@ -123,8 +99,8 @@ static inline bool isolated_balloon_page(struct page *page)
static inline void balloon_page_insert(struct balloon_dev_info *balloon,
struct page *page)
{
+ page->mapping = balloon->inode->i_mapping;
__SetPageBalloon(page);
- SetPagePrivate(page);
set_page_private(page, (unsigned long)balloon);
list_add(&page->lru, &balloon->pages);
}
@@ -140,11 +116,10 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
static inline void balloon_page_delete(struct page *page)
{
__ClearPageBalloon(page);...
2016 Mar 21
1
[PATCH v2 14/18] mm/balloon: use general movable page feature into balloon
Hi Minchan,
[auto build test ERROR 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
config: x86_64-randconfig-x000-201612 (attached as .config)
reproduce:
# save
2016 Mar 21
1
[PATCH v2 14/18] mm/balloon: use general movable page feature into balloon
Hi Minchan,
[auto build test ERROR 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
config: x86_64-randconfig-x000-201612 (attached as .config)
reproduce:
# save
2016 Mar 30
0
[PATCH v3 06/16] zsmalloc: squeeze inuse into page->mapping
...page(first_page), first_page);
- VM_BUG_ON_PAGE(first_page->inuse, first_page);
+ VM_BUG_ON_PAGE(get_zspage_inuse(first_page), first_page);
head_extra = (struct page *)page_private(first_page);
@@ -992,7 +1026,7 @@ static struct page *alloc_zspage(struct size_class *class, gfp_t flags)
SetPagePrivate(page);
set_page_private(page, 0);
first_page = page;
- first_page->inuse = 0;
+ set_zspage_inuse(page, 0);
}
if (i == 1)
set_page_private(first_page, (unsigned long)page);
@@ -1237,9 +1271,7 @@ static bool can_merge(struct size_class *prev, int size, int pages_per_zspage)...
2015 Jun 03
1
[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver
...*page)
> static inline void balloon_page_insert(struct balloon_dev_info *balloon,
> struct page *page)
> {
> - __SetPageBalloon(page);
> + page->mapping = balloon->mapping;
> + __SetPageMigratable(page);
> SetPagePrivate(page);
> set_page_private(page, (unsigned long)balloon);
> list_add(&page->lru, &balloon->pages);
> @@ -139,7 +155,8 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
> */
> static inline void balloon_page_delete(struct page...
2015 Jun 03
1
[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver
...*page)
> static inline void balloon_page_insert(struct balloon_dev_info *balloon,
> struct page *page)
> {
> - __SetPageBalloon(page);
> + page->mapping = balloon->mapping;
> + __SetPageMigratable(page);
> SetPagePrivate(page);
> set_page_private(page, (unsigned long)balloon);
> list_add(&page->lru, &balloon->pages);
> @@ -139,7 +155,8 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
> */
> static inline void balloon_page_delete(struct page...
2015 Jun 26
0
[RFCv2 3/5] mm/balloon: apply driver page migratable into balloon
...@@ -123,7 +129,8 @@ static inline bool isolated_balloon_page(struct page *page)
static inline void balloon_page_insert(struct balloon_dev_info *balloon,
struct page *page)
{
- __SetPageBalloon(page);
+ page->mapping = balloon->inode->i_mapping;
+ __SetPageMigratable(page);
SetPagePrivate(page);
set_page_private(page, (unsigned long)balloon);
list_add(&page->lru, &balloon->pages);
@@ -139,7 +146,8 @@ static inline void balloon_page_insert(struct balloon_dev_info *balloon,
*/
static inline void balloon_page_delete(struct page *page)
{
- __ClearPageBalloon(page);...