Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Feb 2004 21:21:48 -0500
From:      Deepak Jain <deepak@ai.net>
To:        Deepak Jain <deepak@ai.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: em0, polling performance, P4 2.8ghz FSB 800mhz
Message-ID:  <40414CBC.20001@ai.net>
In-Reply-To: <40414823.9040507@ai.net>
References:  <40414823.9040507@ai.net>

next in thread | previous in thread | raw e-mail | index | archive | help

It was kindly pointed out that I didn't including the symptoms of the 
problem:


Without polling on, I get 70+% interrupt load, and I get live lock.

With polling on, I start getting huge amounts of input errors, packet 
loss, and general unresponsiveness to the network. The web server on it 
doesn't respond though it occassionally will open the connection, just 
not respond. accept_filter on/off makes no difference. I have read other 
posts that say em systems can more >200kpps without serious incident.

Thanks in advance,

DJ

Deepak Jain wrote:

> 
> I have a machine running 4.9.  P4 2.8Ghz, 800mhz bus, Intel PRO/1000 
> ethernet connected to a Cisco, both sides are locked to 1000/FD.
> 
> The kernel has HZ=1000, and DEVICE_POLLING, IPFW, DUMMYNET, etc. After 
> only a few minutes of run time under an attack ~90,000 pps. The attack 
> has been limited at the router to JUST incoming TCP port 80 inbound 
> traffic. I don't know why the machine is having such a hard time under 
> the load. The cpu shows it is >90% idle even under the worst of the 
> attack.  What am I doing wrong?
> 
> Thanks,
> 
> DJ
> 
> #sysctl -a |grep hz
> kern.clockrate: { hz = 1000, tick = 1000, tickadj = 1, profhz = 1024, 
> stathz = 1
> 28 }
> #sysctl -a |grep polling
> kern.polling.burst: 544
> kern.polling.each_burst: 30
> kern.polling.burst_max: 550
> kern.polling.idle_poll: 1
> kern.polling.poll_in_trap: 0
> kern.polling.user_frac: 50
> kern.polling.reg_frac: 30
> kern.polling.short_ticks: 44151
> kern.polling.lost_polls: 84925
> kern.polling.pending_polls: 0
> kern.polling.residual_burst: 0
> kern.polling.handlers: 1
> kern.polling.enable: 1
> kern.polling.phase: 0
> kern.polling.suspect: 39272
> kern.polling.stalled: 5
> 
> 
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>         The Regents of the University of California. All rights reserved.
> FreeBSD 4.9-RELEASE #8: Sat Feb 28 23:42:41 GMT 2004
> 
> Timecounter "i8254"  frequency 1193182 Hz
> CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz (2806.38-MHz 686-class CPU)
>   Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
> 
> Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,C 
> 
> MOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
>   Hyperthreading: 2 logical CPUs
> real memory  = 2147418112 (2097088K bytes)
> avail memory = 2085978112 (2037088K bytes)
> Preloaded elf kernel "kernel" at 0xc04fa000.
> Warning: Pentium 4 CPU: PSE disabled
> Pentium Pro MTRR support enabled
> md0: Malloc disk
> Using $PIR table, 12 entries at 0xc00fdea0
> npx0: <math processor> on motherboard
> npx0: INT 16 interface
> pcib0: <Host to PCI bridge> on motherboard
> pci0: <PCI bus> on pcib0
> pcib1: <PCI to PCI bridge (vendor=8086 device=2579)> at device 1.0 on pci0
> pci1: <PCI bus> on pcib1
> pcib2: <PCI to PCI bridge (vendor=8086 device=257b)> at device 3.0 on pci0
> pci2: <PCI bus> on pcib2
> em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.16> port 
> 0xb000-0xb01f
>  mem 0xf3000000-0xf301ffff irq 12 at device 1.0 on pci2
> em0:  Speed:N/A  Duplex:N/A
> uhci0: <Intel 82801EB (ICH5) USB controller USB-A> port 0xcc00-0xcc1f 
> irq 11 at
> device 29.0 on pci0
> usb0: <Intel 82801EB (ICH5) USB controller USB-A> on uhci0
> usb0: USB revision 1.0
> uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 2 ports with 2 removable, self powered
> uhci1: <Intel 82801EB (ICH5) USB controller USB-B> port 0xc000-0xc01f 
> irq 3 at d
> evice 29.1 on pci0
> usb1: <Intel 82801EB (ICH5) USB controller USB-B> on uhci1
> usb1: USB revision 1.0
> uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub1: 2 ports with 2 removable, self powered
> uhci2: <Intel 82801EB (ICH5) USB controller USB-C> port 0xc400-0xc41f 
> irq 12 at
> device 29.2 on pci0
> usb2: <Intel 82801EB (ICH5) USB controller USB-C> on uhci2
> usb2: USB revision 1.0
> uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub2: 2 ports with 2 removable, self powered
> uhci3: <Intel 82801EB (ICH5) USB controller USB-D> port 0xc800-0xc81f 
> irq 11 at
> device 29.3 on pci0
> usb3: <Intel 82801EB (ICH5) USB controller USB-D> on uhci3
> usb3: USB revision 1.0
> uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub3: 2 ports with 2 removable, self powered
> pci0: <USB controller> at 29.7 irq 7
> pcib3: <Intel 82801BA/BAM (ICH2) Hub to PCI bridge> at device 30.0 on pci0
> pci3: <PCI bus> on pcib3
> ahd0: <Adaptec 29320LP Ultra320 SCSI adapter> port 
> 0x9400-0x94ff,0x9000-0x90ff m
> em 0xf2020000-0xf2021fff irq 11 at device 0.0 on pci3
> aic7901A: Ultra320 Wide Channel A, SCSI Id=7, PCI 33 or 66Mhz, 512 SCBs
> pci3: <unknown card> (vendor=0x105a, dev=0x3373) at 3.0 irq 10
> pci3: <ATI Mach64-GR graphics accelerator> at 7.0 irq 11
> pci3: <unknown card> (vendor=0x8086, dev=0x1051) at 8.0 irq 5
> isab0: <PCI to ISA bridge (vendor=8086 device=24d0)> at device 31.0 on pci0
> isa0: <ISA bus> on isab0
> atapci0: <Intel ICH5 ATA100 controller> port 
> 0xf000-0xf00f,0-0x3,0-0x7,0-0x3,0-0
> x7 irq 0 at device 31.1 on pci0
> ata0: at 0x1f0 irq 14 on atapci0
> ata1: at 0x170 irq 15 on atapci0
> pci0: <unknown card> (vendor=0x8086, dev=0x24d3) at 31.3 irq 9
> orm0: <Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xd17ff on isa0
> pmtimer0 on isa0
> fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
> atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> kbd0 at atkbd0
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> sc0: <System console> at flags 0x100 on isa0
> sc0: VGA <16 virtual consoles, flags=0x300>
> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
> sio0: type 16550A
> sio1: configured irq 3 not in bitmap of probed irqs 0
> ppc0: parallel port not found.
> DUMMYNET initialized (011031)
> IP packet filtering initialized, divert disabled, rule-based forwarding 
> enabled,
>  default to accept, logging limited to 100 packets/entry by default
> Waiting 15 seconds for SCSI devices to settle
> Mounting root from ufs:/dev/da0s1a
> da0 at ahd0 bus 0 target 0 lun 0
> da0: <SEAGATE ST336607LW 0007> Fixed Direct Access SCSI-3 device
> da0: 320.000MB/s transfers (160.000MHz, offset 63, 16bit), Tagged 
> Queueing Enabl
> ed
> da0: 35003MB (71687372 512 byte sectors: 255H 63S/T 4462C)
> em0: Link is up 1000 Mbps Full Duplex
> Limiting closed port RST response from 76352 to 200 packets per second
> Limiting closed port RST response from 75963 to 200 packets per second
> Limiting closed port RST response from 74737 to 200 packets per second
> 
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
> 
> 



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