Date: Mon, 15 Jul 2002 13:05:18 +0900 (JST) From: =?iso-2022-jp?B?GyRCOXU0ZBsoQiAbJEJPQjlUGyhC?= <karuhito@cam.hi-ho.ne.jp> To: stable@freebsd.org Subject: Re: lnc interface dying under heavy I/O when running 4.6-STABLE under VMware 3.1.1 Message-ID: <20020715.130518.730555025.karuhito@cam.hi-ho.ne.jp> In-Reply-To: <20020710105447.84833.qmail@web40308.mail.yahoo.com> References: <20020710105447.84833.qmail@web40308.mail.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello. I work at same environment. And I faced to same problem that lnc stopped transmission under heavy load. So I tried patch you posted, it works fine. I noticed that before adapting a patch, transmission is burstly processed and stacked. But after patched, transmission looks gently (slowly) as Windows guest does. Is this expected behaviour? From: Nuzrin Yaapar <nuzrin@yahoo.com> Subject: lnc interface dying under heavy I/O when running 4.6-STABLE under VMware 3.1.1 Date: Wed, 10 Jul 2002 03:54:47 -0700 (PDT) > Guys, > > The subject describes it all. I don't know if anyone else is facing this > problem, but I can reproduce this problem at will. Under VMware 3.1.1 > for Windows, the lnc driver will stop responding after some time. The > weirdest part is that it will only manifest itself when doing some heavy > network I/O, such as 'make installworld' from NFS mount, or doing > netperf. > > The host OS is WinXP Pro, and the guest OS is the freshly cvsup > RELENG_4. Looking at VMware log file, I see a lot these messages: > > Jul 09 16:42:48: VMX|VLANCE: ethernet0 skipped 1024 time(s) > Jul 09 16:42:48: VMX|VLANCE: 254 30 24 23 26 215 11 3 2 0 0 0 0 0 0 0 > Jul 09 16:42:48: VMX|VLANCE: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 436 > Jul 09 16:42:51: VMX|VLANCE: ethernet0 skipped 1280 time(s) > Jul 09 16:42:51: VMX|VLANCE: 354 44 37 35 37 313 17 3 3 1 0 0 0 0 0 0 > Jul 09 16:42:51: VMX|VLANCE: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 436 > > I've done some investigation, and it seems that after some heavy network > activity, the lnc driver will stop calling RX interrupt routine, > lnc_rint(). The "fix" is very simple though; in sys/i386/isa/if_lnc.c, > delete the call to outw(sc->rdp, RINT | INEA) at the very end of > lnc_rint() function. See diff below applied against the latest RELENG_4 > code. > > # diff -ruN sys/i386/isa/if_lnc.c.old sys/i386/isa/if_lnc.c > --- sys/i386/isa/if_lnc.c.old Tue Jul 9 21:04:31 2002 > +++ sys/i386/isa/if_lnc.c Tue Jul 9 21:04:45 2002 > @@ -630,7 +630,6 @@ > * here have been dealt with. > */ > > - outw(sc->rdp, RINT | INEA); > } > > Anyone care to describe/explain/enlighten me on what is happening > actually? -- kazuyuki KUROIWA Email: karuhito@cam.hi-ho.ne.jp To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020715.130518.730555025.karuhito>