Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 5 Feb 2001 19:50:13 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 5 Feb 2001 19:50:04 -0500 Received: from baldur.fh-brandenburg.de ([195.37.0.5]:36247 "HELO baldur.fh-brandenburg.de") by vger.kernel.org with SMTP id ; Mon, 5 Feb 2001 19:49:46 -0500 Date: Tue, 6 Feb 2001 01:31:12 +0100 (MET) From: Roman Zippel To: Linus Torvalds cc: Alan Cox , "Stephen C. Tweedie" , Manfred Spraul , Christoph Hellwig , Steve Lord , linux-kernel@vger.kernel.org, kiobuf-io-devel@lists.sourceforge.net Subject: Re: [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Mon, 5 Feb 2001, Linus Torvalds wrote: > This all proves that the lowest level of layering should be pretty much > noting but the vectors. No callbacks, no crap like that. That's already a > level of abstraction away, and should not get tacked on. Your lowest level > of abstraction should be just the "area". Something like > > struct buffer { > struct page *page; > u16 offset, length; > }; > > int nr_buffers: > struct buffer *array; > > should be the low-level abstraction. Does it has to be vectors? What about lists? I'm thinking about this for some time now and I think lists are more flexible. At higher level we can easily generate a list of pages and in a lower level you can still split them up as needed. It would be basically the same structure, but you could use it everywhere with the same kind of operations. bye, Roman - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/