From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59628) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7DkC-000781-FY for qemu-devel@nongnu.org; Sun, 29 May 2016 23:19:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b7Dk6-0007sL-JE for qemu-devel@nongnu.org; Sun, 29 May 2016 23:19:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45698) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7Dk6-0007sG-BL for qemu-devel@nongnu.org; Sun, 29 May 2016 23:19:50 -0400 References: <1464180653-12637-1-git-send-email-zhangchen.fnst@cn.fujitsu.com> From: Jason Wang Message-ID: <574BB14F.6050303@redhat.com> Date: Mon, 30 May 2016 11:19:43 +0800 MIME-Version: 1.0 In-Reply-To: <1464180653-12637-1-git-send-email-zhangchen.fnst@cn.fujitsu.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC PATCH V4 0/4] Introduce COLO-compare List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Zhang Chen , qemu devel Cc: Li Zhijian , zhanghailiang , "eddie . dong" , "Dr . David Alan Gilbert" On 2016=E5=B9=B405=E6=9C=8825=E6=97=A5 20:50, Zhang Chen wrote: > 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-wit= h-colo-base-may25 > > > 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 QemuMutex conn_list_lock Looks like conn_list lock is still there. I still prefer to do all thing=20 in the comparing thread. Have you tried Fam's suggestion to use=20 g_main_context_push_thread_default()? If it does not work, does it work=20 simply by replacing all: g_source_attach(x, NULL); with g_souce_attach(x, g_main_context_get_thread_default()); after call g_main_context_push_thread_default()? Thanks > - 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 (4): > colo-compare: introduce colo compare initialization > colo-compare: track connection and enqueue packet > colo-compare: introduce packet comparison thread > colo-compare: add TCP,UDP,ICMP packet comparison > > include/qemu/jhash.h | 61 +++++ > net/Makefile.objs | 2 + > net/colo-base.c | 183 +++++++++++++ > net/colo-base.h | 92 +++++++ > net/colo-compare.c | 745 ++++++++++++++++++++++++++++++++++++++++++= +++++++++ > qemu-options.hx | 34 +++ > trace-events | 11 + > vl.c | 3 +- > 8 files changed, 1130 insertions(+), 1 deletion(-) > 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 >