All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Fastabend <john.fastabend@gmail.com>
To: Eric Dumazet <edumazet@google.com>,  Liu Jian <liujian56@huawei.com>
Cc: davem@davemloft.net,  kuba@kernel.org,  pabeni@redhat.com,
	 john.fastabend@gmail.com,  jakub@cloudflare.com,
	 dsahern@kernel.org,  ast@kernel.org,  daniel@iogearbox.net,
	 netdev@vger.kernel.org,  bpf@vger.kernel.org
Subject: Re: [PATCH bpf 1/2] net: introduce __sk_rmem_schedule() helper
Date: Thu, 27 Jul 2023 12:16:02 -0700	[thread overview]
Message-ID: <64c2c272c111_831d20880@john.notmuch> (raw)
In-Reply-To: <CANn89i+DuhGRXj9U-iXcEA__j6jvV5FC+tLNkGBCSqMCPpuFaA@mail.gmail.com>

Eric Dumazet wrote:
> On Wed, Jul 26, 2023 at 4:15 PM Liu Jian <liujian56@huawei.com> wrote:
> >
> > Compared with sk_wmem_schedule(), sk_rmem_schedule() not only performs
> > rmem accounting, but also checks skb_pfmemalloc. The __sk_rmem_schedule()
> > helper function is introduced here to perform only rmem accounting related
> > activities.
> >
> 
> Why not care about pfmemalloc ? Why is it safe ?
> 
> You need to give more details, or simply reuse the existing helper.

I would just use the existing helper. Seems it should be fine.

> 
> > Signed-off-by: Liu Jian <liujian56@huawei.com>
> > ---
> >  include/net/sock.h | 12 ++++++++----
> >  1 file changed, 8 insertions(+), 4 deletions(-)
> >
> > diff --git a/include/net/sock.h b/include/net/sock.h
> > index 2eb916d1ff64..58bf26c5c041 100644
> > --- a/include/net/sock.h
> > +++ b/include/net/sock.h
> > @@ -1617,16 +1617,20 @@ static inline bool sk_wmem_schedule(struct sock *sk, int size)
> >         return delta <= 0 || __sk_mem_schedule(sk, delta, SK_MEM_SEND);
> >  }
> >
> > -static inline bool
> > -sk_rmem_schedule(struct sock *sk, struct sk_buff *skb, int size)
> > +static inline bool __sk_rmem_schedule(struct sock *sk, int size)
> >  {
> >         int delta;
> >
> >         if (!sk_has_account(sk))
> >                 return true;
> >         delta = size - sk->sk_forward_alloc;
> > -       return delta <= 0 || __sk_mem_schedule(sk, delta, SK_MEM_RECV) ||
> > -               skb_pfmemalloc(skb);
> > +       return delta <= 0 || __sk_mem_schedule(sk, delta, SK_MEM_RECV);
> > +}
> > +
> > +static inline bool
> > +sk_rmem_schedule(struct sock *sk, struct sk_buff *skb, int size)
> > +{
> > +       return __sk_rmem_schedule(sk, size) || skb_pfmemalloc(skb);
> >  }
> >
> >  static inline int sk_unused_reserved_mem(const struct sock *sk)
> > --
> > 2.34.1
> >



  reply	other threads:[~2023-07-27 19:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-26 14:20 [PATCH bpf 0/2] fix rmem incorrect accounting in bpf_tcp_ingress() Liu Jian
2023-07-26 14:20 ` [PATCH bpf 1/2] net: introduce __sk_rmem_schedule() helper Liu Jian
2023-07-26 14:25   ` Eric Dumazet
2023-07-27 19:16     ` John Fastabend [this message]
2023-07-28 12:36       ` liujian (CE)
2023-07-26 14:20 ` [PATCH bpf 2/2] bpf, sockmap: fix rmem incorrect accounting in bpf_tcp_ingress() Liu Jian

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=64c2c272c111_831d20880@john.notmuch \
    --to=john.fastabend@gmail.com \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=dsahern@kernel.org \
    --cc=edumazet@google.com \
    --cc=jakub@cloudflare.com \
    --cc=kuba@kernel.org \
    --cc=liujian56@huawei.com \
    --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 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.