From: Konstantin Khlebnikov <koct9i@gmail.com> To: Andrew Morton <akpm@linux-foundation.org> Cc: Konstantin Khlebnikov <k.khlebnikov@samsung.com>, "linux-mm@kvack.org" <linux-mm@kvack.org>, Rafael Aquini <aquini@redhat.com>, Sasha Levin <sasha.levin@oracle.com>, Andrey Ryabinin <ryabinin.a.a@gmail.com>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 7/7] mm/balloon_compaction: general cleanup Date: Sat, 30 Aug 2014 10:44:41 +0400 [thread overview] Message-ID: <CALYGNiN9rHG-b1p-seR9NfDW-FKAxeQq6iUTdmr1PoQYEpr+qA@mail.gmail.com> (raw) In-Reply-To: <20140829143811.90bfab2a46ccade0f586b369@linux-foundation.org> On Sat, Aug 30, 2014 at 1:38 AM, Andrew Morton <akpm@linux-foundation.org> wrote: > On Wed, 20 Aug 2014 19:05:09 +0400 Konstantin Khlebnikov <k.khlebnikov@samsung.com> wrote: > >> * move special branch for balloon migraion into migrate_pages >> * remove special mapping for balloon and its flag AS_BALLOON_MAP >> * embed struct balloon_dev_info into struct virtio_balloon >> * cleanup balloon_page_dequeue, kill balloon_page_free > > Another testing failure. Guys, allnoconfig is really fast. Heh, mea culpa too. I've missed messages about including my patches except one with stress-test, probably they are stuck somewhere in my corporate email. So I thought you've picked only one patch. Rafael had several suggestions so I postponed them till v2 patchset which never been sent. > >> --- a/include/linux/balloon_compaction.h >> +++ b/include/linux/balloon_compaction.h >> @@ -54,58 +54,27 @@ >> * balloon driver as a page book-keeper for its registered balloon devices. >> */ >> struct balloon_dev_info { >> - void *balloon_device; /* balloon device descriptor */ >> - struct address_space *mapping; /* balloon special page->mapping */ >> unsigned long isolated_pages; /* # of isolated pages for migration */ >> spinlock_t pages_lock; /* Protection to pages list */ >> struct list_head pages; /* Pages enqueued & handled to Host */ >> + int (* migrate_page)(struct balloon_dev_info *, struct page *newpage, >> + struct page *page, enum migrate_mode mode); >> }; > > If CONFIG_MIGRATION=n this gets turned into "NULL" and chaos ensues. I > think I'll just nuke that #define: Hmm, i think it's better to rename migrate_page() into something less generic. for example generic_migrate_page() or generic_migratepage(). > > --- a/include/linux/migrate.h~include-linux-migrateh-remove-migratepage-define > +++ a/include/linux/migrate.h > @@ -82,9 +82,6 @@ static inline int migrate_huge_page_move > return -ENOSYS; > } > > -/* Possible settings for the migrate_page() method in address_operations */ > -#define migrate_page NULL > - > #endif /* CONFIG_MIGRATION */ > > #ifdef CONFIG_NUMA_BALANCING > --- a/mm/swap_state.c~include-linux-migrateh-remove-migratepage-define > +++ a/mm/swap_state.c > @@ -28,7 +28,9 @@ > static const struct address_space_operations swap_aops = { > .writepage = swap_writepage, > .set_page_dirty = swap_set_page_dirty, > +#ifdef CONFIG_MIGRATION > .migratepage = migrate_page, > +#endif > }; > > static struct backing_dev_info swap_backing_dev_info = { > --- a/mm/shmem.c~include-linux-migrateh-remove-migratepage-define > +++ a/mm/shmem.c > @@ -3075,7 +3075,9 @@ static const struct address_space_operat > .write_begin = shmem_write_begin, > .write_end = shmem_write_end, > #endif > +#ifdef CONFIG_MIGRATION > .migratepage = migrate_page, > +#endif > .error_remove_page = generic_error_remove_page, > }; > > > Our mixture of "migratepage" and "migrate_page" is maddening. > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Konstantin Khlebnikov <koct9i@gmail.com> To: Andrew Morton <akpm@linux-foundation.org> Cc: Konstantin Khlebnikov <k.khlebnikov@samsung.com>, "linux-mm@kvack.org" <linux-mm@kvack.org>, Rafael Aquini <aquini@redhat.com>, Sasha Levin <sasha.levin@oracle.com>, Andrey Ryabinin <ryabinin.a.a@gmail.com>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 7/7] mm/balloon_compaction: general cleanup Date: Sat, 30 Aug 2014 10:44:41 +0400 [thread overview] Message-ID: <CALYGNiN9rHG-b1p-seR9NfDW-FKAxeQq6iUTdmr1PoQYEpr+qA@mail.gmail.com> (raw) In-Reply-To: <20140829143811.90bfab2a46ccade0f586b369@linux-foundation.org> On Sat, Aug 30, 2014 at 1:38 AM, Andrew Morton <akpm@linux-foundation.org> wrote: > On Wed, 20 Aug 2014 19:05:09 +0400 Konstantin Khlebnikov <k.khlebnikov@samsung.com> wrote: > >> * move special branch for balloon migraion into migrate_pages >> * remove special mapping for balloon and its flag AS_BALLOON_MAP >> * embed struct balloon_dev_info into struct virtio_balloon >> * cleanup balloon_page_dequeue, kill balloon_page_free > > Another testing failure. Guys, allnoconfig is really fast. Heh, mea culpa too. I've missed messages about including my patches except one with stress-test, probably they are stuck somewhere in my corporate email. So I thought you've picked only one patch. Rafael had several suggestions so I postponed them till v2 patchset which never been sent. > >> --- a/include/linux/balloon_compaction.h >> +++ b/include/linux/balloon_compaction.h >> @@ -54,58 +54,27 @@ >> * balloon driver as a page book-keeper for its registered balloon devices. >> */ >> struct balloon_dev_info { >> - void *balloon_device; /* balloon device descriptor */ >> - struct address_space *mapping; /* balloon special page->mapping */ >> unsigned long isolated_pages; /* # of isolated pages for migration */ >> spinlock_t pages_lock; /* Protection to pages list */ >> struct list_head pages; /* Pages enqueued & handled to Host */ >> + int (* migrate_page)(struct balloon_dev_info *, struct page *newpage, >> + struct page *page, enum migrate_mode mode); >> }; > > If CONFIG_MIGRATION=n this gets turned into "NULL" and chaos ensues. I > think I'll just nuke that #define: Hmm, i think it's better to rename migrate_page() into something less generic. for example generic_migrate_page() or generic_migratepage(). > > --- a/include/linux/migrate.h~include-linux-migrateh-remove-migratepage-define > +++ a/include/linux/migrate.h > @@ -82,9 +82,6 @@ static inline int migrate_huge_page_move > return -ENOSYS; > } > > -/* Possible settings for the migrate_page() method in address_operations */ > -#define migrate_page NULL > - > #endif /* CONFIG_MIGRATION */ > > #ifdef CONFIG_NUMA_BALANCING > --- a/mm/swap_state.c~include-linux-migrateh-remove-migratepage-define > +++ a/mm/swap_state.c > @@ -28,7 +28,9 @@ > static const struct address_space_operations swap_aops = { > .writepage = swap_writepage, > .set_page_dirty = swap_set_page_dirty, > +#ifdef CONFIG_MIGRATION > .migratepage = migrate_page, > +#endif > }; > > static struct backing_dev_info swap_backing_dev_info = { > --- a/mm/shmem.c~include-linux-migrateh-remove-migratepage-define > +++ a/mm/shmem.c > @@ -3075,7 +3075,9 @@ static const struct address_space_operat > .write_begin = shmem_write_begin, > .write_end = shmem_write_end, > #endif > +#ifdef CONFIG_MIGRATION > .migratepage = migrate_page, > +#endif > .error_remove_page = generic_error_remove_page, > }; > > > Our mixture of "migratepage" and "migrate_page" is maddening. > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2014-08-30 6:44 UTC|newest] Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-08-20 15:04 [PATCH 1/7] mm/balloon_compaction: ignore anonymous pages Konstantin Khlebnikov 2014-08-20 15:04 ` Konstantin Khlebnikov 2014-08-20 15:04 ` [PATCH 2/7] mm/balloon_compaction: keep ballooned pages away from normal migration path Konstantin Khlebnikov 2014-08-20 15:04 ` Konstantin Khlebnikov 2014-08-20 23:33 ` Rafael Aquini 2014-08-20 23:33 ` Rafael Aquini 2014-08-20 15:04 ` [PATCH 3/7] mm/balloon_compaction: isolate balloon pages without lru_lock Konstantin Khlebnikov 2014-08-20 15:04 ` Konstantin Khlebnikov 2014-08-20 23:35 ` Rafael Aquini 2014-08-20 23:35 ` Rafael Aquini 2014-08-20 15:04 ` [PATCH 4/7] selftests/vm/transhuge-stress: stress test for memory compaction Konstantin Khlebnikov 2014-08-20 15:04 ` Konstantin Khlebnikov 2014-08-20 15:04 ` [PATCH 5/7] mm: introduce common page state for ballooned memory Konstantin Khlebnikov 2014-08-20 15:04 ` Konstantin Khlebnikov 2014-08-20 23:46 ` Rafael Aquini 2014-08-20 23:46 ` Rafael Aquini 2014-08-20 15:05 ` [PATCH 6/7] mm/balloon_compaction: use common page ballooning Konstantin Khlebnikov 2014-08-20 15:05 ` Konstantin Khlebnikov 2014-08-20 23:48 ` Rafael Aquini 2014-08-20 23:48 ` Rafael Aquini 2014-08-20 15:05 ` [PATCH 7/7] mm/balloon_compaction: general cleanup Konstantin Khlebnikov 2014-08-20 15:05 ` Konstantin Khlebnikov [not found] ` <5ad4664811559496e563ead974f10e8ee6b4ed47.1408576903.git.aquini@redhat.com> 2014-08-20 23:58 ` Rafael Aquini 2014-08-20 23:58 ` Rafael Aquini 2014-08-21 7:30 ` Konstantin Khlebnikov 2014-08-21 7:30 ` Konstantin Khlebnikov 2014-08-21 12:31 ` Rafael Aquini 2014-08-21 12:31 ` Rafael Aquini 2014-08-29 21:05 ` Andrew Morton 2014-08-29 21:05 ` Andrew Morton 2014-08-29 21:09 ` Rafael Aquini 2014-08-29 21:09 ` Rafael Aquini 2014-08-29 21:26 ` Rafael Aquini 2014-08-29 21:26 ` Rafael Aquini 2014-08-29 21:38 ` Andrew Morton 2014-08-29 21:38 ` Andrew Morton 2014-08-30 6:44 ` Konstantin Khlebnikov [this message] 2014-08-30 6:44 ` Konstantin Khlebnikov 2014-08-30 16:36 ` [PATCH] mm: rename "migrate_page" to "generic_migrate_page" Konstantin Khlebnikov 2014-08-30 16:36 ` Konstantin Khlebnikov 2014-08-20 23:32 ` [PATCH 1/7] mm/balloon_compaction: ignore anonymous pages Rafael Aquini 2014-08-20 23:32 ` Rafael Aquini
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CALYGNiN9rHG-b1p-seR9NfDW-FKAxeQq6iUTdmr1PoQYEpr+qA@mail.gmail.com \ --to=koct9i@gmail.com \ --cc=akpm@linux-foundation.org \ --cc=aquini@redhat.com \ --cc=k.khlebnikov@samsung.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=ryabinin.a.a@gmail.com \ --cc=sasha.levin@oracle.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.