[DragonFlyBSD - Bug #3321] (New) hammer2: HAMMER2_XOPMASK_FEED handling in XOP retire
bugtracker-admin at leaf.dragonflybsd.org
bugtracker-admin at leaf.dragonflybsd.org
Sun Aug 7 02:47:23 PDT 2022
Issue #3321 has been reported by tkusumi.
----------------------------------------
Bug #3321: hammer2: HAMMER2_XOPMASK_FEED handling in XOP retire
http://bugs.dragonflybsd.org/issues/3321
* Author: tkusumi
* Status: New
* Priority: Normal
* Target version: 6.4
* Start date: 2022-08-07
----------------------------------------
HAMMER2_XOPMASK_FEED isn't used for anything, so it makes no difference, but isn't hammer2_xop_retire() supposed to be clearing HAMMER2_XOPMASK_FEED rather than adding again ?
-----
594 void
595 hammer2_xop_retire(hammer2_xop_head_t *xop, uint64_t mask)
596 {
597 hammer2_chain_t *chain;
598 uint64_t nmask;
599 int i;
600
601 /*
602 * Remove the frontend collector or remove a backend feeder.
603 *
604 * When removing the frontend we must wakeup any backend feeders
605 * who are waiting for FIFO space.
606 *
607 * When removing the last backend feeder we must wakeup any waiting
608 * frontend.
609 */
610 KKASSERT(xop->run_mask & mask);
611 nmask = atomic_fetchadd_64(&xop->run_mask,
612 -mask + HAMMER2_XOPMASK_FEED); <--- usually end up adding HAMMER2_XOPMASK_FEED 3 times (once in feed, twice in retire)
--
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account
More information about the Bugs
mailing list