Re: TCP packet out-of-order problem

2008-12-31 Thread Václav Haisman
Lin Jui-Nan Eric wrote, On 30.12.2008 21:06:
> Dear listers,
> 
> We recently found our new FreeBSD server (located in some foreign
> region) has poor network performance. After doing some tcpdump and
> iperf testing, we found that out-of-order TCP packets are not inserted
> into queue.
> 
> This is an 100Mbps line, and TSO is disabled.
> 
> % uname -a
> FreeBSD bsd 7.1-RC2 FreeBSD 7.1-RC2 #2: Wed Dec 31 03:12:39 CST 2008
>   r...@bsd:/usr/obj/usr/src/sys/KERNEL  amd64
> 
> % iperf -c 10.1.1.250
> 
> Client connecting to office, TCP port 5001
> TCP window size: 3.07 MByte (default)
> 
> [  4] local 10.1.1.210 port 61488 connected with 10.1.1.250 port 5001
> [ ID] Interval   Transfer Bandwidth
> [  4]  0.0-10.2 sec  5.74 MBytes  4.74 Mbits/sec
> 
> 03:47:21.146397 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
> 159305:160753(1448) ack 1 win 1040  3216612488>
> 03:47:21.146409 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 160753
> win 12568 
> 03:47:21.146473 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
> 160753:162201(1448) ack 1 win 1040  3216612488>
> 03:47:21.146485 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 162201
> win 12568 
> 03:47:21.146972 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
> 163649:165097(1448) ack 1 win 1040  3216612488>
> 03:47:21.146983 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 162201
> win 12573 
> 03:47:21.146985 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
> 162201:163649(1448) ack 1 win 1040  3216612488>
> 03:47:21.146996 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 163649
> win 12568 
> 03:47:21.146998 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
> 165097:166545(1448) ack 1 win 1040  3216612488>
> 03:47:21.147006 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 163649
> win 12573 
> 03:47:21.147009 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
> 166545:167993(1448) ack 1 win 1040  3216612488>
> 03:47:21.147017 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 163649
> win 12573 
> 03:47:21.147019 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
> 167993:169441(1448) ack 1 win 1040  3216612488>
> 
> * You can see "ack 163649" repeating, but the packet is transmitted
> before 163649:165097.
> 
> % cat /etc/sysctl.conf
> # $FreeBSD: src/etc/sysctl.conf,v 1.8 2003/03/13 18:43:50 mux Exp $
> #
> #  This file is read when going to multi-user and its contents piped thru
> #  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
> #
> 
> # Uncomment this to prevent users from seeing information about processes that
> # are being run under another UID.
> #security.bsd.see_other_uids=0
> debug.bootverbose=1
> kern.ipc.somaxconn=8192
> kern.maxfiles=65536
> kern.maxfilesperproc=32768
> kern.maxprocperuid=65536
> net.inet.ip.fastforwarding=1
> net.inet.tcp.delayed_ack=0
> vm.pmap.shpgperproc=2000
> kern.ipc.maxsockbuf=8388608
> net.inet.tcp.sendspace=3217968
> net.inet.tcp.recvspace=3217968
> 
> Is our configuration wrong? Or it is an known bug? I have searched
> stable & net list, but found no similar discussion.
> Thank you all in advance!
Do you have net.inet.tcp.sack.enable=1?

--
VH
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


FreeBSD 6.4-stable: kernel panics related to usb and filesystem interaction?

2008-12-31 Thread Torfinn Ingolfsen
Hi,
One[1] of my machines have recently had a couple of panics wile running
FreeBSD 6.4-stable / amd64:
r...@kg-quiet# uname -a
FreeBSD kg-quiet.kg4.no 6.4-STABLE FreeBSD 6.4-STABLE #25: Fri Dec  5 23:26:19 
CET 2008 r...@kg-quiet.kg4.no:/usr/obj/usr/src/sys/QUIET  amd64

The machine works as a cheap fileserver (running Samba) and has a number of 
external disks attached (one firewire, several usb).
A work log for FreeBSD on this machine is here[2].

So I used kgdb to make a couple of backtraces of the dumps, in case it is 
useful.
The first panic mentions smbd, dump info and backtrace kan be found here[3].
The next panic mentions ohci0 and ohci+ as the process, , dump info and 
backtrace kan be found here[4].

Thus my suspicion that this could be an interaction between usb and filesystem. 
OTOH, I can easily be totally wrong here.

Feedback and / or requests to perform more debugging tasks are welcome.

