http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.60/2.5.60-mm2/
. Robert has fixed up Ingo's scheduler update, so that's back in.
. Considerable poking at the NFS MAP_SHARED OOM lockup. It is limping
along now, but writeout bandwidth is poor and it is still struggling.
Needs work.
. There's a one-liner which removes an O(n^2) search in the NFS writeback
path. It increases writeout bandwidth by 4x and decreases CPU load from
100% to 3%. Needs work.
. A patch to permit direct-io reads of the partial block at EOF. Seems to
work, but needs more testing.
. There is another anticipatory scheduler patch over in experimental/.
The main obective of the anticipatory scheduler is not really to improve
interactivity. It is to increase throughput. Nick is showing some
impressive benchmark results with this now. Some benchmarking of the
non-contest variety would be appreciated.
. Added Matthew Jacob's Qlogic ISP driver for a bit of testing. It locks
up mysteriously with my ISP12160 controller. Testing results for other
controllers would be appreciated.
Changes since 2.5.60-mm1:
linus.patch
Latest bk from Linus
-genhd-warnings.patch
-vmscan-warning.patch
-nfsd-warnings.patch
-partitions-warnings.patch
-nfs-warning-fix.patch
-reiserfs-hashes-warning-fix.patch
-st-warning-fix.patch
-adaptec-compile-fix.patch
-adaptec-debug-fix.patch
-oprofile-p4.patch
-oprofile_cpu-as-string.patch
-oprofile-braino.patch
-disassociate_tty-fix.patch
-epoll-update-2.5.60.patch
-misc.patch
-dcache_rcu-nfs-server-fix.patch
-cyclone-fixes.patch
-enable-timer_cyclone.patch
-hugetlbfs-i_size-fix.patch
+jfs-build-fix.patch
JFS compile fix for gcc-2.95.3.
-mandlock-oops-fix.patch
+mandlock-fix.patch
Updated flocking fix
+fault_in_pages-move.patch
Move fault_in_pages_readable/writeable to a header file so reiserfs can
reuse it.
reiserfs_file_write.patch
Updated
+ext3-eio-fix.patch
Fix a BUG with fsx-linux
+smctr-fix.patch
compile fix.
+sched-f3.patch
+rml-scheduler-bits.patch
Updated scheduler update.
+nfs-speedup.patch
+nfs-more-oom-fix.patch
NFS OOM work.
+nfs-sendfile.patch
"fix" an O(n^2) problem in the NFS client.
+put_page-speedup.patch
Speed up put_page() for CONFIG_HUGETLB_PAGE=y
+kernel_lock_bug2.patch
+ext2_ext3_listxattr-bug.patch
+xattr-flags.patch
+xattr-flags-policy.patch
+xattr-trusted.patch
Extended attribute feature work.
+generic_write_checks.patch
Break out the bounds checking from generic_file_write() so other
filesystems can use them.
+balance_dirty_pages-lockup-fix.patch
Fix a weird lockup in the writeback code.
+cciss-1.patch
+cciss-2.patch
+cciss-3.patch
+cciss-5.patch
+cciss-6.patch
+cciss-7.patch
+cciss-8.patch
+cciss-9.patch
+cciss-10.patch
+cciss-11.patch
cciss array controller driver update
+direct-io-retval-fix.patch
Return the correct thing on -EIO
+dio-eof-read.patch
Allow direct-io reads of the non-aligned end of file.
+linux-isp.patch
Latest qlogic driver from http://www.feral.com bitkeeper
+linux-isp-update.patch
Port it to 2.5
In the experimental/ directory:
+handle-async-write-errors.patch
Framework for recording and reporting data loss during the async writeout
code.
+anticipatory_io_scheduling.patch
+ant-sched-9feb.patch
+ant-sched-12feb.patch
Anticipatory scheduler updates.
All 66 patches
linus.patch
kgdb.patch
ppc64-reloc_hide.patch
ppc64-time-warning.patch
kill ppc64 unused var warning
xfs-warning-fixes.patch
xfs-cli-fix.patch
xfs interrupt flags fix
ppc64-smp_prepare_cpus-warning.patch
ppc64: fix warning
report-lost-ticks.patch
make lost-tick detection more informative
devfs-fix.patch
ptrace-flush.patch
Subject: [PATCH] ptrace on 2.5.44
buffer-debug.patch
buffer.c debugging
warn-null-wakeup.patch
jfs-build-fix.patch
JFS build fix with gcc-2.95.3
ext3-truncate-ordered-pages.patch
ext3: explicitly free truncated pages
mandlock-fix.patch
Subject: [PATCH] Fix mandatory locking
fault_in_pages-move.patch
move fault_in_pages_readable/writeable to header
reiserfs_file_write.patch
Subject: reiserfs file_write patch
ext3-eio-fix.patch
fix ext3 BUG due to race with truncate
deadline-np-42.patch
(undescribed patch)
deadline-np-43.patch
(undescribed patch)
batch-tuning.patch
I/O scheduler tuning
starvation-by-read-fix.patch
fix starvation-by-readers in the IO scheduler
crc32-speedup.patch
crc32 improvements for 2.5
smctr-fix.patch
smctr.c build fixes
scheduler-tunables.patch
scheduler tunables
sched-f3.patch
scheduler F3-updated
rml-scheduler-bits.patch
scheduler bits
lockd-lockup-fix.patch
Subject: Re: Fw: Re: 2.4.20 NFS server lock-up (SMP)
rcu-stats.patch
RCU statistics reporting
dcache_rcu-fast_walk-revert.patch
dcache_rcu: revert fast_walk code
dcache_rcu-main.patch
dcache_rcu
smalldevfs.patch
smalldevfs
ext3-journalled-data-assertion-fix.patch
Remove incorrect assertion from ext3
deadline-hash-fix.patch
nfs-speedup.patch
nfs-oom-fix.patch
nfs oom fix
sk-allocation.patch
Subject: Re: nfs oom
nfs-more-oom-fix.patch
nfs-sendfile.patch
Implement sendfile() for NFS
rpciod-atomic-allocations.patch
Make rcpiod use atomic allocations
put_page-speedup.patch
hugetlb put_page speedup
kernel_lock_bug2.patch
ext2_ext3_listxattr-bug.patch
xattr: listxattr fix
xattr-flags.patch
xattr: infrastructure for permission overrides
xattr-flags-policy.patch
xattr: allow kernel code to override EA permissions
xattr-trusted.patch
xattr: trusted extended attributes
generic_write_checks.patch
separate checks from generic_file_aio_write
balance_dirty_pages-lockup-fix.patch
blk_congestion_wait tuning and lockup fix
cciss-1.patch
make cciss driver compile
cciss-2.patch
make cciss driver compile (2)
cciss-3.patch
make cciss driver compile [3]
cciss-5.patch
make cciss driver compile [5]
cciss-6.patch
make cciss driver compile [6]
cciss-7.patch
make cciss driver compile [7]
cciss-8.patch
make cciss driver compile
cciss-9.patch
make cciss driver compile
cciss-10.patch
make cciss driver compile
cciss-11.patch
make cciss driver compile
direct-io-retval-fix.patch
direct-io return value fix
dio-eof-read.patch
linux-isp.patch
linux-isp-update.patch
handle-async-write-errors.patch
Propagate async write errors to userspace
anticipatory_io_scheduling.patch
Subject: [PATCH] 2.5.59-mm3 antic io sched
ant-sched-9feb.patch
anticipatory scheduler fix
ant-sched-12feb.patch
Anticipatory scheduler tuning
On Fri, Feb 14, 2003 at 01:31:44AM -0800, Andrew Morton wrote:
> . Considerable poking at the NFS MAP_SHARED OOM lockup. It is limping
> along now, but writeout bandwidth is poor and it is still struggling.
> Needs work.
>
> . There's a one-liner which removes an O(n^2) search in the NFS writeback
> path. It increases writeout bandwidth by 4x and decreases CPU load from
> 100% to 3%. Needs work.
I'm puzzled that you've had NFS stable enough to test these.
How much testing has this stuff had? Here 2.5.60+bk clients fall over under
moderate NFS load. (And go splat quickly under high load).
Trying to run things like dbench causes lockups, fsx/fstress made it
reboot, plus the odd 'cheating' errors reported yesterday.
Dave
--
| Dave Jones. http://www.codemonkey.org.uk
| SuSE Labs
Dave Jones <[email protected]> wrote:
>
> On Fri, Feb 14, 2003 at 01:31:44AM -0800, Andrew Morton wrote:
>
> > . Considerable poking at the NFS MAP_SHARED OOM lockup. It is limping
> > along now, but writeout bandwidth is poor and it is still struggling.
> > Needs work.
> >
> > . There's a one-liner which removes an O(n^2) search in the NFS writeback
> > path. It increases writeout bandwidth by 4x and decreases CPU load from
> > 100% to 3%. Needs work.
>
> I'm puzzled that you've had NFS stable enough to test these.
This was just writing out a single 400 megabyte file with `dd'. I didn't try
anything fancier.
> How much testing has this stuff had? Here 2.5.60+bk clients fall over under
> moderate NFS load. (And go splat quickly under high load).
>
> Trying to run things like dbench causes lockups, fsx/fstress made it
> reboot, plus the odd 'cheating' errors reported yesterday.
I have not tried pushing NFS with complex access patterns recently.
BTW, there's a little patch in there from Trond which I forgot to mention: it
implements sendfile for NFS, so loop-on-NFS works again.
But we have a refcounting bug somewhere:
# mount server:/dir /mnt/point
# losetup /dev/loop0 /mnt/point/file
# mount /dev/loop0 /mnt/loop0
# umount /mnt/loop0
# losetup -d /dev/loop0
# umount /mnt/point
umount: /mnt/point: device is busy
On Friday, 14. February 2003 10:38, Dave Jones wrote:
> On Fri, Feb 14, 2003 at 01:31:44AM -0800, Andrew Morton wrote:
> > . Considerable poking at the NFS MAP_SHARED OOM lockup. It is limping
> > along now, but writeout bandwidth is poor and it is still struggling.
> > Needs work.
> >
> > . There's a one-liner which removes an O(n^2) search in the NFS
> > writeback path. It increases writeout bandwidth by 4x and decreases CPU
> > load from 100% to 3%. Needs work.
>
> I'm puzzled that you've had NFS stable enough to test these.
> How much testing has this stuff had? Here 2.5.60+bk clients fall over under
> moderate NFS load. (And go splat quickly under high load).
>
> Trying to run things like dbench causes lockups, fsx/fstress made it
> reboot, plus the odd 'cheating' errors reported yesterday.
>
> Dave
I've got NFS problems with 2.5.5x - 60-bk3, too, but here I can workaround
them by simply pinging the NFS-server every second... Funny, but it works!
Perhaps this can help finding the real bug?!
Thomas
On Fri, Feb 14, 2003 at 01:58:02AM -0800, Andrew Morton wrote:
> > I'm puzzled that you've had NFS stable enough to test these.
> This was just writing out a single 400 megabyte file with `dd'. I didn't try
> anything fancier.
ok. Can you hold off pushing NFS bits to Linus until this gets
pinned down ? I really don't want to introduce any more variables
to this, especially when its so hard to pin down to an exact
replication scenario.
Trond thinks this could be not just NFS related but something
lurking deeper within net/ which could be even more annoying
to pin down, though I don't see any other odd network related
behaviour.
Dave
--
| Dave Jones. http://www.codemonkey.org.uk
Dave Jones <[email protected]> wrote:
>
> On Fri, Feb 14, 2003 at 01:58:02AM -0800, Andrew Morton wrote:
>
> > > I'm puzzled that you've had NFS stable enough to test these.
> > This was just writing out a single 400 megabyte file with `dd'. I didn't try
> > anything fancier.
>
> ok. Can you hold off pushing NFS bits to Linus until this gets
> pinned down ? I really don't want to introduce any more variables
> to this, especially when its so hard to pin down to an exact
> replication scenario.
I wouldn't push any NFS bits. It has a breathing maintainer ;)
I've been mainly looking at the OOM problems, which need MM help. Got
distracted.
Got this on serial console while trying to boot 2.5.60-mm2:
bad: scheduling while atomic!
Call Trace:
[<c0112a41>] do_schedule+0x3d/0x2f4
[<c0112f45>] wait_for_completion+0x8d/0xd0
[<c0112d3c>] default_wake_function+0x0/0x1c
[<c0112d3c>] default_wake_function+0x0/0x1c
[<c01221a9>] create_workqueue+0x125/0x178
[<c010508e>] init+0x2a/0x17c
[<c0105064>] init+0x0/0x17c
[<c0106e5d>] kernel_thread_helper+0x5/0xc
aio_setup: sizeof(struct page) = 40
Journalled Block Device driver loaded
bad: scheduling while atomic!
Call Trace:
[<c0112a41>] do_schedule+0x3d/0x2f4
[<c0112f45>] wait_for_completion+0x8d/0xd0
[<c0112d3c>] default_wake_function+0x0/0x1c
[<c0112d3c>] default_wake_function+0x0/0x1c
[<c010508e>] init+0x2a/0x17c
[<c0105064>] init+0x0/0x17c
[<c0106e5d>] kernel_thread_helper+0x5/0xc
bad: scheduling while atomic!
Call Trace:
[<c0112a41>] do_schedule+0x3d/0x2f4
[<c0112f45>] wait_for_completion+0x8d/0xd0
[<c0112d3c>] default_wake_function+0x0/0x1c
[<c0112d3c>] default_wake_function+0x0/0x1c
[<c010508e>] init+0x2a/0x17c
[<c0105064>] init+0x0/0x17c
[<c0106e5d>] kernel_thread_helper+0x5/0xc
bad: scheduling while atomic!
Call Trace:
[<c0112a41>] do_schedule+0x3d/0x2f4
[<c0112f45>] wait_for_completion+0x8d/0xd0
[<c0112d3c>] default_wake_function+0x0/0x1c
[<c0112d3c>] default_wake_function+0x0/0x1c
[<c010508e>] init+0x2a/0x17c
[<c0105064>] init+0x0/0x17c
[<c0106e5d>] kernel_thread_helper+0x5/0xc
SGI XFS for Linux 2.5.60-mm2 with no debug enabled
bad: scheduling while atomic!
Call Trace:
[<c0112a41>] do_schedule+0x3d/0x2f4
[<c0112f45>] wait_for_completion+0x8d/0xd0
[<c0112d3c>] default_wake_function+0x0/0x1c
[<c0112d3c>] default_wake_function+0x0/0x1c
[<c01221a9>] create_workqueue+0x125/0x178
[<c021708f>] pagebuf_daemon_start+0xb/0x4c
[<c016180a>] create_proc_entry+0x9a/0xb4
[<c0151aeb>] register_filesystem+0x3b/0x70
[<c010508e>] init+0x2a/0x17c
[<c0105064>] init+0x0/0x17c
[<c0106e5d>] kernel_thread_helper+0x5/0xc
Serial: 8250/16550 driver $Revision: 1.90 $ IRQ sharing enabled
tts/0 at I/O 0x3f8 (irq = 4) is a 16550A
tts/1 at I/O 0x2f8 (irq = 3) is a 16550A
pty: 256 Unix98 ptys configured
Real Time Clock Driver v1.11
Non-volatile memory driver v1.2
Intel(R) PRO/100 Network Driver - version 2.1.29-k4
Copyright (c) 2002 Intel Corporation
PCI: Found IRQ 11 for device 00:04.0
bad: scheduling while atomic!
Call Trace:
[<c0112a41>] do_schedule+0x3d/0x2f4
[<c011b907>] add_timer+0x11b/0x120
[<c011c478>] schedule_timeout+0x84/0xac
[<c011c3e8>] process_timeout+0x0/0xc
[<c024d974>] e100_selftest+0x58/0xb0
[<c02297f9>] pci_device_probe+0x41/0x5c
[<c02302d3>] bus_match+0x37/0x60
[<c0230394>] driver_attach+0x3c/0x5c
[<c0230622>] bus_add_driver+0xa6/0xd8
[<c023095c>] driver_register+0x34/0x38
[<c02298f2>] pci_register_driver+0x42/0x54
[<c010508e>] init+0x2a/0x17c
[<c0105064>] init+0x0/0x17c
[<c0106e5d>] kernel_thread_helper+0x5/0xc
bad: scheduling while atomic!
Call Trace:
[<c0112a41>] do_schedule+0x3d/0x2f4
[<c011b907>] add_timer+0x11b/0x120
[<c011c478>] schedule_timeout+0x84/0xac
[<c011c3e8>] process_timeout+0x0/0xc
[<c02297f9>] pci_device_probe+0x41/0x5c
[<c02302d3>] bus_match+0x37/0x60
[<c0230394>] driver_attach+0x3c/0x5c
[<c0230622>] bus_add_driver+0xa6/0xd8
[<c023095c>] driver_register+0x34/0x38
[<c02298f2>] pci_register_driver+0x42/0x54
[<c010508e>] init+0x2a/0x17c
[<c0105064>] init+0x0/0x17c
[<c0106e5d>] kernel_thread_helper+0x5/0xc
Freeing alive device c13a8000, eth%d
alloc_skb called nonatomically from interrupt c027978c
------------[ cut here ]------------
kernel BUG at net/core/skbuff.c:178!
invalid operand: 0000
CPU: 0
EIP: 0060:[<c0270863>] Not tainted
EFLAGS: 00010246
EIP is at alloc_skb+0x43/0x1a4
eax: 0000003a ebx: c0389b60 ecx: c02f4188 edx: 00000296
esi: c13a8000 edi: 000000d0 ebp: c13a8000 esp: c129feac
ds: 007b es: 007b ss: 0068
Process swapper (pid: 1, threadinfo=c129e000 task=c129c040)
Stack: c02e9740 c027978c c0389b60 c13a8000 00000005 c027978c 00000f60 000000d0
c0389b60 c0279c3e 00000010 c13a8000 ffffffff c011f98a c0389b60 00000005
c13a8000 c129e000 c03876a1 c03876c8 c02754b0 c040ee64 00000005 c13a8000
Call Trace:
[<c027978c>] rtmsg_ifinfo+0x10/0x78
[<c027978c>] rtmsg_ifinfo+0x10/0x78
[<c0279c3e>] rtnetlink_event+0x36/0x3c
[<c011f98a>] notifier_call_chain+0x1e/0x38
[<c02754b0>] register_netdevice+0x168/0x174
[<c0254c3e>] register_netdev+0x5e/0x70
[<c02297f9>] pci_device_probe+0x41/0x5c
[<c02302d3>] bus_match+0x37/0x60
[<c0230394>] driver_attach+0x3c/0x5c
[<c0230622>] bus_add_driver+0xa6/0xd8
[<c023095c>] driver_register+0x34/0x38
[<c02298f2>] pci_register_driver+0x42/0x54
[<c010508e>] init+0x2a/0x17c
[<c0105064>] init+0x0/0x17c
[<c0106e5d>] kernel_thread_helper+0x5/0xc
Code: 0f 0b b2 00 e3 96 2e c0 83 c4 08 83 e7 ef 31 c0 9c 59 fa be
<0>Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
.config attached
Con
Generating include/linux/version.h (updated)
Making asm->asm-i386 symlink
make -f scripts/Makefile.build obj=scripts
SPLIT include/linux/autoconf.h -> include/config/*
make -f scripts/Makefile.build obj=init init/vermagic.o
gcc296 -Wp,-MD,init/.vermagic.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=vermagic -DKBUILD_MODNAME=vermagic -c -o init/.tmp_vermagic.o init/vermagic.c
Starting the build. KBUILD_BUILTIN=1 KBUILD_MODULES=
make -f scripts/Makefile.build obj=init
gcc296 -Wp,-MD,init/.main.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=main -DKBUILD_MODNAME=main -c -o init/.tmp_main.o init/main.c
Generating include/linux/compile.h (updated)
gcc296 -Wp,-MD,init/.version.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=version -DKBUILD_MODNAME=version -c -o init/.tmp_version.o init/version.c
gcc296 -Wp,-MD,init/.do_mounts.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=do_mounts -DKBUILD_MODNAME=do_mounts -c -o init/.tmp_do_mounts.o init/do_mounts.c
gcc296 -Wp,-MD,init/.initramfs.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=initramfs -DKBUILD_MODNAME=initramfs -c -o init/.tmp_initramfs.o init/initramfs.c
ld -m elf_i386 -r -o init/built-in.o init/main.o init/version.o init/do_mounts.o init/initramfs.o init/vermagic.o
make -f scripts/Makefile.build obj=usr
gcc296 -Wp,-MD,usr/.gen_init_cpio.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o usr/gen_init_cpio usr/gen_init_cpio.c
./usr/gen_init_cpio | gzip -9c > usr/initramfs_data.cpio.gz
ld -m elf_i386 --format binary --oformat elf32-i386 -r -T usr/initramfs_data.scr usr/initramfs_data.cpio.gz -o usr/initramfs_data.o
ld -m elf_i386 -r -o usr/built-in.o usr/initramfs_data.o
make -f scripts/Makefile.build obj=arch/i386/kernel
gcc296 -Wp,-MD,arch/i386/kernel/.process.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=process -DKBUILD_MODNAME=process -c -o arch/i386/kernel/.tmp_process.o arch/i386/kernel/process.c
gcc296 -Wp,-MD,arch/i386/kernel/.semaphore.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=semaphore -DKBUILD_MODNAME=semaphore -c -o arch/i386/kernel/.tmp_semaphore.o arch/i386/kernel/semaphore.c
gcc296 -Wp,-MD,arch/i386/kernel/.signal.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=signal -DKBUILD_MODNAME=signal -c -o arch/i386/kernel/.tmp_signal.o arch/i386/kernel/signal.c
gcc296 -Wp,-MD,arch/i386/kernel/.entry.o.d -D__ASSEMBLY__ -D__KERNEL__ -Iinclude -Iinclude/asm-i386/mach-default -nostdinc -iwithprefix include -traditional -c -o arch/i386/kernel/entry.o arch/i386/kernel/entry.S
gcc296 -Wp,-MD,arch/i386/kernel/.traps.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=traps -DKBUILD_MODNAME=traps -c -o arch/i386/kernel/.tmp_traps.o arch/i386/kernel/traps.c
gcc296 -Wp,-MD,arch/i386/kernel/.irq.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=irq -DKBUILD_MODNAME=irq -c -o arch/i386/kernel/.tmp_irq.o arch/i386/kernel/irq.c
gcc296 -Wp,-MD,arch/i386/kernel/.vm86.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=vm86 -DKBUILD_MODNAME=vm86 -c -o arch/i386/kernel/.tmp_vm86.o arch/i386/kernel/vm86.c
gcc296 -Wp,-MD,arch/i386/kernel/.ptrace.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=ptrace -DKBUILD_MODNAME=ptrace -c -o arch/i386/kernel/.tmp_ptrace.o arch/i386/kernel/ptrace.c
gcc296 -Wp,-MD,arch/i386/kernel/.i8259.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=i8259 -DKBUILD_MODNAME=i8259 -c -o arch/i386/kernel/.tmp_i8259.o arch/i386/kernel/i8259.c
gcc296 -Wp,-MD,arch/i386/kernel/.ioport.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=ioport -DKBUILD_MODNAME=ioport -c -o arch/i386/kernel/.tmp_ioport.o arch/i386/kernel/ioport.c
gcc296 -Wp,-MD,arch/i386/kernel/.ldt.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=ldt -DKBUILD_MODNAME=ldt -c -o arch/i386/kernel/.tmp_ldt.o arch/i386/kernel/ldt.c
gcc296 -Wp,-MD,arch/i386/kernel/.setup.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=setup -DKBUILD_MODNAME=setup -c -o arch/i386/kernel/.tmp_setup.o arch/i386/kernel/setup.c
gcc296 -Wp,-MD,arch/i386/kernel/.time.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=time -DKBUILD_MODNAME=time -c -o arch/i386/kernel/.tmp_time.o arch/i386/kernel/time.c
gcc296 -Wp,-MD,arch/i386/kernel/.sys_i386.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=sys_i386 -DKBUILD_MODNAME=sys_i386 -c -o arch/i386/kernel/.tmp_sys_i386.o arch/i386/kernel/sys_i386.c
gcc296 -Wp,-MD,arch/i386/kernel/.pci-dma.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=pci_dma -DKBUILD_MODNAME=pci_dma -c -o arch/i386/kernel/.tmp_pci-dma.o arch/i386/kernel/pci-dma.c
gcc296 -Wp,-MD,arch/i386/kernel/.i386_ksyms.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=i386_ksyms -DKBUILD_MODNAME=i386_ksyms -c -o arch/i386/kernel/.tmp_i386_ksyms.o arch/i386/kernel/i386_ksyms.c
gcc296 -Wp,-MD,arch/i386/kernel/.i387.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=i387 -DKBUILD_MODNAME=i387 -c -o arch/i386/kernel/.tmp_i387.o arch/i386/kernel/i387.c
gcc296 -Wp,-MD,arch/i386/kernel/.dmi_scan.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=dmi_scan -DKBUILD_MODNAME=dmi_scan -c -o arch/i386/kernel/.tmp_dmi_scan.o arch/i386/kernel/dmi_scan.c
gcc296 -Wp,-MD,arch/i386/kernel/.bootflag.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=bootflag -DKBUILD_MODNAME=bootflag -c -o arch/i386/kernel/.tmp_bootflag.o arch/i386/kernel/bootflag.c
make -f scripts/Makefile.build obj=arch/i386/kernel/acpi
gcc296 -Wp,-MD,arch/i386/kernel/acpi/.boot.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=boot -DKBUILD_MODNAME=boot -c -o arch/i386/kernel/acpi/.tmp_boot.o arch/i386/kernel/acpi/boot.c
In file included from arch/i386/kernel/acpi/boot.c:30:
include/asm-i386/mach-default/mach_apic.h: In function `apic_id_registered':
include/asm-i386/mach-default/mach_apic.h:24: warning: implicit declaration of function `apic_read'
include/asm-i386/mach-default/mach_apic.h:24: `phys_cpu_present_map' undeclared (first use in this function)
include/asm-i386/mach-default/mach_apic.h:24: (Each undeclared identifier is reported only once
include/asm-i386/mach-default/mach_apic.h:24: for each function it appears in.)
include/asm-i386/mach-default/mach_apic.h: In function `init_apic_ldr':
include/asm-i386/mach-default/mach_apic.h:39: warning: implicit declaration of function `apic_write_around'
include/asm-i386/mach-default/mach_apic.h: In function `clustered_apic_check':
include/asm-i386/mach-default/mach_apic.h:53: `nr_ioapics' undeclared (first use in this function)
include/asm-i386/mach-default/mach_apic.h: At top level:
include/asm-i386/mach-default/mach_apic.h:82: warning: `struct mpc_config_processor' declared inside parameter list
include/asm-i386/mach-default/mach_apic.h:82: warning: its scope is only this definition or declaration, which is probably not what you want.
include/asm-i386/mach-default/mach_apic.h: In function `mpc_apic_id':
include/asm-i386/mach-default/mach_apic.h:85: dereferencing pointer to incomplete type
include/asm-i386/mach-default/mach_apic.h:86: dereferencing pointer to incomplete type
include/asm-i386/mach-default/mach_apic.h:86: `CPU_FAMILY_MASK' undeclared (first use in this function)
include/asm-i386/mach-default/mach_apic.h:87: dereferencing pointer to incomplete type
include/asm-i386/mach-default/mach_apic.h:87: `CPU_MODEL_MASK' undeclared (first use in this function)
include/asm-i386/mach-default/mach_apic.h:88: dereferencing pointer to incomplete type
include/asm-i386/mach-default/mach_apic.h:89: dereferencing pointer to incomplete type
include/asm-i386/mach-default/mach_apic.h:90: warning: control reaches end of non-void function
include/asm-i386/mach-default/mach_apic.h: In function `check_phys_apicid_present':
include/asm-i386/mach-default/mach_apic.h:98: `phys_cpu_present_map' undeclared (first use in this function)
In file included from arch/i386/kernel/acpi/boot.c:31:
include/asm-i386/mach-default/mach_mpparse.h: At top level:
include/asm-i386/mach-default/mach_mpparse.h:5: warning: `struct mpc_config_translation' declared inside parameter list
include/asm-i386/mach-default/mach_mpparse.h:5: warning: `struct mpc_config_bus' declared inside parameter list
include/asm-i386/mach-default/mach_mpparse.h: In function `mpc_oem_bus_info':
include/asm-i386/mach-default/mach_mpparse.h:7: warning: implicit declaration of function `Dprintk'
include/asm-i386/mach-default/mach_mpparse.h:7: dereferencing pointer to incomplete type
include/asm-i386/mach-default/mach_mpparse.h: At top level:
include/asm-i386/mach-default/mach_mpparse.h:11: warning: `struct mpc_config_translation' declared inside parameter list
include/asm-i386/mach-default/mach_mpparse.h:11: warning: `struct mpc_config_bus' declared inside parameter list
include/asm-i386/mach-default/mach_mpparse.h:16: warning: `struct mp_config_table' declared inside parameter list
arch/i386/kernel/acpi/boot.c: In function `acpi_parse_lapic':
arch/i386/kernel/acpi/boot.c:131: warning: implicit declaration of function `mp_register_lapic'
arch/i386/kernel/acpi/boot.c: In function `acpi_parse_ioapic':
arch/i386/kernel/acpi/boot.c:196: warning: implicit declaration of function `mp_register_ioapic'
arch/i386/kernel/acpi/boot.c: In function `acpi_parse_int_src_ovr':
arch/i386/kernel/acpi/boot.c:217: warning: implicit declaration of function `mp_override_legacy_irq'
arch/i386/kernel/acpi/boot.c: In function `acpi_boot_init':
arch/i386/kernel/acpi/boot.c:348: warning: implicit declaration of function `mp_register_lapic_address'
arch/i386/kernel/acpi/boot.c:394: warning: implicit declaration of function `mp_config_acpi_legacy_irqs'
arch/i386/kernel/acpi/boot.c:419: `smp_found_config' undeclared (first use in this function)
make[2]: *** [arch/i386/kernel/acpi/boot.o] Error 1
make[1]: *** [arch/i386/kernel/acpi] Error 2
make: *** [arch/i386/kernel] Error 2
I received the same exact failure message. I tried enabling APIC support
but the same file failed to compile. I use gcc-3.2, though.
-Josh
On Fri, Feb 14, 2003 at 02:59:33PM -0600, Core wrote:
> Compile fail.
>
> config and make log attached.
[...]
> make -f scripts/Makefile.build obj=arch/i386/kernel/acpi
> gcc296 -Wp,-MD,arch/i386/kernel/acpi/.boot.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=boot -DKBUILD_MODNAME=boot -c -o arch/i386/kernel/acpi/.tmp_boot.o arch/i386/kernel/acpi/boot.c
> In file included from arch/i386/kernel/acpi/boot.c:30:
> include/asm-i386/mach-default/mach_apic.h: In function `apic_id_registered':
> include/asm-i386/mach-default/mach_apic.h:24: warning: implicit declaration of function `apic_read'
> include/asm-i386/mach-default/mach_apic.h:24: `phys_cpu_present_map' undeclared (first use in this function)
> include/asm-i386/mach-default/mach_apic.h:24: (Each undeclared identifier is reported only once
> include/asm-i386/mach-default/mach_apic.h:24: for each function it appears in.)
> include/asm-i386/mach-default/mach_apic.h: In function `init_apic_ldr':
> include/asm-i386/mach-default/mach_apic.h:39: warning: implicit declaration of function `apic_write_around'
> include/asm-i386/mach-default/mach_apic.h: In function `clustered_apic_check':
> include/asm-i386/mach-default/mach_apic.h:53: `nr_ioapics' undeclared (first use in this function)
> include/asm-i386/mach-default/mach_apic.h: At top level:
> include/asm-i386/mach-default/mach_apic.h:82: warning: `struct mpc_config_processor' declared inside parameter list
> include/asm-i386/mach-default/mach_apic.h:82: warning: its scope is only this definition or declaration, which is probably not what you want.
> include/asm-i386/mach-default/mach_apic.h: In function `mpc_apic_id':
> include/asm-i386/mach-default/mach_apic.h:85: dereferencing pointer to incomplete type
> include/asm-i386/mach-default/mach_apic.h:86: dereferencing pointer to incomplete type
> include/asm-i386/mach-default/mach_apic.h:86: `CPU_FAMILY_MASK' undeclared (first use in this function)
> include/asm-i386/mach-default/mach_apic.h:87: dereferencing pointer to incomplete type
> include/asm-i386/mach-default/mach_apic.h:87: `CPU_MODEL_MASK' undeclared (first use in this function)
> include/asm-i386/mach-default/mach_apic.h:88: dereferencing pointer to incomplete type
> include/asm-i386/mach-default/mach_apic.h:89: dereferencing pointer to incomplete type
> include/asm-i386/mach-default/mach_apic.h:90: warning: control reaches end of non-void function
> include/asm-i386/mach-default/mach_apic.h: In function `check_phys_apicid_present':
> include/asm-i386/mach-default/mach_apic.h:98: `phys_cpu_present_map' undeclared (first use in this function)
> In file included from arch/i386/kernel/acpi/boot.c:31:
> include/asm-i386/mach-default/mach_mpparse.h: At top level:
> include/asm-i386/mach-default/mach_mpparse.h:5: warning: `struct mpc_config_translation' declared inside parameter list
> include/asm-i386/mach-default/mach_mpparse.h:5: warning: `struct mpc_config_bus' declared inside parameter list
> include/asm-i386/mach-default/mach_mpparse.h: In function `mpc_oem_bus_info':
> include/asm-i386/mach-default/mach_mpparse.h:7: warning: implicit declaration of function `Dprintk'
> include/asm-i386/mach-default/mach_mpparse.h:7: dereferencing pointer to incomplete type
> include/asm-i386/mach-default/mach_mpparse.h: At top level:
> include/asm-i386/mach-default/mach_mpparse.h:11: warning: `struct mpc_config_translation' declared inside parameter list
> include/asm-i386/mach-default/mach_mpparse.h:11: warning: `struct mpc_config_bus' declared inside parameter list
> include/asm-i386/mach-default/mach_mpparse.h:16: warning: `struct mp_config_table' declared inside parameter list
> arch/i386/kernel/acpi/boot.c: In function `acpi_parse_lapic':
> arch/i386/kernel/acpi/boot.c:131: warning: implicit declaration of function `mp_register_lapic'
> arch/i386/kernel/acpi/boot.c: In function `acpi_parse_ioapic':
> arch/i386/kernel/acpi/boot.c:196: warning: implicit declaration of function `mp_register_ioapic'
> arch/i386/kernel/acpi/boot.c: In function `acpi_parse_int_src_ovr':
> arch/i386/kernel/acpi/boot.c:217: warning: implicit declaration of function `mp_override_legacy_irq'
> arch/i386/kernel/acpi/boot.c: In function `acpi_boot_init':
> arch/i386/kernel/acpi/boot.c:348: warning: implicit declaration of function `mp_register_lapic_address'
> arch/i386/kernel/acpi/boot.c:394: warning: implicit declaration of function `mp_config_acpi_legacy_irqs'
> arch/i386/kernel/acpi/boot.c:419: `smp_found_config' undeclared (first use in this function)
> make[2]: *** [arch/i386/kernel/acpi/boot.o] Error 1
> make[1]: *** [arch/i386/kernel/acpi] Error 2
> make: *** [arch/i386/kernel] Error 2
--
New PGP public key: 0x27AFC3EE
Core <[email protected]> wrote:
>
> Compile fail.
>
> config and make log attached.
This seems to be fixed in Linus's current tree.
On Fri, 14 Feb 2003 01:31:44 -0800
Andrew Morton <[email protected]> wrote:
> The main obective of the anticipatory scheduler is not really to improve
> interactivity. It is to increase throughput. Nick is showing some
> impressive benchmark results with this now. Some benchmarking of the
> non-contest variety would be appreciated.
[...]
> anticipatory_io_scheduling.patch
> Subject: [PATCH] 2.5.59-mm3 antic io sched
>
> ant-sched-9feb.patch
> anticipatory scheduler fix
>
> ant-sched-12feb.patch
> Anticipatory scheduler tuning
(I applied those three)
Those are tiobench's results:
in both:
No size specified, using 510 MB
Unit information
================
File size = megabytes
Blk Size = bytes
Rate = megabytes per second
CPU% = percentage of CPU used during the test
Latency = milliseconds
Lat% = percent of requests that took longer than X seconds
CPU Eff = Rate divided by CPU% - throughput per cpu load
diff between both
Sequential reads
File Blk Num Avg Maximum Lat% Lat% CPU
Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- -----
-2.5.60-mm2 510 4096 1 21.23 8.264% 0.183 111.66 0.00000 0.00000 257
-2.5.60-mm2 510 4096 2 7.33 3.506% 1.061 196.42 0.00000 0.00000 209
-2.5.60-mm2 510 4096 4 5.39 2.593% 2.874 275.79 0.00000 0.00000 208
-2.5.60-mm2 510 4096 8 4.45 2.125% 6.846 1008.67 0.00000 0.00000 209
+2.5.60-mm2-ant 510 4096 1 42.07 17.81% 0.092 57.22 0.00000 0.00000 236
+2.5.60-mm2-ant 510 4096 2 22.84 12.08% 0.332 308.44 0.00000 0.00000 189
+2.5.60-mm2-ant 510 4096 4 17.40 9.298% 0.873 695.78 0.00000 0.00000 187
+2.5.60-mm2-ant 510 4096 8 11.62 6.064% 2.484 1334.89 0.00000 0.00000 192
Random Reads
File Blk Num Avg Maximum Lat% Lat% CPU
Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- -----
-2.5.60-mm2 510 4096 1 0.75 0.775% 5.190 57.26 0.00000 0.00000 97
-2.5.60-mm2 510 4096 2 0.62 0.611% 12.433 122.61 0.00000 0.00000 102
-2.5.60-mm2 510 4096 4 0.54 0.524% 28.542 534.94 0.00000 0.00000 102
-2.5.60-mm2 510 4096 8 0.49 0.527% 58.520 941.25 0.00000 0.00000 94
+2.5.60-mm2-ant 510 4096 1 0.71 0.742% 5.522 62.66 0.00000 0.00000 95
+2.5.60-mm2-ant 510 4096 2 0.63 0.574% 12.137 274.13 0.00000 0.00000 109
+2.5.60-mm2-ant 510 4096 4 0.58 0.548% 24.428 282.18 0.00000 0.00000 106
+2.5.60-mm2-ant 510 4096 8 0.63 0.549% 41.976 596.08 0.00000 0.00000 115
Sequential Writes
File Blk Num Avg Maximum Lat% Lat% CPU
Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- -----
-2.5.60-mm2 510 4096 1 26.59 38.97% 0.119 559.77 0.00000 0.00000 68
-2.5.60-mm2 510 4096 2 16.14 29.96% 0.390 6813.03 0.00306 0.00000 54
-2.5.60-mm2 510 4096 4 9.55 18.37% 1.249 16573.28 0.01615 0.00154 52
-2.5.60-mm2 510 4096 8 6.35 11.40% 4.342 45796.21 0.02093 0.01550 56
+2.5.60-mm2-ant 510 4096 1 33.87 49.55% 0.093 370.18 0.00000 0.00000 68
+2.5.60-mm2-ant 510 4096 2 12.56 24.08% 0.531 9524.84 0.00613 0.00000 52
+2.5.60-mm2-ant 510 4096 4 6.68 13.08% 2.071 20422.31 0.03153 0.00231 51
+2.5.60-mm2-ant 510 4096 8 6.90 13.45% 3.086 41464.78 0.02790 0.01163 51
Random Writes
File Blk Num Avg Maximum Lat% Lat% CPU
Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff
---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- -----
-2.5.60-mm2 510 4096 1 0.99 1.050% 0.140 33.67 0.00000 0.00000 95
-2.5.60-mm2 510 4096 2 1.02 1.138% 0.043 11.72 0.00000 0.00000 90
-2.5.60-mm2 510 4096 4 1.02 1.423% 0.082 99.74 0.00000 0.00000 72
-2.5.60-mm2 510 4096 8 0.99 1.329% 0.074 74.51 0.00000 0.00000 74
+2.5.60-mm2-ant 510 4096 1 0.96 0.917% 0.027 1.03 0.00000 0.00000 105
+2.5.60-mm2-ant 510 4096 2 1.00 1.472% 0.044 2.42 0.00000 0.00000 68
+2.5.60-mm2-ant 510 4096 4 0.95 1.367% 0.044 1.96 0.00000 0.00000 69
+2.5.60-mm2-ant 510 4096 8 0.99 1.431% 0.079 75.46 0.00000 0.00000 69
On Fri, 14 Feb 2003, Thomas Schlichter wrote:
> I've got NFS problems with 2.5.5x - 60-bk3, too, but here I can workaround
> them by simply pinging the NFS-server every second... Funny, but it works!
> Perhaps this can help finding the real bug?!
I was looking for network issues when I started timing pings, and didn't
see any. I thought it was bad timing, link not raining when you have a
coat, but maybe I was curing it.
--
bill davidsen <[email protected]>
CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.
On Sun, 16 Feb 2003, I wrote:
> > I've got NFS problems with 2.5.5x - 60-bk3, too, but here I can workaround
> > them by simply pinging the NFS-server every second... Funny, but it works!
> > Perhaps this can help finding the real bug?!
[ let's try this again, not typing in a moving car ]
> I was looking for network issues when I started timing pings, and didn't
> see any. I thought it was bad timing, like not raining when you have a
> coat, but maybe I was curing it.
Since it's possible that pings will actually change the problem rather
than measure it, I'll tcpdump for a while and see if that tells me
anything. I suspected network problems, since tcp has priority over udp in
some places.
I looked at the code last night, but I don't see anything explaining a
ping making things better. Something getting flushed?
--
bill davidsen <[email protected]>
CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.
Quoting Bill Davidsen <[email protected]>:
> On Sun, 16 Feb 2003, I wrote:
>
> > > I've got NFS problems with 2.5.5x - 60-bk3, too, but here I can
> workaround
> > > them by simply pinging the NFS-server every second... Funny, but it
> works!
> > > Perhaps this can help finding the real bug?!
>
> [ let's try this again, not typing in a moving car ]
>
> > I was looking for network issues when I started timing pings, and didn't
> > see any. I thought it was bad timing, like not raining when you have a
> > coat, but maybe I was curing it.
>
> Since it's possible that pings will actually change the problem rather
> than measure it, I'll tcpdump for a while and see if that tells me
> anything. I suspected network problems, since tcp has priority over udp in
> some places.
>
> I looked at the code last night, but I don't see anything explaining a
> ping making things better. Something getting flushed?
I'm sorry, I don't exactly know what you want me to do... I'm not involved in
the linux net code and I did not even try to understand it yet...
I just have a small environment with a FreeBSD 4.6 box using my Linux box as a
NFS file server. This worked fine with my 2.4 kernel but with the 2.5.x test
kernels I've got the problem the FreeBSD box says 'NFS server not responding'
until I do simple pings (ICMP echo request, ICMP echo respond) to the linux box
(the NFS server)...
Letting the ping run all the time NFS works so stable I even can do lots of
compilations over it without any problems.
So I don't have any answer WHY this helps, but it does... Perhaps it really is
just a timing issue, I just don't know... If you can tell me what to measure and
which values would be interesting I'll do these tests and send you the
results...
Thomas Schlichter
On Mon, 17 Feb 2003, Thomas Schlichter wrote:
> Quoting Bill Davidsen <[email protected]>:
> > > I was looking for network issues when I started timing pings, and didn't
> > > see any. I thought it was bad timing, like not raining when you have a
> > > coat, but maybe I was curing it.
> >
> > Since it's possible that pings will actually change the problem rather
> > than measure it, I'll tcpdump for a while and see if that tells me
> > anything. I suspected network problems, since tcp has priority over udp in
> > some places.
> >
> > I looked at the code last night, but I don't see anything explaining a
> > ping making things better. Something getting flushed?
>
> I'm sorry, I don't exactly know what you want me to do... I'm not involved in
> the linux net code and I did not even try to understand it yet...
Thanks, you've already done it! I assumed that when I didn't see any
problems while the ping was running that it was just bad timing, and the
problem didn't happen while I was looking. Your note that the pinging
actually prevents the problem gives me something new to investigate.
> I just have a small environment with a FreeBSD 4.6 box using my Linux box as a
> NFS file server. This worked fine with my 2.4 kernel but with the 2.5.x test
> kernels I've got the problem the FreeBSD box says 'NFS server not responding'
> until I do simple pings (ICMP echo request, ICMP echo respond) to the linux box
> (the NFS server)...
>
> Letting the ping run all the time NFS works so stable I even can do lots of
> compilations over it without any problems.
>
> So I don't have any answer WHY this helps, but it does... Perhaps it really is
> just a timing issue, I just don't know... If you can tell me what to measure and
> which values would be interesting I'll do these tests and send you the
> results...
I someone can suggest "what to do" I'll do it as well. At the moment I'm
building a table of 2.5.59 client against 2.4.19, AIX, BSD, etc, and vice
versa. I am looking for hangs with and without the ping running, in hopes
that the results will be useful, possibly to me but more likely to someone
who can see what's happening.
For the record, I see severe hangs with 2.4.19 server and 2.5.59 client,
I'll know what effect the ping has in a few minutes.
--
bill davidsen <[email protected]>
CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.