Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756285AbZJATNA (ORCPT ); Thu, 1 Oct 2009 15:13:00 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754741AbZJATM7 (ORCPT ); Thu, 1 Oct 2009 15:12:59 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:35809 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754535AbZJATM7 (ORCPT ); Thu, 1 Oct 2009 15:12:59 -0400 Date: Thu, 1 Oct 2009 12:11:23 -0700 (PDT) From: Linus Torvalds X-X-Sender: torvalds@localhost.localdomain To: Avi Kivity cc: Ingo Molnar , Peter Zijlstra , Tejun Heo , jeff@garzik.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, jens.axboe@oracle.com, rusty@rustcorp.com.au, cl@linux-foundation.org, dhowells@redhat.com, arjan@linux.intel.com Subject: Re: [PATCH 03/19] scheduler: implement workqueue scheduler class In-Reply-To: <4AC4FC47.4010405@redhat.com> Message-ID: References: <1254384558-1018-1-git-send-email-tj@kernel.org> <1254384558-1018-4-git-send-email-tj@kernel.org> <20091001184824.GA21357@elte.hu> <4AC4FC47.4010405@redhat.com> User-Agent: Alpine 2.01 (LFD 1184 2008-12-16) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1631 Lines: 37 On Thu, 1 Oct 2009, Avi Kivity wrote: > > Sure, but it would mean that we need a new notifier. sched_out, sched_in, and > wakeup (and, return to userspace, with the new notifier). Ok, see the email I just sent out. And I don't think we want a new notifier - mainly because I don't think we want to walk the list four times (prepare, out, in, final - we need to make sure that these things nest properly, so even if "in" and "final" happen with the same state, they aren't the same, because "in" only happens if "out" was called, while "final" would happen if "prepare" was called) So it would be better to have separate lists, in order to avoid walking the lists four times just because there was a single notifier that just wanted to be called for the inner (or outer) cases. > btw, I've been thinking we should extend concurrency managed workqueues to > userspace. Right now userspace can spawn a massive amount of threads, hoping > to hide any waiting by making more work available to the scheduler. That has > the drawback of increasing latency due to involuntary preemption. Or > userspace can use one thread per cpu, hope it's the only application on the > machine, and go all-aio. This is what the whole next-gen AIO was supposed to do with the threadlets, ie avoid doing a new thread if it could do the IO all cached and without being preempted. Linus -- 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/