References:
1) http://tingox.googlepages.com/rs480m2
2) http://tingox.googlepages.com/rs480m2_freebsd
3) http://tingox.googlepages.com/quiet-6.4-stable-kdump-20081223.txt
4) http://tingox.googlepages.com/quiet-6.4-stable-kdump-20081231.txt
-- 
Regards,
Torfinn Ingolfsen,
Norway

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: TCP packet out-of-order problem

2008-12-31 Thread Lin Jui-Nan Eric
Hello,

Yes, it's 1 now.

On Wed, Dec 31, 2008 at 6:49 PM, Václav Haisman  wrote:
> Lin Jui-Nan Eric wrote, On 30.12.2008 21:06:
>> Dear listers,
>>
>> We recently found our new FreeBSD server (located in some foreign
>> region) has poor network performance. After doing some tcpdump and
>> iperf testing, we found that out-of-order TCP packets are not inserted
>> into queue.
>>
>> This is an 100Mbps line, and TSO is disabled.
>>
>> % uname -a
>> FreeBSD bsd 7.1-RC2 FreeBSD 7.1-RC2 #2: Wed Dec 31 03:12:39 CST 2008
>>   r...@bsd:/usr/obj/usr/src/sys/KERNEL  amd64
>>
>> % iperf -c 10.1.1.250
>> 
>> Client connecting to office, TCP port 5001
>> TCP window size: 3.07 MByte (default)
>> 
>> [  4] local 10.1.1.210 port 61488 connected with 10.1.1.250 port 5001
>> [ ID] Interval   Transfer Bandwidth
>> [  4]  0.0-10.2 sec  5.74 MBytes  4.74 Mbits/sec
>>
>> 03:47:21.146397 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
>> 159305:160753(1448) ack 1 win 1040 > 3216612488>
>> 03:47:21.146409 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 160753
>> win 12568 
>> 03:47:21.146473 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
>> 160753:162201(1448) ack 1 win 1040 > 3216612488>
>> 03:47:21.146485 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 162201
>> win 12568 
>> 03:47:21.146972 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
>> 163649:165097(1448) ack 1 win 1040 > 3216612488>
>> 03:47:21.146983 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 162201
>> win 12573 
>> 03:47:21.146985 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
>> 162201:163649(1448) ack 1 win 1040 > 3216612488>
>> 03:47:21.146996 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 163649
>> win 12568 
>> 03:47:21.146998 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
>> 165097:166545(1448) ack 1 win 1040 > 3216612488>
>> 03:47:21.147006 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 163649
>> win 12573 
>> 03:47:21.147009 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
>> 166545:167993(1448) ack 1 win 1040 > 3216612488>
>> 03:47:21.147017 IP 10.1.1.250.5001 > 10.1.1.210.54919: . ack 163649
>> win 12573 
>> 03:47:21.147019 IP 10.1.1.210.54919 > 10.1.1.250.5001: .
>> 167993:169441(1448) ack 1 win 1040 > 3216612488>
>>
>> * You can see "ack 163649" repeating, but the packet is transmitted
>> before 163649:165097.
>>
>> % cat /etc/sysctl.conf
>> # $FreeBSD: src/etc/sysctl.conf,v 1.8 2003/03/13 18:43:50 mux Exp $
>> #
>> #  This file is read when going to multi-user and its contents piped thru
>> #  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
>> #
>>
>> # Uncomment this to prevent users from seeing information about processes 
>> that
>> # are being run under another UID.
>> #security.bsd.see_other_uids=0
>> debug.bootverbose=1
>> kern.ipc.somaxconn=8192
>> kern.maxfiles=65536
>> kern.maxfilesperproc=32768
>> kern.maxprocperuid=65536
>> net.inet.ip.fastforwarding=1
>> net.inet.tcp.delayed_ack=0
>> vm.pmap.shpgperproc=2000
>> kern.ipc.maxsockbuf=8388608
>> net.inet.tcp.sendspace=3217968
>> net.inet.tcp.recvspace=3217968
>>
>> Is our configuration wrong? Or it is an known bug? I have searched
>> stable & net list, but found no similar discussion.
>> Thank you all in advance!
> Do you have net.inet.tcp.sack.enable=1?
>
> --
> VH
> ___
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
>
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


RE: Lock enabling onboard lan (Attansic L1 GbE) on 7.1-PRERELEASE

2008-12-31 Thread SDH Admin



> Today I decided to give it a try.
> But if I try loading the if_age module, the
> system prints the following lines and then it freezes.



Could you please print the full dmesg / uname (build date) output?


Thanks.


---
Kevin K.
Systems Administrator
www.linux-vps-servers.com


___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Interval timers firing early

2008-12-31 Thread Peter Jeremy
I have some code that uses setitimer() to generate one-shot timers of
~60s (the intent is to fire ~10msec before the minute boundary).

On my amd64 laptop running 7.0-stable from mid-March the SIGALRM
arrives at the expected time.  On a system running a recent amd64
-current, the SIGALRM arrives about 10msec late (which I'm not too
fussed about).

On two i386 systems running 7.1-PRE (from mid-Oct) and a fresh 7.1-RC2
install, the SIGALRM arrives early - ~11msec for the 7.1-PRE system and
~5msec for the 7.1-RC2 system.

All systems are running HZ=1000.  Two of the systems (the one running
7.1-PRE and the one running -current) are running BOINC.  All systems
are otherwise unloaded.  I've looked at the timer code and can't
quickly see anything that would explain this.  Does anyone have any
ideas?

The relevant code looks like the following:
while (1) {
struct timeval  now;
struct itimervalit;
int usecs;

if (gettimeofday(&now, NULL) < 0) {
syslog(LOG_ERR, "gettimeofday: %m");
exit(1);
}
/* Set timer for just before next minute */
it.it_interval.tv_sec = 0;
it.it_interval.tv_usec = 0;
usecs = 5999 - ((now.tv_sec % 60) * 100 + now.tv_usec);
if (usecs < 1)  /* allow 10msec slop */
usecs += 6000;
it.it_value.tv_sec = usecs / 100;
it.it_value.tv_usec = usecs % 100;
if (setitimer(ITIMER_REAL, &it, NULL) < 0) {
syslog(LOG_ERR, "setitimer: %m");
exit(1);
}
printf("%d.%06ld %2d.%06ld %d\n", now.tv_sec, now.tv_usec,
   it.it_value.tv_sec, it.it_value.tv_usec, usecs);
/* do stuff here which is interrupted by SIGALRM */
}

On the 7.1-PRE system, I get output like:
1230776939.991464 59.998536 59998536
1230776999.978991  0.011009 11009
1230776999.991996 59.998004 59998004
1230777059.979532  0.010468 10468
1230777059.991538 59.998462 59998462
1230777119.979058  0.010942 10942
1230777119.991065 59.998935 59998935
1230777179.978597  0.011403 11403
1230777179.991610 59.998390 59998390
1230777239.979139  0.010861 10861
1230777239.991142 59.998858 59998858

-- 
Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.


pgpmDepR2DE3I.pgp
Description: PGP signature


RE: Lock enabling onboard lan (Attansic L1 GbE) on 7.1-PRERELEASE

2008-12-31 Thread Barbara
>> Today I decided to give it a try.
>> But if I try loading the if_age module, 
the
>> system prints the following lines and then it freezes.
>
>
>
>Could you 
please print the full dmesg / uname (build date) output?
>
>
>Thanks.
>
>
>---

>Kevin K.
>Systems Administrator
>www.linux-vps-servers.com
>

Sure!
/usr/src 
has been synced right before starting the buildworld.
# uname -a
FreeBSD 
satanasso.local.net 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #0: Wed Dec 31 03:55:
33 CET 2008 r...@satanasso.local.net:/usr/obj/usr/src/sys/SATANASSO  i386


If I load age adding it in my kernconf or with the loader, the system freezes 
so the relevant part on dmesg should be the following two lines:
pci4:  on pcib5
pci4:  at device 0.0 (no driver attached)



Here comes the full dmesg output.
Unfortunately the web client of my mail 
provider, does something stupid with the text, so I know it could be confused.

If asked I can send it via email as attachment.

# dmesg
Copyright (c) 1992-
2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 
1991, 1992, 1993, 1994
The Regents of the University of California. All 
rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.

FreeBSD 7.1-PRERELEASE #0: Wed Dec 31 03:55:33 CET 2008
r...@satanasso.
local.net:/usr/obj/usr/src/sys/SATANASSO
Timecounter "i8254" frequency 1193182 
Hz quality 0
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4800+ (2499.74-MHz 
686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x60fb1  Stepping = 1
  
Features=0x178bfbff
  Features2=0x2001
  
AMD Features=0xea500800
  AMD 
Features2=0x11f
  Cores per package: 2
real 
memory  = 2147155968 (2047 MB)
avail memory = 2087157760 (1990 MB)
ACPI APIC 
Table: 
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 
cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0  irqs 0-23 
on motherboard
ioapic1  irqs 24-47 on motherboard
kbd1 at kbdmux0

acpi0:  on motherboard
acpi0: [ITHREAD]
acpi0: Power Button 
(fixed)
acpi0: reservation of 0, a (3) failed
acpi0: reservation of 10, 
7ff0 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000

acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0

acpi_hpet0:  iomem 0xfed0-0xfed003ff on acpi0

Timecounter "HPET" frequency 14318180 Hz quality 900
pcib0:  port 0xcf8-0xcff on acpi0
pci0:  on pcib0
pcib1:  at device 1.0 on pci0
pci1:  on pcib1
pcib2: 
 irq 27 at device 2.0 on pci0
pci2:  on 
pcib2
vgapci0:  port 0xdc00-0xdc7f mem 0xfa00-
0xfaff,0xd000-0xdfff,0xf800-0xf9ff irq 24 at device 0.0 on 
pci2
nvidia0:  on vgapci0
vgapci0: child nvidia0 requested 
pci_enable_busmaster
vgapci0: child nvidia0 requested pci_enable_io
nvidia0: 
[GIANT-LOCKED]
nvidia0: [ITHREAD]
pcib3:  irq 31 at device 
3.0 on pci0
pci6:  on pcib3
pcib4:  irq 35 
at device 3.1 on pci0
pci5:  on pcib4
pcib5:  irq 39 at device 3.2 on pci0
pci4:  on pcib5
pci4: 
 at device 0.0 (no driver attached)
pcib6:  irq 43 at device 3.3 on pci0
pci3:  on pcib6
atapci0: 
 port 0xcc00-0xcc07,0xc880-0xc883,0xc800-0xc807,
0xc480-0xc483,0xc400-0xc40f,0xc000-0xc0ff irq 21 at device 15.0 on pci0

atapci0: [ITHREAD]
ata2:  on atapci0
ata2: [ITHREAD]
ata3:  on atapci0
ata3: [ITHREAD]
atapci1:  
port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 15.1 on pci0

ata0:  on atapci1
ata0: [ITHREAD]
ata1:  on 
atapci1
ata1: [ITHREAD]
uhci0:  port 0xb480-0xb49f 
irq 20 at device 16.0 on pci0
uhci0: [GIANT-LOCKED]
uhci0: [ITHREAD]
usb0:  on uhci0
usb0: USB revision 1.0
uhub0:  on usb0
uhub0: 2 ports with 2 removable, 
self powered
uhci1:  port 0xb800-0xb81f irq 22 at 
device 16.1 on pci0
uhci1: [GIANT-LOCKED]
uhci1: [ITHREAD]
usb1:  on uhci1
usb1: USB revision 1.0
uhub1:  on usb1
uhub1: 2 ports with 2 removable, self 
powered
uhci2:  port 0xb880-0xb89f irq 21 at device 
16.2 on pci0
uhci2: [GIANT-LOCKED]
uhci2: [ITHREAD]
usb2:  on uhci2
usb2: USB revision 1.0
uhub2:  on usb2
uhub2: 2 ports with 2 removable, self 
powered
uhci3:  port 0xbc00-0xbc1f irq 23 at device 
16.3 on pci0
uhci3: [GIANT-LOCKED]
uhci3: [ITHREAD]
usb3:  on uhci3
usb3: USB revision 1.0
uhub3:  on usb3
uhub3: 2 ports with 2 removable, self 
powered
ehci0:  mem 0xf7fffc00-0xf7fffcff irq 21 
at device 16.4 on pci0
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb4: EHCI 
version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3

usb4:  on ehci0
usb4: USB revision 2.0
uhub4: 
 on usb4
uhub4: 8 ports 
with 8 removable, self powered
isab0:  at device 17.0 on pci0

isa0:  on isab0
pcib7:  at device 19.0 on pci0

pci128:  on pcib7
pcm0:  mem 0xfbffc000-0xfbff irq 17 at device 1.0 on pci128
pcm0: 
[ITHREAD]
pcib8:  at device 19.1 on pci0
pci7:  on pcib8
rl0:  port 0xe800-0xe8ff mem 
0xfbeffc00-0xfbeffcff irq 19 at device 9.0 on pci7
miibus0:  on rl0

rlphy0:  PHY 0 on miibus0
rlphy0:  10baseT, 
10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:08:a1:27:
1f:bb
rl0: [ITHREAD]
acpi_button0:  on acpi0
acpi_bu

RE: Lock enabling onboard lan (Attansic L1 GbE) on 7.1-PRERELEASE

2008-12-31 Thread Barbara
>>> Today I decided to give it a try.
>>> But if I try loading the if_age 
module, 
>the
>>> system prints the following lines and then it freezes.
>>
>>

>>
>>Could you 
>please print the full dmesg / uname (build date) output?
>>
>>

>>Thanks.
>>
>>
>>---
>
>>Kevin K.
>>Systems Administrator
>>www.linux-vps-
servers.com
>>
>

Maybe this is better:
http://pastebin.ca/1297510

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"