+ p = LOAD_SHARED(queue->q[i++ & DEFER_QUEUE_MASK]);
+ if (unlikely(DQ_IS_FCT_BIT(p))) {
+ DQ_CLEAR_FCT_BIT(p);
+ queue->last_fct_out = p;
+ p = LOAD_SHARED(queue->q[i++ & DEFER_QUEUE_MASK]);
+ } else if (unlikely(p == DQ_FCT_MARK)) {
+ p = LOAD_SHARED(queue->q[i++ & DEFER_QUEUE_MASK]);
+ queue->last_fct_out = p;
+ p = LOAD_SHARED(queue->q[i++ & DEFER_QUEUE_MASK]);
+ }
+ fct = queue->last_fct_out;
+ fct(p);