linux.kernel - 26 new messages in 14 topics - digest
linux.kernel
http://groups.google.com/group/linux.kernel?hl=en
Today's topics:
* [PATCH 01/11] sched: add sched_class->task_dead. - 10 messages, 1 author
http://groups.google.com/group/linux.kernel/t/9133d97cf353e20c?hl=en
* USB mass storage and ARM cache coherency - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/68938cdf1fa061a9?hl=en
* nmi_watchdog: Turn it off by default - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/974b12ba31ac9b37?hl=en
* x86: Fix out of order of gsi - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/58949e2872365c61?hl=en
* Driver core: Reduce the level of request_firmware() messages - 2 messages, 2
authors
http://groups.google.com/group/linux.kernel/t/ba1321736f5e0e2d?hl=en
* Why does connector use a work queue??? - 2 messages, 2 authors
http://groups.google.com/group/linux.kernel/t/c4c3919ae035982d?hl=en
* tip: origin tree build failure - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/483853d08e1ad890?hl=en
* Is automatic enumeration of DM devices at boot possible? - 1 messages, 1
author
http://groups.google.com/group/linux.kernel/t/1dcd986401503707?hl=en
* mdadm software raid + ext4, capped at ~350MiB/s limitation/bug? - 1 messages,
1 author
http://groups.google.com/group/linux.kernel/t/08d2c4b721624c43?hl=en
* x86/cpu changes for v2.6.34 - 2 messages, 1 author
http://groups.google.com/group/linux.kernel/t/d229cf8f2092241b?hl=en
* mm: used-once mapped file page detection - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/751f58286c1ac8a2?hl=en
* workqueue: reimplement workqueue flushing using color coded works - 1
messages, 1 author
http://groups.google.com/group/linux.kernel/t/8c5a103d75939b99?hl=en
* PCI changes for 2.6.34 - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/5251906101240ac7?hl=en
* [PATCH 66/66] arch/um/sys-x86_64/shared/sysdep/skas_ptrace.h: Checkpatch
cleanup - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/e0ce05b42ac96287?hl=en
==============================================================================
TOPIC: [PATCH 01/11] sched: add sched_class->task_dead.
http://groups.google.com/group/linux.kernel/t/9133d97cf353e20c?hl=en
==============================================================================
== 1 of 10 ==
Date: Sun, Feb 28 2010 11:20 am
From: Raistlin
Add a new function to the scheduling class interface. It is called
at the end of a cointext switch, if the going out task is in
TASK_DEAD state.
It might be of help in case the scheduling class wants to be
notified when one of its task dies, e.g. to perform some
cleanup actions.
Signed-off-by: Dario Faggioli <raistlin@linux.it>
---
include/linux/sched.h | 1 +
kernel/sched.c | 2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 78efe7c..d1de995 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1119,6 +1119,7 @@ struct sched_class {
void (*set_curr_task) (struct rq *rq);
void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
void (*task_fork) (struct task_struct *p);
+ void (*task_dead) (struct task_struct *p);
void (*switched_from) (struct rq *this_rq, struct task_struct *task,
int running);
diff --git a/kernel/sched.c b/kernel/sched.c
index 3a8fb30..532dcf1 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -2801,6 +2801,8 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev)
if (mm)
mmdrop(mm);
if (unlikely(prev_state == TASK_DEAD)) {
+ if (prev->sched_class->task_dead)
+ prev->sched_class->task_dead(prev);
/*
* Remove function-return probe instances associated with this
* task and put them back on the free list.
--
1.7.0
--
<<This happens because I choose it to happen!>> (Raistlin Majere)
----------------------------------------------------------------------
Dario Faggioli, ReTiS Lab, Scuola Superiore Sant'Anna, Pisa (Italy)
http://blog.linux.it/raistlin / raistlin@ekiga.net /
dario.faggioli@jabber.org
== 2 of 10 ==
Date: Sun, Feb 28 2010 11:20 am
From: Raistlin
Add resource limits for non-root tasks in using the SCHED_DEADLINE
policy, very similarly to what already exists for RT policies.
In fact, this patch:
- adds the resource limit RLIMIT_DLDLINE, which is the minimum value
a user task can use as its own deadline;
- adds the resource limit RLIMIT_DLRTIME, which is the maximum value
a user task can use as it own runtime.
Notice that to exploit these, a modified version of the ulimit
utility and a modified resource.h header file are needed. They
both will be available on the website of the project.
Signed-off-by: Dario Faggioli <raistlin@linux.it>
---
include/asm-generic/resource.h | 7 ++++++-
kernel/sched.c | 25 +++++++++++++++++++++++++
2 files changed, 31 insertions(+), 1 deletions(-)
diff --git a/include/asm-generic/resource.h b/include/asm-generic/resource.h
index 587566f..4a1d0e2 100644
--- a/include/asm-generic/resource.h
+++ b/include/asm-generic/resource.h
@@ -45,7 +45,10 @@
0-39 for nice level 19 .. -20 */
#define RLIMIT_RTPRIO 14 /* maximum realtime priority */
#define RLIMIT_RTTIME 15 /* timeout for RT tasks in us */
-#define RLIM_NLIMITS 16
+
+#define RLIMIT_DLDLINE 16 /* minimum deadline in us */
+#define RLIMIT_DLRTIME 17 /* maximum runtime in us */
+#define RLIM_NLIMITS 18
/*
* SuS says limits have to be unsigned.
@@ -87,6 +90,8 @@
[RLIMIT_NICE] = { 0, 0 }, \
[RLIMIT_RTPRIO] = { 0, 0 }, \
[RLIMIT_RTTIME] = { RLIM_INFINITY, RLIM_INFINITY }, \
+ [RLIMIT_DLDLINE] = { ULONG_MAX, ULONG_MAX }, \
+ [RLIMIT_DLRTIME] = { 0, 0 }, \
}
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home