Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Nov 2002 21:23:09 +0900
From:      Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
To:        Poul-Henning Kamp <phk@critter.freebsd.dk>
Cc:        Hidetoshi Shimokawa <simokawa@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, takashi@yha.att.ne.jp
Subject:   Re: cvs commit: src/sys/dev/nge if_nge.c if_ngereg.h 
Message-ID:  <ybsk7jlhavm.wl@ett.sat.t.u-tokyo.ac.jp>
In-Reply-To: <16553.1036649695@critter.freebsd.dk>
References:  <ybsu1iuhzw2.wl@ett.sat.t.u-tokyo.ac.jp> <16553.1036649695@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
At Thu, 07 Nov 2002 07:14:55 +0100,
Poul-Henning Kamp wrote:
> 
> In message <ybsu1iuhzw2.wl@ett.sat.t.u-tokyo.ac.jp>, Hidetoshi Shimokawa writes
> :
> >> >  Modified files:
> >> >    sys/dev/nge          if_nge.c if_ngereg.h 
> >> >  Log:
> >> >  Add support for DEVICE_POLLING.
> >> >  
> >> Hang on for a second:
> >> 
> >> This chip supports interrupt pacing so I would like to see
> >> some documentation for an improvement from DEVICE_POLLING over
> >> tuning the interrupt pacing in the chip, before we even think
> >> about MFC, much less let this commit stay in the tree.
> >
> >I think interrupt pacing usually does good job too.
> >
> >But still, I think there could be some cases device polling does
> >better job (ex. multiple busy NICs.) and it's a good thing
> >to give a option to users.
> >
> >> What tests have been run ?  
> >> What are the numbers ?  (and please, include a standard deviation!)
> >
> >I don't have any numbers by myself. I'm asking for the original author
> >whether he has.
> 
> Yes please.  Unless there is documentation that this actually helps,
> it should be backed out.

I don't understand why you want it to be backed out.
Do you have any good reason to believe that device polling doesn't
help in most cases?

Anyway, the numbers show that device polling improves the performance and
changing interrupt holdtime you suggested doesn't help.
The current holdtime (100us) seems the optimal and increasing it gives
poor TX performance.
I think the improvement doesn't came from difference between
polling and interrupt but from the nature of device polling that
limits the number of processing I/Os at once (by kern.polling.each_burst).
It gives a chance to resume transmit processes to upper protocol
layer and gives better utilization of the bandwidth.

Here is the numbers submitted by Oono-san <takashi@yha.att.ne.jp>.

-----------------------------------------------------------------
* Server
OS:  FreeBSD 4.7-STABLE
CPU: Celeron 1.2GHz
Mem: 1GB
NIC: CAMEO SOHO-GA2500T
     http://www.cameo.com.tw/pdf/SOHO-GA2500T.pdf

* Client
OS:  Windows2000Pro SP3
CPU: AthlonXP 1900+
Mem: 1GB
NIC: CAMEO SOHO-GA2500T
     http://www.cameo.com.tw/pdf/SOHO-GA2500T.pdf


* Connection
Connected directly with Cat5e cross cable.

* Measurement
- Measured by the transfer rate(KB/sec) of FTP.
- Using Jumbo frame(9014Byte).
- Measure 7 times for each configuration and take 5 measurement
  except 2 outlier(max and min).
- Use /dev/null(PUT) and nul(GET) to reduce Disk I/O.


FTP GET <Server ----> Client>
polling enabled
50751.76
50891.66
50756.12
51027.92
50756.12

holdoff time 0 (0x00)  interrupt pacing off
45282.53
45338.13
45338.13
45338.13
45334.66

holdoff time 100us (0x01) default
43662.79
43763.05
44066.62
43511.65
43511.65

holdoff time 300us (0x03)
19400.43
19350.86
19410.63
19401.07
19410.63

holdoff time 500us (0x05)
11674.07
11674.07
11673.84
11674.07
11674.07

holdoff time 1000us (0x0A)
5822.20
5821.55
5821.55
5811.22
5821.55

FTP PUT <Server <---- Client>
polling enabled
71612.27
71215.19
70678.46
71473.65
71482.30


holdoff time 0 (0x00)  interrupt pacing off
61280.08
61184.88
61388.32
61484.15
61184.88

holdoff time 100us (0x01) default
62498.81
66681.85
66810.05
66569.15
66569.15

holdoff time 300us (0x03)
68745.78
68745.78
68753.78
68994.66
68753.78

holdoff time 500us (0x05)
64966.05
64966.05
64859.07
64859.07
64966.05

holdoff time 1000us (0x0A)
52085.09
52154.06
52154.06
52080.50
52011.73


---------------------------------------------------------
/\ Hidetoshi Shimokawa
\/  simokawa@sat.t.u-tokyo.ac.jp
PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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