Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Jul 2012 22:27:57 +0200
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        "Alexander V. Chernikov" <melifaro@freebsd.org>
Cc:        hackers@freebsd.org, performance@freebsd.org, net@freebsd.org
Subject:   Re: FreeBSD 10G forwarding performance @Intel
Message-ID:  <20120703202757.GA90741@onelab2.iet.unipi.it>
In-Reply-To: <4FF32DE2.2010606@FreeBSD.org>
References:  <4FF319A2.6070905@FreeBSD.org> <20120703165506.GA90114@onelab2.iet.unipi.it> <4FF32DE2.2010606@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jul 03, 2012 at 09:37:38PM +0400, Alexander V. Chernikov wrote:
...
> Thanks, another good point. I forgot to merge this option from andre's 
> patch.
> 
> Another 30-40-50kpps to win.

not much gain though.
What about the other IPSTAT_INC counters ?
I think the IPSTAT_INC macros were introduced (by rwatson ?)
following a discussion on how to make the counters per-cpu
and avoid the contention on cache lines.
But they are still implemented as a single instance,
and neither volatile nor atomic, so it is not even clear
that they can give reliable results, let alone the fact
that you are likely to get some cache misses.

the relevant macro is in ip_var.h.

Cheers
luigi

> 
> +u_int rt_count  = 1;
> +SYSCTL_INT(_net, OID_AUTO, rt_count, CTLFLAG_RW, &rt_count, 1, "");
> 
> @@ -601,17 +625,20 @@ passout:
>         if (error != 0)
>                 IPSTAT_INC(ips_odropped);
>         else {
> -               ro.ro_rt->rt_rmx.rmx_pksent++;
> +               if (rt_count)
> +                       ro.ro_rt->rt_rmx.rmx_pksent++;
>                 IPSTAT_INC(ips_forward);
>                 IPSTAT_INC(ips_fastforward);
> 
> 
> >
> >cheers
> >luigi
> >
> 
> 
> -- 
> WBR, Alexander
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120703202757.GA90741>