RE: Re: [PATCH v2 13/18] mm/compaction: support non-lru movable pagemigration

2016-03-23 Thread Gioh Kim
Hmmm... But, in failure case, is it safe to call putback_lru_page() for them? And, PageIsolated() would be left. Is it okay? It's not symmetric that isolated page can be freed by decreasing ref count without calling putback function. This should be clarified and documented. I agree

Re: [PATCH v1 03/19] fs/anon_inodes: new interface to create new inode

2016-03-19 Thread Gioh Kim
On 11.03.2016 09:05, Al Viro wrote: On Fri, Mar 11, 2016 at 04:30:07PM +0900, Minchan Kim wrote: From: Gioh Kim <guru...@hanmail.net> The anon_inodes has already complete interfaces to create manage many anonymous inodes but don't have interface to get new inode. Other sub-modules can

Re: [PATCH 0/4] enable migration of driver pages

2015-07-29 Thread Gioh Kim
2015-07-29 오후 9:46에 Daniel Vetter 이(가) 쓴 글: On Wed, Jul 29, 2015 at 01:16:14PM +0100, Mel Gorman wrote: On Wed, Jul 29, 2015 at 12:55:54PM +0200, Daniel Vetter wrote: On Wed, Jul 29, 2015 at 11:49:45AM +0100, Mel Gorman wrote: On Mon, Jul 13, 2015 at 05:35:15PM +0900, Gioh Kim wrote: My

Re: [PATCH 4/4] mm: remove direct calling of migration

2015-07-27 Thread Gioh Kim
2015-07-27 오후 10:58에 Vlastimil Babka 이(가) 쓴 글: On 07/13/2015 10:35 AM, Gioh Kim wrote: From: Gioh Kim guru...@hanmail.net Migration is completely generalized so that migrating mobile page is processed with lru-pages in move_to_new_page. Signed-off-by: Gioh Kim gioh@lge.com Acked

Re: [PATCH 2/4] mm/compaction: enable mobile-page migration

2015-07-27 Thread Gioh Kim
On Mon, Jul 27, 2015 at 4:55 PM, Vlastimil Babka vba...@suse.cz wrote: On 07/13/2015 10:35 AM, Gioh Kim wrote: From: Gioh Kim guru...@hanmail.net Add framework to register callback functions and check page mobility. There are some modes for page isolation so that isolate interface has

Re: [RFCv3 2/5] mm/compaction: enable mobile-page migration

2015-07-13 Thread Gioh Kim
@@ -51,6 +54,66 @@ extern void compaction_defer_reset(struct zone *zone, int order, bool alloc_success); extern bool compaction_restarting(struct zone *zone, int order); +static inline bool mobile_page(struct page *page) +{ + return page-mapping

[PATCH 4/4] mm: remove direct calling of migration

2015-07-13 Thread Gioh Kim
From: Gioh Kim guru...@hanmail.net Migration is completely generalized so that migrating mobile page is processed with lru-pages in move_to_new_page. Signed-off-by: Gioh Kim gioh@lge.com Acked-by: Rafael Aquini aqu...@redhat.com --- mm/migrate.c | 15 --- 1 file changed, 15

[PATCH 3/4] mm/balloon: apply mobile page migratable into balloon

2015-07-13 Thread Gioh Kim
From: Gioh Kim guru...@hanmail.net Apply mobile page migration into balloon driver. The balloong driver has an anonymous inode that manages address_space_operation for page migration. Compaction calls interfaces of mobile page migration instead of calling balloon migration directly. Signed-off

Re: [PATCH 0/4] enable migration of driver pages

2015-07-13 Thread Gioh Kim
2015-07-13 오후 6:24에 Konstantin Khlebnikov 이(가) 쓴 글: On Mon, Jul 13, 2015 at 11:35 AM, Gioh Kim gioh@lge.com wrote: From: Gioh Kim guru...@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

[PATCH 0/4] enable migration of driver pages

2015-07-13 Thread Gioh Kim
From: Gioh Kim guru...@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

[PATCH 2/4] mm/compaction: enable mobile-page migration

2015-07-13 Thread Gioh Kim
From: Gioh Kim guru...@hanmail.net Add framework to register callback functions and check page mobility. There are some modes for page isolation so that isolate interface has arguments of page address and isolation mode while putback interface has only page address as argument. Signed-off

[PATCH 1/4] fs/anon_inodes: new interface to create new inode

2015-07-13 Thread Gioh Kim
From: Gioh Kim guru...@hanmail.net The anon_inodes has already complete interfaces to create manage many anonymous inodes but don't have interface to get new inode. Other sub-modules can create anonymous inode without creating and mounting it's own pseudo filesystem. Signed-off-by: Gioh Kim gioh

Re: [RFCv3 0/5] enable migration of driver pages

2015-07-09 Thread Gioh Kim
2015-07-09 오후 10:08에 Daniel Vetter 이(가) 쓴 글: Also there's a bit a lack of gpu drivers from the arm world in upstream, which is probabyl why this patch series doesn't come with a user. Might be better to first upstream the driver before talking about additional infrastructure that it needs.

Re: [RFCv3 3/5] mm/balloon: apply mobile page migratable into balloon

2015-07-09 Thread Gioh Kim
@@ -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);

