From owner-freebsd-arch Mon Jun 19 12:40: 2 2000 Delivered-To: freebsd-arch@freebsd.org Received: from panzer.kdm.org (panzer.kdm.org [216.160.178.169]) by hub.freebsd.org (Postfix) with ESMTP id 1E13137B641 for ; Mon, 19 Jun 2000 12:39:57 -0700 (PDT) (envelope-from ken@panzer.kdm.org) Received: (from ken@localhost) by panzer.kdm.org (8.9.3/8.9.1) id NAA79727; Mon, 19 Jun 2000 13:39:31 -0600 (MDT) (envelope-from ken) Date: Mon, 19 Jun 2000 13:39:31 -0600 From: "Kenneth D. Merry" To: Jonathan Lemon Cc: Alfred Perlstein , arch@FreeBSD.ORG Subject: Re: kblob discussion. Message-ID: <20000619133931.A79532@panzer.kdm.org> References: <20000619111309.E26801@fw.wintelcom.net> <20000619140029.D37084@prism.flugsvamp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: <20000619140029.D37084@prism.flugsvamp.com>; from jlemon@flugsvamp.com on Mon, Jun 19, 2000 at 02:00:29PM -0500 Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Mon, Jun 19, 2000 at 14:00:29 -0500, Jonathan Lemon wrote: > On Mon, Jun 19, 2000 at 11:13:09AM -0700, Alfred Perlstein wrote: > > A whole bunch of people were a bit upset about kblob but haven't > > brought anything up that makes me not want to commit it. > > > > Now would be a good time to offer suggestions and critism before > > I bring it in. > > I think that this is a bad attitude, it sounds more like "I've > written this code, and want to bring it in no matter what other > people think". Before you even consider bringing the code in, > I think you need to address the points that have been brought up. > > The objections that I've seen (and agree with) are that the API > is not flexible enough to cope with different usage scenarios. > Creating a new API is not a small thing, and if we do that, then > it would be nice to make sure that it is flexible enough to > handle various things that we throw at it. The kblob API as > proposed below appears to be too special purpose. > > IIRC, Ken pointed you to some papers that address this issue. I > recall that the IOLite API was previously rejected for inclusion > for various reasons. I have also pointed you to an alternate API, > which is more flexible, while still providing the same functionality, > and can repost that here if need be. I would like to see something more generic as well, especially something that could work for both sending and receiving. Another thing that I would like to see is the ability to get notification of when the I/O is done, like async I/O. I think Jonathan's API is a little more generic than kblob, although I share some of Jonathan's reservations about using that much kva. I'd almost like the ability to allocate the buffers in userland, and then map them into the kernel and revoke the userland mapping, so the user process can't get to it while you're doing a send. You could do similar things on receive. A receive side API could work well with something like RDMA. (Here's a URL: ftp://ftpeng.cisco.com/pub/rdma/draft-csapuntz-tcprdma-00.txt ) One problem is that allocating buffers in userland would work well for sends, but not as well for receives. So maybe both should be allowed? Anyway, those are just some ideas, I think there's some room for discussion here. > I think that any notion of committing this should be held off > until we have a chance to come to some kind of consensus on the > issue. Another point about the timeframe for deciding and committing both this and the accept filters -- a lot of people are away at Usenix, and last week a number of key developers were at the SMP gathering. (Some are going from one to the other, and therefore will have been away for more than a week.) I think we should hold off on this stuff until people have a chance to get back from Usenix and comment on it. I'll be heading to Usenix tomorrow, and if anyone would like to talk about this stuff in person, just let me know. Ken -- Kenneth Merry ken@kdm.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message