From owner-freebsd-arch@FreeBSD.ORG Fri Nov 22 11:32:27 2013 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1A681B8 for ; Fri, 22 Nov 2013 11:32:27 +0000 (UTC) Received: from mail-ob0-x246.google.com (mail-ob0-x246.google.com [IPv6:2607:f8b0:4003:c01::246]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DF7A72CA1 for ; Fri, 22 Nov 2013 11:32:26 +0000 (UTC) Received: by mail-ob0-f198.google.com with SMTP id wo20so3406250obc.5 for ; Fri, 22 Nov 2013 03:32:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:message-id:date:subject:from:to:content-type; bh=DpXCh1szzKCY+F7WcSE0ld/DTUHxniswXgJsGvDU0VU=; b=uaLODbb2sWa+Va0ASmNdcjg1CotIRnWUItd4f6ZSVdXGEpRb3oLUk3yhhMB2HFC+/1 KGh9b3UDY9iJGxYC8ubGYNMFOFEFntgMou5/tX22s4JAOYfsu3tS0VT0XYt+aX9wnmVo MgRKU4apK6iDLJYLLO85L0CQ8Rs86FiqmVG99F/WEf1hECkcOYU9Pqy6qxbZ1I+ANnb9 lHLjML5RQ7Jtr4h4oY1GiysGEfXYJam43eAZcbppbs+sBcD4/7n6TITxJskWinpmryod uA7CMc8taXDDaqS80MF2G5Wyy6AMxHci8rRek6H7KNEv0qDMqVzp9Kk4E9HA0dF7RTbz Y/JQ== MIME-Version: 1.0 X-Received: by 10.182.129.227 with SMTP id nz3mr3939792obb.25.1385119946269; Fri, 22 Nov 2013 03:32:26 -0800 (PST) Message-ID: <089e01536a9c5e6bd404ebc25e81@google.com> Date: Fri, 22 Nov 2013 11:32:26 +0000 Subject: www.freebsd.org From: Ciara Millar To: freebsd-arch@freebsd.org Content-Type: text/plain; charset=windows-1252; format=flowed; delsp=yes Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.16 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Nov 2013 11:32:27 -0000 PGRpdiBkaXI9Imx0ciI+PHNwYW4gIA0Kc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2Vy aWY7Zm9udC1zaXplOjEzcHgiPkhpLDwvc3Bhbj48YnIgIA0Kc3R5bGU9ImZvbnQtZmFtaWx5OmFy aWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEzcHgiPjxkaXYgIA0KY2xhc3M9ImdtYWlsX3F1b3Rl IiAgDQpzdHlsZT0iZm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTNweCI+ PGRpdiB0ZXh0PSIjMDAwMDAwIiAgDQpiZ2NvbG9yPSIjRkZGRkZGIj4NCjxkaXY+PHA+SSBjYW1l IGFjcm9zcyB5b3VyIHdlYnNpdGUgYW5kIHdhbnRlZCB0byBzZW5kIHlvdSBhIHF1aWNrIG5vdGUu ICANCldpdGggYSBmZXcgc2ltcGxlIGNoYW5nZXMgdG8gbWFrZSB5b3VyIHNpdGUgbW9yZSBTRU8t ZnJpZW5kbHkgSZJtIHN1cmUgeW91ICANCmNhbiBjb252ZXJ0IG1vcmUgdmlzaXRvcnMgaW50byBs ZWFkcyBhbmQgZ2V0IGl0IHBsYWNlZCBoaWdoZXIgaW4gdGhlICANCm9yZ2FuaWMgc2VhcmNoIHJl c3VsdHMsIGZvciBrZXl3b3JkcyB0aGF0IG1hdHRlciB0byB5b3UgdGhlIG1vc3QuPC9wPg0KPC9k aXY+PGRpdj48cD5XZZJyZSBhbiBBdXN0cmFsaWFuIGJhc2VkIGNvbXBhbnkgd2l0aCBhIGdyZWF0 IGluLWhvdXNlICANCnRlY2huaWNhbCB0ZWFtIHdobyByZWFsbHkga25vdyB0aGVpciBzdHVmZiBh Ym91dCBzZWFyY2ggZW5naW5lICANCm9wdGltaXphdGlvbi6gPC9wPjwvZGl2PjxkaXY+PHA+V291 bGQgeW91IGxpa2UgYSBiaXQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCAgDQpob3cgdG8gZ2l2ZSB5 b3VyIHdlYnNpdGUgYSBib29zdCB3aXRoIGJldHRlciBTRU8/PGJyPg0KPC9wPjwvZGl2PjxkaXY+ PHA+oDwvcD48L2Rpdj48ZGl2PjxwPkJlc3QgUmVnYXJkczwvcD48L2Rpdj48ZGl2PjxwPkNpYXJh ICANCk1pbGxhcjxicj5TRU8vV2ViIFNwZWNpYWxpc3Q8L3A+PC9kaXY+PGRpdj48L2Rpdj48ZGl2 PjxzcGFuICANCnN0eWxlPSJmb250LXNpemU6Ny41cHQiPjwvc3Bhbj48cD48Yj48c3BhbiAgDQpz dHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOnJnYigxMTEsMTY4LDIyMCkiPkFVUyBIZWFkcXVh cnRlcjxicj4NCjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpy Z2IoMTExLDE2OCwyMjApIj5BdXN0cmFsaWFuICANClRlY2hub2xvZ3kgUGFyaywgTG9jb21vdGl2 ZSBTdHJlZXQsIEV2ZWxlaWdooDxicj5OU1cgIA0KMjAxNTxicj48Yj48YnI+SW50ZXJuYXRpb25h bCBIZWFkcXVhcnRlcjxicj48L2I+NTAxIDE5dGggU3RyZWV0LCBOLlcuLCAgDQpXYXNoaW5ndG9u LCBELkMuIDIwNDMxPC9zcGFuPjwvcD4NCjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pg0K From owner-freebsd-arch@FreeBSD.ORG Sat Nov 23 10:55:42 2013 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 760B4B46; Sat, 23 Nov 2013 10:55:42 +0000 (UTC) Received: from cyrus.watson.org (cyrus.watson.org [198.74.231.69]) by mx1.freebsd.org (Postfix) with ESMTP id 4ED41221F; Sat, 23 Nov 2013 10:55:42 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [198.74.231.63]) by cyrus.watson.org (Postfix) with ESMTPS id 4614146B3C; Sat, 23 Nov 2013 05:55:35 -0500 (EST) Date: Sat, 23 Nov 2013 10:55:34 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Adrian Chadd Subject: Re: svn commit: r258328 - head/sys/net In-Reply-To: Message-ID: References: <201311182258.rAIMwEFd048783@svn.freebsd.org> <023E719B-1059-4670-8556-EBAC18A2F007@freebsd.org> <20131121000245.GA30549@onelab2.iet.unipi.it> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: "src-committers@freebsd.org" , FreeBSD Net , "svn-src-all@freebsd.org" , George Neville-Neil , "freebsd-arch@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Nov 2013 10:55:42 -0000 On Wed, 20 Nov 2013, Adrian Chadd wrote: > We should migrate drivers to use a multi-input method where it's > appropriate. It's the same pain as if_transmit() is/was. > > I'd really like to avoid having hacky solutions like mbufs with magic types. > If we're going down that path, we should create a correct inline messaging > mechanism that includes arbitrary messages in the stream, where some may or > may not be mbufs. Magic mbufs just makes me want to tear out my eyes a > little. > > So, the reason I'd like to back it out is because we should be doing it via > a multi method with some type that represents an mbuf list. If George > doesn't mind, I'll add a multi input method, move this stuff into it, and > make ether_input just be single frames. My worry here is that the failure modes for easy oversights and bugs are quite subtle ones: mbuf leakage and data corruption. Our goal should be to shift as many as possible of those bugs to compiler-detected events (e.g., due to type checking), or where not possible, run-time detected events (e.g., due to easily detected non-NULL pointers). I'm OK with the current change staying in the tree for a few weeks on the path there, but I much prefer the world in which we use different symbols for different "types". This is especially important if we will have device driver vendors maintaining drivers across many versions (which we do): we really don't want a driver using ether_input for queue handoff in 11.x to just mysteriously leak mbufs in 10.x. Instead, the driver should fail to compile. Robert