vxge: independent interrupt moderation
Configure the workload clock register and TIM register for independent interrupt moderation based on the individual vpath utilization instead of common link utilization. This greatly improves latency. Signed-off-by: Jon Mason <jon.mason@exar.com> Signed-off-by: Ram Vepa <ram.vepa@exar.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9c16388716
commit
b55e7b153f
1 changed files with 7 additions and 4 deletions
|
@ -4422,8 +4422,7 @@ __vxge_hw_vpath_tim_configure(struct __vxge_hw_device *hldev, u32 vp_id)
|
|||
|
||||
if (config->tti.util_sel != VXGE_HW_USE_FLASH_DEFAULT) {
|
||||
val64 &= ~VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(0x3f);
|
||||
val64 |= VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(
|
||||
config->tti.util_sel);
|
||||
val64 |= VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(vp_id);
|
||||
}
|
||||
|
||||
if (config->tti.ltimer_val != VXGE_HW_USE_FLASH_DEFAULT) {
|
||||
|
@ -4527,8 +4526,7 @@ __vxge_hw_vpath_tim_configure(struct __vxge_hw_device *hldev, u32 vp_id)
|
|||
|
||||
if (config->rti.util_sel != VXGE_HW_USE_FLASH_DEFAULT) {
|
||||
val64 &= ~VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(0x3f);
|
||||
val64 |= VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(
|
||||
config->rti.util_sel);
|
||||
val64 |= VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(vp_id);
|
||||
}
|
||||
|
||||
if (config->rti.ltimer_val != VXGE_HW_USE_FLASH_DEFAULT) {
|
||||
|
@ -4549,6 +4547,11 @@ __vxge_hw_vpath_tim_configure(struct __vxge_hw_device *hldev, u32 vp_id)
|
|||
writeq(val64, &vp_reg->tim_cfg2_int_num[VXGE_HW_VPATH_INTR_BMAP]);
|
||||
writeq(val64, &vp_reg->tim_cfg3_int_num[VXGE_HW_VPATH_INTR_BMAP]);
|
||||
|
||||
val64 = VXGE_HW_TIM_WRKLD_CLC_WRKLD_EVAL_PRD(150);
|
||||
val64 |= VXGE_HW_TIM_WRKLD_CLC_WRKLD_EVAL_DIV(0);
|
||||
val64 |= VXGE_HW_TIM_WRKLD_CLC_CNT_RX_TX(3);
|
||||
writeq(val64, &vp_reg->tim_wrkld_clc);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue