FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Crash Utility

 
 
LinkBack Thread Tools
 
Old 02-01-2012, 08:34 PM
Dave Anderson
 
Default CFS runqueue loop detection

----- Original Message -----
>
>
> ----- Original Message -----
> > Here is a patch against crash v6.0.2 that adds duplicate node detection
> > per-CPU for the CFS runqueue display in dump_CFS_runqueues() for the
> > runq command.
> >
> > This resolves the failure to bail-out of the unending looping display I
> > get with the crash dump I have that has a corrupted CFS runqueue
> > containing a loop.
> >
> > Signed-off-by: David Mair <dmair@suse.com>
> > ---
>
> That was quick!
>
> I'm going to have to re-work this patch slightly because of the queued
> changes for crash-6.0.3 that are based upon Daisuke's runq patch:
>
> [Crash-utility] [PATCH] runq: search current task's runqueue explicitly
> https://www.redhat.com/archives/crash-utility/2012-January/msg00009.html
>

Dave,

On second thought, I'd rather have you update your patch accordingly, and
then test with your dumpfile to make sure it works as planned.

Can you do this:

$ wget http://people.redhat.com/anderson/crash.tar.gz

Then go into any top-level crash utility source directory, and do this:

$ tar xvzmf /path/to/crash.tar.gz

which will overwrite everything -- just "make" to rebuild with all
the queued crash-6.0.3 changes to date.

Then re-do your patch to task.c, test it, and re-post it.

Thanks,
Dave

--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
 
Old 02-02-2012, 02:39 AM
David Mair
 
Default CFS runqueue loop detection

On 02/01/2012 02:34 PM, Dave Anderson wrote:


----- Original Message -----


----- Original Message -----

Here is a patch against crash v6.0.2 that adds duplicate node detection
per-CPU for the CFS runqueue display in dump_CFS_runqueues() for the
runq command.

This resolves the failure to bail-out of the unending looping display I
get with the crash dump I have that has a corrupted CFS runqueue
containing a loop.

Signed-off-by: David Mair<dmair@suse.com>
---

That was quick!

I'm going to have to re-work this patch slightly because of the queued
changes for crash-6.0.3 that are based upon Daisuke's runq patch:

[Crash-utility] [PATCH] runq: search current task's runqueue explicitly
https://www.redhat.com/archives/crash-utility/2012-January/msg00009.html


Dave,

On second thought, I'd rather have you update your patch accordingly, and
then test with your dumpfile to make sure it works as planned.

Can you do this:

$ wget http://people.redhat.com/anderson/crash.tar.gz

Then go into any top-level crash utility source directory, and do this:

$ tar xvzmf /path/to/crash.tar.gz

which will overwrite everything -- just "make" to rebuild with all
the queued crash-6.0.3 changes to date.

Then re-do your patch to task.c, test it, and re-post it.


Dave,

I've got a patch prepared but I can't test it until my morning tomorrow
(02/02) so I'll post it then. I'm sorry for the delay.


--
David Mair
SUSE Linux

--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
 
Old 02-02-2012, 03:04 PM
David Mair
 
Default CFS runqueue loop detection

Here is a patch against crash v6.0.3rc24 that adds duplicate node
detection per-CPU for the CFS runqueue display in dump_CFS_runqueues()
for the runq command.

This resolves for that 6.0.3 rc the failure to bail-out of the unending
looping display I get with the crash dump I have that has a corrupted
CFS runqueue containing a loop.

Signed-off-by: David Mair <dmair@suse.com>
---
task.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/task.c b/task.c
index c81cb74..7a3e8e1 100755
--- a/task.c
+++ b/task.c
@@ -7060,7 +7060,14 @@ dump_tasks_in_cfs_rq(ulong cfs_rq)
OFFSET(sched_entity_run_node));
if (!tc)
continue;
- dump_task_runq_entry(tc);
+ if (hq_enter((ulong)tc)) {
+ dump_task_runq_entry(tc);
+ } else {
+ error(WARNING, "Duplicate CFS runqueue node, task %lx"
+ ", probable loop
",
+ tc->task);
+ return total;
+ }
total++;
}

@@ -7220,7 +7227,9 @@ dump_CFS_runqueues(void)

fprintf(fp, " CFS RB_ROOT: %lx
", (ulong)root);

+ hq_open();
tot = dump_tasks_in_cfs_rq(cfs_rq);
+ hq_close();
if (!tot) {
INDENT(5);
fprintf(fp, "[no tasks queued]
");

--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
 
Old 02-02-2012, 06:04 PM
Dave Anderson
 
Default CFS runqueue loop detection

----- Original Message -----
> Here is a patch against crash v6.0.3rc24 that adds duplicate node
> detection per-CPU for the CFS runqueue display in dump_CFS_runqueues()
> for the runq command.
>
> This resolves for that 6.0.3 rc the failure to bail-out of the unending
> looping display I get with the crash dump I have that has a corrupted
> CFS runqueue containing a loop.
>
> Signed-off-by: David Mair <dmair@suse.com>
> ---
> task.c | 11 ++++++++++-
> 1 files changed, 10 insertions(+), 1 deletions(-)
>
> diff --git a/task.c b/task.c
> index c81cb74..7a3e8e1 100755
> --- a/task.c
> +++ b/task.c
> @@ -7060,7 +7060,14 @@ dump_tasks_in_cfs_rq(ulong cfs_rq)
> OFFSET(sched_entity_run_node));
> if (!tc)
> continue;
> - dump_task_runq_entry(tc);
> + if (hq_enter((ulong)tc)) {
> + dump_task_runq_entry(tc);
> + } else {
> + error(WARNING, "Duplicate CFS runqueue node, task %lx"
> + ", probable loop
",
> + tc->task);
> + return total;
> + }
> total++;
> }
>
> @@ -7220,7 +7227,9 @@ dump_CFS_runqueues(void)
>
> fprintf(fp, " CFS RB_ROOT: %lx
", (ulong)root);
>
> + hq_open();
> tot = dump_tasks_in_cfs_rq(cfs_rq);
> + hq_close();
> if (!tot) {
> INDENT(5);
> fprintf(fp, "[no tasks queued]
");
>

Thanks Dave -- queued for crash-6.0.3.

Dave

--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
 

Thread Tools




All times are GMT. The time now is 09:26 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org