qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
To: qemu devel <qemu-devel@nongnu.org>, Jason Wang <jasowang@redhat.com>
Cc: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>,
	Li Zhijian <lizhijian@cn.fujitsu.com>,
	Wen Congyang <wency@cn.fujitsu.com>,
	zhanghailiang <zhang.zhanghailiang@huawei.com>,
	"eddie . dong" <eddie.dong@intel.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [Qemu-devel] [RFC PATCH V7 0/7] Introduce COLO-compare
Date: Mon, 18 Jul 2016 14:20:56 +0800	[thread overview]
Message-ID: <1468822860-25979-1-git-send-email-zhangchen.fnst@cn.fujitsu.com> (raw)

COLO-compare is a part of COLO project. It is used
to compare the network package to help COLO decide
whether to do checkpoint.

The full version in this github:
https://github.com/zhangckid/qemu/tree/colo-v2.7-proxy-mode-compare-with-colo-base-jul18


v7:
 p5:
   - add [PATCH]qemu-char: Fix context for g_source_attach()
     in this patch series.

v6: 
 p6:
   - add more commit log.
   - fix icmp comparison to compare all packet.

 p5:
   - add more cpmments in commit log.
   - change REGULAR_CHECK_MS to REGULAR_PACKET_CHECK_MS
   - make check old packet independent to compare thread
   - remove thread_status

 p4:
   - change this patch only about
     Connection and ConnectionKey.
   - add some comments in commit log.
   - remove mode in fill_connection_key().
   - fix some comments and bug.
   - move colo_conn_state to patch of
     "work with colo-frame"
   - remove conn_list_lock.
   - add MAX_QUEUE_SIZE, if primary_list or
     secondary_list biger than MAX_QUEUE_SIZE
     we will drop packet. 

 p3:
   - add new independent kernel jhash patch.

 p2:
   - add new independent colo-base patch.

 p1:
   - add a ascii figure and some comments to explain it
   - move trace.h to p2
   - move QTAILQ_HEAD(, CompareState) net_compares to
     patch of "work with colo-frame"
   - add some comments in qemu-option.hx


v5:
 p3:
    - comments from Jason
      we poll and handle chardev in comapre thread,
      Through this way, there's no need for extra 
      synchronization with main loop
      this depend on another patch:
      qemu-char: Fix context for g_source_attach()
    - remove QemuEvent
 p2:
    - remove conn->list_lock
 p1:
    - move compare_pri/sec_chr_in to p3
    - move compare_chr_send to p2

v4:
 p4:
    - add some comments
    - fix some trace-events
    - fix tcp compare error
 p3:
    - add rcu_read_lock().
    - fix trace name
    - fix jason's other comments
    - rebase some Dave's branch function
 p2:
    - colo_compare_connection() change g_queue_push_head() to
    - g_queue_push_tail() match to sorted order.
    - remove pkt->s
    - move data structure to colo-base.h
    - add colo-base.c reuse codes for filter-rewriter
    - add some filter-rewriter needs struct
    - depends on previous SocketReadState patch
 p1:
    - except move qemu_chr_add_handlers()
      to colo thread
    - remove class_finalize
    - remove secondary arp codes
    - depends on previous SocketReadState patch

v3:
  - rebase colo-compare to colo-frame v2.7
  - fix most of Dave's comments
    (except RCU)
  - add TCP,UDP,ICMP and other packet comparison
  - add trace-event
  - add some comments
  - other bug fix
  - add RFC index
  - add usage in patch 1/4

v2:
  - add jhash.h

v1:
  - initial patch


Zhang Chen (7):
  colo-compare: introduce colo compare initialization
  colo-base: add colo-base to define and handle packet
  Jhash: add linux kernel jhashtable in qemu
  colo-compare: track connection and enqueue packet
  qemu-char: Fix context for g_source_attach()
  colo-compare: introduce packet comparison thread
  colo-compare: add TCP,UDP,ICMP packet comparison

 include/qemu/jhash.h |  61 ++++
 io/channel.c         |   2 +-
 net/Makefile.objs    |   2 +
 net/colo-base.c      | 183 ++++++++++++
 net/colo-base.h      |  71 +++++
 net/colo-compare.c   | 769 +++++++++++++++++++++++++++++++++++++++++++++++++++
 qemu-char.c          |   6 +-
 qemu-options.hx      |  38 +++
 trace-events         |   9 +
 vl.c                 |   3 +-
 10 files changed, 1139 insertions(+), 5 deletions(-)
 create mode 100644 include/qemu/jhash.h
 create mode 100644 net/colo-base.c
 create mode 100644 net/colo-base.h
 create mode 100644 net/colo-compare.c

-- 
2.7.4

             reply	other threads:[~2016-07-18  6:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-18  6:20 Zhang Chen [this message]
2016-07-18  6:20 ` [Qemu-devel] [RFC PATCH V7 1/7] colo-compare: introduce colo compare initialization Zhang Chen
2016-07-18  6:20 ` [Qemu-devel] [RFC PATCH V7 2/7] colo-base: add colo-base to define and handle packet Zhang Chen
2016-07-18  6:20 ` [Qemu-devel] [RFC PATCH V7 3/7] Jhash: add linux kernel jhashtable in qemu Zhang Chen
2016-07-18  6:21 ` [Qemu-devel] [RFC PATCH V7 4/7] colo-compare: track connection and enqueue packet Zhang Chen
  -- strict thread matches above, loose matches on Subject: below --
2016-07-18  7:40 [Qemu-devel] [RFC PATCH V7 0/7] Introduce COLO-compare Zhang Chen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1468822860-25979-1-git-send-email-zhangchen.fnst@cn.fujitsu.com \
    --to=zhangchen.fnst@cn.fujitsu.com \
    --cc=dgilbert@redhat.com \
    --cc=eddie.dong@intel.com \
    --cc=jasowang@redhat.com \
    --cc=lizhijian@cn.fujitsu.com \
    --cc=qemu-devel@nongnu.org \
    --cc=wency@cn.fujitsu.com \
    --cc=zhang.zhanghailiang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).