Message ID | 20220614062835.7196-1-lecopzer.chen@mediatek.com (mailing list archive) |
---|---|
Headers | show |
Series | Support hld delayed init based on Pseudo-NMI for | expand |
Hi Will, Mark Could you help review arm parts of this patchset, please? For the question mention in both [1] and [2], > I'd still like Mark's Ack on this, as the approach you have taken doesn't > really sit with what he was suggesting. > > I also don't understand how all the CPUs get initialised with your patch, > since the PMU driver will be initialised after SMP is up and running. The hardlock detector utilizes the softlockup_start_all() to start all the cpu on watchdog_allowed_mask, which will do watchdog_nmi_enable() that registers perf event on each CPUs. Thus we simply need to retry lockup_detector_init() in a single cpu which will reconfig and call to softlockup_start_all(). Also, the CONFIG_HARDLOCKUP_DETECTOR_PERF selects SOFTLOCKUP_DETECTOR, IMO, this shows that hardlockup detector supports from softlockup. > We should know whether pNMIs are possible once we've completed > setup_arch() (and possibly init_IRQ()), long before SMP, so so I reckon > we should have all the information available once we get to > lockup_detector_init(), even if that requires some preparatory rework. Hardlockup depends on PMU driver , I think the only way is moving pmu driver at setup_arch() or any point which is earlier than lockup_detector_init(), and I guess we have to reorganize the architecture of arm PMU. The retry function should benifit all the arch/ not only for arm64. Any arch who needs to probe its pmu as module can use this without providing a chance to mess up the setup order. Please let me know if you have any concern about this, thank you [1] https://lore.kernel.org/all/CAFA6WYPPgUvHCpN5=EpJ2Us5h5uVWCbBA59C-YwYQX2ovyVeEw@mail.gmail.com/ [2] https://lore.kernel.org/linux-arm-kernel/20210419170331.GB31045@willie-the-truck/ BRs, Lecopzer
Hi Will, Mark Sorry for another ping, but would you please help review this or comment about it? Thanks a lot. > Hi Will, Mark > > Could you help review arm parts of this patchset, please? > > For the question mention in both [1] and [2], > > > I'd still like Mark's Ack on this, as the approach you have taken doesn't > > really sit with what he was suggesting. > > > > I also don't understand how all the CPUs get initialised with your patch, > > since the PMU driver will be initialised after SMP is up and running. > > The hardlock detector utilizes the softlockup_start_all() to start all > the cpu on watchdog_allowed_mask, which will do watchdog_nmi_enable() > that registers perf event on each CPUs. > Thus we simply need to retry lockup_detector_init() in a single cpu which > will reconfig and call to softlockup_start_all(). > > Also, the CONFIG_HARDLOCKUP_DETECTOR_PERF selects SOFTLOCKUP_DETECTOR, > IMO, this shows that hardlockup detector supports from softlockup. > > > > We should know whether pNMIs are possible once we've completed > > setup_arch() (and possibly init_IRQ()), long before SMP, so so I reckon > > we should have all the information available once we get to > > lockup_detector_init(), even if that requires some preparatory rework. > > Hardlockup depends on PMU driver , I think the only way is moving > pmu driver at setup_arch() or any point which is earlier than > lockup_detector_init(), and I guess we have to reorganize the architecture > of arm PMU. > > The retry function should benifit all the arch/ not only for arm64. > Any arch who needs to probe its pmu as module can use this without providing > a chance to mess up the setup order. > > > Please let me know if you have any concern about this, thank you > > > [1] https://lore.kernel.org/all/CAFA6WYPPgUvHCpN5=EpJ2Us5h5uVWCbBA59C-YwYQX2ovyVeEw@mail.gmail.com/ > [2] https://lore.kernel.org/linux-arm-kernel/20210419170331.GB31045@willie-the-truck/ > >