Re: [PATCH resend] drop_monitor: fix trace_napi_poll_hit()

From: Eric Dumazet
Date: Mon Aug 31 2009 - 02:32:19 EST


Xiao Guangrong a Ãcrit :
> The net_dev of backlog napi is NULL, like below:
>
> __get_cpu_var(softnet_data).backlog.dev == NULL
>
> So, we should check it in napi tracepoint's probe function
>
> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx>
> Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx>
> ---
> net/core/drop_monitor.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/net/core/drop_monitor.c b/net/core/drop_monitor.c
> index 9d66fa9..d311202 100644
> --- a/net/core/drop_monitor.c
> +++ b/net/core/drop_monitor.c
> @@ -182,7 +182,8 @@ static void trace_napi_poll_hit(struct napi_struct *napi)
> /*
> * Ratelimit our check time to dm_hw_check_delta jiffies
> */
> - if (!time_after(jiffies, napi->dev->last_rx + dm_hw_check_delta))
> + if (!napi->dev ||
> + !time_after(jiffies, napi->dev->last_rx + dm_hw_check_delta))
> return;
>
> rcu_read_lock();


This reminds me dev->last_rx is not anymore updated, unless special conditions
are met.

Test done in trace_napi_poll_hit() is probably not good, even with a non null napi->dev
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/