On Thu, 28 May 2026 07:30:03 +0000 Wei Hu <[email protected]> wrote:
> > so they are invisible to rte_rcu_qsbr_check in the primary, and > > the secondary MP handler (mana_mp_reset_enter) does not call > > qsbr_check at all -- it just sets db_page = NULL and munmaps. > > > > The dev_state check at the top of secondary tx_burst is racy: > > the page can be munmapped after the in-loop read of db_page but > > before the doorbell write at the bottom. The "All secondary > > threads are quiescent" log line in mana_mp_reset_enter is not > > true. > > > > The secondary needs a real reader-side primitive -- its own > > qsbr with secondary lcore registration, or an rwlock the MP > > handler takes before munmap. > > > > Thanks for the v3 review, @Stephen. I will send out v4 to incorporate most > of the review comments except for this one. > > The review on this point is not correct. Here I am providing analysis from > AI and my own test results to show why. > > The concern is that "rte_rcu_qsbr_thread_register is only called > from mana_dev_configure, which the secondary never runs", so > secondary tids are unregistered and invisible to rte_rcu_qsbr_check. Thanks, I have become way to familiar with AI reaching false conclusions.

