From: Jiri Pirko <jiri@resnulli.us>
To: Jian Wen <wenjianhn@gmail.com>
Cc: edumazet@google.com, davem@davemloft.net,
Jian Wen <wenjian1@xiaomi.com>,
netdev@vger.kernel.org
Subject: Re: [PATCH net] devlink: use kvzalloc() to allocate devlink instance resources
Date: Thu, 21 Mar 2024 13:59:51 +0100 [thread overview]
Message-ID: <ZfwvR81dq4WN0XOG@nanopsycho> (raw)
In-Reply-To: <20240321123611.380158-1-wenjian1@xiaomi.com>
Thu, Mar 21, 2024 at 01:36:11PM CET, wenjianhn@gmail.com wrote:
>During live migration of a virtual machine, the SR-IOV VF need to be
>re-registered. It may fail when the memory is badly fragmented.
>
>The related log is as follows.
>
>Mar 1 18:54:12 kernel: hv_netvsc 6045bdaa-c0d1-6045-bdaa-c0d16045bdaa eth0: VF slot 1 added
>...
>Mar 1 18:54:13 kernel: kworker/0:0: page allocation failure: order:7, mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null),cpuset=/,mems_allowed=0
>Mar 1 18:54:13 kernel: CPU: 0 PID: 24006 Comm: kworker/0:0 Tainted: G E 5.4...x86_64 #1
>Mar 1 18:54:13 kernel: Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090008 12/07/2018
>Mar 1 18:54:13 kernel: Workqueue: events work_for_cpu_fn
>Mar 1 18:54:13 kernel: Call Trace:
>Mar 1 18:54:13 kernel: dump_stack+0x8b/0xc8
>Mar 1 18:54:13 kernel: warn_alloc+0xff/0x170
>Mar 1 18:54:13 kernel: __alloc_pages_slowpath+0x92c/0xb2b
>Mar 1 18:54:13 kernel: ? get_page_from_freelist+0x1d4/0x1140
>Mar 1 18:54:13 kernel: __alloc_pages_nodemask+0x2f9/0x320
>Mar 1 18:54:13 kernel: alloc_pages_current+0x6a/0xb0
>Mar 1 18:54:13 kernel: kmalloc_order+0x1e/0x70
>Mar 1 18:54:13 kernel: kmalloc_order_trace+0x26/0xb0
>Mar 1 18:54:13 kernel: ? __switch_to_asm+0x34/0x70
>Mar 1 18:54:13 kernel: __kmalloc+0x276/0x280
>Mar 1 18:54:13 kernel: ? _raw_spin_unlock_irqrestore+0x1e/0x40
>Mar 1 18:54:13 kernel: devlink_alloc+0x29/0x110
>Mar 1 18:54:13 kernel: mlx5_devlink_alloc+0x1a/0x20 [mlx5_core]
>Mar 1 18:54:13 kernel: init_one+0x1d/0x650 [mlx5_core]
>Mar 1 18:54:13 kernel: local_pci_probe+0x46/0x90
>Mar 1 18:54:13 kernel: work_for_cpu_fn+0x1a/0x30
>Mar 1 18:54:13 kernel: process_one_work+0x16d/0x390
>Mar 1 18:54:13 kernel: worker_thread+0x1d3/0x3f0
>Mar 1 18:54:13 kernel: kthread+0x105/0x140
>Mar 1 18:54:13 kernel: ? max_active_store+0x80/0x80
>Mar 1 18:54:13 kernel: ? kthread_bind+0x20/0x20
>Mar 1 18:54:13 kernel: ret_from_fork+0x3a/0x50
>
>Signed-off-by: Jian Wen <wenjian1@xiaomi.com>
This is not fixing a bug introduced by specific commit, is it? Or is
this a regression? In that case, you need to add "Fixes" tag.
Idk, looks more like net-next material. The patch itself looks okay to
me.
>---
> net/devlink/core.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
>diff --git a/net/devlink/core.c b/net/devlink/core.c
>index 7f0b093208d7..ffbac42918d7 100644
>--- a/net/devlink/core.c
>+++ b/net/devlink/core.c
>@@ -314,7 +314,7 @@ static void devlink_release(struct work_struct *work)
> mutex_destroy(&devlink->lock);
> lockdep_unregister_key(&devlink->lock_key);
> put_device(devlink->dev);
>- kfree(devlink);
>+ kvfree(devlink);
> }
>
> void devlink_put(struct devlink *devlink)
>@@ -420,7 +420,7 @@ struct devlink *devlink_alloc_ns(const struct devlink_ops *ops,
> if (!devlink_reload_actions_valid(ops))
> return NULL;
>
>- devlink = kzalloc(sizeof(*devlink) + priv_size, GFP_KERNEL);
>+ devlink = kvzalloc(sizeof(*devlink) + priv_size, GFP_KERNEL);
> if (!devlink)
> return NULL;
>
>@@ -455,7 +455,7 @@ struct devlink *devlink_alloc_ns(const struct devlink_ops *ops,
> return devlink;
>
> err_xa_alloc:
>- kfree(devlink);
>+ kvfree(devlink);
> return NULL;
> }
> EXPORT_SYMBOL_GPL(devlink_alloc_ns);
>--
>2.34.1
>
>
next prev parent reply other threads:[~2024-03-21 12:59 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-21 12:36 [PATCH net] devlink: use kvzalloc() to allocate devlink instance resources Jian Wen
2024-03-21 12:59 ` Jiri Pirko [this message]
2024-03-22 1:59 ` Jian Wen
2024-03-22 11:44 ` Alexander Lobakin
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=ZfwvR81dq4WN0XOG@nanopsycho \
--to=jiri@resnulli.us \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=netdev@vger.kernel.org \
--cc=wenjian1@xiaomi.com \
--cc=wenjianhn@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.