Re: [RFCv3 0/5] enable migration of driver pages

2015-07-08 Thread Gioh Kim
2015-07-09 오전 7:47에 Dave Airlie 이(가) 쓴 글: Can the various in-kernel GPU drivers benefit from this? If so, wiring up one or more of those would be helpful? I'm sure that other in-kernel GPU drivers can have benefit. It must be helpful. If I was familiar with other in-kernel GPU drivers

Re: [RFCv3 0/5] enable migration of driver pages

2015-07-07 Thread Gioh Kim
2015-07-08 오전 7:37에 Andrew Morton 이(가) 쓴 글: On Tue, 7 Jul 2015 13:36:20 +0900 Gioh Kim gioh@lge.com wrote: From: Gioh Kim guru...@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

Re: [RFCv3 0/5] enable migration of driver pages

2015-07-07 Thread Gioh Kim
2015-07-08 오전 9:07에 Andrew Morton 이(가) 쓴 글: On Wed, 08 Jul 2015 09:02:59 +0900 Gioh Kim gioh@lge.com wrote: 2015-07-08 __ 7:37___ Andrew Morton ___(___) ___ ___: On Tue, 7 Jul 2015 13:36:20 +0900 Gioh Kim gioh@lge.com wrote: From: Gioh Kim guru...@hanmail.net Hello

[RFCv3 4/5] mm: call generic migration callbacks

2015-07-06 Thread Gioh Kim
From: Gioh Kim guru...@hanmail.net Compaction calls interfaces of mobile page migration instead of calling balloon migration directly. Signed-off-by: Gioh Kim gioh@lge.com --- mm/compaction.c | 8 mm/migrate.c| 19 ++- 2 files changed, 14 insertions(+), 13

[RFCv3 2/5] mm/compaction: enable mobile-page migration

2015-07-06 Thread Gioh Kim
From: Gioh Kim guru...@hanmail.net Add framework to register callback functions and check page mobility. There are some modes for page isolation so that isolate interface has arguments of page address and isolation mode while putback interface has only page address as argument. Signed-off

[RFCv3 5/5] mm: remove direct calling of migration

2015-07-06 Thread Gioh Kim
From: Gioh Kim guru...@hanmail.net Migration is completely generalized so that migrating mobile page is processed with lru-pages in move_to_new_page. Signed-off-by: Gioh Kim gioh@lge.com --- mm/balloon_compaction.c | 8 mm/migrate.c| 13 - 2 files changed

[RFCv3 3/5] mm/balloon: apply mobile page migratable into balloon

2015-07-06 Thread Gioh Kim
From: Gioh Kim guru...@hanmail.net Apply mobile page migration into balloon driver. The balloong driver has an anonymous inode that manages address_space_operation for page migration. Signed-off-by: Gioh Kim gioh@lge.com --- drivers/virtio/virtio_balloon.c| 3 ++ include/linux

[RFCv3 0/5] enable migration of driver pages

2015-07-06 Thread Gioh Kim
From: Gioh Kim guru...@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

[RFCv3 1/5] fs/anon_inodes: new interface to create new inode

2015-07-06 Thread Gioh Kim
From: Gioh Kim guru...@hanmail.net The anon_inodes has already complete interfaces to create manage many anonymous inodes but don't have interface to get new inode. Other sub-modules can create anonymous inode without creating and mounting it's own pseudo filesystem. Signed-off-by: Gioh Kim gioh

[RFCv2 0/5] enable migration of driver pages

2015-06-26 Thread Gioh Kim
is based on v4.1 Gioh Kim (5): mm/compaction: enable driver page migration fs/anon_inode: get a new inode mm/balloon: apply driver page migratable into balloon driver mm/compaction: compaction calls generic migration mm: remove direct calling of migration drivers/virtio/virtio_balloon.c

[RFCv2 1/5] mm/compaction: enable driver page migration

2015-06-26 Thread Gioh Kim
Add framework to register callback functions and check pages migratable. There are some modes of page isolation so that isolate interface has an arguments of page address and isolation mode. Signed-off-by: Gioh Kim gioh@lge.com --- include/linux/compaction.h | 11 +++ include/linux

[RFCv2 4/5] mm/compaction: compaction calls generic migration

2015-06-26 Thread Gioh Kim
Compaction calls interfaces of driver page migration instead of calling balloon migration directly. Signed-off-by: Gioh Kim gioh@lge.com --- drivers/virtio/virtio_balloon.c | 1 + mm/compaction.c | 9 + mm/migrate.c| 21 - 3

[RFCv2 5/5] mm: remove direct calling of migration

2015-06-26 Thread Gioh Kim
Migration is completely generalized. Signed-off-by: Gioh Kim gioh@lge.com --- mm/balloon_compaction.c | 8 mm/migrate.c| 15 --- 2 files changed, 23 deletions(-) diff --git a/mm/balloon_compaction.c b/mm/balloon_compaction.c index df72846..a7b7c79 100644

[RFCv2 3/5] mm/balloon: apply driver page migratable into balloon

2015-06-26 Thread Gioh Kim
Apply driver page migration into balloon driver. Signed-off-by: Gioh Kim gioh@lge.com --- drivers/virtio/virtio_balloon.c| 3 +++ fs/proc/page.c | 3 +++ include/linux/balloon_compaction.h | 33 + include/uapi/linux/kernel

[RFCv2 2/5] fs/anon_inodes: get a new inode

2015-06-26 Thread Gioh Kim
A inode is necessary for some drivers that needs special address_space and address_space_operation for page migration. Each drivers can create inode with the anon_inodefs. Signed-off-by: Gioh Kim gioh@lge.com --- fs/anon_inodes.c| 6 ++ include/linux/anon_inodes.h | 1 + 2

Re: [RFC 0/4] enable migration of non-LRU pages

2015-06-09 Thread Gioh Kim
2015-06-10 오전 9:08에 Minchan Kim 이(가) 쓴 글: Hello Gioh, On Tue, Jun 02, 2015 at 04:27:40PM +0900, Gioh Kim wrote: 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

Re: [RFC 0/4] enable migration of non-LRU pages

2015-06-05 Thread Gioh Kim
On Tue, Jun 02, 2015 at 04:27:40PM +0900, Gioh Kim wrote: 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

[RFC 2/4] mm/balloon: apply driver page migratable into balloon driver

2015-06-02 Thread Gioh Kim
Apply driver page migration into balloon driver. Signed-off-by: Gioh Kim gioh@lge.com --- drivers/virtio/virtio_balloon.c| 2 ++ fs/proc/page.c | 4 +-- include/linux/balloon_compaction.h | 42 --- include/linux/mm.h

[RFC 3/4] mm/compaction: compaction calls generic migration

2015-06-02 Thread Gioh Kim
Compaction calls interfaces of driver page migration instead of calling balloon migration directly. Signed-off-by: Gioh Kim gioh@lge.com --- mm/compaction.c | 9 + mm/migrate.c| 22 +- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/mm

[RFC 1/4] mm/compaction: enable driver page migration

2015-06-02 Thread Gioh Kim
Add framework to register callback functions and check migratable pages. There are some modes to isolate page so that isolate interface has arguments of page address and isolation mode. Signed-off-by: Gioh Kim gioh@lge.com --- include/linux/compaction.h | 13 + include/linux/fs.h

[RFC 4/4] mm: remove direct calling of migration

2015-06-02 Thread Gioh Kim
Migration is completely generalized. Signed-off-by: Gioh Kim gioh@lge.com --- mm/balloon_compaction.c | 8 mm/migrate.c| 15 --- 2 files changed, 23 deletions(-) diff --git a/mm/balloon_compaction.c b/mm/balloon_compaction.c index f98a500..d29270aa 100644

[RFC 0/4] enable migration of non-LRU pages

2015-06-02 Thread Gioh Kim
check more than 512MB is used with free command - command balloon 512 in qemu monitor - check hundreds MB of pages are migrated Next kernel compaction code can call generic migration callbacks instead of balloon driver interface. Finally calling migration of balloon driver is removed. Gioh Kim (4

Re: [RFC 2/4] mm/balloon: apply driver page migratable into balloon driver

2015-06-02 Thread Gioh Kim
On Tue, Jun 2, 2015 at 10:27 AM, Gioh Kim gioh@lge.com wrote: Apply driver page migration into balloon driver. Signed-off-by: Gioh Kim gioh@lge.com --- drivers/virtio/virtio_balloon.c| 2 ++ fs/proc/page.c | 4 +-- include/linux

Re: [PATCH] add generic callbacks into compaction

2015-04-12 Thread Gioh Kim
2015-04-07 오전 9:59에 Minchan Kim 이(가) 쓴 글: Hello Gioh, I wanted to have such feature for zsmalloc. Thanks for the work. On Wed, Apr 01, 2015 at 08:11:30AM +0900, Gioh Kim wrote: I sent a patch about page allocation for less fragmentation. http://permalink.gmane.org/gmane.linux.kernel.mm

[PATCH] add generic callbacks into compaction

2015-03-31 Thread Gioh Kim
-off-by: Gioh Kim gioh@lge.com --- drivers/virtio/virtio_balloon.c|2 ++ include/linux/balloon_compaction.h | 23 +--- include/linux/fs.h |3 ++ include/linux/pagemap.h| 26 ++ mm/balloon_compaction.c| 68