OSDN Git Service

tcp: define macros for a couple reclaim thresholds
authorPaolo Abeni <pabeni@redhat.com>
Tue, 26 Oct 2021 23:29:13 +0000 (16:29 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 28 Oct 2021 01:20:29 +0000 (18:20 -0700)
A following patch is going to implement a similar reclaim schema
for the MPTCP protocol, with different locking.

Let's define a couple of macros for the used thresholds, so
that the latter code will be more easily maintainable.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/sock.h

index ff4e62a..df0e0ef 100644 (file)
@@ -1573,6 +1573,11 @@ static inline void sk_mem_charge(struct sock *sk, int size)
        sk->sk_forward_alloc -= size;
 }
 
+/* the following macros control memory reclaiming in sk_mem_uncharge()
+ */
+#define SK_RECLAIM_THRESHOLD   (1 << 21)
+#define SK_RECLAIM_CHUNK       (1 << 20)
+
 static inline void sk_mem_uncharge(struct sock *sk, int size)
 {
        int reclaimable;
@@ -1589,8 +1594,8 @@ static inline void sk_mem_uncharge(struct sock *sk, int size)
         * If we reach 2 MBytes, reclaim 1 MBytes right now, there is
         * no need to hold that much forward allocation anyway.
         */
-       if (unlikely(reclaimable >= 1 << 21))
-               __sk_mem_reclaim(sk, 1 << 20);
+       if (unlikely(reclaimable >= SK_RECLAIM_THRESHOLD))
+               __sk_mem_reclaim(sk, SK_RECLAIM_CHUNK);
 }
 
 static inline void sk_wmem_free_skb(struct sock *sk, struct sk_buff *skb)