Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Jan 2019 02:00:39 +0700
From:      Eugene Grosbein <eugen@grosbein.net>
To:        Bruce Evans <brde@optusnet.com.au>, Martin Birgmeier <d8zNeCFG@aon.at>
Cc:        net@freebsd.org
Subject:   Re: [Bug 235031] [em] em0: poor NFS performance, strange behavior
Message-ID:  <3e407ee7-54e3-a6ac-5535-d11aceca9558@grosbein.net>
In-Reply-To: <20190119204156.D929@besplex.bde.org>
References:  <bug-235031-7501@https.bugs.freebsd.org/bugzilla/> <bug-235031-7501-goXNmp3zVl@https.bugs.freebsd.org/bugzilla/> <20190119204156.D929@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
19.01.2019 17:21, Bruce Evans wrote:

> Your problem looks more like lost interrupts.  All em NICs should interrupt
> at the default interrupt moderation rate of 8 kHz under load.  Once there
> are are that many interrupts, there is not much else that can go wrong (nfs
> would have to be working to generate that many interrupts).

I have a patch (in production since 8.x) that makes em(4) support hw.em.max_interrupt_rate
just like igb(4) supports hw.igb.max_interrupt_rate:

http://www.grosbein.net/freebsd/patches/em_sysctl-11.0.diff.gz

It also brings in sysctls dev.em.X.max_interrupt_rate and hw.em.max_interrupt_rate sets defaults for them.

I use hw.em.max_interrupt_rate=32000 for 1GB link passing average sized packets
(about 600 bytes per packet at average) but driver's default 8000 should be nearly fine
for full size packets (1500 or above) and this 8000 limit cannot be reason for such low throughput.

> Bugs in iflib are easy to avoid by running FreeBSD-11.  PRO-1000 is supported
> by most versions of FreeBSD and doesn't have the bug fixed by the above in
> FreeBSD[7-11].

Agreed.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3e407ee7-54e3-a6ac-5535-d11aceca9558>