From owner-freebsd-arch@FreeBSD.ORG Fri Dec 12 13:30:23 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BE6C516A4CE for ; Fri, 12 Dec 2003 13:30:23 -0800 (PST) Received: from ebb.errno.com (ebb.errno.com [66.127.85.87]) by mx1.FreeBSD.org (Postfix) with ESMTP id B31E443D39 for ; Fri, 12 Dec 2003 13:30:18 -0800 (PST) (envelope-from sam@errno.com) Received: from 66.127.85.91 ([66.127.85.91]) (authenticated bits=0) by ebb.errno.com (8.12.9/8.12.9) with ESMTP id hBCLUHHQ059603 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) for ; Fri, 12 Dec 2003 13:30:18 -0800 (PST) (envelope-from sam@errno.com) From: Sam Leffler Organization: Errno Consulting To: arch@freebsd.org Date: Fri, 12 Dec 2003 13:33:25 -0800 User-Agent: KMail/1.5.3 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200312121333.25603.sam@errno.com> Subject: MT_TAG removal X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Dec 2003 21:30:23 -0000 http://people.freebsd.org/~sam/mt_tag.patch This set of changes eliminates the use of MT_TAG "pseudo mbufs", replacing them mostly with packet tags (one case is handled by using an mbuf flag since the linkage between "caller" and "callee" is direct and there's no need to incur the overhead of a packet tag). I've tested all these changes except for the PACKET_TAG_IPFORWARD stuff. Before I can commit this stuff I need to do more testing (help welcome) and need to evaluate the cost of doing multiple m_tag_find calls in the IP packet processing paths. I suspect we'll want to make this call first check if any tags exist before calling the code that does the actual list search. I'm looking for code review and general feedback. I especially like the way this cleans up divert sockets (in particular in the handling of fragments). Sam