<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/misc/vmw_balloon.c, branch v4.7.3</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.7.3</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.7.3'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2015-11-07T01:50:42+00:00</updated>
<entry>
<title>mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM</title>
<updated>2015-11-07T01:50:42+00:00</updated>
<author>
<name>Mel Gorman</name>
<email>mgorman@techsingularity.net</email>
</author>
<published>2015-11-07T00:28:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=71baba4b92dc1fa1bc461742c6ab1942ec6034e9'/>
<id>urn:sha1:71baba4b92dc1fa1bc461742c6ab1942ec6034e9</id>
<content type='text'>
__GFP_WAIT was used to signal that the caller was in atomic context and
could not sleep.  Now it is possible to distinguish between true atomic
context and callers that are not willing to sleep.  The latter should
clear __GFP_DIRECT_RECLAIM so kswapd will still wake.  As clearing
__GFP_WAIT behaves differently, there is a risk that people will clear the
wrong flags.  This patch renames __GFP_WAIT to __GFP_RECLAIM to clearly
indicate what it does -- setting it allows all reclaim activity, clearing
them prevents it.

[akpm@linux-foundation.org: fix build]
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Mel Gorman &lt;mgorman@techsingularity.net&gt;
Acked-by: Michal Hocko &lt;mhocko@suse.com&gt;
Acked-by: Vlastimil Babka &lt;vbabka@suse.cz&gt;
Acked-by: Johannes Weiner &lt;hannes@cmpxchg.org&gt;
Cc: Christoph Lameter &lt;cl@linux.com&gt;
Acked-by: David Rientjes &lt;rientjes@google.com&gt;
Cc: Vitaly Wool &lt;vitalywool@gmail.com&gt;
Cc: Rik van Riel &lt;riel@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>VMware balloon: Enable notification via VMCI</title>
<updated>2015-10-04T11:59:11+00:00</updated>
<author>
<name>Philip P. Moltmann</name>
<email>moltmann@vmware.com</email>
</author>
<published>2015-08-06T22:18:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=48e3d668b7902cca3c61e9e2098e7f76b5646c28'/>
<id>urn:sha1:48e3d668b7902cca3c61e9e2098e7f76b5646c28</id>
<content type='text'>
Get notified immediately when a balloon target is set, instead of waiting for
up to one second.

The up-to 1 second gap could be long enough to cause swapping inside of the
VM that receives the VM.

Acked-by: Andy King &lt;acking@vmware.com&gt;
Signed-off-by: Xavier Deguillard &lt;xdeguillard@vmware.com&gt;
Tested-by: Siva Sankar Reddy B &lt;sankars@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>VMware balloon: Treat init like reset</title>
<updated>2015-10-04T11:59:11+00:00</updated>
<author>
<name>Philip P. Moltmann</name>
<email>moltmann@vmware.com</email>
</author>
<published>2015-08-06T22:18:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d7568c130d0d0ff1fc5b364fc879b91f108a3d54'/>
<id>urn:sha1:d7568c130d0d0ff1fc5b364fc879b91f108a3d54</id>
<content type='text'>
Unify the behavior of the first start of the balloon and a reset. Also on
unload, declare that the balloon driver does not have any capabilities
anymore.

Acked-by: Andy King &lt;acking@vmware.com&gt;
Signed-off-by: Xavier Deguillard &lt;xdeguillard@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>VMware balloon: Support 2m page ballooning.</title>
<updated>2015-10-04T11:59:11+00:00</updated>
<author>
<name>Philip P. Moltmann</name>
<email>moltmann@vmware.com</email>
</author>
<published>2015-08-06T22:18:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=365bd7ef7ec8eb9c2e081cd970a5cdfa237dc243'/>
<id>urn:sha1:365bd7ef7ec8eb9c2e081cd970a5cdfa237dc243</id>
<content type='text'>
2m ballooning significantly reduces the hypervisor side (and guest side)
overhead of ballooning and unballooning.

hypervisor only:
      balloon  unballoon
4 KB  2 GB/s   2.6 GB/s
2 MB  54 GB/s  767 GB/s

Use 2 MB pages as the hypervisor is alwys 64bit and 2 MB is the smallest
supported super-page size.

The code has to run on older versions of ESX and old balloon drivers run on
newer version of ESX. Hence match the capabilities with the host before 2m
page ballooning could be enabled.

Signed-off-by: Xavier Deguillard &lt;xdeguillard@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>VMware balloon: Do not limit the amount of frees and allocations in non-sleep mode.</title>
<updated>2015-10-04T11:59:11+00:00</updated>
<author>
<name>Philip P. Moltmann</name>
<email>moltmann@vmware.com</email>
</author>
<published>2015-08-06T22:18:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=33d268ed00190e8bc642508f9eb2f3f9ac0a1569'/>
<id>urn:sha1:33d268ed00190e8bc642508f9eb2f3f9ac0a1569</id>
<content type='text'>
When VMware's hypervisor requests a VM to reclaim memory this is preferrably done
via ballooning. If the balloon driver does not return memory fast enough, more
drastic methods, such as hypervisor-level swapping are needed. These other methods
cause performance issues, e.g. hypervisor-level swapping requires the hypervisor to
swap in a page syncronously while the virtual CPU is blocked.

