Hey, Thanks. I do see the congestion values going up pretty quick. However, as I need to make this run in production as fast as possible. The performance I'm seeing thus far is a lot less than I'd like to see, but the hardware is probably not ideal (bleeding edge chipset, etc). Interrupts % are very high on a machine with a very high end bus.
I do notice that with the new OBSD the number of interrupts reporter per NIC doesn't go above 8,000/sec on this hardware. Once it hits that ceiling the CPU % in interrupts keeps going up, but the number of interrupts is not. Hmm. So should I turn off the congestion packets regardless? Thanks, -Dormando On 10/18/05, Schvberle Daniel <[EMAIL PROTECTED]> wrote: > Hi, > > I was trying to bench routing pps with pf on and henning gave me > some advice which I think might help you too. For my benching purposes > it helped break the 200k pps barrier with current but no guaranties > that it'll do you any good or that it won't hurt you. > > <quote> > The high drop rates > are a anti-DDoS measure - yeah, that pretty much makes benching > impossible... > you could change IF_INPUT_ENQUEUE in sys/net/if.h so that it looks like > > #define IF_INPUT_ENQUEUE(ifq, m) { \ > if (IF_QFULL(ifq)) { \ > IF_DROP(ifq); \ > m_freem(m); \ > } else \ > IF_ENQUEUE(ifq, m); \ > } > > i. e. remove these two lines: > if (!(ifq)->ifq_congestion) \ > if_congestion(ifq); \ > > that means the congestion flag will never be set. > or you add a return; as first statement in if_congestion() in if.c. > > <endquote> > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > On Behalf Of dormando > > Sent: Monday, October 17, 2005 8:29 PM > > To: misc@openbsd.org > > Subject: Very high interrupts on a supermicro machine. > > > > Hey all, > > > > Attached is a dmesg of one of a pair of supermicro based firewalls I > > recently bought. I had set them up as a CARP/pfsync redundant pair of > > frontend firewalls for our network. However, after they reached 15,000 > > interrupts per second (~ 110 megabits of our site traffic), > > they passed 90% > > CPU usage through interrupts and stopped being useful. > > > > The machines have two built-in BGE nics. I swapped in an > > Intel PRO/1000MT > > Dual Port Server Nic into a PCI-X 133mhz PCI slot, but it > > made absolutely no > > difference in the interrupt load. The current firewalls in > > place are freebsd > > machines running on supermicro hardware with two em based > > built-in nics > > running past 40k interrupts without passing 50% CPU load on > > interrupts. The > > only error I can see in the dmesg was this: > > > > pcibios0: no compatible PCI ICU found: ICU vendor 0x8086 > > product 0x2640 > > pcibios0: Warning, unable to fix up PCI interrupt routing > > pcibios0: PCI bus #5 is the last bus > > > > ... which as far as I can read, is "harmless", but potentially causing > > higher interrupt load? > > > > Any hints as to where I should look next would be great. I'm about to > > install the latest -current snapshot on the machine to see if > > there's a > > recent fix. > > > > I'm about 95% sure this is the motherboard we're using: > > http://www.supermicro.com/products/motherboard/P4/E7221/P8SCT. > > cfm I'll check > > with the order guy and confirm the PO. > > > > There's a 3.4ghz P4 CPU in it, the two built-in nics, and a > > single PCI-X > > 133mhz PCI port which I used for the dual port server nic > > from intel. SATA > > harddrive for what it's worth. Running OpenBSD 3.7 as a PF > > firewall. I've > > tried changing a bunch of BIOS options, disabling interrupts, > > etc. I haven't > > compiled my own kernel or built the OS or anything. > > > > Thanks, > > -Dormando