2022-07-20 12:43:27

by Peng Liu

[permalink] [raw]
Subject: [PATCH 1/3] scripts/gdb: fix lx-timerlist for struct timequeue_head change

From: Peng Liu <[email protected]>

commit 511885d7061e ("lib/timerqueue: Rely on rbtree semantics for next
timer") changed struct timerqueue_head, and so print_active_timers()
should be changed accordingly with its way to interpret the structure.

Signed-off-by: Peng Liu <[email protected]>
---
scripts/gdb/linux/timerlist.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/scripts/gdb/linux/timerlist.py b/scripts/gdb/linux/timerlist.py
index 071d0dd5a634..44e39dc3eb64 100644
--- a/scripts/gdb/linux/timerlist.py
+++ b/scripts/gdb/linux/timerlist.py
@@ -43,8 +43,7 @@ def print_timer(rb_node, idx):


def print_active_timers(base):
- curr = base['active']['next']['node']
- curr = curr.address.cast(rbtree.rb_node_type.get_type().pointer())
+ curr = base['active']['rb_root']['rb_leftmost']
idx = 0
while curr:
yield print_timer(curr, idx)
--
2.25.1


2022-08-04 09:46:25

by Peng Liu

[permalink] [raw]
Subject: Re: [PATCH 1/3] scripts/gdb: fix lx-timerlist for struct timequeue_head change

ping

On 2022/7/20 20:27, [email protected] wrote:
> From: Peng Liu <[email protected]>
>
> commit 511885d7061e ("lib/timerqueue: Rely on rbtree semantics for next
> timer") changed struct timerqueue_head, and so print_active_timers()
> should be changed accordingly with its way to interpret the structure.
>
> Signed-off-by: Peng Liu <[email protected]>
> ---
> scripts/gdb/linux/timerlist.py | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/scripts/gdb/linux/timerlist.py b/scripts/gdb/linux/timerlist.py
> index 071d0dd5a634..44e39dc3eb64 100644
> --- a/scripts/gdb/linux/timerlist.py
> +++ b/scripts/gdb/linux/timerlist.py
> @@ -43,8 +43,7 @@ def print_timer(rb_node, idx):
>
>
> def print_active_timers(base):
> - curr = base['active']['next']['node']
> - curr = curr.address.cast(rbtree.rb_node_type.get_type().pointer())
> + curr = base['active']['rb_root']['rb_leftmost']
> idx = 0
> while curr:
> yield print_timer(curr, idx)

2022-08-22 10:40:04

by Peng Liu

[permalink] [raw]
Subject: Re: [PATCH 1/3] scripts/gdb: fix lx-timerlist for struct timequeue_head change

ping

On 2022/8/4 16:49, Peng Liu wrote:
> ping
>
> On 2022/7/20 20:27, [email protected] wrote:
>> From: Peng Liu <[email protected]>
>>
>> commit 511885d7061e ("lib/timerqueue: Rely on rbtree semantics for next
>> timer") changed struct timerqueue_head, and so print_active_timers()
>> should be changed accordingly with its way to interpret the structure.
>>
>> Signed-off-by: Peng Liu <[email protected]>
>> ---
>>   scripts/gdb/linux/timerlist.py | 3 +--
>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/scripts/gdb/linux/timerlist.py
>> b/scripts/gdb/linux/timerlist.py
>> index 071d0dd5a634..44e39dc3eb64 100644
>> --- a/scripts/gdb/linux/timerlist.py
>> +++ b/scripts/gdb/linux/timerlist.py
>> @@ -43,8 +43,7 @@ def print_timer(rb_node, idx):
>>       def print_active_timers(base):
>> -    curr = base['active']['next']['node']
>> -    curr = curr.address.cast(rbtree.rb_node_type.get_type().pointer())
>> +    curr = base['active']['rb_root']['rb_leftmost']
>>       idx = 0
>>       while curr:
>>           yield print_timer(curr, idx)

2022-08-31 02:16:18

by Peng Liu

[permalink] [raw]
Subject: Re: [PATCH 1/3] scripts/gdb: fix lx-timerlist for struct timequeue_head change

ping

On 2022/8/22 17:29, Peng Liu wrote:
> ping
>
> On 2022/8/4 16:49, Peng Liu wrote:
>> ping
>>
>> On 2022/7/20 20:27, [email protected] wrote:
>>> From: Peng Liu <[email protected]>
>>>
>>> commit 511885d7061e ("lib/timerqueue: Rely on rbtree semantics for next
>>> timer") changed struct timerqueue_head, and so print_active_timers()
>>> should be changed accordingly with its way to interpret the structure.
>>>
>>> Signed-off-by: Peng Liu <[email protected]>
>>> ---
>>>   scripts/gdb/linux/timerlist.py | 3 +--
>>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>>
>>> diff --git a/scripts/gdb/linux/timerlist.py
>>> b/scripts/gdb/linux/timerlist.py
>>> index 071d0dd5a634..44e39dc3eb64 100644
>>> --- a/scripts/gdb/linux/timerlist.py
>>> +++ b/scripts/gdb/linux/timerlist.py
>>> @@ -43,8 +43,7 @@ def print_timer(rb_node, idx):
>>>       def print_active_timers(base):
>>> -    curr = base['active']['next']['node']
>>> -    curr = curr.address.cast(rbtree.rb_node_type.get_type().pointer())
>>> +    curr = base['active']['rb_root']['rb_leftmost']
>>>       idx = 0
>>>       while curr:
>>>           yield print_timer(curr, idx)

2022-08-31 15:40:45

by Jan Kiszka

[permalink] [raw]
Subject: Re: [PATCH 1/3] scripts/gdb: fix lx-timerlist for struct timequeue_head change

On 20.07.22 14:27, [email protected] wrote:
> From: Peng Liu <[email protected]>
>
> commit 511885d7061e ("lib/timerqueue: Rely on rbtree semantics for next
> timer") changed struct timerqueue_head, and so print_active_timers()
> should be changed accordingly with its way to interpret the structure.
>
> Signed-off-by: Peng Liu <[email protected]>
> ---
> scripts/gdb/linux/timerlist.py | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/scripts/gdb/linux/timerlist.py b/scripts/gdb/linux/timerlist.py
> index 071d0dd5a634..44e39dc3eb64 100644
> --- a/scripts/gdb/linux/timerlist.py
> +++ b/scripts/gdb/linux/timerlist.py
> @@ -43,8 +43,7 @@ def print_timer(rb_node, idx):
>
>
> def print_active_timers(base):
> - curr = base['active']['next']['node']
> - curr = curr.address.cast(rbtree.rb_node_type.get_type().pointer())
> + curr = base['active']['rb_root']['rb_leftmost']
> idx = 0
> while curr:
> yield print_timer(curr, idx)

Looks good to me.

Reviewed-by: Jan Kiszka <[email protected]>

Jan

--
Siemens AG, Technology
Competence Center Embedded Linux