30 May, 2011

1 commit

  • It's unclear to me if it's important, but it's obviously causing my
    technical colleages some headaches and I'd hate such imprecision to
    slow virtio adoption.

    I've emailed this to all non-trivial contributors for approval, too.

    Signed-off-by: Rusty Russell
    Acked-by: Grant Likely
    Acked-by: Ryan Harper
    Acked-by: Anthony Liguori
    Acked-by: Eric Van Hensbergen
    Acked-by: john cooper
    Acked-by: Aneesh Kumar K.V
    Acked-by: Christian Borntraeger
    Acked-by: Fernando Luis Vazquez Cao

    Rusty Russell
     

24 Feb, 2010

1 commit

  • Changes since V3:
    - Do not do endian conversions as they will be done in the host
    - Report stats that reference a quantity of memory in bytes
    - Minor coding style updates

    Changes since V2:
    - Increase stat field size to 64 bits
    - Report all sizes in kb (not pages)
    - Drop anon_pages stat and fix endianness conversion

    Changes since V1:
    - Use a virtqueue instead of the device config space

    When using ballooning to manage overcommitted memory on a host, a system for
    guests to communicate their memory usage to the host can provide information
    that will minimize the impact of ballooning on the guests. The current method
    employs a daemon running in each guest that communicates memory statistics to a
    host daemon at a specified time interval. The host daemon aggregates this
    information and inflates and/or deflates balloons according to the level of
    host memory pressure. This approach is effective but overly complex since a
    daemon must be installed inside each guest and coordinated to communicate with
    the host. A simpler approach is to collect memory statistics in the virtio
    balloon driver and communicate them directly to the hypervisor.

    This patch enables the guest-side support by adding stats collection and
    reporting to the virtio balloon driver.

    Signed-off-by: Adam Litke
    Cc: Anthony Liguori
    Cc: virtualization@lists.linux-foundation.org
    Signed-off-by: Rusty Russell (minor fixes)

    Adam Litke
     

22 Oct, 2009

1 commit

  • Rusty,

    commit 3ca4f5ca73057a617f9444a91022d7127041970a
    virtio: add virtio IDs file
    moved all device IDs into a single file. While the change itself is
    a very good one, it can break userspace applications. For example
    if a userspace tool wanted to get the ID of virtio_net it used to
    include virtio_net.h. This does no longer work, since virtio_net.h
    does not include virtio_ids.h.
    This patch moves all "#include " from the C
    files into the header files, making the header files compatible with
    the old ones.

    In addition, this patch exports virtio_ids.h to userspace.

    CC: Fernando Luis Vazquez Cao
    Signed-off-by: Christian Borntraeger
    Signed-off-by: Rusty Russell

    Christian Borntraeger
     

23 Sep, 2009

1 commit


30 Dec, 2008

1 commit


25 Jul, 2008

1 commit


04 Feb, 2008

1 commit

  • After discussions with Anthony Liguori, it seems that the virtio
    balloon can be made even simpler. Here's my attempt.

    The device configuration tells the driver how much memory it should
    take from the guest (ie. balloon size). The guest feeds the page
    numbers it has taken via one virtqueue.

    A second virtqueue feeds the page numbers the driver wants back: if
    the device has the VIRTIO_BALLOON_F_MUST_TELL_HOST bit, then this
    queue is compulsory, otherwise it's advisory (and the guest can simply
    fault the pages back in).

    This driver can be enhanced later to deflate the balloon via a
    shrinker, oom callback or we could even go for a complete set of
    in-guest regulators.

    Signed-off-by: Rusty Russell

    Rusty Russell