Bug #3321
openhammer2: HAMMER2_XOPMASK_FEED handling in XOP retire
0%
Description
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;
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)
No data to display