Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752044AbXBVX2T (ORCPT ); Thu, 22 Feb 2007 18:28:19 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752038AbXBVX2S (ORCPT ); Thu, 22 Feb 2007 18:28:18 -0500 Received: from outpipe-village-512-1.bc.nu ([81.2.110.250]:35154 "EHLO lxorguk.ukuu.org.uk" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752044AbXBVX2S (ORCPT ); Thu, 22 Feb 2007 18:28:18 -0500 Date: Fri, 23 Feb 2007 00:30:18 +0000 From: Alan To: "Michael K. Edwards" Cc: "Ingo Molnar" , "Evgeniy Polyakov" , "Ulrich Drepper" , linux-kernel@vger.kernel.org, "Linus Torvalds" , "Arjan van de Ven" , "Christoph Hellwig" , "Andrew Morton" , "Zach Brown" , "David S. Miller" , "Suparna Bhattacharya" , "Davide Libenzi" , "Jens Axboe" , "Thomas Gleixner" Subject: Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Message-ID: <20070223003018.0d244576@lxorguk.ukuu.org.uk> In-Reply-To: References: <20070221211355.GA7302@elte.hu> <20070221233111.GB5895@elte.hu> <45DCD9E5.2010106@redhat.com> <20070222074044.GA4158@elte.hu> <20070222113148.GA3781@2ka.mipt.ru> <20070222125931.GB25788@elte.hu> X-Mailer: Claws Mail 2.7.2 (GTK+ 2.10.8; i386-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1396 Lines: 30 > to do anything but chase pointers through cache. Done right, it > hardly even branches (although the branch misprediction penalty is a > lot less of a worry on current x86_64 than it was in the > mega-superscalar-out-of-order-speculative-execution days). It's damn Actually it costs a lot more on at least one vendors processor because you stall very long pipelines. > threadlets promise that they will not touch anything thread-local, and > that when the FPU is handed to them in a specific, known state, they > leave it in that same state. (Some of the flags can be We don't use the FPU in the kernel except in very weird cases where it makes an enormous performance difference. The threadlets also have the same page tables so they have the same %cr3 so its very cheap to switch, basically a predicted jump and some register loads > Do me a favor. Do some floating point math and a memcpy() in between > syscalls in the threadlet. Actually fiddle with errno and the FPU We don't have an errno in the kernel because its a stupid idea. Errno is a user space hack for compatibility with 1970's bad design. So its not relevant either. Alan - 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/