From: Jesper Dangaard Brouer <hawk@kernel.org>
To: Jakub Kicinski <kuba@kernel.org>, davem@davemloft.net
Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com,
andrew+netdev@lunn.ch, horms@kernel.org,
ilias.apalodimas@linaro.org
Subject: Re: [PATCH net] page_pool: store detach_time as ktime_t to avoid false-negatives
Date: Mon, 9 Mar 2026 10:42:54 +0100 [thread overview]
Message-ID: <4e45407b-5c6b-4832-b403-ea62b1e4bcb5@kernel.org> (raw)
In-Reply-To: <20260307204022.1897614-1-kuba@kernel.org>
On 07/03/2026 21.40, Jakub Kicinski wrote:
> While testing other changes in vng I noticed that
> nl_netdev.page_pool_check flakes. This never happens in real CI.
>
> Turns out vng may boot and get to that test in less than a second.
> page_pool_detached() records the detach time in seconds, so if
> vng is fast enough detach time is set to 0. Other code treats
> 0 as "not detached". detach_time is only used to report the state
> to the user, so it's not a huge deal in practice but let's fix it.
> Store the raw ktime_t (nanoseconds) instead. A nanosecond value
> of 0 is practically impossible.
>
> Fixes: 69cb4952b6f6 ("net: page_pool: report when page pool was destroyed")
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
> CC: hawk@kernel.org
LGTM -- after addressing in build errors... likely a missing include?
Acked-by: Jesper Dangaard Brouer <hawk@kernel.org>
> CC: ilias.apalodimas@linaro.org
> ---
> include/net/page_pool/types.h | 2 +-
> net/core/page_pool_user.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/include/net/page_pool/types.h b/include/net/page_pool/types.h
> index 0d453484a585..cdd95477af7a 100644
> --- a/include/net/page_pool/types.h
> +++ b/include/net/page_pool/types.h
> @@ -247,7 +247,7 @@ struct page_pool {
> /* User-facing fields, protected by page_pools_lock */
> struct {
> struct hlist_node list;
> - u64 detach_time;
> + ktime_t detach_time;
> u32 id;
> } user;
> };
> diff --git a/net/core/page_pool_user.c b/net/core/page_pool_user.c
> index c82a95beceff..fb4ca27358cd 100644
> --- a/net/core/page_pool_user.c
> +++ b/net/core/page_pool_user.c
> @@ -245,7 +245,7 @@ page_pool_nl_fill(struct sk_buff *rsp, const struct page_pool *pool,
> goto err_cancel;
> if (pool->user.detach_time &&
> nla_put_uint(rsp, NETDEV_A_PAGE_POOL_DETACH_TIME,
> - pool->user.detach_time))
> + ktime_to_seconds(pool->user.detach_time)))
Hmm.. is this ktime_to_seconds even defined?
A quick look tells me that we could use:
ktime_divns(pool->user.detach_time, NSEC_PER_SEC)
> goto err_cancel;
>
> if (pool->mp_ops && pool->mp_ops->nl_fill(pool->mp_priv, rsp, NULL))
> @@ -337,7 +337,7 @@ int page_pool_list(struct page_pool *pool)
> void page_pool_detached(struct page_pool *pool)
> {
> mutex_lock(&page_pools_lock);
> - pool->user.detach_time = ktime_get_boottime_seconds();
> + pool->user.detach_time = ktime_get_boottime();
> netdev_nl_page_pool_event(pool, NETDEV_CMD_PAGE_POOL_CHANGE_NTF);
> mutex_unlock(&page_pools_lock);
> }
prev parent reply other threads:[~2026-03-09 9:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-07 20:40 [PATCH net] page_pool: store detach_time as ktime_t to avoid false-negatives Jakub Kicinski
2026-03-08 0:10 ` Eric Dumazet
2026-03-08 16:21 ` Jakub Kicinski
2026-03-08 4:54 ` kernel test robot
2026-03-08 5:05 ` kernel test robot
2026-03-08 5:06 ` kernel test robot
2026-03-08 5:17 ` kernel test robot
2026-03-09 9:42 ` Jesper Dangaard Brouer [this message]
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=4e45407b-5c6b-4832-b403-ea62b1e4bcb5@kernel.org \
--to=hawk@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=ilias.apalodimas@linaro.org \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.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