Date: Mon, 27 Sep 2004 10:21:15 +0200 From: Ulrich Spoerlein <q@uni.de> To: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp> Cc: current@freebsd.org Subject: Re: fwe(4) and polling(4) Message-ID: <20040927082115.GA1092@galgenberg.net> In-Reply-To: <87d609m7cs.wl@tora.nunu.org> References: <20040925163148.GA9626@galgenberg.net> <87d609m7cs.wl@tora.nunu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--9amGYk9869ThD9tj Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, 26.09.2004 at 23:29:23 +0900, Hidetoshi Shimokawa wrote: > Interrput rate should be dropped in polling mode. >=20 > To enable polling mode, after you set sysctl variables, you have > to down the interface once and then up. > (ifconfig fwe0 down; ifconfig fwe0 up) Aha! Thanks for the tip, polling is now working on roadrunner and the load dropped. However the performance dropped too (9MB/s). I think this is due to NFS and the increased latency. But I have to get polling working on coyote first, before I investigate further. Read on... This is the output from 5.3 fwe0: flags=3D118943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,POLLING= > mtu 1500 options=3D8<VLAN_MTU> inet 192.168.2.148 netmask 0xffffff00 broadcast 192.168.2.255 inet6 fe80::344f:c0ff:fe67:9830%fwe0 prefixlen 64 scopeid 0x2=20 ether 36:4f:c0:67:98:30 ch 1 dma 0 and this from 5.2.1 fwe0: flags=3D18943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::2000:ff:fe00:52cf%fwe0 prefixlen 64 scopeid 0x3=20 inet 192.168.2.151 netmask 0xffffff00 broadcast 192.168.2.255 ether 22:00:00:00:52:cf ch 1 dma 0 Note that POLLING is absent. I up/downed the interface several times and toggled kern.polling.enable several times too. Is there a bug with respect to 5.2.1R? > > PS: I'm somewhat puzzled by this: > > fwohci0: EUI64 20:00:00:00:04:00:52:cf > > if_fwe0: Fake Ethernet address: 22:00:00:00:52:cf > > and > > fwohci0: EUI64 35:4f:c0:00:35:67:98:30 > > if_fwe0: Fake Ethernet address: 36:4f:c0:67:98:30 >=20 > if_fwe is a non-standard ethernet emulation and need to > generate fake macaddress. As far as I remember, 0x02 is > added to the first byte to represent it is private address. if_fwe.c:186 #define LOCAL (0x02) #define GROUP (0x01) eaddr[0] =3D (FW_EUI64_BYTE(eui, 0) | LOCAL) & ~GROUP; I'm not good at C but this code seems to always zero the least significant bit, making the first byte of the address even. Is that an ethernet requirement? (I checked all NICs I have access to, but they all have 0x00 as the first byte) Ulrich Spoerlein --=20 PGP Key ID: F0DB9F44 Get it while it's hot! PGP Fingerprint: F1CE D062 0CA9 ADE3 349B 2FE8 980A C6B5 F0DB 9F44 "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -- Benjamin Franklin --9amGYk9869ThD9tj Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (FreeBSD) iD8DBQFBV817mArGtfDbn0QRApWNAKC10x7C/Zm5aVAAi4yA/S4JzQ7EMwCgpKpE E9W4ZfhnkD69xRDONHOKr8A= =G1j9 -----END PGP SIGNATURE----- --9amGYk9869ThD9tj--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040927082115.GA1092>