Hence it is in the interest of the VM to balloon memory as fast as possible. The
problem with doing this is that the VM might end up doing nothing else than
ballooning and the user might notice that the VM is stalled, esp. when the VM has
only a single virtual CPU.

This is less of a problem if the VM and the hypervisor perform balloon operations
faster. Also the balloon driver yields regularly, hence on a single virtual CPU
the Linux scheduler should be able to properly time-slice between ballooning and
other tasks.

Testing Done: quickly ballooned a lot of pages while wathing if there are any
perceived hickups (periods of non-responsiveness) in the execution of the
linux VM. No such hickups were seen.

Signed-off-by: Xavier Deguillard &lt;xdeguillard@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>VMware balloon: Show capabilities of balloon and resulting capabilities in the debug-fs node.</title>
<updated>2015-10-04T11:59:11+00:00</updated>
<author>
<name>Philip P. Moltmann</name>
<email>moltmann@vmware.com</email>
</author>
<published>2015-08-06T22:18:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b36e89da86022c04fa5e7c32f0d55c1ba23c1ab8'/>
<id>urn:sha1:b36e89da86022c04fa5e7c32f0d55c1ba23c1ab8</id>
<content type='text'>
This helps with debugging vmw_balloon behavior, as it is clear what
functionality is enabled.

Acked-by: Andy King &lt;acking@vmware.com&gt;
Signed-off-by: Xavier Deguillard &lt;xdeguillard@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>VMware balloon: Update balloon target on each lock/unlock.</title>
<updated>2015-10-04T11:59:11+00:00</updated>
<author>
<name>Xavier Deguillard</name>
<email>xdeguillard@vmware.com</email>
</author>
<published>2015-08-06T22:17:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4670de4d7fe9532c8c7c7fe2d0c297b319086854'/>
<id>urn:sha1:4670de4d7fe9532c8c7c7fe2d0c297b319086854</id>
<content type='text'>
Instead of waiting for the next GET_TARGET command, we can react faster
by exploiting the fact that each hypervisor call also returns the
balloon target.

Signed-off-by: Xavier Deguillard &lt;xdeguillard@vmware.com&gt;
Acked-by: Dmitry Torokhov &lt;dtor@vmware.com&gt;
Signed-off-by: Philip P. Moltmann &lt;moltmann@vmware.com&gt;
Acked-by: Andy King &lt;acking@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>VMware balloon: add batching to the vmw_balloon.</title>
<updated>2015-10-04T11:59:11+00:00</updated>
<author>
<name>Xavier Deguillard</name>
<email>xdeguillard@vmware.com</email>
</author>
<published>2015-08-06T22:17:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f220a80f0c2e790e445ee6b7d90759292b4c3a66'/>
<id>urn:sha1:f220a80f0c2e790e445ee6b7d90759292b4c3a66</id>
<content type='text'>
Introduce a new capability to the driver that allow sending 512 pages in
one hypervisor call. This reduce the cost of the driver when reclaiming
memory.

Signed-off-by: Xavier Deguillard &lt;xdeguillard@vmware.com&gt;
Acked-by: Dmitry Torokhov &lt;dtor@vmware.com&gt;
Signed-off-by: Philip P. Moltmann &lt;moltmann@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>VMware balloon: Add support for balloon capabilities.</title>
<updated>2015-08-05T20:17:53+00:00</updated>
<author>
<name>Xavier Deguillard</name>
<email>xdeguillard@vmware.com</email>
</author>
<published>2015-06-12T18:43:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=eb79100fe6a696bfbad21aaf8e373d72763c7462'/>
<id>urn:sha1:eb79100fe6a696bfbad21aaf8e373d72763c7462</id>
<content type='text'>
In order to extend the balloon protocol, the hypervisor and the guest
driver need to agree on a set of supported functionality to use.

Signed-off-by: Xavier Deguillard &lt;xdeguillard@vmware.com&gt;
Acked-by: Dmitry Torokhov &lt;dtor@vmware.com&gt;
Signed-off-by: Philip P. Moltmann &lt;moltmann@vmware.com&gt;
Acked-by: Andy King &lt;acking@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>VMware balloon: partially inline vmballoon_reserve_page.</title>
<updated>2015-08-05T20:17:23+00:00</updated>
<author>
<name>Xavier Deguillard</name>
<email>xdeguillard@vmware.com</email>
</author>
<published>2015-06-12T18:43:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ef0f8f1129844cab9b0fb14aab0d7d7598d81103'/>
<id>urn:sha1:ef0f8f1129844cab9b0fb14aab0d7d7598d81103</id>
<content type='text'>
This split the function in two: the allocation part is inlined into the
inflate function and the lock part is kept into his own function.

This change is needed in order to be able to allocate more than one page
before doing the hypervisor call.

Signed-off-by: Xavier Deguillard &lt;xdeguillard@vmware.com&gt;
Acked-by: Dmitry Torokhov &lt;dtor@vmware.com&gt;
Signed-off-by: Philip P. Moltmann &lt;moltmann@vmware.com&gt;
Acked-by: Andy King &lt;acking@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
