From: Con Kolivas <kernel@kolivas.org>
To: linux <linux-kernel@vger.kernel.org>
Cc: Andrew Morton <akpm@osdl.org>, Ingo Molnar <mingo@elte.hu>,
Peter Williams <pwil3058@bigpond.net.au>,
William Lee Irwin III <wli@holomorphy.com>,
Alexander Nyberg <alexn@dsv.su.se>,
Nick Piggin <nickpiggin@yahoo.com.au>
Subject: [PATCH][plugsched 16/28] make rt_task private
Date: Sun, 31 Oct 2004 00:39:44 +1000 [thread overview]
Message-ID: <4183A7B0.2010907@kolivas.org> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 22 bytes --]
make rt_task private
[-- Attachment #1.2: privatise_rt_task.diff --]
[-- Type: text/x-patch, Size: 2637 bytes --]
Scheduler designs may not identify real time tasks by their priority so
privatise the rt_task macro as a function.
Signed-off-by: Con Kolivas <kernel@kolivas.org>
Index: linux-2.6.10-rc1-mm2-plugsched1/include/linux/sched.h
===================================================================
--- linux-2.6.10-rc1-mm2-plugsched1.orig/include/linux/sched.h 2004-10-29 21:47:46.780525066 +1000
+++ linux-2.6.10-rc1-mm2-plugsched1/include/linux/sched.h 2004-10-29 21:47:49.047171325 +1000
@@ -345,7 +345,7 @@ struct signal_struct {
#define MAX_PRIO (MAX_RT_PRIO + 40)
-#define rt_task(p) (unlikely((p)->prio < MAX_RT_PRIO))
+extern int rt_task(task_t *p);
/*
* Some day this will be a full-fledged user tracking system..
Index: linux-2.6.10-rc1-mm2-plugsched1/include/linux/scheduler.h
===================================================================
--- linux-2.6.10-rc1-mm2-plugsched1.orig/include/linux/scheduler.h 2004-10-29 21:47:15.473410961 +1000
+++ linux-2.6.10-rc1-mm2-plugsched1/include/linux/scheduler.h 2004-10-29 21:47:49.048171169 +1000
@@ -1,5 +1,6 @@
struct sched_drv
{
+ int (*rt_task)(task_t *);
void (*wait_for_completion)(struct completion *);
void (*io_schedule)(void);
long (*io_schedule_timeout)(long);
Index: linux-2.6.10-rc1-mm2-plugsched1/kernel/sched.c
===================================================================
--- linux-2.6.10-rc1-mm2-plugsched1.orig/kernel/sched.c 2004-10-29 21:47:38.395833609 +1000
+++ linux-2.6.10-rc1-mm2-plugsched1/kernel/sched.c 2004-10-29 21:47:49.050170857 +1000
@@ -292,6 +292,11 @@ static DEFINE_PER_CPU(struct runqueue, r
#define task_rq(p) cpu_rq(task_cpu(p))
#define cpu_curr(cpu) (cpu_rq(cpu)->curr)
+static int ingo_rt_task(task_t *p)
+{
+ return (unlikely((p)->prio < MAX_RT_PRIO));
+}
+
/*
* Default context-switch locking:
*/
@@ -4139,6 +4144,7 @@ void destroy_sched_domain_sysctl()
#endif
struct sched_drv ingo_sched_drv = {
+ .rt_task = ingo_rt_task,
.wait_for_completion = ingo_wait_for_completion,
.io_schedule = ingo_io_schedule,
.io_schedule_timeout = ingo_io_schedule_timeout,
Index: linux-2.6.10-rc1-mm2-plugsched1/kernel/scheduler.c
===================================================================
--- linux-2.6.10-rc1-mm2-plugsched1.orig/kernel/scheduler.c 2004-10-29 21:47:15.477410337 +1000
+++ linux-2.6.10-rc1-mm2-plugsched1/kernel/scheduler.c 2004-10-29 21:47:49.051170701 +1000
@@ -921,6 +921,11 @@ unsigned long nr_iowait(void)
return scheduler->nr_iowait();
}
+int rt_task(task_t *task)
+{
+ return scheduler->rt_task(task);
+}
+
int idle_cpu(int cpu)
{
return scheduler->idle_cpu(cpu);
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]
reply other threads:[~2004-10-30 15:45 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4183A7B0.2010907@kolivas.org \
--to=kernel@kolivas.org \
--cc=akpm@osdl.org \
--cc=alexn@dsv.su.se \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
--cc=pwil3058@bigpond.net.au \
--cc=wli@holomorphy.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome