From owner-p4-projects@FreeBSD.ORG Tue Dec 21 18:28:54 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B4DE1065674; Tue, 21 Dec 2010 18:28:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B9A3E1065672 for ; Tue, 21 Dec 2010 18:28:53 +0000 (UTC) (envelope-from afiveg@FreeBSD.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 8C9528FC1C for ; Tue, 21 Dec 2010 18:28:53 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id oBLISr1q089953 for ; Tue, 21 Dec 2010 18:28:53 GMT (envelope-from afiveg@FreeBSD.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id oBLISrT9089950 for perforce@freebsd.org; Tue, 21 Dec 2010 18:28:53 GMT (envelope-from afiveg@FreeBSD.org) Date: Tue, 21 Dec 2010 18:28:53 GMT Message-Id: <201012211828.oBLISrT9089950@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to afiveg@FreeBSD.org using -f From: Alexandre Fiveg To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 187106 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Dec 2010 18:28:54 -0000 http://p4web.freebsd.org/@@187106?ac=10 Change 187106 by afiveg@cottonmouth on 2010/12/21 18:28:21 The previous bug is fixed: ring->kernrp should point to the next from the current checked slot in the ring. Ringmap is ported to 8.1-STABLE. Next performance tests will be done. Affected files ... .. //depot/projects/soc2010/ringmap/scripts/build_ringmap.sh#38 edit .. //depot/projects/soc2010/ringmap/scripts/set_ringmap.sh#39 edit .. //depot/projects/soc2010/ringmap/scripts/tailf_ringmap_msgs.sh#33 edit .. //depot/projects/soc2010/ringmap/stable_8/contrib/libpcap/ringmap_pcap.c#3 edit .. //depot/projects/soc2010/ringmap/stable_8/lib/libpcap/Makefile#4 edit .. //depot/projects/soc2010/ringmap/stable_8/sys/modules/ringmap/Makefile#2 edit .. //depot/projects/soc2010/ringmap/stable_8/sys/modules/ringmap/Makefile.em#2 edit .. //depot/projects/soc2010/ringmap/stable_8/sys/net/ringmap.c#3 edit Differences ... ==== //depot/projects/soc2010/ringmap/scripts/build_ringmap.sh#38 (text+ko) ==== ==== //depot/projects/soc2010/ringmap/scripts/set_ringmap.sh#39 (text+ko) ==== ==== //depot/projects/soc2010/ringmap/scripts/tailf_ringmap_msgs.sh#33 (text+ko) ==== ==== //depot/projects/soc2010/ringmap/stable_8/contrib/libpcap/ringmap_pcap.c#3 (text+ko) ==== ==== //depot/projects/soc2010/ringmap/stable_8/lib/libpcap/Makefile#4 (text+ko) ==== @@ -12,7 +12,7 @@ scanner.l version.c .if defined(LIBPCAP_RINGMAP) -CFLAGS+=-g -DRINGMAP -D__RINGMAP_DEB +CFLAGS+=-g -DRINGMAP SRCS+=ringmap_pcap.c .endif ==== //depot/projects/soc2010/ringmap/stable_8/sys/modules/ringmap/Makefile#2 (text+ko) ==== ==== //depot/projects/soc2010/ringmap/stable_8/sys/modules/ringmap/Makefile.em#2 (text+ko) ==== @@ -15,7 +15,7 @@ PCIE_SHARED = e1000_80003es2lan.c e1000_ich8lan.c e1000_82571.c e1000_82575.c LEGACY_SHARED = e1000_82540.c e1000_82542.c e1000_82541.c e1000_82543.c -CFLAGS += -g -I${.CURDIR}/../../dev/e1000 -DRINGMAP +CFLAGS += -g -I${.CURDIR}/../../dev/e1000 -DRINGMAP # DEVICE_POLLING for a non-interrupt-driven method #CFLAGS += -DDEVICE_POLLING ==== //depot/projects/soc2010/ringmap/stable_8/sys/net/ringmap.c#3 (text+ko) ==== @@ -568,10 +568,12 @@ #if (RINGMAP_INTR_DEB) PRINT_RING_PTRS(co->ring); #endif - rm->funcs->set_tail(co->ring->userrp, co->hw_rx_ring); /* set hardware speciffic time stamp function */ getmicrotime(&co->ring->last_ts); + ++co->ring->intr_num; + rm->funcs->set_tail(co->ring->userrp, co->hw_rx_ring); + break; } } @@ -597,7 +599,7 @@ if (rm->funcs->pkt_filter != NULL) rm->funcs->pkt_filter(co, slot_num); - co->ring->kernrp = slot_num; + co->ring->kernrp = R_MODULO(slot_num + 1); #ifdef RINGMAP_TIMESTAMP co->ring->slot[slot_num].ts = co->ring->last_ts; #endif