Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

scripts/gdb: remove exception handling and refine print format

1. When we crash on a page, we want to check what happened on this
page instead of skipping this page by try-except block. Thus, removing
the try-except block.

2. Remove redundant comma and print the task name properly.

Link: https://lkml.kernel.org/r/20231127070404.4192-4-Kuan-Ying.Lee@mediatek.com
Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
Cc: Andrey Konovalov <andreyknvl@google.com>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc: Chinwen Chang <chinwen.chang@mediatek.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Qun-Wei Lin <qun-wei.lin@mediatek.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Kuan-Ying Lee and committed by
Andrew Morton
e52ec6a2 125e9987

+26 -35
+25 -33
scripts/gdb/linux/page_owner.py
··· 122 122 if not (page_ext['flags'] & (1 << PAGE_EXT_OWNER_ALLOCATED)): 123 123 gdb.write("page_owner is not allocated\n") 124 124 125 - try: 126 - page_owner = self.get_page_owner(page_ext) 127 - gdb.write("Page last allocated via order %d, gfp_mask: 0x%x, pid: %d, tgid: %d (%s), ts %u ns, free_ts %u ns\n" %\ 128 - (page_owner["order"], page_owner["gfp_mask"],\ 129 - page_owner["pid"], page_owner["tgid"], page_owner["comm"],\ 130 - page_owner["ts_nsec"], page_owner["free_ts_nsec"])) 131 - gdb.write("PFN: %d, Flags: 0x%x\n" % (pfn, page['flags'])) 132 - if page_owner["handle"] == 0: 133 - gdb.write('page_owner allocation stack trace missing\n') 134 - else: 135 - stackdepot.stack_depot_print(page_owner["handle"]) 125 + page_owner = self.get_page_owner(page_ext) 126 + gdb.write("Page last allocated via order %d, gfp_mask: 0x%x, pid: %d, tgid: %d (%s), ts %u ns, free_ts %u ns\n" %\ 127 + (page_owner["order"], page_owner["gfp_mask"],\ 128 + page_owner["pid"], page_owner["tgid"], page_owner["comm"].string(),\ 129 + page_owner["ts_nsec"], page_owner["free_ts_nsec"])) 130 + gdb.write("PFN: %d, Flags: 0x%x\n" % (pfn, page['flags'])) 131 + if page_owner["handle"] == 0: 132 + gdb.write('page_owner allocation stack trace missing\n') 133 + else: 134 + stackdepot.stack_depot_print(page_owner["handle"]) 136 135 137 - if page_owner["free_handle"] == 0: 138 - gdb.write('page_owner free stack trace missing\n') 139 - else: 140 - gdb.write('page last free stack trace:\n') 141 - stackdepot.stack_depot_print(page_owner["free_handle"]) 142 - if page_owner['last_migrate_reason'] != -1: 143 - gdb.write('page has been migrated, last migrate reason: %s\n' % self.migrate_reason_names[page_owner['last_migrate_reason']]) 144 - except: 145 - gdb.write("\n") 136 + if page_owner["free_handle"] == 0: 137 + gdb.write('page_owner free stack trace missing\n') 138 + else: 139 + gdb.write('page last free stack trace:\n') 140 + stackdepot.stack_depot_print(page_owner["free_handle"]) 141 + if page_owner['last_migrate_reason'] != -1: 142 + gdb.write('page has been migrated, last migrate reason: %s\n' % self.migrate_reason_names[page_owner['last_migrate_reason']]) 146 143 147 144 def read_page_owner(self): 148 145 pfn = self.min_pfn ··· 170 173 pfn += 1 171 174 continue 172 175 173 - try: 174 - page_owner = self.get_page_owner(page_ext) 175 - gdb.write("Page allocated via order %d, gfp_mask: 0x%x, pid: %d, tgid: %d (%s), ts %u ns, free_ts %u ns\n" %\ 176 - (page_owner["order"], page_owner["gfp_mask"],\ 177 - page_owner["pid"], page_owner["tgid"], page_owner["comm"],\ 178 - page_owner["ts_nsec"], page_owner["free_ts_nsec"])) 179 - gdb.write("PFN: %d, Flags: 0x%x\n" % (pfn, page['flags'])) 180 - stackdepot.stack_depot_print(page_owner["handle"]) 181 - pfn += (1 << page_owner["order"]) 182 - continue 183 - except: 184 - gdb.write("\n") 185 - pfn += 1 176 + page_owner = self.get_page_owner(page_ext) 177 + gdb.write("Page allocated via order %d, gfp_mask: 0x%x, pid: %d, tgid: %d (%s), ts %u ns, free_ts %u ns\n" %\ 178 + (page_owner["order"], page_owner["gfp_mask"],\ 179 + page_owner["pid"], page_owner["tgid"], page_owner["comm"].string(),\ 180 + page_owner["ts_nsec"], page_owner["free_ts_nsec"])) 181 + gdb.write("PFN: %d, Flags: 0x%x\n" % (pfn, page['flags'])) 182 + stackdepot.stack_depot_print(page_owner["handle"]) 183 + pfn += (1 << page_owner["order"]) 186 184 187 185 DumpPageOwner()
+1 -2
scripts/gdb/linux/slab.py
··· 228 228 nr_cpu = gdb.parse_and_eval('__num_online_cpus')['counter'] 229 229 if nr_cpu > 1: 230 230 gdb.write(" cpus=") 231 - for i in loc['cpus']: 232 - gdb.write("%d," % i) 231 + gdb.write(','.join(str(cpu) for cpu in loc['cpus'])) 233 232 gdb.write("\n") 234 233 if constants.LX_CONFIG_STACKDEPOT: 235 234 if loc['handle']: