Received: with ECARTIS (v1.0.0; list netdev); Tue, 19 Apr 2005 04:50:12 -0700 (PDT) Received: from mail.lst.de (verein.lst.de [213.95.11.210]) by oss.sgi.com (8.13.0/8.13.0) with ESMTP id j3JBo1JA005489 for ; Tue, 19 Apr 2005 04:50:04 -0700 Received: from verein.lst.de (localhost [127.0.0.1]) by mail.lst.de (8.12.3/8.12.3/Debian-7.1) with ESMTP id j3JBnp6t016554 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Tue, 19 Apr 2005 13:49:51 +0200 Received: (from hch@localhost) by verein.lst.de (8.12.3/8.12.3/Debian-6.6) id j3JBnoiw016552; Tue, 19 Apr 2005 13:49:50 +0200 Date: Tue, 19 Apr 2005 13:49:50 +0200 From: Christoph Hellwig To: rnic-pi-comments@opengroup.org Cc: netdev@oss.sgi.com Subject: RNIC-PI Specification Message-ID: <20050419114950.GA16258@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.28i X-Scanned-By: MIMEDefang 2.39 X-Virus-Scanned: ClamAV 0.83/840/Mon Apr 18 18:42:09 2005 on oss.sgi.com X-Virus-Status: Clean X-archive-position: 1855 X-ecartis-version: Ecartis v1.0.0 Sender: netdev-bounce@oss.sgi.com Errors-to: netdev-bounce@oss.sgi.com X-original-sender: hch@lst.de Precedence: bulk X-list: netdev Content-Length: 1620 Lines: 34 Some comments on the RNIC-PI Draft at http://www.opengroup.org/icsc/rnicpi/uploads/40/7235/rnicpi_draft1.pdf: (1) You're repeating the common mistake of mixing up a userland API with a kernel API specification. The Linux community and many others in the free software world don't care about these kind of kernel API specifications. Please split this into an optional sub-specification if you want to be take serious. (Note: In the following points I'm completely skipping the kernel part of the specification as it is irrelevant for Linux anyway) (2) In a lot of places you're talking about "IHV private" data or functionality. This doesn't make any sense in the free software world. Please change the wording to "driver private" or just get rid of it completely - in many cases it's just papering over a bad design of the sofware stack. (3) Please don't expose the difference between driver/os/whatever private data to the API user. It's the operating systems's job to provide such abstraction. (4) Please get rid of all the ri_consumer_domain_t arguments in the userland API. They're useless and the API is already compicated enough (5) Please get rid of the IN and OUT specifiers in the API. C doesn't have any concept of in vs out pointer and it's obsufcating the API needlessly. (6) If ri_modify_rnic isn't supported in userland don't specify it. Please keep the APIs simple. I've stopped reading throught the specification after the first 50 pages, I'll take another look once the above issues are fixed.