linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/3] Drivers: hv: balloon
@ 2013-03-18 20:51 K. Y. Srinivasan
  2013-03-18 20:51 ` [PATCH V2 1/3] mm: Export split_page() K. Y. Srinivasan
  0 siblings, 1 reply; 10+ messages in thread
From: K. Y. Srinivasan @ 2013-03-18 20:51 UTC (permalink / raw)
  To: gregkh, linux-kernel, devel, olaf, apw, andi, akpm, linux-mm,
	kamezawa.hiroyuki, mhocko, hannes, yinghan
  Cc: K. Y. Srinivasan

Support 2M page allocations when memory is ballooned out of the
guest. Hyper-V Dynamic Memory protocol is optimized around the ability
to move memory in 2M chunks.

I have also included a patch to properly notify the host of permanent
hot-add failures.

In this version of the patches, I have added some additional comments to the
code and the patch descriptions.

K. Y. Srinivasan (3):
  mm: Export split_page()
  Drivers: hv: balloon: Support 2M page allocations for ballooning
  Drivers: hv: Notify the host of permanent hot-add failures

 drivers/hv/hv_balloon.c |   51 +++++++++++++++++++++++++++++++++++++++++++---
 mm/page_alloc.c         |    1 +
 2 files changed, 48 insertions(+), 4 deletions(-)

-- 
1.7.4.1

--
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>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH V2 1/3]  mm: Export split_page()
  2013-03-18 20:51 [PATCH V2 0/3] Drivers: hv: balloon K. Y. Srinivasan
@ 2013-03-18 20:51 ` K. Y. Srinivasan
  2013-03-18 20:51   ` [PATCH V2 2/3] Drivers: hv: balloon: Support 2M page allocations for ballooning K. Y. Srinivasan
                     ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: K. Y. Srinivasan @ 2013-03-18 20:51 UTC (permalink / raw)
  To: gregkh, linux-kernel, devel, olaf, apw, andi, akpm, linux-mm,
	kamezawa.hiroyuki, mhocko, hannes, yinghan
  Cc: K. Y. Srinivasan

This symbol would be used in the Hyper-V balloon driver to support 2M
allocations.

In this version of the patch, based on feedback from Michal Hocko
<mhocko@suse.cz>, I have updated the patch description.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
---
 mm/page_alloc.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 6cacfee..7e0ead6 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1404,6 +1404,7 @@ void split_page(struct page *page, unsigned int order)
 	for (i = 1; i < (1 << order); i++)
 		set_page_refcounted(page + i);
 }
+EXPORT_SYMBOL_GPL(split_page);
 
 static int __isolate_free_page(struct page *page, unsigned int order)
 {
-- 
1.7.4.1

--
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>

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH V2 2/3] Drivers: hv: balloon: Support 2M page allocations for ballooning
  2013-03-18 20:51 ` [PATCH V2 1/3] mm: Export split_page() K. Y. Srinivasan
@ 2013-03-18 20:51   ` K. Y. Srinivasan
  2013-03-19 14:46     ` Michal Hocko
  2013-03-18 20:51   ` [PATCH V2 3/3] Drivers: hv: Notify the host of permanent hot-add failures K. Y. Srinivasan
  2013-03-19 14:13   ` [PATCH V2 1/3] mm: Export split_page() Michal Hocko
  2 siblings, 1 reply; 10+ messages in thread
From: K. Y. Srinivasan @ 2013-03-18 20:51 UTC (permalink / raw)
  To: gregkh, linux-kernel, devel, olaf, apw, andi, akpm, linux-mm,
	kamezawa.hiroyuki, mhocko, hannes, yinghan
  Cc: K. Y. Srinivasan

On Hyper-V it will be very efficient to use 2M allocations in the guest as this
makes the ballooning protocol with the host that much more efficient. Hyper-V
uses page ranges (start pfn : number of pages) to specify memory being moved
around and with 2M pages this encoding can be very efficient. However, when
memory is returned to the guest, the host does not guarantee any granularity.
To deal with this issue, split the page soon after a successful 2M allocation
so that this memory can potentially be freed as 4K pages.

