Loading net/colo-compare.c +31 −28 Original line number Diff line number Diff line Loading @@ -41,26 +41,26 @@ #define REGULAR_PACKET_CHECK_MS 3000 /* + CompareState ++ | | +---------------+ +---------------+ +---------------+ |conn list +--->conn +--------->conn | +---------------+ +---------------+ +---------------+ | | | | | | +---------------+ +---v----+ +---v----+ +---v----+ +---v----+ |primary | |secondary |primary | |secondary |packet | |packet + |packet | |packet + +--------+ +--------+ +--------+ +--------+ | | | | +---v----+ +---v----+ +---v----+ +---v----+ |primary | |secondary |primary | |secondary |packet | |packet + |packet | |packet + +--------+ +--------+ +--------+ +--------+ | | | | +---v----+ +---v----+ +---v----+ +---v----+ |primary | |secondary |primary | |secondary |packet | |packet + |packet | |packet + +--------+ +--------+ +--------+ +--------+ * + CompareState ++ * | | * +---------------+ +---------------+ +---------------+ * | conn list + - > conn + ------- > conn + -- > ...... * +---------------+ +---------------+ +---------------+ * | | | | | | * +---------------+ +---v----+ +---v----+ +---v----+ +---v----+ * |primary | |secondary |primary | |secondary * |packet | |packet + |packet | |packet + * +--------+ +--------+ +--------+ +--------+ * | | | | * +---v----+ +---v----+ +---v----+ +---v----+ * |primary | |secondary |primary | |secondary * |packet | |packet + |packet | |packet + * +--------+ +--------+ +--------+ +--------+ * | | | | * +---v----+ +---v----+ +---v----+ +---v----+ * |primary | |secondary |primary | |secondary * |packet | |packet + |packet | |packet + * +--------+ +--------+ +--------+ +--------+ */ typedef struct CompareState { Object parent; Loading @@ -75,14 +75,14 @@ typedef struct CompareState { SocketReadState sec_rs; bool vnet_hdr; /* connection list: the connections belonged to this NIC could be found * in this list. * element type: Connection /* * Record the connection that through the NIC * Element type: Connection */ GQueue conn_list; /* hashtable to save connection */ /* Record the connection without repetition */ GHashTable *connection_track_table; /* compare thread, a thread for each NIC */ /* This thread just do packet compare job */ QemuThread thread; GMainContext *worker_context; Loading Loading @@ -445,8 +445,11 @@ static int colo_old_packet_check_one_conn(Connection *conn, (GCompareFunc)colo_old_packet_check_one); if (result) { /* do checkpoint will flush old packet */ /* TODO: colo_notify_checkpoint();*/ /* Do checkpoint will flush old packet */ /* * TODO: Notify colo frame to do checkpoint. * colo_compare_inconsistent_notify(); */ return 0; } Loading Loading
net/colo-compare.c +31 −28 Original line number Diff line number Diff line Loading @@ -41,26 +41,26 @@ #define REGULAR_PACKET_CHECK_MS 3000 /* + CompareState ++ | | +---------------+ +---------------+ +---------------+ |conn list +--->conn +--------->conn | +---------------+ +---------------+ +---------------+ | | | | | | +---------------+ +---v----+ +---v----+ +---v----+ +---v----+ |primary | |secondary |primary | |secondary |packet | |packet + |packet | |packet + +--------+ +--------+ +--------+ +--------+ | | | | +---v----+ +---v----+ +---v----+ +---v----+ |primary | |secondary |primary | |secondary |packet | |packet + |packet | |packet + +--------+ +--------+ +--------+ +--------+ | | | | +---v----+ +---v----+ +---v----+ +---v----+ |primary | |secondary |primary | |secondary |packet | |packet + |packet | |packet + +--------+ +--------+ +--------+ +--------+ * + CompareState ++ * | | * +---------------+ +---------------+ +---------------+ * | conn list + - > conn + ------- > conn + -- > ...... * +---------------+ +---------------+ +---------------+ * | | | | | | * +---------------+ +---v----+ +---v----+ +---v----+ +---v----+ * |primary | |secondary |primary | |secondary * |packet | |packet + |packet | |packet + * +--------+ +--------+ +--------+ +--------+ * | | | | * +---v----+ +---v----+ +---v----+ +---v----+ * |primary | |secondary |primary | |secondary * |packet | |packet + |packet | |packet + * +--------+ +--------+ +--------+ +--------+ * | | | | * +---v----+ +---v----+ +---v----+ +---v----+ * |primary | |secondary |primary | |secondary * |packet | |packet + |packet | |packet + * +--------+ +--------+ +--------+ +--------+ */ typedef struct CompareState { Object parent; Loading @@ -75,14 +75,14 @@ typedef struct CompareState { SocketReadState sec_rs; bool vnet_hdr; /* connection list: the connections belonged to this NIC could be found * in this list. * element type: Connection /* * Record the connection that through the NIC * Element type: Connection */ GQueue conn_list; /* hashtable to save connection */ /* Record the connection without repetition */ GHashTable *connection_track_table; /* compare thread, a thread for each NIC */ /* This thread just do packet compare job */ QemuThread thread; GMainContext *worker_context; Loading Loading @@ -445,8 +445,11 @@ static int colo_old_packet_check_one_conn(Connection *conn, (GCompareFunc)colo_old_packet_check_one); if (result) { /* do checkpoint will flush old packet */ /* TODO: colo_notify_checkpoint();*/ /* Do checkpoint will flush old packet */ /* * TODO: Notify colo frame to do checkpoint. * colo_compare_inconsistent_notify(); */ return 0; } Loading