*** BLURB HERE ***
Wenkai Lin (1): iommu/arm-smmu-v3: disable stall for quiet_cd
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 2 ++ 1 file changed, 2 insertions(+)
From: Wenkai Lin linwenkai6@hisilicon.com
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8MCHF CVE: NA
Reference: https://lore.kernel.org/all/20231206005517.46005-1-zhangfei.gao@linaro.org/#...
--------------------------------
In the stall model, invalid transactions were expected to be stalled and aborted by the IOPF handler.
However, when killing a test case with a huge amount of data, the accelerator streamline can not stop until all data is consumed even if the page fault handler reports errors. As a result, the kill may take a long time, about 10 seconds with numerous iopf interrupts.
So disable stall for quiet_cd in the non-force stall model, since force stall model (STALL_MODEL==0b10) requires CD.S must be 1.
Signed-off-by: Zhangfei Gao zhangfei.gao@linaro.org Signed-off-by: Wenkai Lin linwenkai6@hisilicon.com Suggested-by: Jean-Philippe Brucker jean-philippe@linaro.org Signed-off-by: Chen Jun chenjun102@huawei.com --- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c index 9a71cdb93817..a55c2dab72f8 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -1277,6 +1277,8 @@ int arm_smmu_write_ctx_desc(struct arm_smmu_domain *smmu_domain, int ssid, if (!cd) { /* (5) */ val = 0; } else if (cd == &quiet_cd) { /* (4) */ + if (!(smmu->features & ARM_SMMU_FEAT_STALL_FORCE)) + val &= ~(CTXDESC_CD_0_S | CTXDESC_CD_0_R); val |= CTXDESC_CD_0_TCR_EPD0; } else if (cd_live) { /* (3) */ val &= ~CTXDESC_CD_0_ASID;
反馈: 您发送到kernel@openeuler.org的补丁/补丁集,转换为PR失败! 邮件列表地址:https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/7... 失败原因:补丁集缺失封面信息 建议解决方法:请提供补丁集并重新发送您的补丁集到邮件列表
FeedBack: The patch(es) which you have sent to kernel@openeuler.org has been converted to PR failed! Mailing list address: https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/7... Failed Reason: the cover of the patches is missing Suggest Solution: please checkout and apply the patches' cover and send all again
反馈: 您发送到kernel@openeuler.org的补丁/补丁集,转换为PR失败! 邮件列表地址:https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/C... 失败原因:应用补丁/补丁集失败,Patch failed at 0002 iommu/arm-smmu-v3: disable stall for quiet_cd 建议解决方法:请查看失败原因, 确认补丁是否可以应用在当前期望分支的最新代码上
FeedBack: The patch(es) which you have sent to kernel@openeuler.org has been converted to PR failed! Mailing list address: https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/C... Failed Reason: apply patch(es) failed, Patch failed at 0002 iommu/arm-smmu-v3: disable stall for quiet_cd Suggest Solution: please checkout if the failed patch(es) can work on the newest codes in expected branch