From: Juri Lelli <juri.lelli@gmail.com>
To: peterz@infradead.org, tglx@linutronix.de
Cc: mingo@redhat.com, rostedt@goodmis.org, oleg@redhat.com,
fweisbec@gmail.com, darren@dvhart.com, johan.eker@ericsson.com,
p.faure@akatech.ch, linux-kernel@vger.kernel.org,
claudio@evidence.eu.com, michael@amarulasolutions.com,
fchecconi@gmail.com, tommaso.cucinotta@sssup.it,
juri.lelli@gmail.com, nicola.manica@disi.unitn.it,
luca.abeni@unitn.it, dhaval.giani@gmail.com, hgu1972@gmail.com,
paulmck@linux.vnet.ibm.com, raistlin@linux.it,
insop.song@ericsson.com, liming.wang@windriver.com,
jkacur@redhat.com, harald.gustafsson@ericsson.com,
vincent.guittot@linaro.org
Subject: [PATCH 03/16] sched: add sched_class->task_dead.
Date: Wed, 24 Oct 2012 14:53:41 -0700 [thread overview]
Message-ID: <1351115634-8420-4-git-send-email-juri.lelli@gmail.com> (raw)
In-Reply-To: <1351115634-8420-1-git-send-email-juri.lelli@gmail.com>
From: Dario Faggioli <raistlin@linux.it>
Add a new function to the scheduling class interface. It is called
at the end of a context switch, if the prev task is in TASK_DEAD state.
It might be useful for the scheduling classes that want to be notified
when one of their task dies, e.g. to perform some cleanup actions.
Signed-off-by: Dario Faggioli <raistlin@linux.it>
Signed-off-by: Juri Lelli <juri.lelli@gmail.com>
---
include/linux/sched.h | 1 +
kernel/sched/core.c | 3 +++
2 files changed, 4 insertions(+)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 0dd42a0..c8955a2 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1077,6 +1077,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);
void (*switched_to) (struct rq *this_rq, struct task_struct *task);
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 2d8927f..fc0f7d8 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1774,6 +1774,9 @@ 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.9.5
next prev parent reply other threads:[~2012-10-24 21:55 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-24 21:53 [RFC][PATCH 00/16] sched: SCHED_DEADLINE v6 Juri Lelli
2012-10-24 21:53 ` [PATCH 01/16] math128: Introduce various 128bit primitives Juri Lelli
2012-10-24 22:48 ` Juri Lelli
2012-10-24 23:18 ` Linus Torvalds
2012-10-25 0:08 ` Steven Rostedt
2012-10-25 0:09 ` Linus Torvalds
2012-10-25 13:47 ` Peter Zijlstra
2012-10-25 14:13 ` Peter Zijlstra
2012-10-25 22:26 ` Linus Torvalds
2012-10-26 8:49 ` Peter Zijlstra
2012-10-26 9:24 ` Ingo Molnar
2012-10-26 9:35 ` Peter Zijlstra
2012-10-26 9:42 ` Ingo Molnar
2012-10-26 9:54 ` Peter Zijlstra
2012-10-26 10:04 ` Ingo Molnar
2012-10-26 10:36 ` Thomas Gleixner
2012-10-26 10:44 ` Peter Zijlstra
2012-10-26 11:11 ` Ingo Molnar
2012-10-26 12:56 ` Peter Zijlstra
2012-10-26 18:12 ` Juri Lelli
2012-10-26 18:28 ` Steven Rostedt
2012-10-26 18:34 ` Thomas Gleixner
2012-10-26 18:41 ` Juri Lelli
2012-10-26 12:39 ` Steven Rostedt
2012-10-26 13:09 ` Steven Rostedt
2012-10-26 9:52 ` Harald Gustafsson
2012-10-26 15:17 ` Linus Torvalds
2012-10-25 5:21 ` Geert Uytterhoeven
2012-10-25 13:38 ` Peter Zijlstra
2012-10-24 21:53 ` [PATCH 02/16] math128, x86_64: Implement {mul,add}_u128 in 64bit asm Juri Lelli
2012-10-24 22:27 ` H. Peter Anvin
2012-10-24 22:47 ` Juri Lelli
2012-10-24 22:51 ` H. Peter Anvin
2012-10-24 21:53 ` Juri Lelli [this message]
2012-10-24 21:53 ` [PATCH 04/16] sched: add extended scheduling interface Juri Lelli
2012-10-24 21:53 ` [PATCH 05/16] sched: SCHED_DEADLINE structures & implementation Juri Lelli
2012-10-24 21:53 ` [PATCH 06/16] sched: SCHED_DEADLINE SMP-related data structures & logic Juri Lelli
2012-10-24 21:53 ` [PATCH 07/16] sched: SCHED_DEADLINE avg_update accounting Juri Lelli
2012-10-24 21:53 ` [PATCH 08/16] sched: add period support for -deadline tasks Juri Lelli
2012-10-24 21:53 ` [PATCH 09/16] sched: add schedstats " Juri Lelli
2012-10-24 21:53 ` [PATCH 10/16] sched: add latency tracing " Juri Lelli
2012-10-24 21:53 ` [PATCH 11/16] rtmutex: turn the plist into an rb-tree Juri Lelli
2012-10-24 21:53 ` [PATCH 12/16] sched: drafted deadline inheritance logic Juri Lelli
2012-10-24 21:53 ` [PATCH 13/16] sched: add bandwidth management for sched_dl Juri Lelli
2012-10-24 21:53 ` [PATCH 14/16] sched: make dl_bw a sub-quota of rt_bw Juri Lelli
2012-10-24 21:53 ` [PATCH 15/16] sched: speed up -dl pushes with a push-heap Juri Lelli
2012-10-24 21:53 ` [PATCH 16/16] sched: add sched_dl documentation Juri Lelli
2012-10-25 7:18 ` [RFC][PATCH 00/16] sched: SCHED_DEADLINE v6 Ingo Molnar
2012-10-25 9:53 ` Borislav Petkov
2012-10-25 16:58 ` Juri Lelli
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=1351115634-8420-4-git-send-email-juri.lelli@gmail.com \
--to=juri.lelli@gmail.com \
--cc=claudio@evidence.eu.com \
--cc=darren@dvhart.com \
--cc=dhaval.giani@gmail.com \
--cc=fchecconi@gmail.com \
--cc=fweisbec@gmail.com \
--cc=harald.gustafsson@ericsson.com \
--cc=hgu1972@gmail.com \
--cc=insop.song@ericsson.com \
--cc=jkacur@redhat.com \
--cc=johan.eker@ericsson.com \
--cc=liming.wang@windriver.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luca.abeni@unitn.it \
--cc=michael@amarulasolutions.com \
--cc=mingo@redhat.com \
--cc=nicola.manica@disi.unitn.it \
--cc=oleg@redhat.com \
--cc=p.faure@akatech.ch \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=raistlin@linux.it \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=tommaso.cucinotta@sssup.it \
--cc=vincent.guittot@linaro.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.