| 2726 | } |
| 2727 | |
| 2728 | static inline void |
| 2729 | grinder_wrr(struct rte_sched_subport *subport, uint32_t pos) |
| 2730 | { |
| 2731 | struct rte_sched_grinder *grinder = subport->grinder + pos; |
| 2732 | uint16_t wrr_tokens_min; |
| 2733 | |
| 2734 | grinder->wrr_tokens[0] |= ~grinder->wrr_mask[0]; |
| 2735 | grinder->wrr_tokens[1] |= ~grinder->wrr_mask[1]; |
| 2736 | grinder->wrr_tokens[2] |= ~grinder->wrr_mask[2]; |
| 2737 | grinder->wrr_tokens[3] |= ~grinder->wrr_mask[3]; |
| 2738 | |
| 2739 | grinder->qpos = rte_min_pos_4_u16(grinder->wrr_tokens); |
| 2740 | wrr_tokens_min = grinder->wrr_tokens[grinder->qpos]; |
| 2741 | |
| 2742 | grinder->wrr_tokens[0] -= wrr_tokens_min; |
| 2743 | grinder->wrr_tokens[1] -= wrr_tokens_min; |
| 2744 | grinder->wrr_tokens[2] -= wrr_tokens_min; |
| 2745 | grinder->wrr_tokens[3] -= wrr_tokens_min; |
| 2746 | } |
| 2747 | |
| 2748 | |
| 2749 | #define grinder_evict(subport, pos) |
no test coverage detected