All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Baron <jasonbaron0@gmail.com>
To: Eric Dumazet <edumazet@google.com>,
	"David S. Miller" <davem@davemloft.net>
Cc: netdev <netdev@vger.kernel.org>, Jason Baron <jbaron@akamai.com>,
	Neal Cardwell <ncardwell@google.com>,
	Yuchung Cheng <ycheng@google.com>,
	Eric Dumazet <eric.dumazet@gmail.com>
Subject: Re: [PATCH v2 net-next 1/6] net: fix sk_mem_reclaim_partial()
Date: Mon, 03 Aug 2015 16:53:51 -0400	[thread overview]
Message-ID: <55BFD4DF.30703@gmail.com> (raw)
In-Reply-To: <1431718770-3815-2-git-send-email-edumazet@google.com>



On 05/15/2015 03:39 PM, Eric Dumazet wrote:
> sk_mem_reclaim_partial() goal is to ensure each socket has
> one SK_MEM_QUANTUM forward allocation. This is needed both for
> performance and better handling of memory pressure situations in
> follow up patches.
> 
> SK_MEM_QUANTUM is currently a page, but might be reduced to 4096 bytes
> as some arches have 64KB pages.
> 
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> ---
>  include/net/sock.h | 6 +++---
>  net/core/sock.c    | 9 +++++----
>  2 files changed, 8 insertions(+), 7 deletions(-)
> 
> diff --git a/include/net/sock.h b/include/net/sock.h
> index d882f4c8e438..4581a60636f8 100644
> --- a/include/net/sock.h
> +++ b/include/net/sock.h
> @@ -1368,7 +1368,7 @@ static inline struct inode *SOCK_INODE(struct socket *socket)
>   * Functions for memory accounting
>   */
>  int __sk_mem_schedule(struct sock *sk, int size, int kind);
> -void __sk_mem_reclaim(struct sock *sk);
> +void __sk_mem_reclaim(struct sock *sk, int amount);
>  
>  #define SK_MEM_QUANTUM ((int)PAGE_SIZE)
>  #define SK_MEM_QUANTUM_SHIFT ilog2(SK_MEM_QUANTUM)
> @@ -1409,7 +1409,7 @@ static inline void sk_mem_reclaim(struct sock *sk)
>  	if (!sk_has_account(sk))
>  		return;
>  	if (sk->sk_forward_alloc >= SK_MEM_QUANTUM)
> -		__sk_mem_reclaim(sk);
> +		__sk_mem_reclaim(sk, sk->sk_forward_alloc);
>  }
>  
>  static inline void sk_mem_reclaim_partial(struct sock *sk)
> @@ -1417,7 +1417,7 @@ static inline void sk_mem_reclaim_partial(struct sock *sk)
>  	if (!sk_has_account(sk))
>  		return;
>  	if (sk->sk_forward_alloc > SK_MEM_QUANTUM)
> -		__sk_mem_reclaim(sk);
> +		__sk_mem_reclaim(sk, sk->sk_forward_alloc - 1);
>  }
>

Hi,

Was just looking at this again - this doesn't ensure the SK_MEM_QUANTUM
minimum as the comment suggests- should it be:

_sk_mem_reclaim(sk, sk->sk_forward_alloc - SK_MEM_QUANTUM);
					   ^^^^^^^^^^^^^^^

Or are you just trying to make sure its not 0?

Thanks,

-Jason
													

  reply	other threads:[~2015-08-03 20:53 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-15 19:39 [PATCH v2 net-next 0/6] tcp: better handling of memory pressure Eric Dumazet
2015-05-15 19:39 ` [PATCH v2 net-next 1/6] net: fix sk_mem_reclaim_partial() Eric Dumazet
2015-08-03 20:53   ` Jason Baron [this message]
2015-05-15 19:39 ` [PATCH v2 net-next 2/6] tcp: rename sk_forced_wmem_schedule() to sk_forced_mem_schedule() Eric Dumazet
2015-05-15 19:39 ` [PATCH v2 net-next 3/6] tcp: introduce tcp_under_memory_pressure() Eric Dumazet
2015-05-15 19:39 ` [PATCH v2 net-next 4/6] tcp: fix behavior for epoll edge trigger Eric Dumazet
2015-05-15 19:39 ` [PATCH v2 net-next 5/6] tcp: allow one skb to be received per socket under memory pressure Eric Dumazet
2015-05-15 19:39 ` [PATCH v2 net-next 6/6] tcp: halves tcp_mem[] limits Eric Dumazet
2015-05-15 21:20 ` [PATCH v2 net-next 0/6] tcp: better handling of memory pressure Jason Baron
2015-05-18  2:46 ` David Miller

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=55BFD4DF.30703@gmail.com \
    --to=jasonbaron0@gmail.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=eric.dumazet@gmail.com \
    --cc=jbaron@akamai.com \
    --cc=ncardwell@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=ycheng@google.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.