lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091001191515.GB24158@elte.hu>
Date:	Thu, 1 Oct 2009 21:15:15 +0200
From:	Ingo Molnar <mingo@...e.hu>
To:	Avi Kivity <avi@...hat.com>
Cc:	Linus Torvalds <torvalds@...ux-foundation.org>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Tejun Heo <tj@...nel.org>, jeff@...zik.org,
	linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
	jens.axboe@...cle.com, rusty@...tcorp.com.au,
	cl@...ux-foundation.org, dhowells@...hat.com, arjan@...ux.intel.com
Subject: Re: [PATCH 03/19] scheduler: implement workqueue scheduler class


* Avi Kivity <avi@...hat.com> wrote:

> On 10/01/2009 08:48 PM, Ingo Molnar wrote:
>> We could do what Avi suggested: not use scheduler classes at all for
>> this (that brings in other limitations like lack of p->policy freedom),
>> but use the existing preempt-notifications callbacks.
>>
>> They are per task - we would simply make preempt notifiers 
>> unconditional, i.e. remove CONFIG_PREEMPT_NOTIFIERS and make it all 
>> unconditional scheduler logic.
>
> 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).

perf events have sched out, sched in and wakeup events. Return to 
user-space would be interesting to add as well. (and overhead of that 
can be hidden via TIF - like you did via the return-to-userspace 
notifiers)

Sounds more generally useful (and less scary) than (clever but somewhat 
limiting) sched_class hackery.

I.e. i'd prefer if we had just one callback facility in those codepaths, 
minimizing the hotpath overhead and providing a coherent API.

> 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.
>
> But what if we added a way for userspace to tell the kernel to fork 
> off threads when processing power and work to do are both available?  
> The scheduler knows when there is processing power, and an epoll fd 
> can tell it when there is work to do.  So the scheduler will create 
> threads to saturate the processors, if one of them waits for I/O the 
> scheduler forks off another one until all queues are busy again.

Sounds like syslets done right?

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