[libvirt] [PATCH v2 0/2] Rework RPC message buffer

Michal Privoznik mprivozn at redhat.com
Tue May 15 15:04:32 UTC 2012


This patch set tries to fix corner cases where libvirt runs on huge
system, e.g. 4K CPU monster. In these cases, capabilities XML is
enormously big, as we are transferring info about each singe CPU core
(to which NUMA node it belongs, etc.). This XML is bigger than our
RPC limit, therefore users cannot get it as it is dropped on server,
leaving them with inability to connect. Therefore we need to increase
those limits (whole RPC message and RPC string). However, simple
lifting up will work, but increase mem usage.

Therefore I've reworked RPC buffer handling: changed it from
'statically' to dynamically allocated.
So in most cases - when small messages are sent - this will even
decrease our memory consumption. Leaving us flexible for corner cases
described above.

On the other hand, I realize we've had our history with RPC breakage.
So I think I'll require more than 1 ACK before pushing.

diff to v1:
-couple of fixes (1/2)
-increased other limits as well (2/2)

Michal Privoznik (2):
  rpc: Switch to dynamically allocated message buffer
  rpc: Size up RPC limits

 src/remote/remote_protocol.x |   20 +-
 src/rpc/virnetclient.c       |   16 ++-
 src/rpc/virnetmessage.c      |   12 ++-
 src/rpc/virnetmessage.h      |    5 +-
 src/rpc/virnetprotocol.x     |    6 +-
 src/rpc/virnetserverclient.c |   24 +++-
 tests/virnetmessagetest.c    |  393 +++++++++++++++++++++++-------------------
 7 files changed, 279 insertions(+), 197 deletions(-)

-- 
1.7.8.5




More information about the libvir-list mailing list