Thread (17 messages) 17 messages, 5 authors, 2021-01-30

Re: [PATCH v2 net-next 3/4] net: introduce common dev_page_is_reserved()

flat view

From: Alexander Lobakin <hidden>
Date: 2021-01-30 19:46:39
Also in: intel-wired-lan, linux-mm, linux-rdma, lkml

From: Jakub Kicinski <kuba@kernel.org>
Date: Sat, 30 Jan 2021 11:07:07 -0800
On Sat, 30 Jan 2021 15:42:29 +0000 Alexander Lobakin wrote:
quoted
quoted
On Wed, 27 Jan 2021 20:11:23 +0000 Alexander Lobakin wrote:
quoted
+ * dev_page_is_reserved - check whether a page can be reused for network Rx
+ * @page: the page to test
+ *
+ * A page shouldn't be considered for reusing/recycling if it was allocated
+ * under memory pressure or at a distant memory node.
+ *
+ * Returns true if this page should be returned to page allocator, false
+ * otherwise.
+ */
+static inline bool dev_page_is_reserved(const struct page *page)
Am I the only one who feels like "reusable" is a better term than
"reserved".
I thought about it, but this will need to inverse the conditions in
most of the drivers. I decided to keep it as it is.
I can redo if "reusable" is preferred.
Naming is hard. As long as the condition is not a double negative it
reads fine to me, but that's probably personal preference.
The thing that doesn't sit well is the fact that there is nothing
"reserved" about a page from another NUMA node.. But again, if nobody
+1s this it's whatever...
Agree on NUMA and naming. I'm a bit surprised that 95% of drivers
have this helper called "reserved" (one of the reasons why I finished
with this variant).
Let's say, if anybody else will vote for "reusable", I'll pick it for
v3.
That said can we move the likely()/unlikely() into the helper itself?
People on the internet may say otherwise but according to my tests
using __builtin_expect() on a return value of a static inline helper
works just fine.
Sounds fine, this will make code more elegant. Will publish v3 soon.

Thanks,
Al
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help