From: Knut Omang Date: Fri, 1 Jul 2016 09:16:03 +0000 (+0200) Subject: sif: Be more memory conservative for kdump and xen pv X-Git-Tag: v4.1.12-92~129^2~1 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=1e8ccb32e63b42d484afdb0d2e4f92b33ef24de2;p=users%2Fjedix%2Flinux-maple.git sif: Be more memory conservative for kdump and xen pv - Enable using the Xen PV memory usage settings for kdump as well - Tune these settings down by a factor 2 to alleviate Orabug: 23523713 Orabug: 23729807 Signed-off-by: Knut Omang --- diff --git a/drivers/infiniband/hw/sif/sif_main.c b/drivers/infiniband/hw/sif/sif_main.c index cb0001b328a6..f3acefa04a8c 100644 --- a/drivers/infiniband/hw/sif/sif_main.c +++ b/drivers/infiniband/hw/sif/sif_main.c @@ -31,6 +31,7 @@ #include "psif_hw_csr.h" #include "version.h" #include +#include #include "versioninfo.h" @@ -296,20 +297,22 @@ static int sif_probe(struct pci_dev *pdev, if (PSIF_REVISION(sdev) <= 3) sif_r3_pre_init(sdev); - if (xen_pv_domain()) { + if (xen_pv_domain() || is_kdump_kernel()) { /* The Xen PV domain may return huge pages that are misaligned * in DMA space, see Orabug: 21690736. * Also we have to turn off the inline sge optimization, as it assumes * that (guest) physical and DMA addresses are equal, which is not * the case for the PV domain - see Orabug: 23012335. + * Also use the same sizes for the kdump environment + * - see Orabug: 23729807 */ sif_log(sdev, SIF_INFO, "xen pv domain: Restricting resource allocation.."); sif_feature_mask |= SIFF_no_huge_pages | SIFF_disable_inline_first_sge; - sif_qp_size = min(sif_qp_size, 0x1000U); - sif_mr_size = min(sif_mr_size, 0x1000U); - sif_ah_size = min(sif_ah_size, 0x1000U); + sif_qp_size = min(sif_qp_size, 0x800U); + sif_mr_size = min(sif_mr_size, 0x800U); + sif_ah_size = min(sif_ah_size, 0x800U); sif_cq_size = min(sif_cq_size, 0x1000U); - sif_rq_size = min(sif_rq_size, 0x1000U); + sif_rq_size = min(sif_rq_size, 0x800U); sif_max_pqp_wr = min(sif_max_pqp_wr, 0x1000U); }