stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Dennis Dalessandro <dennis.dalessandro@intel.com>,
	Mike Marciniszyn <mike.marciniszyn@intel.com>,
	Doug Ledford <dledford@redhat.com>
Subject: [PATCH 4.14 08/51] IB/hfi1: Silence txreq allocation warnings
Date: Mon, 24 Jun 2019 17:56:26 +0800	[thread overview]
Message-ID: <20190624092307.371292483@linuxfoundation.org> (raw)
In-Reply-To: <20190624092305.919204959@linuxfoundation.org>

From: Mike Marciniszyn <mike.marciniszyn@intel.com>

commit 3230f4a8d44e4a0bb7afea814b280b5129521f52 upstream.

The following warning can happen when a memory shortage
occurs during txreq allocation:

[10220.939246] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[10220.939246] Hardware name: Intel Corporation S2600WT2R/S2600WT2R, BIOS SE5C610.86B.01.01.0018.C4.072020161249 07/20/2016
[10220.939247]   cache: mnt_cache, object size: 384, buffer size: 384, default order: 2, min order: 0
[10220.939260] Workqueue: hfi0_0 _hfi1_do_send [hfi1]
[10220.939261]   node 0: slabs: 1026568, objs: 43115856, free: 0
[10220.939262] Call Trace:
[10220.939262]   node 1: slabs: 820872, objs: 34476624, free: 0
[10220.939263]  dump_stack+0x5a/0x73
[10220.939265]  warn_alloc+0x103/0x190
[10220.939267]  ? wake_all_kswapds+0x54/0x8b
[10220.939268]  __alloc_pages_slowpath+0x86c/0xa2e
[10220.939270]  ? __alloc_pages_nodemask+0x2fe/0x320
[10220.939271]  __alloc_pages_nodemask+0x2fe/0x320
[10220.939273]  new_slab+0x475/0x550
[10220.939275]  ___slab_alloc+0x36c/0x520
[10220.939287]  ? hfi1_make_rc_req+0x90/0x18b0 [hfi1]
[10220.939299]  ? __get_txreq+0x54/0x160 [hfi1]
[10220.939310]  ? hfi1_make_rc_req+0x90/0x18b0 [hfi1]
[10220.939312]  __slab_alloc+0x40/0x61
[10220.939323]  ? hfi1_make_rc_req+0x90/0x18b0 [hfi1]
[10220.939325]  kmem_cache_alloc+0x181/0x1b0
[10220.939336]  hfi1_make_rc_req+0x90/0x18b0 [hfi1]
[10220.939348]  ? hfi1_verbs_send_dma+0x386/0xa10 [hfi1]
[10220.939359]  ? find_prev_entry+0xb0/0xb0 [hfi1]
[10220.939371]  hfi1_do_send+0x1d9/0x3f0 [hfi1]
[10220.939372]  process_one_work+0x171/0x380
[10220.939374]  worker_thread+0x49/0x3f0
[10220.939375]  kthread+0xf8/0x130
[10220.939377]  ? max_active_store+0x80/0x80
[10220.939378]  ? kthread_bind+0x10/0x10
[10220.939379]  ret_from_fork+0x35/0x40
[10220.939381] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)

The shortage is handled properly so the message isn't needed. Silence by
adding the no warn option to the slab allocation.

Fixes: 45842abbb292 ("staging/rdma/hfi1: move txreq header code")
Cc: <stable@vger.kernel.org>
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/infiniband/hw/hfi1/verbs_txreq.c |    2 +-
 drivers/infiniband/hw/hfi1/verbs_txreq.h |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

--- a/drivers/infiniband/hw/hfi1/verbs_txreq.c
+++ b/drivers/infiniband/hw/hfi1/verbs_txreq.c
@@ -100,7 +100,7 @@ struct verbs_txreq *__get_txreq(struct h
 	if (ib_rvt_state_ops[qp->state] & RVT_PROCESS_RECV_OK) {
 		struct hfi1_qp_priv *priv;
 
-		tx = kmem_cache_alloc(dev->verbs_txreq_cache, GFP_ATOMIC);
+		tx = kmem_cache_alloc(dev->verbs_txreq_cache, VERBS_TXREQ_GFP);
 		if (tx)
 			goto out;
 		priv = qp->priv;
--- a/drivers/infiniband/hw/hfi1/verbs_txreq.h
+++ b/drivers/infiniband/hw/hfi1/verbs_txreq.h
@@ -72,6 +72,7 @@ struct hfi1_ibdev;
 struct verbs_txreq *__get_txreq(struct hfi1_ibdev *dev,
 				struct rvt_qp *qp);
 
+#define VERBS_TXREQ_GFP (GFP_ATOMIC | __GFP_NOWARN)
 static inline struct verbs_txreq *get_txreq(struct hfi1_ibdev *dev,
 					    struct rvt_qp *qp)
 	__must_hold(&qp->slock)
@@ -79,7 +80,7 @@ static inline struct verbs_txreq *get_tx
 	struct verbs_txreq *tx;
 	struct hfi1_qp_priv *priv = qp->priv;
 
-	tx = kmem_cache_alloc(dev->verbs_txreq_cache, GFP_ATOMIC);
+	tx = kmem_cache_alloc(dev->verbs_txreq_cache, VERBS_TXREQ_GFP);
 	if (unlikely(!tx)) {
 		/* call slow path to get the lock */
 		tx = __get_txreq(dev, qp);



  parent reply	other threads:[~2019-06-24 10:00 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-24  9:56 [PATCH 4.14 00/51] 4.14.130-stable review Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 01/51] tracing: Silence GCC 9 array bounds warning Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 02/51] objtool: Support per-function rodata sections Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 03/51] gcc-9: silence address-of-packed-member warning Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 04/51] net: phy: broadcom: Use strlcpy() for ethtool::get_strings Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 05/51] mmc: core: Prevent processing SDIO IRQs when the card is suspended Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 06/51] scsi: ufs: Avoid runtime suspend possibly being blocked forever Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 07/51] usb: chipidea: udc: workaround for endpoint conflict issue Greg Kroah-Hartman
