* Mel Gorman <mel@csn.ul.ie> wrote:Mel, does the patch below fix this bug for you? (Note: you will need to enable CONFIG_SCHEDSTATS=y too.) if yes, then Linus please pull this single fix from: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched.git | Ingo Molnar (1): | sched: fix profile=sleep | | sched_fair.c | 10 ++++++++++ | 1 file changed, 10 insertions(+) risk is low: the new code only runs with CONFIG_SCHEDSTATS=y (default:off) and profile=sleep (default:off), so it ought to be fairly safe to add at this point. (and we had very similar code in v2.6.22 anyway) Ingo -------------------------> Subject: sched: fix profile=sleep From: Ingo Molnar <mingo@elte.hu> fix sleep profiling - we lost this chunk in the CFS merge. Found-by: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- kernel/sched_fair.c | 10 ++++++++++ 1 file changed, 10 insertions(+) Index: linux/kernel/sched_fair.c =================================================================== --- linux.orig/kernel/sched_fair.c +++ linux/kernel/sched_fair.c @@ -639,6 +639,16 @@ static void enqueue_sleeper(struct cfs_r se->block_start = 0; se->sum_sleep_runtime += delta; + + /* + * Blocking time is in units of nanosecs, so shift by 20 to + * get a milliseconds-range estimation of the amount of + * time that the task spent sleeping: + */ + if (unlikely(prof_on == SLEEP_PROFILING)) { + profile_hits(SLEEP_PROFILING, (void *)get_wchan(tsk), + delta >> 20); + } } #endif } -
| David Miller | Re: Slow DOWN, please!!! |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Greg KH | Re: [AppArmor 39/45] AppArmor: Profile loading and manipulation, pathname matching |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Josip Rodin | bnx2_poll panicking kernel |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