If 2M allocations fail, we revert to 4K allocations.

In this version of the patch, based on the feedback from Michal Hocko
<mhocko@suse.cz>, I have added some additional commentary to the patch
description. 

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
---
 drivers/hv/hv_balloon.c |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index 2cf7d4e..71655b4 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -997,6 +997,14 @@ static int  alloc_balloon_pages(struct hv_dynmem_device *dm, int num_pages,
 
 		dm->num_pages_ballooned += alloc_unit;
 
+		/*
+		 * If we allocatted 2M pages; split them so we
+		 * can free them in any order we get.
+		 */
+
+		if (alloc_unit != 1)
+			split_page(pg, get_order(alloc_unit << PAGE_SHIFT));
+
 		bl_resp->range_count++;
 		bl_resp->range_array[i].finfo.start_page =
 			page_to_pfn(pg);
@@ -1023,9 +1031,10 @@ static void balloon_up(struct work_struct *dummy)
 
 
 	/*
-	 * Currently, we only support 4k allocations.
+	 * We will attempt 2M allocations. However, if we fail to
+	 * allocate 2M chunks, we will go back to 4k allocations.
 	 */
-	alloc_unit = 1;
+	alloc_unit = 512;
 
 	while (!done) {
 		bl_resp = (struct dm_balloon_response *)send_buffer;
@@ -1041,6 +1050,11 @@ static void balloon_up(struct work_struct *dummy)
 						bl_resp, alloc_unit,
 						 &alloc_error);
 
+		if ((alloc_error) && (alloc_unit != 1)) {
+			alloc_unit = 1;
+			continue;
+		}
+
 		if ((alloc_error) || (num_ballooned == num_pages)) {
 			bl_resp->more_pages = 0;
 			done = true;
-- 
1.7.4.1

--
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>

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH V2 3/3] Drivers: hv: Notify the host of permanent hot-add failures
  2013-03-18 20:51 ` [PATCH V2 1/3] mm: Export split_page() K. Y. Srinivasan
  2013-03-18 20:51   ` [PATCH V2 2/3] Drivers: hv: balloon: Support 2M page allocations for ballooning K. Y. Srinivasan
@ 2013-03-18 20:51   ` K. Y. Srinivasan
  2013-03-19 14:13   ` [PATCH V2 1/3] mm: Export split_page() Michal Hocko
  2 siblings, 0 replies; 10+ messages in thread
From: K. Y. Srinivasan @ 2013-03-18 20:51 UTC (permalink / raw)
  To: gregkh, linux-kernel, devel, olaf, apw, andi, akpm, linux-mm,
	kamezawa.hiroyuki, mhocko, hannes, yinghan
  Cc: K. Y. Srinivasan

If memory hot-add fails with the error -EEXIST, then this is a permanent
failure. Notify the host of this information, so the host will not attempt
hot-add again. If the failure were a transient failure, host will attempt
a hot-add after some delay.

In this version of the patch, I have added some additional comments
to clarify how the host treats different failure conditions.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
---
 drivers/hv/hv_balloon.c |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index 71655b4..4cc1d10 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -583,6 +583,16 @@ static void hv_mem_hot_add(unsigned long start, unsigned long size,
 
 		if (ret) {
 			pr_info("hot_add memory failed error is %d\n", ret);
+			if (ret == -EEXIST) {
+				/*
+				 * This error indicates that the error
+				 * is not a transient failure. This is the
+				 * case where the guest's physical address map
+				 * precludes hot adding memory. Stop all further
+				 * memory hot-add.
+				 */
+				do_hot_add = false;
+			}
 			has->ha_end_pfn -= HA_CHUNK;
 			has->covered_end_pfn -=  processed_pfn;
 			break;
@@ -842,11 +852,30 @@ static void hot_add_req(struct work_struct *dummy)
 		rg_sz = region_size;
 	}
 
-	resp.page_count = process_hot_add(pg_start, pfn_cnt,
-					rg_start, rg_sz);
+	if (do_hot_add)
+		resp.page_count = process_hot_add(pg_start, pfn_cnt,
+						rg_start, rg_sz);
 #endif
+	/*
+	 * The result field of the response structure has the
+	 * following semantics:
+	 *
+	 * 1. If all or some pages hot-added: Guest should return success.
+	 *
+	 * 2. If no pages could be hot-added:
+	 *
+	 * If the guest returns success, then the host
+	 * will not attempt any further hot-add operations. This
+	 * signifies a permanent failure.
+	 *
+	 * If the guest returns failure, then this failure will be
+	 * treated as a transient failure and the host may retry the
+	 * hot-add operation after some delay.
+	 */
 	if (resp.page_count > 0)
 		resp.result = 1;
+	else if (!do_hot_add)
+		resp.result = 1;
 	else
 		resp.result = 0;
 
-- 
1.7.4.1

--
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>

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH V2 1/3]  mm: Export split_page()
  2013-03-18 20:51 ` [PATCH V2 1/3] mm: Export split_page() K. Y. Srinivasan
  2013-03-18 20:51   ` [PATCH V2 2/3] Drivers: hv: balloon: Support 2M page allocations for ballooning K. Y. Srinivasan
  2013-03-18 20:51   ` [PATCH V2 3/3] Drivers: hv: Notify the host of permanent hot-add failures K. Y. Srinivasan
@ 2013-03-19 14:13   ` Michal Hocko
  2013-03-19 21:39     ` KY Srinivasan
  2 siblings, 1 reply; 10+ messages in thread
From: Michal Hocko @ 2013-03-19 14:13 UTC (permalink / raw)
  To: K. Y. Srinivasan
  Cc: gregkh, linux-kernel, devel, olaf, apw, andi, akpm, linux-mm,
	kamezawa.hiroyuki, hannes, yinghan

On Mon 18-03-13 13:51:36, K. Y. Srinivasan wrote:
> This symbol would be used in the Hyper-V balloon driver to support 2M
> allocations.
> 
> In this version of the patch, based on feedback from Michal Hocko
> <mhocko@suse.cz>, I have updated the patch description.

I guess this part is not necessary ;)

> 
> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>

Anyway
Acked-by: Michal Hocko <mhocko@suse.cz>

> ---
>  mm/page_alloc.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 6cacfee..7e0ead6 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -1404,6 +1404,7 @@ void split_page(struct page *page, unsigned int order)
>  	for (i = 1; i < (1 << order); i++)
>  		set_page_refcounted(page + i);
>  }
> +EXPORT_SYMBOL_GPL(split_page);
>  
>  static int __isolate_free_page(struct page *page, unsigned int order)
>  {
> -- 
> 1.7.4.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
Michal Hocko
SUSE Labs

--
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>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V2 2/3] Drivers: hv: balloon: Support 2M page allocations for ballooning
  2013-03-18 20:51   ` [PATCH V2 2/3] Drivers: hv: balloon: Support 2M page allocations for ballooning K. Y. Srinivasan
@ 2013-03-19 14:46     ` Michal Hocko
  2013-03-19 14:53       ` KY Srinivasan
  0 siblings, 1 reply; 10+ messages in thread
From: Michal Hocko @ 2013-03-19 14:46 UTC (permalink / raw)
  To: K. Y. Srinivasan
  Cc: gregkh, linux-kernel, devel, olaf, apw, andi, akpm, linux-mm,
	kamezawa.hiroyuki, hannes, yinghan

On Mon 18-03-13 13:51:37, K. Y. Srinivasan wrote:
> On Hyper-V it will be very efficient to use 2M allocations in the guest as this
> makes the ballooning protocol with the host that much more efficient. Hyper-V
> uses page ranges (start pfn : number of pages) to specify memory being moved
> around and with 2M pages this encoding can be very efficient. However, when
> memory is returned to the guest, the host does not guarantee any granularity.
> To deal with this issue, split the page soon after a successful 2M allocation
> so that this memory can potentially be freed as 4K pages.

How many pages are requested usually?

> If 2M allocations fail, we revert to 4K allocations.
> 
> In this version of the patch, based on the feedback from Michal Hocko
> <mhocko@suse.cz>, I have added some additional commentary to the patch
> description. 
> 
> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>

I am not going to ack the patch because I am still not entirely
convinced that big allocations are worth it. But that is up to you and
hyper-V users.

> ---
>  drivers/hv/hv_balloon.c |   18 ++++++++++++++++--
>  1 files changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
> index 2cf7d4e..71655b4 100644
> --- a/drivers/hv/hv_balloon.c
> +++ b/drivers/hv/hv_balloon.c
> @@ -997,6 +997,14 @@ static int  alloc_balloon_pages(struct hv_dynmem_device *dm, int num_pages,
>  
>  		dm->num_pages_ballooned += alloc_unit;
>  
> +		/*
> +		 * If we allocatted 2M pages; split them so we
> +		 * can free them in any order we get.
> +		 */
> +
> +		if (alloc_unit != 1)
> +			split_page(pg, get_order(alloc_unit << PAGE_SHIFT));
> +
>  		bl_resp->range_count++;
>  		bl_resp->range_array[i].finfo.start_page =
>  			page_to_pfn(pg);

I would suggest also using __GFP_NO_KSWAPD (or basically use
GFP_TRANSHUGE for alloc_unit>0) for the allocation to be as least
disruptive as possible.

> @@ -1023,9 +1031,10 @@ static void balloon_up(struct work_struct *dummy)
>  
>  
>  	/*
> -	 * Currently, we only support 4k allocations.
> +	 * We will attempt 2M allocations. However, if we fail to
> +	 * allocate 2M chunks, we will go back to 4k allocations.
>  	 */
> -	alloc_unit = 1;
> +	alloc_unit = 512;
>  
>  	while (!done) {
>  		bl_resp = (struct dm_balloon_response *)send_buffer;
> @@ -1041,6 +1050,11 @@ static void balloon_up(struct work_struct *dummy)
>  						bl_resp, alloc_unit,
>  						 &alloc_error);
>  

You should handle alloc_balloon_pages returns 0 && !alloc_error which
happens when num_pages < alloc_unit.

> +		if ((alloc_error) && (alloc_unit != 1)) {
> +			alloc_unit = 1;
> +			continue;
> +		}
> +
>  		if ((alloc_error) || (num_ballooned == num_pages)) {
>  			bl_resp->more_pages = 0;
>  			done = true;
> -- 
> 1.7.4.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
Michal Hocko
SUSE Labs

--
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>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH V2 2/3] Drivers: hv: balloon: Support 2M page allocations for ballooning
  2013-03-19 14:46     ` Michal Hocko
@ 2013-03-19 14:53       ` KY Srinivasan
  0 siblings, 0 replies; 10+ messages in thread
From: KY Srinivasan @ 2013-03-19 14:53 UTC (permalink / raw)
  To: Michal Hocko
  Cc: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
	devel@linuxdriverproject.org, olaf@aepfle.de, apw@canonical.com,
	andi@firstfloor.org, akpm@linux-foundation.org,
	linux-mm@kvack.org, kamezawa.hiroyuki@gmail.com,
	hannes@cmpxchg.org, yinghan@google.com



> -----Original Message-----
> From: Michal Hocko [mailto:mhocko@suse.cz]
> Sent: Tuesday, March 19, 2013 10:46 AM
> To: KY Srinivasan
> Cc: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org;
> devel@linuxdriverproject.org; olaf@aepfle.de; apw@canonical.com;
> andi@firstfloor.org; akpm@linux-foundation.org; linux-mm@kvack.org;
> kamezawa.hiroyuki@gmail.com; hannes@cmpxchg.org; yinghan@google.com
> Subject: Re: [PATCH V2 2/3] Drivers: hv: balloon: Support 2M page allocations for
> ballooning
> 
> On Mon 18-03-13 13:51:37, K. Y. Srinivasan wrote:
> > On Hyper-V it will be very efficient to use 2M allocations in the guest as this
> > makes the ballooning protocol with the host that much more efficient. Hyper-V
> > uses page ranges (start pfn : number of pages) to specify memory being moved
> > around and with 2M pages this encoding can be very efficient. However, when
> > memory is returned to the guest, the host does not guarantee any granularity.
> > To deal with this issue, split the page soon after a successful 2M allocation
> > so that this memory can potentially be freed as 4K pages.
> 
> How many pages are requested usually?

This depends entirely on how many pages the guest has, the pressure reported by the guest and
the overall memory demand as perceived by the host. On idling guests that have been configured with
several Giga bytes of memory, I have seen several Giga bytes being ballooned out of the guest as soon
as new VMs are started or pressure goes up in an existing VM. In these cases, if 2M allocations succeed,
the ballooning operation can be done very efficiently.
> 
> > If 2M allocations fail, we revert to 4K allocations.
> >
> > In this version of the patch, based on the feedback from Michal Hocko
> > <mhocko@suse.cz>, I have added some additional commentary to the patch
> > description.
> >
> > Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> 
> I am not going to ack the patch because I am still not entirely
> convinced that big allocations are worth it. But that is up to you and
> hyper-V users.

As I said, Hyper-V has chosen 2M unit as the unit that will be most efficient in moving memory
around. All I am doing is making Linux participate in this protocol just as efficiently as Windows 
guests do.

Regards,

K. Y
> 
> > ---
> >  drivers/hv/hv_balloon.c |   18 ++++++++++++++++--
> >  1 files changed, 16 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
> > index 2cf7d4e..71655b4 100644
> > --- a/drivers/hv/hv_balloon.c
> > +++ b/drivers/hv/hv_balloon.c
> > @@ -997,6 +997,14 @@ static int  alloc_balloon_pages(struct
> hv_dynmem_device *dm, int num_pages,
> >
> >  		dm->num_pages_ballooned += alloc_unit;
> >
> > +		/*
> > +		 * If we allocatted 2M pages; split them so we
> > +		 * can free them in any order we get.
> > +		 */
> > +
> > +		if (alloc_unit != 1)
> > +			split_page(pg, get_order(alloc_unit << PAGE_SHIFT));
> > +
> >  		bl_resp->range_count++;
> >  		bl_resp->range_array[i].finfo.start_page =
> >  			page_to_pfn(pg);
> 
> I would suggest also using __GFP_NO_KSWAPD (or basically use
> GFP_TRANSHUGE for alloc_unit>0) for the allocation to be as least
> disruptive as possible.
> 
> > @@ -1023,9 +1031,10 @@ static void balloon_up(struct work_struct *dummy)
> >
> >
> >  	/*
> > -	 * Currently, we only support 4k allocations.
> > +	 * We will attempt 2M allocations. However, if we fail to
> > +	 * allocate 2M chunks, we will go back to 4k allocations.
> >  	 */
> > -	alloc_unit = 1;
> > +	alloc_unit = 512;
> >
> >  	while (!done) {
> >  		bl_resp = (struct dm_balloon_response *)send_buffer;
> > @@ -1041,6 +1050,11 @@ static void balloon_up(struct work_struct *dummy)
> >  						bl_resp, alloc_unit,
> >  						 &alloc_error);
> >
> 
> You should handle alloc_balloon_pages returns 0 && !alloc_error which
> happens when num_pages < alloc_unit.
> 
> > +		if ((alloc_error) && (alloc_unit != 1)) {
> > +			alloc_unit = 1;
> > +			continue;
> > +		}
> > +
> >  		if ((alloc_error) || (num_ballooned == num_pages)) {
> >  			bl_resp->more_pages = 0;
> >  			done = true;
> > --
> > 1.7.4.1
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at  http://www.tux.org/lkml/
> 
> --
> Michal Hocko
> SUSE Labs
> 


--
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>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH V2 1/3]  mm: Export split_page()
  2013-03-19 14:13   ` [PATCH V2 1/3] mm: Export split_page() Michal Hocko
@ 2013-03-19 21:39     ` KY Srinivasan
  2013-03-25 13:18       ` KY Srinivasan
  0 siblings, 1 reply; 10+ messages in thread
From: KY Srinivasan @ 2013-03-19 21:39 UTC (permalink / raw)
  To: Michal Hocko
  Cc: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
	devel@linuxdriverproject.org, olaf@aepfle.de, apw@canonical.com,
	andi@firstfloor.org, akpm@linux-foundation.org,
	linux-mm@kvack.org, kamezawa.hiroyuki@gmail.com,
	hannes@cmpxchg.org, yinghan@google.com



> -----Original Message-----
> From: Michal Hocko [mailto:mhocko@suse.cz]
> Sent: Tuesday, March 19, 2013 10:13 AM
> To: KY Srinivasan
> Cc: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org;
> devel@linuxdriverproject.org; olaf@aepfle.de; apw@canonical.com;
> andi@firstfloor.org; akpm@linux-foundation.org; linux-mm@kvack.org;
> kamezawa.hiroyuki@gmail.com; hannes@cmpxchg.org; yinghan@google.com
> Subject: Re: [PATCH V2 1/3] mm: Export split_page()
> 
> On Mon 18-03-13 13:51:36, K. Y. Srinivasan wrote:
> > This symbol would be used in the Hyper-V balloon driver to support 2M
> > allocations.
> >
> > In this version of the patch, based on feedback from Michal Hocko
> > <mhocko@suse.cz>, I have updated the patch description.
> 
> I guess this part is not necessary ;)
> 
> >
> > Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> 
> Anyway
> Acked-by: Michal Hocko <mhocko@suse.cz>

Greg,

Would you be taking this patch through your tree?

Regards,

K. Y
> 
> > ---
> >  mm/page_alloc.c |    1 +
> >  1 files changed, 1 insertions(+), 0 deletions(-)
> >
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index 6cacfee..7e0ead6 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -1404,6 +1404,7 @@ void split_page(struct page *page, unsigned int order)
> >  	for (i = 1; i < (1 << order); i++)
> >  		set_page_refcounted(page + i);
> >  }
> > +EXPORT_SYMBOL_GPL(split_page);
> >
> >  static int __isolate_free_page(struct page *page, unsigned int order)
> >  {
> > --
> > 1.7.4.1
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at  http://www.tux.org/lkml/
> 
> --
> Michal Hocko
> SUSE Labs
> 


--
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>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH V2 1/3]  mm: Export split_page()
  2013-03-19 21:39     ` KY Srinivasan
@ 2013-03-25 13:18       ` KY Srinivasan
  2013-03-28 20:25         ` KY Srinivasan
  0 siblings, 1 reply; 10+ messages in thread
From: KY Srinivasan @ 2013-03-25 13:18 UTC (permalink / raw)
  To: KY Srinivasan, Michal Hocko
  Cc: olaf@aepfle.de, gregkh@linuxfoundation.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	andi@firstfloor.org, yinghan@google.com, hannes@cmpxchg.org,
	apw@canonical.com, devel@linuxdriverproject.org,
	akpm@linux-foundation.org, kamezawa.hiroyuki@gmail.com



> -----Original Message-----
> From: devel [mailto:devel-bounces@linuxdriverproject.org] On Behalf Of KY
> Srinivasan
> Sent: Tuesday, March 19, 2013 5:40 PM
> To: Michal Hocko
> Cc: olaf@aepfle.de; gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org;
> linux-mm@kvack.org; andi@firstfloor.org; yinghan@google.com;
> hannes@cmpxchg.org; apw@canonical.com; devel@linuxdriverproject.org;
> akpm@linux-foundation.org; kamezawa.hiroyuki@gmail.com
> Subject: RE: [PATCH V2 1/3] mm: Export split_page()
> 
> 
> 
> > -----Original Message-----
> > From: Michal Hocko [mailto:mhocko@suse.cz]
> > Sent: Tuesday, March 19, 2013 10:13 AM
> > To: KY Srinivasan
> > Cc: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org;
> > devel@linuxdriverproject.org; olaf@aepfle.de; apw@canonical.com;
> > andi@firstfloor.org; akpm@linux-foundation.org; linux-mm@kvack.org;
> > kamezawa.hiroyuki@gmail.com; hannes@cmpxchg.org; yinghan@google.com
> > Subject: Re: [PATCH V2 1/3] mm: Export split_page()
> >
> > On Mon 18-03-13 13:51:36, K. Y. Srinivasan wrote:
> > > This symbol would be used in the Hyper-V balloon driver to support 2M
> > > allocations.
> > >
> > > In this version of the patch, based on feedback from Michal Hocko
> > > <mhocko@suse.cz>, I have updated the patch description.
> >
> > I guess this part is not necessary ;)
> >
> > >
> > > Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> >
> > Anyway
> > Acked-by: Michal Hocko <mhocko@suse.cz>
> 
> Greg,
> 
> Would you be taking this patch through your tree?
> 
> Regards,

Andrew,

Could you take this patch through your tree.

Regards,

K. Y
> 
> K. Y
> >
> > > ---
> > >  mm/page_alloc.c |    1 +
> > >  1 files changed, 1 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > > index 6cacfee..7e0ead6 100644
> > > --- a/mm/page_alloc.c
> > > +++ b/mm/page_alloc.c
> > > @@ -1404,6 +1404,7 @@ void split_page(struct page *page, unsigned int
> order)
> > >  	for (i = 1; i < (1 << order); i++)
> > >  		set_page_refcounted(page + i);
> > >  }
> > > +EXPORT_SYMBOL_GPL(split_page);
> > >
> > >  static int __isolate_free_page(struct page *page, unsigned int order)
> > >  {
> > > --
> > > 1.7.4.1
> > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > Please read the FAQ at  http://www.tux.org/lkml/
> >
> > --
> > Michal Hocko
> > SUSE Labs
> >
> 
> 
> _______________________________________________
> devel mailing list
> devel@linuxdriverproject.org
> http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
> 


--
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>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH V2 1/3]  mm: Export split_page()
  2013-03-25 13:18       ` KY Srinivasan
@ 2013-03-28 20:25         ` KY Srinivasan
  0 siblings, 0 replies; 10+ messages in thread
From: KY Srinivasan @ 2013-03-28 20:25 UTC (permalink / raw)
  To: Michal Hocko
  Cc: olaf@aepfle.de, gregkh@linuxfoundation.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	andi@firstfloor.org, yinghan@google.com, hannes@cmpxchg.org,
	apw@canonical.com, devel@linuxdriverproject.org,
	akpm@linux-foundation.org, kamezawa.hiroyuki@gmail.com



> -----Original Message-----
> From: KY Srinivasan
> Sent: Monday, March 25, 2013 9:18 AM
> To: KY Srinivasan; Michal Hocko
> Cc: olaf@aepfle.de; gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org;
> linux-mm@kvack.org; andi@firstfloor.org; yinghan@google.com;
> hannes@cmpxchg.org; apw@canonical.com; devel@linuxdriverproject.org;
> akpm@linux-foundation.org; kamezawa.hiroyuki@gmail.com
> Subject: RE: [PATCH V2 1/3] mm: Export split_page()
> 
> 
> 
> > -----Original Message-----
> > From: devel [mailto:devel-bounces@linuxdriverproject.org] On Behalf Of KY
> > Srinivasan
> > Sent: Tuesday, March 19, 2013 5:40 PM
> > To: Michal Hocko
> > Cc: olaf@aepfle.de; gregkh@linuxfoundation.org; linux-
> kernel@vger.kernel.org;
> > linux-mm@kvack.org; andi@firstfloor.org; yinghan@google.com;
> > hannes@cmpxchg.org; apw@canonical.com; devel@linuxdriverproject.org;
> > akpm@linux-foundation.org; kamezawa.hiroyuki@gmail.com
> > Subject: RE: [PATCH V2 1/3] mm: Export split_page()
> >
> >
> >
> > > -----Original Message-----
> > > From: Michal Hocko [mailto:mhocko@suse.cz]
> > > Sent: Tuesday, March 19, 2013 10:13 AM
> > > To: KY Srinivasan
> > > Cc: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org;
> > > devel@linuxdriverproject.org; olaf@aepfle.de; apw@canonical.com;
> > > andi@firstfloor.org; akpm@linux-foundation.org; linux-mm@kvack.org;
> > > kamezawa.hiroyuki@gmail.com; hannes@cmpxchg.org;
> yinghan@google.com
> > > Subject: Re: [PATCH V2 1/3] mm: Export split_page()
> > >
> > > On Mon 18-03-13 13:51:36, K. Y. Srinivasan wrote:
> > > > This symbol would be used in the Hyper-V balloon driver to support 2M
> > > > allocations.
> > > >
> > > > In this version of the patch, based on feedback from Michal Hocko
> > > > <mhocko@suse.cz>, I have updated the patch description.
> > >
> > > I guess this part is not necessary ;)
> > >
> > > >
> > > > Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> > >
> > > Anyway
> > > Acked-by: Michal Hocko <mhocko@suse.cz>
> >
> > Greg,
> >
> > Would you be taking this patch through your tree?
> >
> > Regards,
> 
> Andrew,
> 
> Could you take this patch through your tree.
> 
> Regards,
> 
> K. Y

