diff options
| author | Ingo Molnar <mingo@kernel.org> | 2022-08-30 10:27:33 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2022-08-30 10:28:15 +0200 |
| commit | 53aa930dc4bae6aa269951bd37103083145d6691 (patch) | |
| tree | 1b228764df620cf5bbc206ba4835fcb437781722 /scripts/gdb/linux/utils.py | |
| parent | 5531ecffa4b923bc7739e9ea73c552d80af602dc (diff) | |
| parent | 09348d75a6ce60eec85c86dd0ab7babc4db3caf6 (diff) | |
Merge branch 'sched/warnings' into sched/core, to pick up WARN_ON_ONCE() conversion commit
Merge in the BUG_ON() => WARN_ON_ONCE() conversion commit.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'scripts/gdb/linux/utils.py')
| -rw-r--r-- | scripts/gdb/linux/utils.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/scripts/gdb/linux/utils.py b/scripts/gdb/linux/utils.py index ff7c1799d588..1553f68716cc 100644 --- a/scripts/gdb/linux/utils.py +++ b/scripts/gdb/linux/utils.py @@ -35,13 +35,12 @@ class CachedType: long_type = CachedType("long") - +atomic_long_type = CachedType("atomic_long_t") def get_long_type(): global long_type return long_type.get_type() - def offset_of(typeobj, field): element = gdb.Value(0).cast(typeobj) return int(str(element[field].address).split()[0], 16) @@ -129,6 +128,17 @@ def read_ulong(buffer, offset): else: return read_u32(buffer, offset) +atomic_long_counter_offset = atomic_long_type.get_type()['counter'].bitpos +atomic_long_counter_sizeof = atomic_long_type.get_type()['counter'].type.sizeof + +def read_atomic_long(buffer, offset): + global atomic_long_counter_offset + global atomic_long_counter_sizeof + + if atomic_long_counter_sizeof == 8: + return read_u64(buffer, offset + atomic_long_counter_offset) + else: + return read_u32(buffer, offset + atomic_long_counter_offset) target_arch = None |
