Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1767116AbXEBSVq (ORCPT ); Wed, 2 May 2007 14:21:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1767117AbXEBSVq (ORCPT ); Wed, 2 May 2007 14:21:46 -0400 Received: from x35.xmailserver.org ([64.71.152.41]:2475 "EHLO x35.xmailserver.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1767116AbXEBSVp (ORCPT ); Wed, 2 May 2007 14:21:45 -0400 X-AuthUser: davidel@xmailserver.org Date: Wed, 2 May 2007 11:21:40 -0700 (PDT) From: Davide Libenzi X-X-Sender: davide@alien.or.mcafeemobile.com To: Ulrich Drepper cc: Davi Arnaut , Eric Dumazet , Andrew Morton , Linus Torvalds , Linux Kernel Mailing List Subject: Re: [patch 14/22] pollfs: pollable futex In-Reply-To: Message-ID: References: <20070502052235.914764000@haxent.com.br> <20070502053427.123392000@haxent.com.br> <20070502095503.a06f5472.dada1@cosmosbay.com> <20070502104936.674a4b54.dada1@cosmosbay.com> <4638C37D.7050503@haxent.com.br> X-GPG-FINGRPRINT: CFAE 5BEE FD36 F65E E640 56FE 0974 BF23 270F 474E X-GPG-PUBLIC_KEY: http://www.xmailserver.org/davidel.asc 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 Content-Length: 1869 Lines: 41 On Wed, 2 May 2007, Ulrich Drepper wrote: > On 5/2/07, Davide Libenzi wrote: > > Is it? Please do tell me more... > > Come on, we went through all this. Having to do syscalls for event > retrieval plus the limited channel available for feedback (the POLL* > bits) is to limiting. This is where the kevent stuff innovated and > really fixed the problems. Userlevel ring buffers are more efficient. > > Yes, a unifying event look is what is wanted. But it does not have to > be poll based. Given the right abstraction you can fit in the kevent > technology or similar things. > > And seeing all these requirements of this approach: kevent is also > much more resource efficient. No "one file desriptor per thread per > object". These are important factors. 99% of the fds you'll find inside an event loop you care to scale about, are *already* fd based. The handful of the remaining ones (signals, timers, AIO signaling, ??) will likely account for a *very limited* number of fds. On top of that, those fds are very cheap in terms of memory (they're basically wakeup targets), since the new code shares the inode for them. So we have a limited number of fds, using a pretty limited amount of memory each. And this approach is not bound to a completely new and monolitic interface. All these things need to basically deliver notifications of completion, and being able to read results. Things that the existing f_op->poll and f_op->read are already able to give us. Is that really a strange concept to base it on? Because, to me, it seems pretty natural. - Davide - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/