Greg,

Now that Andrew has checked in this patch, do you want me to resend the remaining two patches here.

Regards,

K. Y
> >
> > K. Y
> > >
> > > > ---
> > > >  mm/page_alloc.c |    1 +
> > > >  1 files changed, 1 insertions(+), 0 deletions(-)
> > > >
> > > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > > > index 6cacfee..7e0ead6 100644
> > > > --- a/mm/page_alloc.c
> > > > +++ b/mm/page_alloc.c
> > > > @@ -1404,6 +1404,7 @@ void split_page(struct page *page, unsigned int
> > order)
> > > >  	for (i = 1; i < (1 << order); i++)
> > > >  		set_page_refcounted(page + i);
> > > >  }
> > > > +EXPORT_SYMBOL_GPL(split_page);
> > > >
> > > >  static int __isolate_free_page(struct page *page, unsigned int order)
> > > >  {
> > > > --
> > > > 1.7.4.1
> > > >
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > > > the body of a message to majordomo@vger.kernel.org
> > > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > > Please read the FAQ at  http://www.tux.org/lkml/
> > >
> > > --
> > > Michal Hocko
> > > SUSE Labs
> > >
> >
> >
> > _______________________________________________
> > devel mailing list
> > devel@linuxdriverproject.org
> > http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
> >


--
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>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-03-28 20:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-18 20:51 [PATCH V2 0/3] Drivers: hv: balloon K. Y. Srinivasan
2013-03-18 20:51 ` [PATCH V2 1/3] mm: Export split_page() K. Y. Srinivasan
2013-03-18 20:51   ` [PATCH V2 2/3] Drivers: hv: balloon: Support 2M page allocations for ballooning K. Y. Srinivasan
2013-03-19 14:46     ` Michal Hocko
2013-03-19 14:53       ` KY Srinivasan
2013-03-18 20:51   ` [PATCH V2 3/3] Drivers: hv: Notify the host of permanent hot-add failures K. Y. Srinivasan
2013-03-19 14:13   ` [PATCH V2 1/3] mm: Export split_page() Michal Hocko
2013-03-19 21:39     ` KY Srinivasan
2013-03-25 13:18       ` KY Srinivasan
2013-03-28 20:25         ` KY Srinivasan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).