Skip to contentSkip to conversation

drivres/hv

DISCUSSION K. Y. Srinivasan 3 participants 6 messages Nov 2, 2012 – Nov 15, 2012

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

Greg,

Recently, I had re-sent a few patches. You have applied all the patches except the balloon driver related patches. Should I resend the balloon driver patches. Let me know.

Regards,

K. Y

#1 lore raw
Quoted 5 lines · K. Y. Srinivasan

Greg,

Recently, I had re-sent a few patches. You have applied all the patches except the balloon driver related patches. Should I resend the balloon driver patches. Let me know.

I can't apply the balloon driver until you get an ack from the maintainers of the code you were exporting the symbols from.

Get that, and then resend them, as they are long gone from my "to-apply" queue.

thanks,

greg k-h

#2 lore raw
Quoted 14 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Friday, November 02, 2012 7:37 PM
To: KY Srinivasan
Cc: [email protected]; [email protected]
Subject: Re: drivres/hv

Quoted 4 lines · K. Y. Srinivasan

Greg,

Recently, I had re-sent a few patches. You have applied all the patches except

Quoted 8 lines

the balloon driver

Quoted 1 line

related patches. Should I resend the balloon driver patches. Let me know.

I can't apply the balloon driver until you get an ack from the maintainers of the code you were exporting the symbols from.

Get that, and then resend them, as they are long gone from my "to-apply" queue.

I was under the impression Andrew was ok with the export - I have resent the original email from Andrew on this. Let me know if this is enough. I will resend the patches once I hear from you.

Regards,

K. Y

#3 lore raw
In reply to Greg KH
Quoted 14 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Friday, November 02, 2012 7:37 PM
To: KY Srinivasan
Cc: [email protected]; [email protected]
Subject: Re: drivres/hv

Quoted 4 lines · K. Y. Srinivasan

Greg,

Recently, I had re-sent a few patches. You have applied all the patches except

Quoted 8 lines

the balloon driver

Quoted 1 line

related patches. Should I resend the balloon driver patches. Let me know.

I can't apply the balloon driver until you get an ack from the maintainers of the code you were exporting the symbols from.

Get that, and then resend them, as they are long gone from my "to-apply" queue.

Greg,

Andrew has checked in my patch that exports the necessary function for Hyper-V balloon driver:

commit bb2495a71b8499bdfe207738bc88ffa91ebe0b0a

Author: K. Y. Srinivasan <[email protected]>
Date:   Thu Nov 15 13:37:59 2012 +1100

I had sent the new balloon driver that used this new function a few days ago. Should I resend the balloon driver. Let me know.

Regards,

K. Y

maintainer Acked-by David Rientjes Acked-by Dan Magenheimer
#4 lore raw
Quoted 28 lines · On Thu, 15 Nov 2012 22:22:06 +0000 KY Srinivasan <[email protected]> wrote:
Quoted 14 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Friday, November 02, 2012 7:37 PM
To: KY Srinivasan
Cc: [email protected]; [email protected]
Subject: Re: drivres/hv

Quoted 4 lines · K. Y. Srinivasan

Greg,

Recently, I had re-sent a few patches. You have applied all the patches except

Quoted 8 lines

the balloon driver

Quoted 1 line

related patches. Should I resend the balloon driver patches. Let me know.

I can't apply the balloon driver until you get an ack from the maintainers of the code you were exporting the symbols from.

Get that, and then resend them, as they are long gone from my "to-apply" queue.

Greg,

Andrew has checked in my patch that exports the necessary function for Hyper-V balloon driver:

Quoted 6 lines

commit bb2495a71b8499bdfe207738bc88ffa91ebe0b0a

Author: K. Y. Srinivasan <[email protected]>
Date:   Thu Nov 15 13:37:59 2012 +1100

I had sent the new balloon driver that used this new function a few days ago. Should I resend the balloon driver. Let me know.

I'll send this in to Linus later this week, to make life easier for everyone. Or Greg can grab it.

From: "K. Y. Srinivasan" <[email protected]>
Subject: mm: export a function to get vm committed memory

It will be useful to be able to access global memory commitment from device drivers. On the Hyper-V platform, the host has a policy engine to balance the available physical memory amongst all competing virtual machines hosted on a given node. This policy engine is driven by a number of metrics including the memory commitment reported by the guests. The balloon driver for Linux on Hyper-V will use this function to retrieve guest memory commitment. This function is also used in Xen self ballooning code.

---

 drivers/xen/xen-selfballoon.c |    2 +-
 include/linux/mman.h          |    2 ++
 mm/mmap.c                     |   14 ++++++++++++++
 mm/nommu.c                    |   15 +++++++++++++++
 4 files changed, 32 insertions(+), 1 deletion(-)