2019-06-24  9:56 ` Greg Kroah-Hartman [this message]
2019-06-24  9:56 ` [PATCH 4.14 09/51] Input: synaptics - enable SMBus on ThinkPad E480 and E580 Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 10/51] Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 11/51] apparmor: enforce nullbyte at end of tag string Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 12/51] ARC: fix build warnings Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 13/51] ARC: [plat-hsdk]: Add missing multicast filter bins number to GMAC node Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 14/51] ARC: [plat-hsdk]: Add missing FIFO size entry in " Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 15/51] parport: Fix mem leak in parport_register_dev_model Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 16/51] parisc: Fix compiler warnings in float emulation code Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 17/51] IB/rdmavt: Fix alloc_qpn() WARN_ON() Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 18/51] IB/hfi1: Insure freeze_work work_struct is canceled on shutdown Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 19/51] IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 20/51] IB/hfi1: Validate page aligned for a given virtual address Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 21/51] MIPS: uprobes: remove set but not used variable epc Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 22/51] xtensa: Fix section mismatch between memblock_reserve and mem_reserve Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 23/51] net: dsa: mv88e6xxx: avoid error message on remove from VLAN 0 Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 24/51] net: hns: Fix loopback test failed at copper ports Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 25/51] mdesc: fix a missing-check bug in get_vdev_port_node_info() Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 26/51] sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 27/51] net: ethernet: mediatek: Use hw_feature to judge if HWLRO is supported Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 28/51] net: ethernet: mediatek: Use NET_IP_ALIGN to judge if HW RX_2BYTE_OFFSET is enabled Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 29/51] drm/arm/hdlcd: Actually validate CRTC modes Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 30/51] drm/arm/hdlcd: Allow a bit of clock tolerance Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 31/51] scripts/checkstack.pl: Fix arm64 wrong or unknown architecture Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 32/51] scsi: ufs: Check that space was properly alloced in copy_query_response Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 33/51] scsi: smartpqi: unlock on error in pqi_submit_raid_request_synchronous() Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 34/51] net: ipvlan: Fix ipvlan device tso disabled while NETIF_F_IP_CSUM is set Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 35/51] s390/qeth: fix VLAN attribute in bridge_hostnotify udev event Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 36/51] hwmon: (core) add thermal sensors only if dev->of_node is present Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 37/51] hwmon: (pmbus/core) Treat parameters as paged if on multiple pages Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 38/51] nvme: Fix u32 overflow in the number of namespace list calculation Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 39/51] btrfs: start readahead also in seed devices Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 40/51] can: flexcan: fix timeout when set small bitrate Greg Kroah-Hartman
2019-06-24  9:56 ` [PATCH 4.14 41/51] can: purge socket error queue on sock destruct Greg Kroah-Hartman
2019-06-24  9:57 ` [PATCH 4.14 42/51] powerpc/bpf: use unsigned division instruction for 64-bit operations Greg Kroah-Hartman
2019-06-24  9:57 ` [PATCH 4.14 43/51] ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX Greg Kroah-Hartman
2019-06-24  9:57 ` [PATCH 4.14 44/51] ARM: dts: am57xx-idk: Remove support for voltage switching for SD card Greg Kroah-Hartman
2019-06-24  9:57 ` [PATCH 4.14 45/51] Bluetooth: Align minimum encryption key size for LE and BR/EDR connections Greg Kroah-Hartman
2019-06-24  9:57 ` [PATCH 4.14 46/51] Bluetooth: Fix regression with minimum encryption key size alignment Greg Kroah-Hartman
2019-06-24  9:57 ` [PATCH 4.14 47/51] SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write Greg Kroah-Hartman
2019-06-24  9:57 ` [PATCH 4.14 48/51] cfg80211: fix memory leak of wiphy device name Greg Kroah-Hartman
2019-06-24  9:57 ` [PATCH 4.14 49/51] mac80211: drop robust management frames from unknown TA Greg Kroah-Hartman
2019-06-24  9:57 ` [PATCH 4.14 50/51] mac80211: handle deauthentication/disassociation from TDLS peer Greg Kroah-Hartman
2019-06-24  9:57 ` [PATCH 4.14 51/51] mac80211: Do not use stack memory with scatterlist for GMAC Greg Kroah-Hartman
2019-06-24 15:31 ` [PATCH 4.14 00/51] 4.14.130-stable review kernelci.org bot
2019-06-24 15:47 ` Naresh Kamboju
2019-06-24 18:03 ` Guenter Roeck
2019-06-25  9:59 ` Jon Hunter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190624092307.371292483@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dennis.dalessandro@intel.com \
    --cc=dledford@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mike.marciniszyn@intel.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).