Dave Anderson <anderson@xxxxxxxxxx> writes: > Hi Ogawa, Hi, > Please review the attached update to your patch, which adds support for > the irq_ctx-to-irq_stack transition. > - if ((hard_sp = per_cpu_symbol_search("per_cpu__hardirq_ctx"))) { > + if ((hard_sp = per_cpu_symbol_search("per_cpu__hardirq_ctx")) || > + (hard_sp = per_cpu_symbol_search("per_cpu__hardirq_stack"))) { > if ((kt->flags & SMP) && (kt->flags & PER_CPU_OFF)) { > for (i = 0; i < NR_CPUS; i++) { > + ulong ptr; > + [...] Right, this will work, maybe, several stuffs. However hardirq_tasks[] is missing, so this will not be fully. For now, I don't have dump of other than v4.9 (stack format was changed), so I'm not sure which commands are not working (user of hardirq_tasks[]). Thanks. > + if (MEMBER_EXISTS("irq_ctx", "tinfo")) { > + for (i = 0; i < NR_CPUS; i++) { > + if (!(tt->hardirq_ctx[i])) > + continue; > > - if (!readmem(tt->hardirq_ctx[i], KVADDR, thread_info_buf, > - SIZE(irq_ctx), "hardirq thread_union", > - RETURN_ON_ERROR)) { > - error(INFO, "cannot read hardirq_ctx[%d] at %lx\n", > - i, tt->hardirq_ctx[i]); > - continue; > - } > + if (!readmem(tt->hardirq_ctx[i], KVADDR, thread_info_buf, > + SIZE(irq_ctx), "hardirq thread_union", > + RETURN_ON_ERROR)) { > + error(INFO, "cannot read hardirq_ctx[%d] at %lx\n", > + i, tt->hardirq_ctx[i]); > + continue; > + } > > - tt->hardirq_tasks[i] = > - ULONG(thread_info_buf+OFFSET(thread_info_task)); > + tt->hardirq_tasks[i] = > + ULONG(thread_info_buf+OFFSET(thread_info_task)); > + } > } -- OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility