All of lore.kernel.org
 help / color / mirror / Atom feed
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>

  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: link
Be 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.