From owner-svn-src-all@FreeBSD.ORG Fri Feb 12 10:25:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E6D0106566B for ; Fri, 12 Feb 2010 10:25:26 +0000 (UTC) (envelope-from bu7cher@yandex.ru) Received: from forward11.mail.yandex.net (forward11.mail.yandex.net [95.108.130.93]) by mx1.freebsd.org (Postfix) with ESMTP id 1FB298FC17 for ; Fri, 12 Feb 2010 10:25:25 +0000 (UTC) Received: from smtp1.mail.yandex.net (smtp1.mail.yandex.net [77.88.46.101]) by forward11.mail.yandex.net (Yandex) with ESMTP id 5D3CDF490D8; Fri, 12 Feb 2010 13:25:24 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1265970324; bh=f6oTECAQkVuCKHrABfxWdWQd8rqQOjWJbZFRsEwtnDw=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=ljKfBQggP3b1xIb8WExq/PklaYRaWJ+STqB2GUfWrDCaVIdgVS1Q8yomp1SbcHMk3 5rvEk3tyObzuxQN9W6VbEpkEklTBrO+RjD+c9Y8hK9ddMF5SKJ5uik3FIHBeC2m1TG K5uvtQspjr7+HGjw4SJtNMgdRyLJbstM258XjEu4= Received: from [127.0.0.1] (ns.kirov.so-ups.ru [77.72.136.145]) by smtp1.mail.yandex.net (Yandex) with ESMTPSA id 55C4AE60155; Fri, 12 Feb 2010 13:25:23 +0300 (MSK) Message-ID: <4B752C92.30705@yandex.ru> Date: Fri, 12 Feb 2010 13:25:22 +0300 From: "Andrey V. Elsukov" User-Agent: Mozilla Thunderbird 1.5 (FreeBSD/20051231) MIME-Version: 1.0 To: Luigi Rizzo References: <200912221901.nBMJ1mXQ072673@svn.freebsd.org> In-Reply-To: <200912221901.nBMJ1mXQ072673@svn.freebsd.org> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit X-Yandex-TimeMark: 1265970323 X-Yandex-Spam: 1 X-Yandex-Front: smtp1.mail.yandex.net Cc: freebsd-ipfw@FreeBSD.org, svn-src-all@freebsd.org Subject: Re: svn commit: r200855 - in head/sys: net netgraph netinet netinet/ipfw X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Feb 2010 10:25:26 -0000 On 22.12.2009 22:01, Luigi Rizzo wrote: > Author: luigi > Date: Tue Dec 22 19:01:47 2009 > New Revision: 200855 > URL: http://svn.freebsd.org/changeset/base/200855 > > Log: > merge code from ipfw3-head to reduce contention on the ipfw lock > and remove all O(N) sequences from kernel critical sections in ipfw. > > In detail: > > 1. introduce a IPFW_UH_LOCK to arbitrate requests from > the upper half of the kernel. Some things, such as 'ipfw show', > can be done holding this lock in read mode, whereas insert and > delete require IPFW_UH_WLOCK. > > The only (very small) regression is on dynamic rule lookup and this will > be fixed in a day or two, without changing the userland/kernel ABI > > Supported by: Valeria Paoli > MFC after: 1 month > > Modified: > head/sys/netinet/ipfw/ip_fw_sockopt.c Hi, Luigi. This commit also broke `ipfw set show` operation. It always show all sets enabled, because IP_FW_GET command gets small buffer and after calculating wanted size it returns back without copying anything. -- WBR, Andrey V. Elsukov