All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v12 0/8] Virtio-balloon Enhancement
@ 2017-07-12 12:40 ` Wei Wang
  0 siblings, 0 replies; 290+ messages in thread
From: Wei Wang @ 2017-07-12 12:40 UTC (permalink / raw)
  To: linux-kernel, qemu-devel, virtualization, kvm, linux-mm, mst,
	david, cornelia.huck, akpm, mgorman, aarcange, amit.shah,
	pbonzini, wei.w.wang, liliang.opensource
  Cc: virtio-dev, yang.zhang.wz, quan.xu

This patch series enhances the existing virtio-balloon with the following new
features:
1) fast ballooning: transfer ballooned pages between the guest and host in
chunks using sgs, instead of one by one; and
2) cmdq: a new virtqueue to send commands between the device and driver.
Currently, it supports commands to report memory stats (replace the old statq
mechanism) and report guest unused pages.

Change Log:

v11->v12:
1) xbitmap: use the xbitmap from Matthew Wilcox to record ballooned pages.
2) virtio-ring: enable the driver to build up a desc chain using vring desc.
3) virtio-ring: Add locking to the existing START_USE() and END_USE() macro
to lock/unlock the vq when a vq operation starts/ends.
4) virtio-ring: add virtqueue_kick_sync() and virtqueue_kick_async()
5) virtio-balloon: describe chunks of ballooned pages and free pages blocks
directly using one or more chains of desc from the vq.

v10->v11:
1) virtio_balloon: use vring_desc to describe a chunk;
2) virtio_ring: support to add an indirect desc table to virtqueue;
3)  virtio_balloon: use cmdq to report guest memory statistics.

v9->v10:
1) mm: put report_unused_page_block() under CONFIG_VIRTIO_BALLOON;
2) virtio-balloon: add virtballoon_validate();
3) virtio-balloon: msg format change;
4) virtio-balloon: move miscq handling to a task on system_freezable_wq;
5) virtio-balloon: code cleanup.

v8->v9:
1) Split the two new features, VIRTIO_BALLOON_F_BALLOON_CHUNKS and
VIRTIO_BALLOON_F_MISC_VQ, which were mixed together in the previous
implementation;
2) Simpler function to get the free page block.

v7->v8:
1) Use only one chunk format, instead of two.
2) re-write the virtio-balloon implementation patch.
3) commit changes
4) patch re-org

Liang Li (1):
  virtio-balloon: deflate via a page list

Matthew Wilcox (1):
  Introduce xbitmap

Wei Wang (6):
  virtio-balloon: coding format cleanup
  xbitmap: add xb_find_next_bit() and xb_zero()
  virtio-balloon: VIRTIO_BALLOON_F_SG
  mm: support reporting free page blocks
  mm: export symbol of next_zone and first_online_pgdat
  virtio-balloon: VIRTIO_BALLOON_F_CMD_VQ

 drivers/virtio/virtio_balloon.c     | 414 ++++++++++++++++++++++++++++++++----
 drivers/virtio/virtio_ring.c        | 224 +++++++++++++++++--
 include/linux/mm.h                  |   5 +
 include/linux/radix-tree.h          |   2 +
 include/linux/virtio.h              |  22 ++
 include/linux/xbitmap.h             |  53 +++++
 include/uapi/linux/virtio_balloon.h |  11 +
 lib/radix-tree.c                    | 164 +++++++++++++-
 mm/mmzone.c                         |   2 +
 mm/page_alloc.c                     |  96 +++++++++
 10 files changed, 926 insertions(+), 67 deletions(-)
 create mode 100644 include/linux/xbitmap.h

-- 
2.7.4

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

end of thread, other threads:[~2017-07-31 22:18 UTC | newest]

Thread overview: 290+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-12 12:40 [PATCH v12 0/8] Virtio-balloon Enhancement Wei Wang
2017-07-12 12:40 ` [virtio-dev] " Wei Wang
2017-07-12 12:40 ` [Qemu-devel] " Wei Wang
2017-07-12 12:40 ` Wei Wang
2017-07-12 12:40 ` [PATCH v12 1/8] virtio-balloon: deflate via a page list Wei Wang
2017-07-12 12:40 ` Wei Wang
2017-07-12 12:40   ` [virtio-dev] " Wei Wang
2017-07-12 12:40   ` [Qemu-devel] " Wei Wang
2017-07-12 12:40   ` Wei Wang
2017-07-12 12:40 ` [PATCH v12 2/8] virtio-balloon: coding format cleanup Wei Wang
2017-07-12 12:40   ` [virtio-dev] " Wei Wang
2017-07-12 12:40   ` [Qemu-devel] " Wei Wang
2017-07-12 12:40   ` Wei Wang
2017-07-12 12:40 ` Wei Wang
2017-07-12 12:40 ` [PATCH v12 3/8] Introduce xbitmap Wei Wang
2017-07-12 12:40   ` [virtio-dev] " Wei Wang
2017-07-12 12:40   ` [Qemu-devel] " Wei Wang
2017-07-12 12:40   ` Wei Wang
2017-07-12 12:40 ` Wei Wang
2017-07-12 12:40 ` [PATCH v12 4/8] xbitmap: add xb_find_next_bit() and xb_zero() Wei Wang
2017-07-12 12:40   ` [virtio-dev] " Wei Wang
2017-07-12 12:40   ` [Qemu-devel] " Wei Wang
2017-07-12 12:40   ` Wei Wang
2017-07-12 12:40 ` Wei Wang
2017-07-12 12:40 ` [PATCH v12 5/8] virtio-balloon: VIRTIO_BALLOON_F_SG Wei Wang
2017-07-12 12:40 ` Wei Wang
2017-07-12 12:40   ` [virtio-dev] " Wei Wang
2017-07-12 12:40   ` [Qemu-devel] " Wei Wang
2017-07-12 12:40   ` Wei Wang
2017-07-12 13:06   ` Michael S. Tsirkin
2017-07-12 13:06     ` [virtio-dev] " Michael S. Tsirkin
2017-07-12 13:06     ` [Qemu-devel] " Michael S. Tsirkin
2017-07-12 13:06     ` Michael S. Tsirkin
2017-07-12 13:29     ` Wei Wang
2017-07-12 13:29     ` Wei Wang
2017-07-12 13:29       ` [virtio-dev] " Wei Wang
2017-07-12 13:29       ` [Qemu-devel] " Wei Wang
2017-07-12 13:29       ` Wei Wang
2017-07-12 13:56       ` Michael S. Tsirkin
2017-07-12 13:56         ` [virtio-dev] " Michael S. Tsirkin
2017-07-12 13:56         ` [Qemu-devel] " Michael S. Tsirkin
2017-07-12 13:56         ` Michael S. Tsirkin
2017-07-13  7:42         ` Wei Wang
2017-07-13  7:42           ` [virtio-dev] " Wei Wang
2017-07-13  7:42           ` [Qemu-devel] " Wei Wang
2017-07-13  7:42           ` Wei Wang
2017-07-13 20:19           ` Michael S. Tsirkin
2017-07-13 20:19             ` [virtio-dev] " Michael S. Tsirkin
2017-07-13 20:19             ` [Qemu-devel] " Michael S. Tsirkin
2017-07-13 20:19             ` Michael S. Tsirkin
2017-07-14  7:12             ` Wei Wang
2017-07-14  7:12             ` Wei Wang
2017-07-14  7:12               ` [virtio-dev] " Wei Wang
2017-07-14  7:12               ` [Qemu-devel] " Wei Wang
2017-07-14  7:12               ` Wei Wang
2017-07-23  1:45               ` Michael S. Tsirkin
2017-07-23  1:45                 ` [virtio-dev] " Michael S. Tsirkin
2017-07-23  1:45                 ` [Qemu-devel] " Michael S. Tsirkin
2017-07-23  1:45                 ` Michael S. Tsirkin
2017-07-26  3:48                 ` Wei Wang
2017-07-26  3:48                 ` Wei Wang
2017-07-26  3:48                   ` [virtio-dev] " Wei Wang
2017-07-26  3:48                   ` [Qemu-devel] " Wei Wang
2017-07-26  3:48                   ` Wei Wang
2017-07-26 17:02                   ` Michael S. Tsirkin
2017-07-26 17:02                   ` Michael S. Tsirkin
2017-07-26 17:02                     ` [virtio-dev] " Michael S. Tsirkin
2017-07-26 17:02                     ` [Qemu-devel] " Michael S. Tsirkin
2017-07-26 17:02                     ` Michael S. Tsirkin
2017-07-27  2:50                     ` Wei Wang
2017-07-27  2:50                     ` Wei Wang
2017-07-27  2:50                       ` [virtio-dev] " Wei Wang
2017-07-27  2:50                       ` [Qemu-devel] " Wei Wang
2017-07-27  2:50                       ` Wei Wang
2017-07-28 23:08                       ` Michael S. Tsirkin
2017-07-28 23:08                         ` [virtio-dev] " Michael S. Tsirkin
2017-07-28 23:08                         ` [Qemu-devel] " Michael S. Tsirkin
2017-07-28 23:08                         ` Michael S. Tsirkin
2017-07-29 12:47                         ` Wei Wang
2017-07-29 12:47                           ` [virtio-dev] " Wei Wang
2017-07-29 12:47                           ` [Qemu-devel] " Wei Wang
2017-07-29 12:47                           ` Wei Wang
2017-07-29 12:47                           ` Wei Wang
2017-07-30  4:22                           ` Michael S. Tsirkin
2017-07-30  4:22                           ` Michael S. Tsirkin
2017-07-30  4:22                             ` [virtio-dev] " Michael S. Tsirkin
2017-07-30  4:22                             ` [Qemu-devel] " Michael S. Tsirkin
2017-07-30  4:22                             ` Michael S. Tsirkin
2017-07-30  5:59                             ` Wang, Wei W
2017-07-30  5:59                               ` [Qemu-devel] " Wang, Wei W
2017-07-30  5:59                               ` Wang, Wei W
2017-07-30 16:18                               ` Michael S. Tsirkin
2017-07-30 16:18                                 ` [Qemu-devel] " Michael S. Tsirkin
2017-07-30 16:18                                 ` Michael S. Tsirkin
2017-07-30 16:18                                 ` Michael S. Tsirkin
2017-07-30 16:20                                 ` Michael S. Tsirkin
2017-07-30 16:20                                 ` Michael S. Tsirkin
2017-07-30 16:20                                   ` [Qemu-devel] " Michael S. Tsirkin
2017-07-30 16:20                                   ` Michael S. Tsirkin
2017-07-30 16:20                                   ` Michael S. Tsirkin
2017-07-31 12:36                                   ` Wei Wang
2017-07-31 12:36                                   ` Wei Wang
2017-07-31 12:36                                     ` [virtio-dev] " Wei Wang
2017-07-31 12:36                                     ` [Qemu-devel] " Wei Wang
2017-07-31 12:36                                     ` Wei Wang
2017-07-30 16:18                               ` Michael S. Tsirkin
2017-07-30  5:59                             ` Wang, Wei W
2017-07-28 23:08                       ` Michael S. Tsirkin
2017-07-23  1:45               ` Michael S. Tsirkin
2017-07-13 20:19           ` Michael S. Tsirkin
2017-07-13  7:42         ` Wei Wang
2017-07-12 13:56       ` Michael S. Tsirkin
2017-07-12 13:06   ` Michael S. Tsirkin
2017-07-13  0:44   ` Michael S. Tsirkin
2017-07-13  0:44   ` Michael S. Tsirkin
2017-07-13  0:44     ` [virtio-dev] " Michael S. Tsirkin
2017-07-13  0:44     ` [Qemu-devel] " Michael S. Tsirkin
2017-07-13  0:44     ` Michael S. Tsirkin
2017-07-13  1:16   ` kbuild test robot
2017-07-13  1:16     ` [Qemu-devel] " kbuild test robot
2017-07-13  1:16     ` kbuild test robot
2017-07-13  1:16   ` kbuild test robot
2017-07-13  4:21   ` kbuild test robot
2017-07-13  4:21     ` [Qemu-devel] " kbuild test robot
2017-07-13  4:21     ` kbuild test robot
2017-07-13  4:21   ` kbuild test robot
2017-07-28  8:25   ` Wei Wang
2017-07-28  8:25     ` [virtio-dev] " Wei Wang
2017-07-28  8:25     ` [Qemu-devel] " Wei Wang
2017-07-28  8:25     ` Wei Wang
2017-07-28 23:01     ` Michael S. Tsirkin
2017-07-28 23:01     ` Michael S. Tsirkin
2017-07-28 23:01       ` [virtio-dev] " Michael S. Tsirkin
2017-07-28 23:01       ` [Qemu-devel] " Michael S. Tsirkin
2017-07-28 23:01       ` Michael S. Tsirkin
2017-07-28  8:25   ` Wei Wang
2017-07-12 12:40 ` [PATCH v12 6/8] mm: support reporting free page blocks Wei Wang
2017-07-12 12:40   ` [virtio-dev] " Wei Wang
2017-07-12 12:40   ` [Qemu-devel] " Wei Wang
2017-07-12 12:40   ` Wei Wang
2017-07-13  0:33   ` Michael S. Tsirkin
2017-07-13  0:33   ` Michael S. Tsirkin
2017-07-13  0:33     ` [virtio-dev] " Michael S. Tsirkin
2017-07-13  0:33     ` [Qemu-devel] " Michael S. Tsirkin
2017-07-13  0:33     ` Michael S. Tsirkin
2017-07-13  8:25     ` Wei Wang
2017-07-13  8:25       ` [virtio-dev] " Wei Wang
2017-07-13  8:25       ` [Qemu-devel] " Wei Wang
2017-07-13  8:25       ` Wei Wang
2017-07-13  8:25     ` Wei Wang
2017-07-14 12:30   ` Michal Hocko
2017-07-14 12:30     ` [Qemu-devel] " Michal Hocko
2017-07-14 12:30     ` Michal Hocko
2017-07-14 12:54     ` Michal Hocko
2017-07-14 12:54       ` [Qemu-devel] " Michal Hocko
2017-07-14 12:54       ` Michal Hocko
2017-07-14 15:46       ` Michael S. Tsirkin
2017-07-14 15:46       ` Michael S. Tsirkin
2017-07-14 15:46         ` [virtio-dev] " Michael S. Tsirkin
2017-07-14 15:46         ` [Qemu-devel] " Michael S. Tsirkin
2017-07-14 15:46         ` Michael S. Tsirkin
2017-07-14 12:54     ` Michal Hocko
2017-07-14 19:17     ` Michael S. Tsirkin
2017-07-14 19:17       ` [virtio-dev] " Michael S. Tsirkin
2017-07-14 19:17       ` [Qemu-devel] " Michael S. Tsirkin
2017-07-14 19:17       ` Michael S. Tsirkin
2017-07-17 15:24       ` Michal Hocko
2017-07-17 15:24       ` Michal Hocko
2017-07-17 15:24         ` [Qemu-devel] " Michal Hocko
2017-07-17 15:24         ` Michal Hocko
2017-07-18  2:12         ` Wei Wang
2017-07-18  2:12           ` [virtio-dev] " Wei Wang
2017-07-18  2:12           ` [Qemu-devel] " Wei Wang
2017-07-18  2:12           ` Wei Wang
2017-07-18  2:12           ` Wei Wang
2017-07-19  8:13           ` Michal Hocko
2017-07-19  8:13             ` [Qemu-devel] " Michal Hocko
2017-07-19  8:13             ` Michal Hocko
2017-07-19 12:01             ` Wei Wang
2017-07-19 12:01             ` Wei Wang
2017-07-19 12:01               ` [virtio-dev] " Wei Wang
2017-07-19 12:01               ` [Qemu-devel] " Wei Wang
2017-07-19 12:01               ` Wei Wang
2017-07-24  9:00               ` Michal Hocko
2017-07-24  9:00                 ` [Qemu-devel] " Michal Hocko
2017-07-24  9:00                 ` Michal Hocko
2017-07-25  9:32                 ` Wei Wang
2017-07-25  9:32                 ` Wei Wang
2017-07-25  9:32                   ` [virtio-dev] " Wei Wang
2017-07-25  9:32                   ` [Qemu-devel] " Wei Wang
2017-07-25  9:32                   ` Wei Wang
2017-07-25 11:25                   ` Michal Hocko
2017-07-25 11:25                   ` Michal Hocko
2017-07-25 11:25                     ` [Qemu-devel] " Michal Hocko
2017-07-25 11:25                     ` Michal Hocko
2017-07-25 11:56                     ` Wei Wang
2017-07-25 11:56                       ` [virtio-dev] " Wei Wang
2017-07-25 11:56                       ` [Qemu-devel] " Wei Wang
2017-07-25 11:56                       ` Wei Wang
2017-07-25 12:41                       ` Michal Hocko
2017-07-25 12:41                         ` [Qemu-devel] " Michal Hocko
2017-07-25 12:41                         ` Michal Hocko
2017-07-25 12:41                         ` Michal Hocko
2017-07-25 14:47                         ` Wang, Wei W
2017-07-25 14:47                         ` Wang, Wei W
2017-07-25 14:47                           ` [virtio-dev] " Wang, Wei W
2017-07-25 14:47                           ` [Qemu-devel] " Wang, Wei W
2017-07-25 14:47                           ` Wang, Wei W
2017-07-25 14:47                           ` Wang, Wei W
2017-07-25 14:53                           ` Michal Hocko
2017-07-25 14:53                             ` [Qemu-devel] " Michal Hocko
2017-07-25 14:53                             ` Michal Hocko
2017-07-25 14:53                             ` Michal Hocko
2017-07-26  2:22                             ` Wei Wang
2017-07-26  2:22                             ` Wei Wang
2017-07-26  2:22                               ` [virtio-dev] " Wei Wang
2017-07-26  2:22                               ` [Qemu-devel] " Wei Wang
2017-07-26  2:22                               ` Wei Wang
2017-07-26  2:22                               ` Wei Wang
2017-07-26 10:24                               ` Michal Hocko
2017-07-26 10:24                                 ` [Qemu-devel] " Michal Hocko
2017-07-26 10:24                                 ` Michal Hocko
2017-07-26 10:24                                 ` Michal Hocko
2017-07-26 11:44                                 ` Wei Wang
2017-07-26 11:44                                   ` [virtio-dev] " Wei Wang
2017-07-26 11:44                                   ` [Qemu-devel] " Wei Wang
2017-07-26 11:44                                   ` Wei Wang
2017-07-26 11:44                                   ` Wei Wang
2017-07-26 11:55                                   ` Michal Hocko
2017-07-26 11:55                                   ` Michal Hocko
2017-07-26 11:55                                     ` [Qemu-devel] " Michal Hocko
2017-07-26 11:55                                     ` Michal Hocko
2017-07-26 11:55                                     ` Michal Hocko
2017-07-26 12:47                                     ` Wang, Wei W
2017-07-26 12:47                                     ` Wang, Wei W
2017-07-26 12:47                                       ` [virtio-dev] " Wang, Wei W
2017-07-26 12:47                                       ` [Qemu-devel] " Wang, Wei W
2017-07-26 12:47                                       ` Wang, Wei W
2017-07-26 12:47                                       ` Wang, Wei W
2017-07-26 10:24                               ` Michal Hocko
2017-07-25 11:56                     ` Wei Wang
2017-07-24  9:00               ` Michal Hocko
2017-07-19  8:13           ` Michal Hocko
2017-07-14 19:17     ` Michael S. Tsirkin
2017-07-14 12:30   ` Michal Hocko
2017-07-12 12:40 ` Wei Wang
2017-07-12 12:40 ` [PATCH v12 7/8] mm: export symbol of next_zone and first_online_pgdat Wei Wang
2017-07-12 12:40 ` Wei Wang
2017-07-12 12:40   ` [virtio-dev] " Wei Wang
2017-07-12 12:40   ` [Qemu-devel] " Wei Wang
2017-07-12 12:40   ` Wei Wang
2017-07-13  0:16   ` Michael S. Tsirkin
2017-07-13  0:16     ` [virtio-dev] " Michael S. Tsirkin
2017-07-13  0:16     ` [Qemu-devel] " Michael S. Tsirkin
2017-07-13  0:16     ` Michael S. Tsirkin
2017-07-13  8:41     ` [virtio-dev] " Wei Wang
2017-07-13  8:41       ` Wei Wang
2017-07-13  8:41       ` [Qemu-devel] " Wei Wang
2017-07-13  8:41       ` Wei Wang
2017-07-13  8:41     ` Wei Wang
2017-07-13  0:16   ` Michael S. Tsirkin
2017-07-14 12:31   ` Michal Hocko
2017-07-14 12:31   ` Michal Hocko
2017-07-14 12:31     ` [Qemu-devel] " Michal Hocko
2017-07-14 12:31     ` Michal Hocko
2017-07-12 12:40 ` [PATCH v12 8/8] virtio-balloon: VIRTIO_BALLOON_F_CMD_VQ Wei Wang
2017-07-12 12:40   ` [virtio-dev] " Wei Wang
2017-07-12 12:40   ` [Qemu-devel] " Wei Wang
2017-07-12 12:40   ` Wei Wang
2017-07-13  0:22   ` Michael S. Tsirkin
2017-07-13  0:22   ` Michael S. Tsirkin
2017-07-13  0:22     ` [virtio-dev] " Michael S. Tsirkin
2017-07-13  0:22     ` [Qemu-devel] " Michael S. Tsirkin
2017-07-13  0:22     ` Michael S. Tsirkin
2017-07-13  8:46     ` Wei Wang
2017-07-13  8:46     ` Wei Wang
2017-07-13  8:46       ` [virtio-dev] " Wei Wang
2017-07-13  8:46       ` [Qemu-devel] " Wei Wang
2017-07-13  8:46       ` Wei Wang
2017-07-13 17:59       ` Michael S. Tsirkin
2017-07-13 17:59       ` Michael S. Tsirkin
2017-07-13 17:59         ` [virtio-dev] " Michael S. Tsirkin
2017-07-13 17:59         ` [Qemu-devel] " Michael S. Tsirkin
2017-07-13 17:59         ` Michael S. Tsirkin
2017-07-12 12:40 ` Wei Wang
2017-07-13  0:14 ` [PATCH v12 0/8] Virtio-balloon Enhancement Michael S. Tsirkin
2017-07-13  0:14 ` Michael S. Tsirkin
2017-07-13  0:14   ` [virtio-dev] " Michael S. Tsirkin
2017-07-13  0:14   ` [Qemu-devel] " Michael S. Tsirkin
2017-07-13  0:14   ` Michael S. Tsirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.