From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: Saeed Mahameed <saeedm@mellanox.com>
Cc: "brouer@redhat.com" <brouer@redhat.com>,
"jonathan.lemon@gmail.com" <jonathan.lemon@gmail.com>,
"linyunsheng@huawei.com" <linyunsheng@huawei.com>,
Li Rongqing <lirongqing@baidu.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH][v2] page_pool: handle page recycle for NUMA_NO_NODE condition
Date: Tue, 10 Dec 2019 17:02:44 +0200 [thread overview]
Message-ID: <20191210150244.GB12702@apalos.home> (raw)
In-Reply-To: <816bc34a7d25881f35e0c3e21dc2283ffeffb093.camel@mellanox.com>
Hi Saeed,
> >
> > The patch description doesn't explain the problem very well.
> >
> > Lets first establish what the problem is. After I took at closer
> > look,
> > I do think we have a real problem here...
> >
> > If function alloc_pages_node() is called with NUMA_NO_NODE (see below
> > signature), then the nid is re-assigned to numa_mem_id().
> >
> > Our current code checks: page_to_nid(page) == pool->p.nid which seems
> > bogus, as pool->p.nid=NUMA_NO_NODE and the page NID will not return
> > NUMA_NO_NODE... as it was set to the local detect numa node, right?
> >
>
> right.
>
> > So, we do need a fix... but the question is that semantics do we
> > want?
> >
>
> maybe assume that __page_pool_recycle_direct() is always called from
> the right node and change the current bogus check:
Is this a typo? pool_page_reusable() is called from __page_pool_put_page().
page_pool_put_page and page_pool_recycle_direct() (no underscores) call that.
Can we guarantee that those will always run from the correct cpu?
In the current code base if they are only called under NAPI this might be true.
On the page_pool skb recycling patches though (yes we'll eventually send those
:)) this is called from kfree_skb().
I don't think we can get such a guarantee there, right?
Regards
/Ilias
next prev parent reply other threads:[~2019-12-10 15:02 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-06 9:32 [PATCH][v2] page_pool: handle page recycle for NUMA_NO_NODE condition Li RongQing
2019-12-07 3:52 ` Saeed Mahameed
2019-12-09 1:31 ` Yunsheng Lin
2019-12-09 3:47 ` 答复: " Li,Rongqing
2019-12-09 9:30 ` Ilias Apalodimas
2019-12-09 10:37 ` 答复: " Li,Rongqing
2019-12-09 12:14 ` Jesper Dangaard Brouer
2019-12-09 23:34 ` Saeed Mahameed
2019-12-10 1:31 ` Yunsheng Lin
2019-12-10 9:39 ` 答复: " Li,Rongqing
2019-12-10 14:52 ` Ilias Apalodimas
2019-12-10 19:56 ` Saeed Mahameed
2019-12-10 19:45 ` Saeed Mahameed
2019-12-11 3:01 ` Yunsheng Lin
2019-12-11 3:06 ` Yunsheng Lin
2019-12-11 20:57 ` Saeed Mahameed
2019-12-12 1:04 ` Yunsheng Lin
2019-12-10 15:02 ` Ilias Apalodimas [this message]
2019-12-10 20:02 ` Saeed Mahameed
2019-12-10 20:10 ` Ilias Apalodimas
2019-12-11 18:49 ` Jesper Dangaard Brouer
2019-12-11 21:24 ` Saeed Mahameed
2019-12-12 1:34 ` Yunsheng Lin
2019-12-12 10:18 ` Jesper Dangaard Brouer
2019-12-13 3:40 ` Yunsheng Lin
2019-12-13 6:27 ` 答复: " Li,Rongqing
2019-12-13 6:53 ` Yunsheng Lin
2019-12-13 8:48 ` Jesper Dangaard Brouer
2019-12-16 1:51 ` Yunsheng Lin
2019-12-16 4:02 ` 答复: " Li,Rongqing
2019-12-16 10:13 ` Ilias Apalodimas
2019-12-16 10:16 ` Ilias Apalodimas
2019-12-16 10:57 ` 答复: " Li,Rongqing
2019-12-17 19:38 ` Saeed Mahameed
2019-12-17 19:35 ` Saeed Mahameed
2019-12-17 19:27 ` Saeed Mahameed
2019-12-16 12:15 ` Michal Hocko
2019-12-16 12:34 ` Ilias Apalodimas
2019-12-16 13:08 ` Michal Hocko
2019-12-16 13:21 ` Ilias Apalodimas
2019-12-17 2:11 ` Yunsheng Lin
2019-12-17 9:11 ` Michal Hocko
2019-12-19 2:09 ` Yunsheng Lin
2019-12-19 11:53 ` Michal Hocko
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=20191210150244.GB12702@apalos.home \
--to=ilias.apalodimas@linaro.org \
--cc=brouer@redhat.com \
--cc=jonathan.lemon@gmail.com \
--cc=linyunsheng@huawei.com \
--cc=lirongqing@baidu.com \
--cc=netdev@vger.kernel.org \
--cc=saeedm@mellanox.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 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).