Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Nov 2006 19:03:53 +0300
From:      "Maxim A. Zhuravlev" <thIOretic@yandex.ru>
To:        freebsd-hackers@freebsd.org
Subject:   [call for comments] l2sched
Message-ID:  <eid6b1$tdh$1@sea.gmane.org>

next in thread | raw e-mail | index | archive | help
What is l2sched?
l2sched is a mechanism that allows multiple third-party thread schedulers
collaborate. These schedulers are to be implemented as loadable kernel
modules aka KLD (kernel loadable driver).
l2sched is being designed to to make it possible to provide a complicated
software system with a scheduler meeting the system's requirements. l2sched
is going to increase the portability of a software, dependant on an
OS-specific scheduler's behavior (e.g.. the software, requiring the POSIX
real-time schedulers). Currently the POSIX real-time schedulers are
implemented as a part of the system schedulers. l2sched should let to
implement them independently.
l2schd should provide an scheduling policy-independent interface for the
thread/process-scheduler interaction. The interface is be based on
/usr/src/sys/sys/sched.h. The policy-specific calls like
void sched_prio(struct thread , u_char);
are to be replaced by
void sched_set_param(void*, void*).
l2sched is to give scheduler access to the cpu on a priority-based,
proportional basis (here we come - level 2 scheduling -l2sched). As the
l2sched is being designed for a general-purpose OS FreeBSD, it should
provide an adequate experience. So idle process' schedulers should act only
if no time-sharing threads' schedulers have runnable threads. The latest
should act only when no real-time schedulers are active. A scheduler can
schedule any subset of process types. With two given schedulers, the one
that hosts more threads should be provided with a bigger portion of
processor's time.
The author believes that the performance overhead can be minimized provided
a well-designed internal calls interface.

Any descussion/comments are wellcome.
mailto:maxim.zhuravlev@gmail.com
maxim (dot) zhuravlev (at) gmail (dot) com

-- 
WBR Maxim A. Zhuravlev





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?eid6b1$tdh$1>