drivers/xen/xen-selfballoon.c renamed from drivers/xen/xen-selfballoon.c~mm-export-a-function-to-get-vm-committed-memory +1 -1
diff -puN drivers/xen/xen-selfballoon.c~mm-export-a-function-to-get-vm-committed-memory drivers/xen/xen-selfballoon.c
@@ -222,7 +222,7 @@ static void selfballoon_process(struct w
 	if (xen_selfballooning_enabled) {
 		cur_pages = totalram_pages;
 		tgt_pages = cur_pages; /* default is no change */
-		goal_pages = percpu_counter_read_positive(&vm_committed_as) +
+		goal_pages = vm_memory_committed() +
 				totalreserve_pages +
 				MB2PAGES(selfballoon_reserved_mb);
 #ifdef CONFIG_FRONTSWAP
include/linux/mman.h renamed from include/linux/mman.h~mm-export-a-function-to-get-vm-committed-memory +2 -0
diff -puN include/linux/mman.h~mm-export-a-function-to-get-vm-committed-memory include/linux/mman.h
@@ -11,6 +11,8 @@ extern int sysctl_overcommit_memory;
 extern int sysctl_overcommit_ratio;
 extern struct percpu_counter vm_committed_as;
 
+unsigned long vm_memory_committed(void);
+
 static inline void vm_acct_memory(long pages)
 {
 	percpu_counter_add(&vm_committed_as, pages);
mm/mmap.c renamed from mm/mmap.c~mm-export-a-function-to-get-vm-committed-memory +14 -0
diff -puN mm/mmap.c~mm-export-a-function-to-get-vm-committed-memory mm/mmap.c
@@ -89,6 +89,20 @@ int sysctl_max_map_count __read_mostly =
 struct percpu_counter vm_committed_as ____cacheline_aligned_in_smp;
 
 /*
+ * The global memory commitment made in the system can be a metric
+ * that can be used to drive ballooning decisions when Linux is hosted
+ * as a guest. On Hyper-V, the host implements a policy engine for dynamically
+ * balancing memory across competing virtual machines that are hosted.
+ * Several metrics drive this policy engine including the guest reported
+ * memory commitment.
+ */
+unsigned long vm_memory_committed(void)
+{
+	return percpu_counter_read_positive(&vm_committed_as);
+}
+EXPORT_SYMBOL_GPL(vm_memory_committed);
+
+/*
  * Check that a process has enough memory to allocate a new virtual
  * mapping. 0 means there is enough memory for the allocation to
  * succeed and -ENOMEM implies there is not.
mm/nommu.c renamed from mm/nommu.c~mm-export-a-function-to-get-vm-committed-memory +15 -0
diff -puN mm/nommu.c~mm-export-a-function-to-get-vm-committed-memory mm/nommu.c
@@ -66,6 +66,21 @@ int heap_stack_gap = 0;
 
 atomic_long_t mmap_pages_allocated;
 
+/*
+ * The global memory commitment made in the system can be a metric
+ * that can be used to drive ballooning decisions when Linux is hosted
+ * as a guest. On Hyper-V, the host implements a policy engine for dynamically
+ * balancing memory across competing virtual machines that are hosted.
+ * Several metrics drive this policy engine including the guest reported
+ * memory commitment.
+ */
+unsigned long vm_memory_committed(void)
+{
+	return percpu_counter_read_positive(&vm_committed_as);
+}
+
+EXPORT_SYMBOL_GPL(vm_memory_committed);
+
 EXPORT_SYMBOL(mem_map);
 EXPORT_SYMBOL(num_physpages);
 

_

#5 lore raw
Quoted 35 lines · Andrew Morton
Quoted 32 lines · On Thu, 15 Nov 2012 22:22:06 +0000 KY Srinivasan <[email protected]> wrote:
Quoted 14 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Friday, November 02, 2012 7:37 PM
To: KY Srinivasan
Cc: [email protected]; [email protected]
Subject: Re: drivres/hv

Quoted 4 lines · K. Y. Srinivasan

Greg,

Recently, I had re-sent a few patches. You have applied all the patches except

Quoted 8 lines

the balloon driver

Quoted 1 line

related patches. Should I resend the balloon driver patches. Let me know.

I can't apply the balloon driver until you get an ack from the maintainers of the code you were exporting the symbols from.

Get that, and then resend them, as they are long gone from my "to-apply" queue.

Greg,

Andrew has checked in my patch that exports the necessary function for Hyper-V balloon driver:

commit bb2495a71b8499bdfe207738bc88ffa91ebe0b0a

Author: K. Y. Srinivasan <[email protected]>
Date:   Thu Nov 15 13:37:59 2012 +1100
Quoted 5 lines
Quoted 2 lines

I had sent the new balloon driver that used this new function a few days ago. Should I resend the balloon driver. Let me know.

I'll send this in to Linus later this week, to make life easier for everyone. Or Greg can grab it.

I'll grab it.

thanks,

greg k-h