Project

General

Profile

Actions

Bug #3321

open

hammer2: HAMMER2_XOPMASK_FEED handling in XOP retire

Added by tkusumi about 2 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
08/07/2022
Due date:
% Done:

0%

Estimated time:

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

Actions

Also available in: Atom PDF