Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1423197AbXBUXJR (ORCPT ); Wed, 21 Feb 2007 18:09:17 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1423199AbXBUXJR (ORCPT ); Wed, 21 Feb 2007 18:09:17 -0500 Received: from mx2.mail.elte.hu ([157.181.151.9]:46884 "EHLO mx2.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1423197AbXBUXJQ (ORCPT ); Wed, 21 Feb 2007 18:09:16 -0500 Date: Thu, 22 Feb 2007 00:03:51 +0100 From: Ingo Molnar To: "Michael K. Edwards" Cc: linux-kernel@vger.kernel.org, Linus Torvalds , Arjan van de Ven , Christoph Hellwig , Andrew Morton , Alan Cox , Ulrich Drepper , Zach Brown , Evgeniy Polyakov , "David S. Miller" , Suparna Bhattacharya , Davide Libenzi , Jens Axboe , Thomas Gleixner Subject: Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Message-ID: <20070221230351.GC32031@elte.hu> References: <20070221211355.GA7302@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.2i X-ELTE-VirusStatus: clean X-ELTE-SpamScore: -5.3 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-5.3 required=5.9 tests=ALL_TRUSTED,BAYES_00 autolearn=no SpamAssassin version=3.0.3 -3.3 ALL_TRUSTED Did not pass through any untrusted hosts -2.0 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1010 Lines: 24 * Michael K. Edwards wrote: > 1) Documentation of what you can and can't do safely from a threadlet, > given that it runs in an unknown thread context; you can do just about anything from a threadlet, using bog standard procedural programming. (Certain system-calls are excluded at the moment out of caution - but i'll probably lift restrictions like sys_clone() use because sys_clone() can be done safely from a threadlet.) The code must be thread-safe, because the kernel can move execution to a new thread anytime and then it will execute in parallel with the main thread. There's no other requirement. Wrt. performance, one good model is to run request-alike functionality from a threadlet, to maximize parallelism. ingo - 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/