From owner-cvs-all@FreeBSD.ORG Mon Aug 25 21:46:55 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B3081065683; Mon, 25 Aug 2008 21:46:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9ED5D8FC15; Mon, 25 Aug 2008 21:46:54 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m7PLksei012923; Mon, 25 Aug 2008 21:46:54 GMT (envelope-from mav@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m7PLksRG012922; Mon, 25 Aug 2008 21:46:54 GMT (envelope-from mav@repoman.freebsd.org) Message-Id: <200808252146.m7PLksRG012922@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to mav@repoman.freebsd.org using -f From: Alexander Motin Date: Mon, 25 Aug 2008 21:46:45 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_7 Cc: Subject: cvs commit: src/sys/netinet raw_ip.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Aug 2008 21:46:55 -0000 mav 2008-08-25 21:46:45 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/netinet raw_ip.c Log: SVN rev 182177 on 2008-08-25 21:46:45Z by mav MFC r180828 Add hash table lookup for a fully connected raw sockets. This gives significant performance improvements when many raw sockets used. Benchmarks of mpd handeling 1000 simultaneous PPTP connections show up to 50% performance boost. With higher number of connections benefit becomes even bigger. PopTop snd others should also get some benefits. MFC r180833, r180874 According to in_pcb.h protocol binding information has double locking. It allows access it while list travercing holding only global pcbinfo lock. This relaxed locking noticably increses receive socket lookup performance. Revision Changes Path 1.180.2.6 +93 -18 src/sys/netinet/raw_ip.c