[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEA6p_Av8Pb2qyjs4h6WqsuW=fMoJY6beT8K5QBxH-wfJ73+pA@mail.gmail.com>
Date: Wed, 20 Mar 2019 16:03:58 -0700
From: Wei Wang <weiwan@...gle.com>
To: Julian Wiedmann <jwi@...ux.ibm.com>
Cc: David Miller <davem@...emloft.net>,
Linux Kernel Network Developers <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next] net: dst: remove gc leftovers
On Wed, Mar 20, 2019 at 12:03 PM Julian Wiedmann <jwi@...ux.ibm.com> wrote:
>
> Get rid of some obsolete gc-related documentation and macros that were
> missed in commit 5b7c9a8ff828 ("net: remove dst gc related code").
>
> CC: Wei Wang <weiwan@...gle.com>
> Signed-off-by: Julian Wiedmann <jwi@...ux.ibm.com>
> ---
Acked-by: Wei Wang <weiwan@...gle.com>
>
> one more time, with cc netdev...
>
> include/net/dst.h | 11 -----------
> net/core/dst.c | 17 -----------------
> net/ipv4/route.c | 2 +-
> 3 files changed, 1 insertion(+), 29 deletions(-)
>
> diff --git a/include/net/dst.h b/include/net/dst.h
> index 6cf0870414c7..12b31c602cb0 100644
> --- a/include/net/dst.h
> +++ b/include/net/dst.h
> @@ -19,17 +19,6 @@
> #include <net/neighbour.h>
> #include <asm/processor.h>
>
> -#define DST_GC_MIN (HZ/10)
> -#define DST_GC_INC (HZ/2)
> -#define DST_GC_MAX (120*HZ)
> -
> -/* Each dst_entry has reference count and sits in some parent list(s).
> - * When it is removed from parent list, it is "freed" (dst_free).
> - * After this it enters dead state (dst->obsolete > 0) and if its refcnt
> - * is zero, it can be destroyed immediately, otherwise it is added
> - * to gc list and garbage collector periodically checks the refcnt.
> - */
> -
> struct sk_buff;
>
> struct dst_entry {
> diff --git a/net/core/dst.c b/net/core/dst.c
> index a263309df115..1f13d90cd0e4 100644
> --- a/net/core/dst.c
> +++ b/net/core/dst.c
> @@ -26,23 +26,6 @@
> #include <net/dst.h>
> #include <net/dst_metadata.h>
>
> -/*
> - * Theory of operations:
> - * 1) We use a list, protected by a spinlock, to add
> - * new entries from both BH and non-BH context.
> - * 2) In order to keep spinlock held for a small delay,
> - * we use a second list where are stored long lived
> - * entries, that are handled by the garbage collect thread
> - * fired by a workqueue.
> - * 3) This list is guarded by a mutex,
> - * so that the gc_task and dst_dev_event() can be synchronized.
> - */
> -
> -/*
> - * We want to keep lock & list close together
> - * to dirty as few cache lines as possible in __dst_free().
> - * As this is not a very strong hint, we dont force an alignment on SMP.
> - */
> int dst_discard_out(struct net *net, struct sock *sk, struct sk_buff *skb)
> {
> kfree_skb(skb);
> diff --git a/net/ipv4/route.c b/net/ipv4/route.c
> index a5da63e5faa2..14c7fdacaa72 100644
> --- a/net/ipv4/route.c
> +++ b/net/ipv4/route.c
> @@ -1176,7 +1176,7 @@ static struct dst_entry *ipv4_dst_check(struct dst_entry *dst, u32 cookie)
> *
> * When a PMTU/redirect information update invalidates a route,
> * this is indicated by setting obsolete to DST_OBSOLETE_KILL or
> - * DST_OBSOLETE_DEAD by dst_free().
> + * DST_OBSOLETE_DEAD.
> */
> if (dst->obsolete != DST_OBSOLETE_FORCE_CHK || rt_is_expired(rt))
> return NULL;
> --
> 2.16.4
>
Powered by blists - more mailing lists