From: Heiko Carstens <heiko.carstens@de.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@elte.hu>, Avi Kivity <avi@qumranet.com>,
linux-kernel@vger.kernel.org,
Dmitry Adamushko <dmitry.adamushko@gmail.com>
Subject: Re: [BUG] CFS vs cpu hotplug
Date: Sat, 21 Jun 2008 00:19:40 +0200 [thread overview]
Message-ID: <20080620221940.GA4730@osiris.ibm.com> (raw)
In-Reply-To: <1213951863.10476.31.camel@twins>
On Fri, Jun 20, 2008 at 10:51:03AM +0200, Peter Zijlstra wrote:
> On Thu, 2008-06-19 at 23:49 +0200, Heiko Carstens wrote:
> > On Thu, Jun 19, 2008 at 11:32:29PM +0200, Peter Zijlstra wrote:
> > > On Thu, 2008-06-19 at 20:05 +0200, Peter Zijlstra wrote:
> > > > On Thu, 2008-06-19 at 18:19 +0200, Heiko Carstens wrote:
> > >
> > > > > The sched_entity that belongs to the cfs_rq:
> > > > >
> > > > > >> px *(sched_entity *) 0x759300
> > > > > struct sched_entity {
> > > > > load = struct load_weight {
> > > > > weight = 0x800
> > > > > inv_weight = 0x1ffc01
> > > > > }
> > > > > run_node = struct rb_node {
> > > > > rb_parent_color = 0x1
> > > > > rb_right = (nil)
> > > > > rb_left = (nil)
> > > > > }
> > > > > group_node = struct list_head {
> > > > > next = 0x75a3b8
> > > > > prev = 0x75a3b8
> > > > > }
> > > > > on_rq = 0x1
> > > > > exec_start = 0x189685acb4aa46
> > > > > sum_exec_runtime = 0x188a2b84c
> > > > > vruntime = 0xd036bd29
> > > > > prev_sum_exec_runtime = 0x1672e3f62
> > > > > last_wakeup = 0x0
> > > > > avg_overlap = 0x0
> > > > > parent = (nil)
> > > > > cfs_rq = 0x75a380
> > > > > my_q = 0x759400
> > > > > }
> > >
> > > If you still have this dump, could you give the output of:
> > >
> > > px *(struct cfs_rq *) 0x759400
> > >
> > > And possibly walk down the chain getting its curr and then my_q again
> > > etc..
> >
> > Sure, fortunately just a very short chain:
> >
> > >> px *(struct cfs_rq *) 0x759400
> > struct cfs_rq {
> > load = struct load_weight {
> > weight = 0xc31
> > inv_weight = 0x0
> > }
> > nr_running = 0x1
> > exec_clock = 0x0
> > min_vruntime = 0x4f216b005
> > tasks_timeline = struct rb_root {
> > rb_node = 0x2fca4d40
> > }
> > rb_leftmost = 0x2fca4d40
> > tasks = struct list_head {
> > next = 0x2fca4d58
> > prev = 0x2fca4d58
> > }
> > balance_iterator = 0x2e29e700
> > curr = 0x2ef4f388
> > next = (nil)
> > nr_spread_over = 0x0
> > rq = 0x75a300
> > leaf_cfs_rq_list = struct list_head {
> > next = 0x75aaa0
> > prev = 0x2e1eca70
> > }
> > tg = 0x564910
> > }
>
> Hmm this one is buggered as well, it has nr_running = 1, and one entry
> in the tree, but also a !NULL curr.
>
> Could you please show:
>
> px *container_of(0x2fca4d40, struct sched_entity, run_node)
>
> which one might have to write like:
>
> px *((struct sched_entity *)((char*)0x2fca4d40) - ((unsigned long)&(((struct sched_entity *)0)->run_node)))
>
> /me prays he got the braces right,..
Here we go:
>> offset sched_entity.run_node
Offset: 16 bytes.
>> px *(sched_entity *) 0x2fca4d30
struct sched_entity {
load = struct load_weight {
weight = 0xc31
inv_weight = 0x14ff97
}
run_node = struct rb_node {
rb_parent_color = 0x1
rb_right = (nil)
rb_left = (nil)
}
group_node = struct list_head {
next = 0x759438
prev = 0x759438
}
on_rq = 0x1
exec_start = 0x1896859fb4ff76
sum_exec_runtime = 0x1f19
vruntime = 0x4f128ead9
prev_sum_exec_runtime = 0x0
last_wakeup = 0x0
avg_overlap = 0x0
parent = 0x759300
cfs_rq = 0x759400
my_q = (nil)
}
next prev parent reply other threads:[~2008-06-21 4:18 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-19 16:19 [BUG] CFS vs cpu hotplug Heiko Carstens
2008-06-19 18:05 ` Peter Zijlstra
2008-06-19 18:14 ` Peter Zijlstra
2008-06-19 21:14 ` Heiko Carstens
2008-06-19 21:26 ` Peter Zijlstra
2008-06-19 21:17 ` Heiko Carstens
2008-06-19 21:32 ` Peter Zijlstra
2008-06-19 21:49 ` Heiko Carstens
2008-06-20 8:51 ` Peter Zijlstra
2008-06-20 22:19 ` Heiko Carstens [this message]
2008-06-20 11:44 ` Dmitry Adamushko
2008-06-20 22:23 ` Heiko Carstens
2008-06-25 22:12 ` Dmitry Adamushko
2008-06-28 22:16 ` Dmitry Adamushko
2008-06-29 6:55 ` Ingo Molnar
2008-06-30 9:07 ` Heiko Carstens
2008-06-30 9:17 ` Ingo Molnar
2008-07-01 9:22 ` Lai Jiangshan
2008-07-01 9:31 ` Ingo Molnar
2008-07-01 10:09 ` Lai Jiangshan
2008-07-02 7:13 ` Lai Jiangshan
2008-07-02 8:50 ` Dmitry Adamushko
2008-07-02 9:23 ` Lai Jiangshan
2008-07-07 10:26 ` Miao Xie
2008-07-07 11:31 ` Dmitry Adamushko
-- strict thread matches above, loose matches on Subject: below --
2008-07-09 22:32 Dmitry Adamushko
2008-07-10 7:30 ` Heiko Carstens
2008-07-10 7:39 ` Ingo Molnar
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=20080620221940.GA4730@osiris.ibm.com \
--to=heiko.carstens@de.ibm.com \
--cc=avi@qumranet.com \
--cc=dmitry.adamushko@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.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.