2003-11-05 06:53:19

by Andrew Morton

[permalink] [raw]
Subject: 2.6.0-test9-mm2


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test9/2.6.0-test9-mm2/


- Various random fixes. Maybe about half of these are 2.6.0-worthy.

- Some improvements to the anticipatory IO scheduler and more readahead
tweaks should help some of those database benchmarks.

The anticipatory scheduler is still a bit behind the deadline scheduler
in these random seeky loads - it most likely always will be.

- "A new driver for the ethernet interface of the NVIDIA nForce chipset,
licensed under GPL."

Testing of this would be appreciated. Send any reports to linux-kernel
or [email protected] and Manfred will scoop them up, thanks.


- I shall be offline for a couple of days.




Changes since 2.6.0-test9-mm1:


linus.patch

Latest Linus tree

-might_sleep-suppression.patch

Dropped - Linus fixed the vm86 might_sleep() warning for real.

+as-badness-warning-fix.patch
+as-request-poisoning.patch
+as-new-process-estimation.patch
+as-cooperative-thinktime.patch

Anticipatory scheduler performance work.

+scale-nr_requests.patch

Increase the initial disk request queue size if the disk is using deep Tag
Command Queueing.

+local_bh_enable-warning-fix.patch

Fiddle with the debug warnings in local_bh_enable()

+ohci-locking-fix.patch

Partially address some USB locking problems.

+disable-ide-tcq.patch

Disable IDE TCQ in config. It's not working right yet.

+request-module-char-dev-fix.patch

Fix autoloading of the loop driver module.

+loop-remove-blkdev-special-case.patch

Loop driver rework: treat block-backed loop in an identical manner to
file-backed loop.

+loop-highmem.patch
+loop-highmem-fixes.patch

Switch the loop<->cryptolooop interface to use page/offset rather than
kmap+virtaddr.

+via-quirk-fix.patch

VIA oops fix

+cdc-acm-softirq-rx.patch

USB locking fix

+forcedeth.patch

nForce ethernet driver

+raid1-recovery-fix.patch

Fix RAID1 recovery.

+journal_remove_journal_head-assertion-fix.patch

Fix and ext3 assertion failure.

+x86_64-tss-limit-fix.patch

x86_64 fix

+reiserfs-pinned-buffer-fix.patch

reiserfs pinned buffer fix

+proc-pid-maps-output-fix.patch

Fix /proc/pid/maps display for deleted files (needs work)

+atomic_dec-debug.patch

"Verifies that all "atomic_dec_and_test()" users never see a negative value
(which would be bad)."

+sis900-pm-support.patch

Power management support for sis900 driver

+drm-agp-module-dependency-fix.patch

Maybe fix DRM<->AGP module dependencies so things autoload nicely.

+8139too-locking-fix.patch

Fiddle with 8139too locking.

+ia32-wp-test-cleanup.patch

Simplify the ia32 WP bug detection code.

+hugetlb-needs-pse.patch

Disable hugetlbfs if the CPU doesn't support large pages.

+powermate-payload-size-fix.patch

Fix the powermate driver for newer devices.

+4g4g-KERNEL_DS-usercopy-fix.patch

Fix for the 4G/4G split patch.

+readahead-simplification.patch

Readahead performance fix.





All 192 patches

linus.patch

mm.patch
add -mmN to EXTRAVERSION

kgdb-ga.patch
kgdb stub for ia32 (George Anzinger's one)
kgdbL warning fix

kgdb-buff-too-big.patch
kgdb buffer overflow fix

kgdb-warning-fix.patch
kgdbL warning fix

kgdb-build-fix.patch

kgdb-spinlock-fix.patch

kgdb-fix-debug-info.patch
kgdb: CONFIG_DEBUG_INFO fix

kgdb-cpumask_t.patch

kgdb-x86_64-fixes.patch
x86_64 fixes

kgdb-over-ethernet.patch
kgdb-over-ethernet patch

kgdb-over-ethernet-fixes.patch
kgdb-over-ethernet fixlets

kgdb-CONFIG_NET_POLL_CONTROLLER.patch
kgdb: replace CONFIG_KGDB with CONFIG_NET_RX_POLL in net drivers

kgdb-handle-stopped-NICs.patch
kgdb: handle netif_stopped NICs

eepro100-poll-controller.patch

tlan-poll_controller.patch

tulip-poll_controller.patch

tg3-poll_controller.patch
kgdb: tg3 poll_controller

8139too-poll_controller.patch
8139too poll controller

kgdb-eth-smp-fix.patch
kgdb-over-ethernet: fix SMP

kgdb-eth-reattach.patch

kgdb-skb_reserve-fix.patch
kgdb-over-ethernet: skb_reserve() fix

must-fix.patch

should-fix.patch

must-fix-update-01.patch
must fix lists update

RD1-cdrom_ioctl-B6.patch

RD2-ioctl-B6.patch

RD2-ioctl-B6-fix.patch
RD2-ioctl-B6 fixes

RD3-cdrom_open-B6.patch

RD4-open-B6.patch

RD5-cdrom_release-B6.patch

RD6-release-B6.patch

RD7-presto_journal_close-B6.patch

RD8-f_mapping-B6.patch

RD9-f_mapping2-B6.patch

RD10-i_sem-B6.patch

RD11-f_mapping3-B6.patch

RD12-generic_osync_inode-B6.patch

RD13-bd_acquire-B6.patch

RD14-generic_write_checks-B6.patch

RD15-I_BDEV-B6.patch

RD16-rest-B6.patch

invalidate_inodes-speedup.patch
invalidate_inodes speedup

invalidate_inodes-speedup-fixes-2.patch
more invalidate_inodes speedup fixes

serio-01-renaming.patch
serio: rename serio_[un]register_slave_port to __serio_[un]register_port

serio-02-race-fix.patch
serio: possible race between port removal and kseriod

serio-03-blacklist.patch
Add black list to handler<->device matching

serio-04-synaptics-cleanup.patch
Synaptics: code cleanup

serio-05-reconnect-facility.patch
serio: reconnect facility

serio-06-synaptics-use-reconnect.patch
Synaptics: use serio_reconnect

acpi_off-fix.patch
fix acpi=off

cfq-4.patch
CFQ io scheduler
CFQ fixes

config_spinline.patch
uninline spinlocks for profiling accuracy.

ppc64-bar-0-fix.patch
Allow PCI BARs that start at 0

ppc64-reloc_hide.patch

sym-do-160.patch
make the SYM driver do 160 MB/sec

input-use-after-free-checks.patch
input layer debug checks

aic7xxx-parallel-build-fix.patch
fix parallel builds for aic7xxx

ramdisk-cleanup.patch

intel8x0-cleanup.patch
intel8x0 cleanups

pdflush-diag.patch

kobject-oops-fixes.patch
fix oopses is kobject parent is removed before child

futex-uninlinings.patch
futex uninlining

zap_page_range-debug.patch
zap_page_range() debug

call_usermodehelper-retval-fix-3.patch
Make call_usermodehelper report exit status

asus-L5-fix.patch
Asus L5 framebuffer fix

jffs-use-daemonize.patch

tulip-NAPI-support.patch
tulip NAPI support

tulip-napi-disable.patch
tulip NAPI: disable poll in close

get_user_pages-handle-VM_IO.patch

ia32-MSI-support.patch
Updated ia32 MSI Patches

ia32-MSI-support-tweaks.patch

ia32-efi-support.patch
EFI support for ia32

ia32-efi-asm-warning-fix.patch
efi warning fix

ia32-efi-support-mem-equals-fix.patch

CONFIG_ACPI_EFI-defaults-off.patch

ia32-efi-support-warning-fixes.patch

ia32-efi-support-tidy.patch

ia32-efi-other-arch-fix.patch
fix EFI for ppc64, ia64

efi-constant-sizing-fix.patch
efi: warning fixes

ia32-efi-config-option.patch
ia32 EFI: Add CONFIG_EFI

ia32-efi-config-option-tweaks.patch

ia32-efi-config-help-update.patch
efi: Update Kconfig help

ia64-CONFIG_EFI-update.patch
efi update patch (ia64)

support-zillions-of-scsi-disks.patch
support many SCSI disks

SGI-IOC4-IDE-chipset-support.patch
Add support for SGI's IOC4 chipset

sparc32-sched_clock.patch

pcibios_test_irq-fix.patch
Fix pcibios test IRQ handler return

fixmap-in-proc-pid-maps.patch
report user-readable fixmap area in /proc/PID/maps

i82365-sysfs-ordering-fix.patch
Fix init_i82365 sysfs ordering oops

pci_set_power_state-might-sleep.patch

compat_ioctl-cleanup.patch
cleanup of compat_ioctl functions

fix-sqrt.patch
sqrt() fixes

scale-min_free_kbytes.patch
scale the initial value of min_free_kbytes

cdrom-allocation-try-harder.patch
Use __GFP_REPEAT for cdrom buffer

sym-2.1.18f.patch

CONFIG_STANDALONE-default-to-n.patch
Make CONFIG_STANDALONE default to N

extra-buffer-diags.patch

nosysfs.patch

constant_test_bit-doesnt-like-zwanes-gcc.patch
gcc bug workaround for constant_test_bit()

slab-leak-detector.patch
slab leak detector

early-serial-registration-fix.patch
serial console registration bugfix

3c527-smp-update.patch
SMP support on 3c527 net driver

3c527-race-fix.patch

ext3-latency-fix.patch
ext3 scheduling latency fix

videobuf_waiton-race-fix.patch

firmware-kernel_thread-on-demand.patch
Remove workqueue usage from request_firmware_async()

loop-autoloading-fix.patch
Fix loop module auto loading

loop-module-alias.patch
loop needs MODULE_ALIAS_BLOCK

cmpci-set_fs-fix.patch
cmpci.c: remove pointless set_fs()

dentry-bloat-fix-2.patch
Fix dcache and icache bloat with deep directories

nls-config-fixes.patch
NSL config fixes

proc_pid_lookup-vs-exit-race-fix.patch
Fix proc_pid_lookup vs exit race

gcc-Os-if-embedded.patch
Add `gcc -Os' config option

gcc-Os-if-embedded-better-help.patch

aic7xxx-sleep-in-spinlock-fix.patch

ia64-ia32-missing-compat-syscalls.patch
From: Arun Sharma <[email protected]>
Subject: Missing compat syscalls in ia64

vm86-sysenter-fix.patch
Fix sysenter disabling in vm86 mode

gettimeofday-resolution-fix.patch
gettimeofday resolution fix

refill_counter-overflow-fix.patch
vmscan: reset refill_counter after refilling the inactive list

verbose-timesource.patch
be verbose about the time source

as-badness-warning-fix.patch
AS: handle non-block requests

as-regression-fix.patch
Fix IO scheduler regression

as-request-poisoning.patch
AS: request poisoning

as-new-process-estimation.patch
AS: new process estimation

as-cooperative-thinktime.patch
AS: thinktime improvement

scale-nr_requests.patch
scale nr_requests with TCQ depth

3c509-mca-fix.patch
3c509 MCA compile fix

truncate_inode_pages-check.patch

ext2-allocation-fix.patch
ext2 block allocation race fix

local_bh_enable-warning-fix.patch

ohci-locking-fix.patch

disable-ide-tcq.patch
Disable IDE Tagged Command Queueing

request-module-char-dev-fix.patch
MODULE_ALIAS patch for ALSA

loop-remove-blkdev-special-case.patch

loop-highmem.patch
remove useless highmem bounce from loop/cryptoloop

loop-highmem-fixes.patch

via-quirk-fix.patch
Fix oops in quirk_via_bridge

cdc-acm-softirq-rx.patch
cdc-acm: move rx processing to softirq

forcedeth.patch
forcedeth: nForce ethernet driver

raid1-recovery-fix.patch
Fix RAID1 recovery

journal_remove_journal_head-assertion-fix.patch
JBD: fix assertion failure

x86_64-tss-limit-fix.patch
Fix TSS limit on x86-64

reiserfs-pinned-buffer-fix.patch
reiserfs pinned buffer fix

proc-pid-maps-output-fix.patch
Restore /proc/pid/maps formatting

atomic_dec-debug.patch
atomic_dec debug

sis900-pm-support.patch
Add PM support to sis900 network driver

drm-agp-module-dependency-fix.patch
DRM/AGP module dependency fix

8139too-locking-fix.patch
8139too locking fix

ia32-wp-test-cleanup.patch
ia32 WP test cleanup

hugetlb-needs-pse.patch
ia32: hugetlb needs pse

powermate-payload-size-fix.patch
Griffin Powermate fix

keyboard-repeat-rate-setting-fix.patch
keyboard repeat rate setting fix

list_del-debug.patch
list_del debug check

print-build-options-on-oops.patch

show_task-free-stack-fix.patch
show_task() fix and cleanup

oops-dump-preceding-code.patch
i386 oops output: dump preceding code

lockmeter.patch

printk-oops-mangle-fix.patch
disentangle printk's whilst oopsing on SMP

4g-2.6.0-test2-mm2-A5.patch
4G/4G split patch
4G/4G: remove debug code
4g4g: pmd fix
4g/4g: fixes from Bill
4g4g: fpu emulation fix
4g/4g usercopy atomicity fix
4G/4G: remove debug code
4g4g: pmd fix
4g/4g: fixes from Bill
4g4g: fpu emulation fix
4g/4g usercopy atomicity fix
4G/4G preempt on vstack
4G/4G: even number of kmap types
4g4g: fix __get_user in slab
4g4g: Remove extra .data.idt section definition
4g/4g linker error (overlapping sections)
4G/4G: remove debug code
4g4g: pmd fix
4g/4g: fixes from Bill
4g4g: fpu emulation fix
4g4g: show_registers() fix
4g/4g usercopy atomicity fix
4g4g: debug flags fix
4g4g: Fix wrong asm-offsets entry
cyclone time fixmap fix
4G/4G preempt on vstack
4G/4G: even number of kmap types
4g4g: fix __get_user in slab
4g4g: Remove extra .data.idt section definition
4g/4g linker error (overlapping sections)
4G/4G: remove debug code
4g4g: pmd fix
4g/4g: fixes from Bill
4g4g: fpu emulation fix
4g4g: show_registers() fix
4g/4g usercopy atomicity fix
4g4g: debug flags fix
4g4g: Fix wrong asm-offsets entry
cyclone time fixmap fix
use direct_copy_{to,from}_user for kernel access in mm/usercopy.c
4G/4G might_sleep warning fix
4g/4g pagetable accounting fix

4g4g-athlon-prefetch-handling-fix.patch

4g4g-wp-test-fix.patch
Fix 4G/4G and WP test lockup

4g4g-KERNEL_DS-usercopy-fix.patch
4G/4G KERNEL_DS usercopy again

ppc-fixes.patch
make mm4 compile on ppc

aic7xxx_old-oops-fix.patch

O_DIRECT-race-fixes-rollup.patch
DIO fixes forward port and AIO-DIO fix
O_DIRECT race fixes comments
O_DRIECT race fixes fix fix fix
DIO locking rework

O_DIRECT-race-fixes-rework-XFS-fix.patch
O_DIRECT XFS fix

O_DIRECT-race-fixes-rework-XFS-fix-fix.patch

readahead-multiple-fixes.patch
readahead: multipole performance fixes

readahead-simplification.patch
readahead simplification

aio-sysctl-parms.patch
aio sysctl parms

aio-01-retry.patch
AIO: Core retry infrastructure
Fix aio process hang on EINVAL
AIO: flush workqueues before destroying ioctx'es
AIO: hold the context lock across unuse_mm
task task_lock in use_mm()

4g4g-aio-hang-fix.patch
Fix AIO and 4G-4G hang

aio-refcounting-fix.patch
aio ref count in io_submit_one

aio-retry-elevated-refcount.patch
aio: extra ref count during retry

aio-splice-runlist.patch
Splice AIO runlist for fairer handling of multiple io contexts

aio-02-lockpage_wq.patch
AIO: Async page wait

aio-03-fs_read.patch
AIO: Filesystem aio read

aio-04-buffer_wq.patch
AIO: Async buffer wait
lock_buffer_wq fix

aio-05-fs_write.patch
AIO: Filesystem aio write

aio-06-bread_wq.patch
AIO: Async block read

aio-07-ext2getblk_wq.patch
AIO: Async get block for ext2

O_SYNC-speedup-2.patch
speed up O_SYNC writes

O_SYNC-speedup-2-f_mapping-fixes.patch

aio-09-o_sync.patch
aio O_SYNC
AIO: fix a BUG
Unify o_sync changes for aio and regular writes
aio-O_SYNC-fix bits got lost
aio: writev nr_segs fix
More AIO O_SYNC related fixes

aio-09-o_sync-f_mapping-fixes.patch

gang_lookup_next.patch
Change the page gang lookup API

aio-gang_lookup-fix.patch
AIO gang lookup fixes

aio-O_SYNC-short-write-fix.patch
Fix for O_SYNC short writes

aio-12-readahead.patch
AIO: readahead fixes
aio O_DIRECT no readahead
Unified page range readahead for aio and regular reads

aio-12-readahead-f_mapping-fix.patch

aio-readahead-speedup.patch
Readahead issues and AIO read speedup




2003-11-05 12:30:47

by Alexander Hoogerhuis

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2

Andrew Morton <[email protected]> writes:
>
> [SNIP]
>

FWIW, it compiles nicely, runs nicely and as with -mm1, I haven't
really found problems I can't blame myself for (seems to go bonk from
time to time with vmware modules, likewise with the orinoco-usb
driver, but without those it is very nice :)

mvh,
A
--
Alexander Hoogerhuis | [email protected]
CCNP - CCDP - MCNE - CCSE | +47 908 21 485
"You have zero privacy anyway. Get over it." --Scott McNealy

2003-11-05 16:10:37

by John Cherry

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2 (compile stats)

Linux 2.6 (mm tree) Compile Statistics (gcc 3.2.2)
Warnings/Errors Summary

Kernel bzImage bzImage bzImage modules bzImage modules
(defconfig) (allno) (allyes) (allyes) (allmod)(allmod)
--------------- ---------- -------- -------- -------- -------- --------
2.6.0-test9-mm2 0w/0e 0w/0e 172w/ 0e 12w/0e 3w/0e 211w/1e
2.6.0-test9-mm1 0w/0e 0w/0e 179w/ 1e 12w/0e 3w/0e 213w/1e
2.6.0-test8-mm1 0w/0e 0w/0e 183w/ 1e 13w/0e 3w/0e 223w/1e
2.6.0-test7-mm1 0w/0e 1w/0e 176w/ 1e 9w/0e 3w/0e 231w/1e
2.6.0-test6-mm4 0w/0e 1w/0e 179w/ 1e 9w/0e 3w/0e 234w/1e
2.6.0-test6-mm3 0w/0e 1w/0e 178w/ 1e 9w/0e 3w/0e 252w/2e
2.6.0-test6-mm2 0w/0e 1w/0e 179w/ 1e 9w/0e 3w/0e 252w/2e
2.6.0-test6-mm1 0w/0e 1w/0e 179w/ 1e 9w/0e 3w/0e 252w/2e

Web page with links to complete details:
http://developer.osdl.org/cherry/compile/

Version information for host [ cherrypit.pdx.osdl.net ]
gcc: 3.2.2
patch: 2.5.4

Kernel version: 2.6.0-test9-mm2
Kernel build:
Making bzImage (defconfig): 0 warnings, 0 errors
Making modules (defconfig): 0 warnings, 0 errors
Making bzImage (allnoconfig): 0 warnings, 0 errors
Making bzImage (allyesconfig): 172 warnings, 0 errors
Making modules (allyesconfig): 12 warnings, 0 errors
Making bzImage (allmodconfig): 3 warnings, 0 errors
Making modules (allmodconfig): 211 warnings, 0 errors

Building directories:
Building fs/adfs: clean
Building fs/affs: clean
Building fs/afs: clean
Building fs/autofs: clean
Building fs/autofs4: clean
Building fs/befs: clean
Building fs/bfs: clean
Building fs/cifs: clean
Building fs/coda: clean
Building fs/cramfs: clean
Building fs/devfs: clean
Building fs/devpts: clean
Building fs/efs: clean
Building fs/exportfs: clean
Building fs/ext2: clean
Building fs/ext3: clean
Building fs/fat: clean
Building fs/freevxfs: clean
Building fs/hfs: clean
Building fs/hpfs: clean
Building fs/hugetlbfs: clean
Building fs/intermezzo: clean
Building fs/isofs: clean
Building fs/jbd: clean
Building fs/jffs: clean
Building fs/jffs2: clean
Building fs/jfs: clean
Building fs/lockd: clean
Building fs/minix: clean
Building fs/msdos: clean
Building fs/ncpfs: clean
Building fs/nfs: clean
Building fs/nfsd: clean
Building fs/nls: clean
Building fs/ntfs: clean
Building fs/partitions: clean
Building fs/proc: clean
Building fs/qnx4: clean
Building fs/ramfs: clean
Building fs/reiserfs: clean
Building fs/romfs: clean
Building fs/smbfs: clean
Building fs/sysfs: clean
Building fs/sysv: clean
Building fs/udf: clean
Building fs/ufs: clean
Building fs/vfat: clean
Building fs/xfs: clean
Building drivers/i2c: clean
Building drivers/net: 31 warnings, 0 errors
Building drivers/media: 1 warnings, 0 errors
Building drivers/base: clean
Building drivers/pci: clean
Building drivers/eisa: clean
Building drivers/isdn: clean
Building drivers/char: 1 warnings, 0 errors
Building drivers/acpi: clean
Building drivers/serial: 1 warnings, 0 errors
Building drivers/fc4: clean
Building drivers/parport: clean
Building drivers/mtd: 23 warnings, 0 errors
Building drivers/usb: clean
Building drivers/block: 1 warnings, 0 errors
Building drivers/pcmcia: 3 warnings, 0 errors
Building drivers/input: clean
Building drivers/atm: clean
Building drivers/ide: 30 warnings, 0 errors
Building drivers/pnp: clean
Building drivers/oprofile: clean
Building drivers/ieee1394: clean
Building drivers/cdrom: 3 warnings, 0 errors
Building drivers/md: clean
Building drivers/message: 1 warnings, 0 errors
Building drivers/cpufreq: clean
Building drivers/sbus: clean
Building drivers/bluetooth: clean
Building drivers/telephony: 5 warnings, 0 errors
Building drivers/zorro: clean
Building drivers/acorn: clean
Building drivers/tc: clean
Building drivers/mca: clean
Building drivers/nubus: clean
Building drivers/misc: clean
Building drivers/dio: clean
Building drivers/scsi/aacraid: clean
Building drivers/scsi/aic7xxx: clean
Building drivers/scsi/pcmcia: 4 warnings, 0 errors
Building drivers/scsi/sym53c8xx_2: clean
Building drivers/video/aty: 3 warnings, 0 errors
Building drivers/video/console: 2 warnings, 0 errors
Building drivers/video/i810: clean
Building drivers/video/logo: clean
Building drivers/video/matrox: 5 warnings, 0 errors
Building drivers/video/riva: clean
Building drivers/video/sis: 1 warnings, 0 errors
Building sound/core: clean
Building sound/drivers: clean
Building sound/i2c: clean
Building sound/isa: 3 warnings, 0 errors
Building sound/oss: 33 warnings, 0 errors
Building sound/pci: clean
Building sound/pcmcia: clean
Building sound/synth: clean
Building sound/usb: clean
Building arch/i386: clean
Building crypto: clean
Building lib: clean
Building net: 9 warnings, 0 errors
Building security: clean
Building sound: clean
Building usr: clean
Building fs: clean
Building drivers/video: 8 warnings, 0 errors
Building drivers/scsi: 44 warnings, 0 errors
Building drivers/net: 0 warnings, 1 errors


Error Summary (individual module builds):

drivers/net: 0 warnings, 1 errors


Warning Summary (individual module builds):

drivers/block: 1 warnings, 0 errors
drivers/cdrom: 3 warnings, 0 errors
drivers/char: 1 warnings, 0 errors
drivers/ide: 30 warnings, 0 errors
drivers/media: 1 warnings, 0 errors
drivers/message: 1 warnings, 0 errors
drivers/mtd: 23 warnings, 0 errors
drivers/net: 31 warnings, 0 errors
drivers/pcmcia: 3 warnings, 0 errors
drivers/scsi/pcmcia: 4 warnings, 0 errors
drivers/scsi: 44 warnings, 0 errors
drivers/serial: 1 warnings, 0 errors
drivers/telephony: 5 warnings, 0 errors
drivers/video/aty: 3 warnings, 0 errors
drivers/video/console: 2 warnings, 0 errors
drivers/video/matrox: 5 warnings, 0 errors
drivers/video/sis: 1 warnings, 0 errors
drivers/video: 8 warnings, 0 errors
net: 9 warnings, 0 errors
sound/isa: 3 warnings, 0 errors
sound/oss: 33 warnings, 0 errors


Error List:

make[1]: [arch/i386/boot/bzImage] Error 1 (ignored)
make[2]: [drivers/net/wan/wanxlfw.inc] Error 127 (ignored)


Warning List:

arch/i386/kernel/cpu/cpufreq/powernow-k8.c:38:2: warning: #warning this
driver has not been tested on a preempt system
arch/i386/kernel/cpu/cpufreq/powernow-k8.c:938:2: warning: #warning
pol->policy is in undefined state here
drivers/cdrom/aztcd.c:379: warning: `pa_ok' defined but not used
drivers/cdrom/isp16.c:124: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/cdrom/mcdx.h:180:2: warning: #warning You have not edited mcdx.h
drivers/cdrom/mcdx.h:181:2: warning: #warning Perhaps irq and i/o
settings are wrong.
drivers/cdrom/sjcd.c:1700: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/char/applicom.c:522:2: warning: #warning "Je suis stupide. DW. -
copy*user in cli"
drivers/char/applicom.c:67: warning: `applicom_pci_tbl' defined but not
used
drivers/char/watchdog/alim1535_wdt.c:320: warning: `ali_pci_tbl' defined
but not used
drivers/ide/ide-probe.c:1326: warning: `MOD_INC_USE_COUNT' is deprecated
(declared at include/linux/module.h:482)
drivers/ide/ide-probe.c:1353: warning: `MOD_DEC_USE_COUNT' is deprecated
(declared at include/linux/module.h:494)
drivers/ide/ide-tape.c:6213: warning: duplicate `const'
drivers/ide/ide.c:2470: warning: implicit declaration of function
`pnpide_init'
drivers/ide/legacy/ide-cs.c:365: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/legacy/ide-cs.c:411: warning: `MOD_DEC_USE_COUNT' is
deprecated (declared at include/linux/module.h:494)
drivers/ide/pci/aec62xx.c:533: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/alim15x3.c:869: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/amd74xx.c:451: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/cmd64x.c:755: warning: `MOD_INC_USE_COUNT' is deprecated
(declared at include/linux/module.h:482)
drivers/ide/pci/cs5520.c:294: warning: `MOD_INC_USE_COUNT' is deprecated
(declared at include/linux/module.h:482)
drivers/ide/pci/cs5530.c:416: warning: `MOD_INC_USE_COUNT' is deprecated
(declared at include/linux/module.h:482)
drivers/ide/pci/cy82c693.c:437: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/hpt34x.c:334: warning: `MOD_INC_USE_COUNT' is deprecated
(declared at include/linux/module.h:482)
drivers/ide/pci/hpt366.c:1223: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/ns87415.c:228: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/opti621.c:364: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/pdc202xx_new.c:631: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/pdc202xx_old.c:925: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/piix.c:746: warning: `MOD_INC_USE_COUNT' is deprecated
(declared at include/linux/module.h:482)
drivers/ide/pci/rz1000.c:65: warning: `MOD_INC_USE_COUNT' is deprecated
(declared at include/linux/module.h:482)
drivers/ide/pci/sc1200.c:557: warning: `MOD_INC_USE_COUNT' is deprecated
(declared at include/linux/module.h:482)
drivers/ide/pci/serverworks.c:804: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/siimage.c:1174: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/sis5513.c:956: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/slc90e66.c:376: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/triflex.c:227: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/ide/pci/trm290.c:378: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/ide/pci/trm290.c:406: warning: `MOD_INC_USE_COUNT' is deprecated
(declared at include/linux/module.h:482)
drivers/ide/pci/via82cxxx.c:618: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/input/gameport/ns558.c:121: warning: `check_region' is
deprecated (declared at include/linux/ioport.h:119)
drivers/input/gameport/ns558.c:80: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/media/common/saa7146_vbi.c:6: warning: `vbi_workaround' defined
but not used
drivers/media/video/zoran_card.c:149: warning: `zr36067_pci_tbl' defined
but not used
drivers/message/fusion/mptscsih.c:6922: warning: `mptscsih_setup'
defined but not used
drivers/message/i2o/i2o_block.c:1506: warning: `MOD_DEC_USE_COUNT' is
deprecated (declared at include/linux/module.h:494)
drivers/mtd/chips/amd_flash.c:783: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/mtd/chips/cfi_cmdset_0001.c:381: warning: unsigned int format,
different type arg (arg 2)
drivers/mtd/chips/cfi_cmdset_0001.c:965: warning: unsigned int format,
different type arg (arg 2)
drivers/mtd/chips/cfi_cmdset_0002.c:1157: warning: unsigned int format,
different type arg (arg 4)
drivers/mtd/chips/cfi_cmdset_0002.c:513: warning: unsigned int format,
different type arg (arg 4)
drivers/mtd/chips/cfi_cmdset_0002.c:651: warning: unsigned int format,
different type arg (arg 4)
drivers/mtd/chips/cfi_cmdset_0002.c:977: warning: unsigned int format,
different type arg (arg 4)
drivers/mtd/chips/cfi_cmdset_0020.c:1139: warning: unsigned int format,
different type arg (arg 3)
drivers/mtd/chips/cfi_cmdset_0020.c:1288: warning: unsigned int format,
different type arg (arg 3)
drivers/mtd/chips/cfi_cmdset_0020.c:493: warning: unsigned int format,
different type arg (arg 3)
drivers/mtd/chips/cfi_cmdset_0020.c:853: warning: unsigned int format,
different type arg (arg 3)
drivers/mtd/chips/sharp.c:157: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/mtd/cmdlinepart.c:344: warning: `mtdpart_setup' defined but not
used
drivers/mtd/devices/doc2000.c:567: warning: assignment from incompatible
pointer type
drivers/mtd/devices/doc2000.c:568: warning: assignment from incompatible
pointer type
drivers/mtd/devices/doc2001.c:376: warning: assignment from incompatible
pointer type
drivers/mtd/devices/doc2001.c:377: warning: assignment from incompatible
pointer type
drivers/mtd/nftlcore.c:354: warning: passing arg 7 of pointer to
function makes pointer from integer without a cast
drivers/mtd/nftlcore.c:358: warning: passing arg 7 of pointer to
function makes pointer from integer without a cast
drivers/mtd/nftlcore.c:363: warning: passing arg 7 of pointer to
function makes pointer from integer without a cast
drivers/mtd/nftlcore.c:632: warning: passing arg 7 of pointer to
function makes pointer from integer without a cast
drivers/mtd/nftlcore.c:696: warning: passing arg 7 of pointer to
function makes pointer from integer without a cast
drivers/mtd/nftlmount.c:220: warning: passing arg 7 of pointer to
function makes pointer from integer without a cast
drivers/net/3c515.c:529: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
drivers/net/acenic.c:135: warning: `acenic_pci_tbl' defined but not used
drivers/net/arcnet/arc-rimi.c:319: warning: `dev_alloc' is deprecated
(declared at include/linux/netdevice.h:525)
drivers/net/arcnet/com20020-isa.c:152: warning: `dev_alloc' is
deprecated (declared at include/linux/netdevice.h:525)
drivers/net/arcnet/com20020-pci.c:71: warning: `dev_alloc' is deprecated
(declared at include/linux/netdevice.h:525)
drivers/net/arcnet/com90io.c:385: warning: `dev_alloc' is deprecated
(declared at include/linux/netdevice.h:525)
drivers/net/arcnet/com90xx.c:146: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/net/arcnet/com90xx.c:412: warning: `dev_alloc' is deprecated
(declared at include/linux/netdevice.h:525)
drivers/net/arcnet/com90xx.c:609: warning: `dev_alloc' is deprecated
(declared at include/linux/netdevice.h:525)
drivers/net/dgrs.c:124: warning: `dgrs_pci_tbl' defined but not used
drivers/net/eepro.c:575: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
drivers/net/ewrk3.c:1291: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/net/ewrk3.c:1335: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/net/hp100.c:288: warning: `hp100_pci_tbl' defined but not used
drivers/net/hp100.c:385: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
drivers/net/hp100.c:432: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
drivers/net/hp100.c:463: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
drivers/net/hp100.c:471: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
drivers/net/sk98lin/skaddr.c:1092: warning: `ReturnCode' might be used
uninitialized in this function
drivers/net/sk98lin/skaddr.c:1624: warning: `ReturnCode' might be used
uninitialized in this function
drivers/net/skfp/skfddi.c:185: warning: `skfddi_pci_tbl' defined but not
used
drivers/net/tokenring/smctr.c:3494: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/net/tokenring/smctr.c:733: warning: `MOD_DEC_USE_COUNT' is
deprecated (declared at include/linux/module.h:494)
drivers/net/tulip/winbond-840.c:149: warning: `version' defined but not
used
drivers/net/wan/cycx_drv.c:430: warning: long unsigned int format, u32
arg (arg 2)
drivers/net/wan/farsync.c:1316: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/net/wan/farsync.c:1329: warning: `MOD_DEC_USE_COUNT' is
deprecated (declared at include/linux/module.h:494)
drivers/net/wan/hostess_sv11.c:125: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/net/wan/hostess_sv11.c:157: warning: `MOD_DEC_USE_COUNT' is
deprecated (declared at include/linux/module.h:494)
drivers/net/wan/lmc/lmc_main.c:1063: warning: `check_region' is
deprecated (declared at include/linux/ioport.h:119)
drivers/net/wan/lmc/lmc_main.c:1184: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/net/wan/lmc/lmc_main.c:1355: warning: `MOD_DEC_USE_COUNT' is
deprecated (declared at include/linux/module.h:494)
drivers/net/wan/pc300_drv.c:3168: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/net/wan/pc300_drv.c:3204: warning: `MOD_DEC_USE_COUNT' is
deprecated (declared at include/linux/module.h:494)
drivers/net/wan/sbni.c:308: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/pcmcia/i82365.c:680: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/pcmcia/i82365.c:817: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/pcmcia/tcic.c:340: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:1003: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:1008: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:700: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:704: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:708: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:712: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:716: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:720: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:973: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:988: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:993: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/BusLogic.c:998: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/NCR5380.c:396: warning: `phases' defined but not used
drivers/scsi/NCR5380.c:699: warning: `NCR5380_probe_irq' defined but not
used
drivers/scsi/NCR5380.c:756: warning: `NCR5380_print_options' defined but
not used
drivers/scsi/NCR53c406a.c:611: warning: `NCR53c406a_setup' defined but
not used
drivers/scsi/NCR53c406a.c:660: warning: initialization from incompatible
pointer type
drivers/scsi/NCR53c406a.c:669: warning: `wait_intr' defined but not used
drivers/scsi/advansys.c:10006: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/advansys.c:4622: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/aha152x.c:396: warning: `id_table' defined but not used
drivers/scsi/aha152x.c:793: warning: `aha152x_setup' defined but not
used
drivers/scsi/aha152x.c:852: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/aha152x.c:870: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/atp870u.c:2350: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/atp870u.c:2422: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/cpqfcTSinit.c:1583: warning: unused variable `timeout'
drivers/scsi/cpqfcTSinit.c:1584: warning: unused variable `retries'
drivers/scsi/cpqfcTSinit.c:1585: warning: unused variable `scsi_cdb'
drivers/scsi/cpqfcTSinit.c:471: warning: `my_ioctl_done' defined but not
used
drivers/scsi/dtc.c:187: warning: `dtc_setup' defined but not used
drivers/scsi/eata_pio.c:596: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/fd_mcs.c:300: warning: `fd_mcs_setup' defined but not used
drivers/scsi/fd_mcs.c:311: warning: initialization from incompatible
pointer type
drivers/scsi/fd_mcs.h:27: warning: `fd_mcs_command' declared `static'
but never defined
drivers/scsi/fdomain.c:763: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/g_NCR5380.c:926: warning: `id_table' defined but not used
drivers/scsi/gdth.c:881: warning: `gdthtable' defined but not used
drivers/scsi/inia100.h:70: warning: `inia100_detect' declared `static'
but never defined
drivers/scsi/inia100.h:71: warning: `inia100_release' declared `static'
but never defined
drivers/scsi/inia100.h:72: warning: `inia100_queue' declared `static'
but never defined
drivers/scsi/inia100.h:73: warning: `inia100_abort' declared `static'
but never defined
drivers/scsi/inia100.h:74: warning: `inia100_device_reset' declared
`static' but never defined
drivers/scsi/inia100.h:75: warning: `inia100_bus_reset' declared
`static' but never defined
drivers/scsi/libata-core.c:2133: warning: `ata_qc_push' defined but not
used
drivers/scsi/psi240i.c:713: warning: initialization from incompatible
pointer type
drivers/scsi/psi240i.c:714: warning: initialization from incompatible
pointer type
drivers/scsi/sym53c416.c:627: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/sym53c416.c:715: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/scsi/wd7000.c:1611: warning: `wd7000_abort' defined but not used
drivers/serial/8250.c:693: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/telephony/ixj.c:7737: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/telephony/ixj.c:7799: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/telephony/ixj.c:7835: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
drivers/telephony/ixj.h:41: warning: `ixj_h_rcsid' defined but not used
drivers/usb/class/usb-midi.h:150: warning: `usb_midi_ids' defined but
not used
drivers/video/aty/aty128fb.c:2335: warning: `aty128fb_exit' defined but
not used
drivers/video/aty/aty128fb.c:254: warning: `mode' defined but not used
drivers/video/aty/aty128fb.c:256: warning: `nomtrr' defined but not used
drivers/video/console/mdacon.c:374: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at include/linux/module.h:482)
drivers/video/console/mdacon.c:384: warning: `MOD_DEC_USE_COUNT' is
deprecated (declared at include/linux/module.h:494)
drivers/video/hgafb.c:452: warning: `hgafb_fillrect' defined but not
used
drivers/video/hgafb.c:472: warning: `hgafb_copyarea' defined but not
used
drivers/video/hgafb.c:502: warning: `hgafb_imageblit' defined but not
used
drivers/video/imsttfb.c:1089: warning: `imsttfb_load_cursor_image'
defined but not used
drivers/video/imsttfb.c:1159: warning: `imstt_set_cursor' defined but
not used
drivers/video/matrox/matroxfb_base.c:1250: warning: `inverse' defined
but not used
drivers/video/matrox/matroxfb_g450.c:129: warning: duplicate `const'
drivers/video/matrox/matroxfb_g450.c:130: warning: duplicate `const'
drivers/video/matrox/matroxfb_maven.c:347: warning: duplicate `const'
drivers/video/matrox/matroxfb_maven.c:348: warning: duplicate `const'
drivers/video/sis/sis_main.c:622: warning: unused variable `reg'
drivers/video/tdfxfb.c:1005: warning: `tdfxfb_cursor' defined but not
used
drivers/video/tdfxfb.c:198: warning: `inverse' defined but not used
drivers/video/tdfxfb.c:199: warning: `mode_option' defined but not used
drivers/video/tridentfb.c:455: warning: `tridentfb_fillrect' defined but
not used
drivers/video/tridentfb.c:473: warning: `tridentfb_copyarea' defined but
not used
include/linux/ixjuser.h:45: warning: `ixjuser_h_rcsid' defined but not
used
include/linux/mca-legacy.h:12:2: warning: #warning "MCA legacy - please
move your driver to the new sysfs api"
net/decnet/dn_nsp_in.c:805: warning: `skb_linearize' is deprecated
(declared at include/linux/skbuff.h:1136)
net/decnet/dn_route.c:638: warning: `skb_linearize' is deprecated
(declared at include/linux/skbuff.h:1136)
net/ipv4/ipcomp.c:189: warning: `skb_linearize' is deprecated (declared
at include/linux/skbuff.h:1136)
net/ipv4/ipcomp.c:72: warning: `skb_linearize' is deprecated (declared
at include/linux/skbuff.h:1136)
net/ipv6/ipcomp6.c:174: warning: `skb_linearize' is deprecated (declared
at include/linux/skbuff.h:1136)
net/ipv6/ipcomp6.c:61: warning: `skb_linearize' is deprecated (declared
at include/linux/skbuff.h:1136)
net/ipv6/netfilter/ip6_tables.c:349: warning: `skb_linearize' is
deprecated (declared at include/linux/skbuff.h:1136)
net/ipv6/netfilter/ip6table_mangle.c:162: warning: `skb_linearize' is
deprecated (declared at include/linux/skbuff.h:1136)
net/wanrouter/wanmain.c:729: warning: `dev_get' is deprecated (declared
at include/linux/netdevice.h:514)
sound/isa/opti9xx/opti92x-ad1848.c:1670: warning: `check_region' is
deprecated (declared at include/linux/ioport.h:119)
sound/isa/opti9xx/opti92x-ad1848.c:1686: warning: `check_region' is
deprecated (declared at include/linux/ioport.h:119)
sound/isa/opti9xx/opti92x-ad1848.c:314: warning: `check_region' is
deprecated (declared at include/linux/ioport.h:119)
sound/oss/ad1848.c:1580: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/ad1848.c:2530: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/ad1848.c:2967: warning: `id_table' defined but not used
sound/oss/cmpci.c:1465: warning: unused variable `s'
sound/oss/cmpci.c:2865: warning: `cmpci_pci_tbl' defined but not used
sound/oss/cs4232.c:141: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/cs4232.c:193: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/gus_card.c:76: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/gus_card.c:78: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/gus_card.c:93: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/gus_card.c:94: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/mad16.c:322: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/maui.c:307: warning: `check_region' is deprecated (declared at
include/linux/ioport.h:119)
sound/oss/mpu401.c:1217: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/msnd.c:74: warning: `MOD_INC_USE_COUNT' is deprecated
(declared at include/linux/module.h:482)
sound/oss/msnd.c:95: warning: `MOD_DEC_USE_COUNT' is deprecated
(declared at include/linux/module.h:494)
sound/oss/msnd_pinnacle.c:1123: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
sound/oss/msnd_pinnacle.c:1811: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
sound/oss/opl3sa.c:114: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/opl3sa.c:122: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/pss.c:1004: warning: `check_region' is deprecated (declared at
include/linux/ioport.h:119)
sound/oss/pss.c:191: warning: `check_region' is deprecated (declared at
include/linux/ioport.h:119)
sound/oss/pss.c:640: warning: `check_region' is deprecated (declared at
include/linux/ioport.h:119)
sound/oss/pss.c:710: warning: `check_region' is deprecated (declared at
include/linux/ioport.h:119)
sound/oss/sb_common.c:1224: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
sound/oss/sb_common.c:523: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
sound/oss/sgalaxy.c:89: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/sgalaxy.c:97: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/sscape.c:1113: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/sscape.c:1132: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/sscape.c:1137: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/sscape.c:737: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)
sound/oss/trix.c:147: warning: `check_region' is deprecated (declared at
include/linux/ioport.h:119)
sound/oss/trix.c:292: warning: `check_region' is deprecated (declared at
include/linux/ioport.h:119)
sound/oss/trix.c:85: warning: `check_region' is deprecated (declared at
include/linux/ioport.h:119)
sound/oss/wavfront.c:2426: warning: `check_region' is deprecated
(declared at include/linux/ioport.h:119)
sound/oss/wf_midi.c:788: warning: `check_region' is deprecated (declared
at include/linux/ioport.h:119)




2003-11-05 16:59:12

by Alistair John Strachan

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2

On Wednesday 05 November 2003 06:55, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test9/2
>.6.0-test9-mm2/
>
>
> - Various random fixes. Maybe about half of these are 2.6.0-worthy.
>
> - Some improvements to the anticipatory IO scheduler and more readahead
> tweaks should help some of those database benchmarks.
>
> The anticipatory scheduler is still a bit behind the deadline scheduler
> in these random seeky loads - it most likely always will be.
>
> - "A new driver for the ethernet interface of the NVIDIA nForce chipset,
> licensed under GPL."
>
> Testing of this would be appreciated. Send any reports to linux-kernel
> or [email protected] and Manfred will scoop them up, thanks.
>

I tried the force driver on my nForce2 machine and although it mostly works
(DHCP works, I can receive mail over the interface, etc..) it doesn't seem to
handle really bulky loads. For example, I'm running an FTP server on the
machine (proftpd), and although FTP navigation works just fine, transferring
large files just causes the transfer to hang indefinitely.

Removing the driver and using NVIDIA's proprietary driver allows me to
transfer via FTP properly.

--
Cheers,
Alistair.

personal: alistair()devzero!co!uk
university: s0348365()sms!ed!ac!uk
student: CS/AI Undergraduate
contact: 7/10 Darroch Court,
University of Edinburgh.

2003-11-05 19:51:43

by Bradley Chapman

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2

Mr. Morton,

This patch: +drm-agp-module-dependency-fix.patch

has broken the radeon DRM driver under 2.6.0-test9-mm2. Enclosed is an e-mail I
sent to the dri-devel sourceforge list:

<snip>

I'm having problems using te DRI radeon driver in the 2.6.0-test9-mm2
kernel tree. When X is started, the kernel outputs these messages:

[drm:radeon_cp_init] *ERROR* radeon_cp_init called without lock held
[drm:radeon_unlock] *ERROR* Process 1083 using kernel context 0

The driver did not do this under 2.6.0-test9-mm1.

Interesting parts of dmesg (under 2.6.0-test9-mm2):

Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected an Intel i845 Chipset.
agpgart: Maximum main memory to use for agp memory: 439M
agpgart: AGP aperture is 64M @ 0xec000000
[drm] Initialized radeon 1.9.0 20020828 on minor 0

I am using XFree86-4.3.0-42 from Fedora Core.

</snip>

Diffing the drivers/char/drm trees produces this, which I assume is the patch
you applied:

diff -urN linux-2.6.0-test9-mm1/drivers/char/drm/drm_agpsupport.h
linux-2.6.0-test9-mm2/drivers/char/drm/drm_agpsupport.h
--- linux-2.6.0-test9-mm1/drivers/char/drm/drm_agpsupport.h 2003-10-17
22:42:52.000000000 +0100
+++ linux-2.6.0-test9-mm2/drivers/char/drm/drm_agpsupport.h 2003-11-05
08:45:46.000000000 +0000
@@ -37,8 +37,8 @@
#if __REALLY_HAVE_AGP


-#define DRM_AGP_GET (drm_agp_t *)inter_module_get("drm_agp")
-#define DRM_AGP_PUT inter_module_put("drm_agp")
+#define DRM_AGP_GET symbol_get(agp_drm)
+#define DRM_AGP_PUT symbol_put(agp_drm)

/**
* Pointer to the drm_agp_t structure made available by the agpgart module.

I've had some responses from dri-devel so far, but right now I'm running
2.6.0-test9-mm1, which works perfectly fine.

What now?

TIA

Brad

=====
Brad Chapman

Permanent e-mail: [email protected]

__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree

2003-11-05 23:08:22

by Martin J. Bligh

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2

Seems to work fine on my box. Nothing very interesting from a performance
perspective, but it does seem a touch faster than mainline on kernbench.
NFI why ;-)

Kernbench: (make -j N vmlinux, where N = 2 x num_cpus)
Elapsed System User CPU
2.6.0-test9 45.28 100.19 568.01 1474.75
2.6.0-test9-mm2 44.83 100.79 567.74 1491.00
2.6.0-test9-mjb1 43.73 80.19 559.91 1463.25

Kernbench: (make -j N vmlinux, where N = 16 x num_cpus)
Elapsed System User CPU
2.6.0-test9 46.17 122.20 571.58 1501.00
2.6.0-test9-mm2 45.89 120.39 570.67 1504.75
2.6.0-test9-mjb1 43.52 89.98 562.91 1500.50

Kernbench: (make -j vmlinux, maximal tasks)
Elapsed System User CPU
2.6.0-test9 45.84 120.14 570.93 1507.00
2.6.0-test9-mm2 44.21 118.81 571.28 1566.00
2.6.0-test9-mjb1 43.73 87.19 564.39 1488.50


DISCLAIMER: SPEC(tm) and the benchmark name SDET(tm) are registered
trademarks of the Standard Performance Evaluation Corporation. This
benchmarking was performed for research purposes only, and the run results
are non-compliant and not-comparable with any published results.

Results are shown as percentages of the first set displayed

SDET 1 (see disclaimer)
Throughput Std. Dev
2.6.0-test9 100.0% 1.2%
2.6.0-test9-mm2 98.3% 2.3%
2.6.0-test9-mjb1 112.2% 1.8%

SDET 2 (see disclaimer)
Throughput Std. Dev
2.6.0-test9 100.0% 2.0%
2.6.0-test9-mm2 103.8% 1.8%
2.6.0-test9-mjb1 116.4% 0.6%

SDET 4 (see disclaimer)
Throughput Std. Dev
2.6.0-test9 100.0% 0.9%
2.6.0-test9-mm2 102.6% 1.0%
2.6.0-test9-mjb1 120.5% 0.6%

SDET 8 (see disclaimer)
Throughput Std. Dev
2.6.0-test9 100.0% 0.4%
2.6.0-test9-mm2 98.9% 0.4%
2.6.0-test9-mjb1 123.7% 0.2%

SDET 16 (see disclaimer)
Throughput Std. Dev
2.6.0-test9 100.0% 0.8%
2.6.0-test9-mm2 100.6% 0.9%
2.6.0-test9-mjb1 127.6% 0.0%

SDET 32 (see disclaimer)
Throughput Std. Dev
2.6.0-test9 100.0% 0.3%
2.6.0-test9-mm2 99.8% 0.3%
2.6.0-test9-mjb1 125.9% 0.5%

SDET 64 (see disclaimer)
Throughput Std. Dev
2.6.0-test9 100.0% 0.4%
2.6.0-test9-mm2 99.7% 0.4%
2.6.0-test9-mjb1 127.6% 0.9%

SDET 128 (see disclaimer)
Throughput Std. Dev
2.6.0-test9 100.0% 0.1%
2.6.0-test9-mm2 99.0% 0.3%
2.6.0-test9-mjb1 127.7% 0.2%

2003-11-10 23:06:56

by Daniel McNeil

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2 - AIO tests still gets slab corruption

Andrew,

test9-mm2 is still getting slab corruption with AIO:

Maximal retry count. Bytes done 0
Slab corruption: start=dc70f91c, expend=dc70f9eb, problemat=dc70f91c
Last user: [<c0192fa3>](__aio_put_req+0xbf/0x200)
Data: 00 01 10 00 00 02 20 00 *********6C ******************************A5
Next: 71 F0 2C .A3 2F 19 C0 71 F0 2C .********************
slab error in check_poison_obj(): cache `kiocb': object was modified after freeing

With suparna's retry-based-aio-dio patch, there are no kernel messages
and the tests do not see any uninitialized data.

Any reason not to add suparna's patch to -mm to fix these problems?

Thanks,

Daniel

2003-11-10 23:38:42

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2 - AIO tests still gets slab corruption

Daniel McNeil <[email protected]> wrote:
>
> Andrew,
>
> test9-mm2 is still getting slab corruption with AIO:

Why?

> Maximal retry count. Bytes done 0
> Slab corruption: start=dc70f91c, expend=dc70f9eb, problemat=dc70f91c
> Last user: [<c0192fa3>](__aio_put_req+0xbf/0x200)
> Data: 00 01 10 00 00 02 20 00 *********6C ******************************A5
> Next: 71 F0 2C .A3 2F 19 C0 71 F0 2C .********************
> slab error in check_poison_obj(): cache `kiocb': object was modified after freeing
>
> With suparna's retry-based-aio-dio patch, there are no kernel messages
> and the tests do not see any uninitialized data.
>
> Any reason not to add suparna's patch to -mm to fix these problems?

It relies on infrastructure which is not present in Linus's kernel. We
should only be interested in fixing mainline 2.6.x.

Furthermore I'd like to see the direct-vs-buffered locking fixes fully
implemented against Linus's tree, not -mm. They're almost there, but are
not quite complete. Running off and making it dependent on the retry
infrastructure is not really helpful.

2003-11-11 14:57:13

by Suparna Bhattacharya

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2 - AIO tests still gets slab corruption

On Mon, Nov 10, 2003 at 03:42:32PM -0800, Andrew Morton wrote:
> Daniel McNeil <[email protected]> wrote:
> >
> > Andrew,
> >
> > test9-mm2 is still getting slab corruption with AIO:
>
> Why?
>
> > Maximal retry count. Bytes done 0
> > Slab corruption: start=dc70f91c, expend=dc70f9eb, problemat=dc70f91c
> > Last user: [<c0192fa3>](__aio_put_req+0xbf/0x200)
> > Data: 00 01 10 00 00 02 20 00 *********6C ******************************A5
> > Next: 71 F0 2C .A3 2F 19 C0 71 F0 2C .********************
> > slab error in check_poison_obj(): cache `kiocb': object was modified after freeing
> >
> > With suparna's retry-based-aio-dio patch, there are no kernel messages
> > and the tests do not see any uninitialized data.
> >
> > Any reason not to add suparna's patch to -mm to fix these problems?
>
> It relies on infrastructure which is not present in Linus's kernel. We
> should only be interested in fixing mainline 2.6.x.
>
> Furthermore I'd like to see the direct-vs-buffered locking fixes fully
> implemented against Linus's tree, not -mm. They're almost there, but are
> not quite complete. Running off and making it dependent on the retry
> infrastructure is not really helpful.
>

It was just easier to do this in a non-kludgy way, if we used the
retry infrastructure. Here's why:

For fixing some of the cases, we run into a situation when we've
already submitted some of the I/O as AIO (with AIO callbacks set up)
by the time we realise that we actually need to wait for that to
complete synchronously before falling back to buffered i/o (otherwise
we can corrupt file data).

With the retry model it is only the actual wait that occurs
differently for AIO and Sync I/O, not the submission. So we
can simply switch to be synchronous at the latter stage.

Having done that, though, I was actually working on trying
to find a way to do this that could hold for the mainline as well
(i.e. without using retry infrastructure). The attached patch has
some special casing tweaks that might do the job; it
modifies the AIO-DIO callback to wakeup the caller synchronously
instead of issuing an aio_complete in such situations.

However the existing aio-dio tests do not seem to exercise some
of those code paths, so I haven't had a chance to verify
if it really works for that case (i.e. A single AIO-DIO request
overwriting an allocated region followed by a hole).

The patch should apply to 2.6.0-test9-mm2.

Regards
Suparna

--
Suparna Bhattacharya ([email protected])
Linux Technology Center
IBM Software Labs, India


--- pure-mm/fs/direct-io.c 2003-10-30 14:22:51.000000000 +0530
+++ linux-2.6.0-test9-mm2/fs/direct-io.c 2003-10-31 17:09:35.000000000 +0530
@@ -209,7 +209,7 @@
*/
static void dio_complete(struct dio *dio, loff_t offset, ssize_t bytes)
{
- if (dio->end_io)
+ if (dio->end_io && dio->result)
dio->end_io(dio->inode, offset, bytes, dio->map_bh.b_private);
if (dio->needs_locking)
up_read(&dio->inode->i_alloc_sem);
@@ -225,8 +225,14 @@
if (dio->is_async) {
dio_complete(dio, dio->block_in_file << dio->blkbits,
dio->result);
- aio_complete(dio->iocb, dio->result, 0);
- kfree(dio);
+ /* Complete AIO later if falling back to buffered i/o */
+ if (dio->result != -ENOTBLK) {
+ aio_complete(dio->iocb, dio->result, 0);
+ kfree(dio);
+ } else {
+ if (dio->waiter)
+ wake_up_process(dio->waiter);
+ }
}
}
}
@@ -877,8 +883,6 @@
int ret2;
size_t bytes;

- dio->is_async = !is_sync_kiocb(iocb);
-
dio->bio = NULL;
dio->inode = inode;
dio->rw = rw;
@@ -969,10 +973,11 @@
dio_bio_submit(dio);

/*
- * All new block allocations have been performed. We can let i_sem
- * go now.
+ * All block lookups have been performed. For READ requests
+ * we can let i_sem go now that its achieved its purpose
+ * of protecting us from looking up uninitialized blocks.
*/
- if (dio->needs_locking)
+ if ((rw == READ) && dio->needs_locking)
up(&dio->inode->i_sem);

/*
@@ -982,8 +987,30 @@
if (dio->is_async) {
if (ret == 0)
ret = dio->result; /* Bytes written */
+ if (ret == -ENOTBLK) {
+ /*
+ * The request will be reissued via buffered I/O
+ * when we return; Any I/O already issued
+ * effectively becomes redundant.
+ */
+ dio->result = ret;
+ dio->waiter = current;
+ }
finished_one_bio(dio); /* This can free the dio */
blk_run_queues();
+ if (ret == -ENOTBLK) {
+ /*
+ * Wait for already issued I/O to drain out and
+ * release its references to user-space pages
+ * before returning to fallback on buffered I/O
+ */
+ while (atomic_read(&dio->bio_count)) {
+ set_current_state(TASK_UNINTERRUPTIBLE);
+ io_schedule();
+ }
+ set_current_state(TASK_RUNNING);
+ dio->waiter = NULL;
+ }
} else {
finished_one_bio(dio);
ret2 = dio_await_completion(dio);
@@ -1003,6 +1029,9 @@
ret = i_size - offset;
}
dio_complete(dio, offset, ret);
+ /* We could have also come here on an AIO file extend */
+ if (!is_sync_kiocb(iocb) && (ret != -ENOTBLK))
+ aio_complete(iocb, ret, 0);
kfree(dio);
}
return ret;
@@ -1029,6 +1058,7 @@
unsigned bdev_blkbits = 0;
unsigned blocksize_mask = (1 << blkbits) - 1;
ssize_t retval = -EINVAL;
+ loff_t end = offset;
struct dio *dio;
int needs_locking;

@@ -1047,6 +1077,7 @@
for (seg = 0; seg < nr_segs; seg++) {
addr = (unsigned long)iov[seg].iov_base;
size = iov[seg].iov_len;
+ end += size;
if ((addr & blocksize_mask) || (size & blocksize_mask)) {
if (bdev)
blkbits = bdev_blkbits;
@@ -1081,11 +1112,17 @@
down_read(&inode->i_alloc_sem);
}
dio->needs_locking = needs_locking;
+ /*
+ * For file extending writes updating i_size before data
+ * writeouts complete can expose uninitialized blocks. So
+ * even for AIO, we need to wait for i/o to complete before
+ * returning in this case.
+ */
+ dio->is_async = !is_sync_kiocb(iocb) && !((rw == WRITE) &&
+ (end > i_size_read(inode)));

retval = direct_io_worker(rw, iocb, inode, iov, offset,
nr_segs, blkbits, get_blocks, end_io, dio);
- if (needs_locking && rw == WRITE)
- down(&inode->i_sem);
out:
return retval;
}

2003-11-11 17:23:14

by Daniel Drake

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2

I've been getting a couple of audio skips with 2.6.0-test9-mm2. Haven't heard a
skip since test4 or so, so I'm assuming this is a result of the IO scheduler tweaks.

Here's how I can produce a skip:
Running X, general usage (e.g. couple of xterms, an emacs, maybe a
mozilla-thunderbird)
I switch to the first virtual console with Ctrl+Alt+F1. I then switch back to X
with Alt+F7. As X is redrawing the screen, the audio skips once.
This happens most of the time, but its easier to reproduce when i am compiling
something, and also when I cycle through the virtual consoles before switching
back to X.

System:
AMD XP2600+
nForce2 motherboard
512MB RAM
nvidia GeForce4 Ti4800

Audio being played through the intel8x0 alsa module.
I use the nvidia binary graphics driver with X.

XMMS 1.2.8
XFree 4.3.0

If theres any other info I can give, please tell me and I'll do my best to help out.

Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test9/2.6.0-test9-mm2/
>
>
> - Various random fixes. Maybe about half of these are 2.6.0-worthy.
>
> - Some improvements to the anticipatory IO scheduler and more readahead
> tweaks should help some of those database benchmarks.
>
> The anticipatory scheduler is still a bit behind the deadline scheduler
> in these random seeky loads - it most likely always will be.
>
> - "A new driver for the ethernet interface of the NVIDIA nForce chipset,
> licensed under GPL."
>
> Testing of this would be appreciated. Send any reports to linux-kernel
> or [email protected] and Manfred will scoop them up, thanks.
>
>
> - I shall be offline for a couple of days.

2003-11-11 18:01:14

by Daniel McNeil

[permalink] [raw]
Subject: [PATCH 2.6.0-test9] AIO-ref-count.patch

Andrew,

If you do not want to go with the retry-based AIO in mm, here is
the AIO ref count patch against 2.6.0-test9. This is a bit different
than the version in -mm, but accomplishes the same thing -- the submit
path holds an extra reference until just before returning. This fixes
the referencing a free kiocb.

Without this patch on test9 (with PAGEALLOC_DEBUG), I get:

Unable to handle kernel paging request at virtual address df4fbf90
printing eip:
c0143dc4
*pde = 0007f067
*pte = 1f4fb000
Oops: 0002 [#1]
CPU: 1
EIP: 0060:[<c0143dc4>] Not tainted
EFLAGS: 00210287
EIP is at generic_file_aio_write_nolock+0x936/0xbbd
eax: 019d0000 ebx: 06400000 ecx: df4fbf90 edx: 00000000
esi: 00000000 edi: e700de88 ebp: df533eb4 esp: df533dc0
ds: 007b es: 007b ss: 0068
Process aiodio_sparse (pid: 1824, threadinfo=df532000 task=e66e29b0)
Stack: 00000001 df4fbf58 df533ecc 019c0000 00000000 00000001 00000001 df533e04
00200286 c148fc10 00000000 00200286 db234d94 df533e18 f7a89218 019d0000
00000000 df533e18 c011dd46 f65dbdf8 ffffffff 00000041 df533e50 00010000
Call Trace:
[<c011dd46>] kernel_map_pages+0x28/0x5d
[<c0144162>] generic_file_aio_write+0x86/0xa4
[<c01a12d7>] ext3_file_write+0x3f/0xcc
[<c018c948>] io_submit_one+0x2b5/0x2f7
[<c018ca67>] sys_io_submit+0xdd/0x143
[<c010a6c7>] syscall_call+0x7/0xb


I'm working on the other AIO fixes against mainline.

Thanks,

Daniel


Attachments:
2.6.0-test9-aio-refcnt.patch (1.65 kB)

2003-11-12 01:18:39

by Nick Piggin

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2



Daniel Drake wrote:

> I've been getting a couple of audio skips with 2.6.0-test9-mm2.
> Haven't heard a skip since test4 or so, so I'm assuming this is a
> result of the IO scheduler tweaks.
>
> Here's how I can produce a skip:
> Running X, general usage (e.g. couple of xterms, an emacs, maybe a
> mozilla-thunderbird)
> I switch to the first virtual console with Ctrl+Alt+F1. I then switch
> back to X with Alt+F7. As X is redrawing the screen, the audio skips
> once.
> This happens most of the time, but its easier to reproduce when i am
> compiling something, and also when I cycle through the virtual
> consoles before switching back to X.


Unlikely to be an IO scheduler change.

Switching from X to console or back can cause high CPU scheduling
latencies. I haven't tried to discover why.


2003-11-12 03:45:27

by Mike Fedyk

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2

On Wed, Nov 12, 2003 at 12:18:33PM +1100, Nick Piggin wrote:
> Switching from X to console or back can cause high CPU scheduling
> latencies. I haven't tried to discover why.

I've heard that it's because of the locking in the tty layer.

2003-11-12 20:10:49

by Daniel McNeil

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2 - AIO tests still gets slab corruption

Suparna,

I ran some AIO tests on your lastest patch and do not get any slab
corruptions. However, when I used different i/o sizes (the default is
64k), it looks like the AIOs never complete. I updated my tests to add
more debug output (with -d option). As usual, the tests are here:
http://developer.osdl.org/daniel/AIO/TESTS/

FYI, '-r' sets the readsize.
'-w' sets the writesize.
'-s' sets the filesize.

The tests hang waiting for the AIO writes to complete. I had to hit
^c to get out of the tests. No messages on the console.

Examples:

$ ./aiodio_sparse -d -s 180k -r 18k -w 18k
io_submit() return 10
aiodio_sparse: 10 i/o in flight
child 2223, read loop count 0
child 2223, read loop count 10

(The writes never complete)

$ ./aiodio_sparse -dd -s 180k -r 18k -w 11k
child 2128, read loop count 0
io_submit() return 16
aiodio_sparse: 16 i/o in flight
aiodio_sparse: offset 180224 filesize 184320 inflight 16
aiodio_sparse: io_getevent() returned 1
aiodio_sparse: io_getevent() res 11264 res2 0
io_submit() return 1
child 2128, read loop count 10

(1 write returns, then no more)

$ ~/AIO/AIO_TESTS/aiodio_sparse -dd -s 160k -r 18k -w 18k
[....]
io_submit() return 1
aiodio_sparse: offset 349184 filesize 1793024 inflight 16
aiodio_sparse: io_getevent() returned 1
aiodio_sparse: io_getevent() res 11264 res2 0
io_submit() return 1
aiodio_sparse: offset 360448 filesize 1793024 inflight 16
child 2300, read loop count 20
child 2300, read loop count 30

(writes complete for a while and then stop).

Let me know if you want me to test something else.

Thanks,

Daniel


On Tue, 2003-11-11 at 07:02, Suparna Bhattacharya wrote:
> On Mon, Nov 10, 2003 at 03:42:32PM -0800, Andrew Morton wrote:
> > Daniel McNeil <[email protected]> wrote:
> > >
> > > Andrew,
> > >
> > > test9-mm2 is still getting slab corruption with AIO:
> >
> > Why?
> >
> > > Maximal retry count. Bytes done 0
> > > Slab corruption: start=dc70f91c, expend=dc70f9eb, problemat=dc70f91c
> > > Last user: [<c0192fa3>](__aio_put_req+0xbf/0x200)
> > > Data: 00 01 10 00 00 02 20 00 *********6C ******************************A5
> > > Next: 71 F0 2C .A3 2F 19 C0 71 F0 2C .********************
> > > slab error in check_poison_obj(): cache `kiocb': object was modified after freeing
> > >
> > > With suparna's retry-based-aio-dio patch, there are no kernel messages
> > > and the tests do not see any uninitialized data.
> > >
> > > Any reason not to add suparna's patch to -mm to fix these problems?
> >
> > It relies on infrastructure which is not present in Linus's kernel. We
> > should only be interested in fixing mainline 2.6.x.
> >
> > Furthermore I'd like to see the direct-vs-buffered locking fixes fully
> > implemented against Linus's tree, not -mm. They're almost there, but are
> > not quite complete. Running off and making it dependent on the retry
> > infrastructure is not really helpful.
> >
>
> It was just easier to do this in a non-kludgy way, if we used the
> retry infrastructure. Here's why:
>
> For fixing some of the cases, we run into a situation when we've
> already submitted some of the I/O as AIO (with AIO callbacks set up)
> by the time we realise that we actually need to wait for that to
> complete synchronously before falling back to buffered i/o (otherwise
> we can corrupt file data).
>
> With the retry model it is only the actual wait that occurs
> differently for AIO and Sync I/O, not the submission. So we
> can simply switch to be synchronous at the latter stage.
>
> Having done that, though, I was actually working on trying
> to find a way to do this that could hold for the mainline as well
> (i.e. without using retry infrastructure). The attached patch has
> some special casing tweaks that might do the job; it
> modifies the AIO-DIO callback to wakeup the caller synchronously
> instead of issuing an aio_complete in such situations.
>
> However the existing aio-dio tests do not seem to exercise some
> of those code paths, so I haven't had a chance to verify
> if it really works for that case (i.e. A single AIO-DIO request
> overwriting an allocated region followed by a hole).
>
> The patch should apply to 2.6.0-test9-mm2.
>
> Regards
> Suparna

2003-11-13 11:23:47

by Suparna Bhattacharya

[permalink] [raw]
Subject: Re: 2.6.0-test9-mm2 - AIO tests still gets slab corruption

On Wed, Nov 12, 2003 at 12:10:34PM -0800, Daniel McNeil wrote:
> Suparna,
>
> I ran some AIO tests on your lastest patch and do not get any slab
> corruptions. However, when I used different i/o sizes (the default is
> 64k), it looks like the AIOs never complete. I updated my tests to add
> more debug output (with -d option). As usual, the tests are here:
> http://developer.osdl.org/daniel/AIO/TESTS/

Thanks for unearthing this.
The i/o size combinations you tried involve partial block i/o
which appear to be triggering a situation where a request spans an
allocated region followed by a hole, just the case that I wanted
to see :)

If I correctly understand what is going on, it seems appropriate
to make the fall through to buffered i/o skip the portion
which was written out by already submitted DIO requests -- i.e. to
carry on from where DIO broke off with -ENOTBLK, rather than issue
the entire write from the beginning. That should help address this
problem. It means that we need to be able to return how much
got written out when we hit -ENOTBLK .... that's a slight change in
return semantics - thus needs thinking through.
I had considered doing this earlier, but at that time I didn't see
a specific problem that would arise if we didn't.
Have to work on a patch ...

Regards
Suparna

>
> FYI, '-r' sets the readsize.
> '-w' sets the writesize.
> '-s' sets the filesize.
>
> The tests hang waiting for the AIO writes to complete. I had to hit
> ^c to get out of the tests. No messages on the console.
>
> Examples:
>
> $ ./aiodio_sparse -d -s 180k -r 18k -w 18k
> io_submit() return 10
> aiodio_sparse: 10 i/o in flight
> child 2223, read loop count 0
> child 2223, read loop count 10
>
> (The writes never complete)
>
> $ ./aiodio_sparse -dd -s 180k -r 18k -w 11k
> child 2128, read loop count 0
> io_submit() return 16
> aiodio_sparse: 16 i/o in flight
> aiodio_sparse: offset 180224 filesize 184320 inflight 16
> aiodio_sparse: io_getevent() returned 1
> aiodio_sparse: io_getevent() res 11264 res2 0
> io_submit() return 1
> child 2128, read loop count 10
>
> (1 write returns, then no more)
>
> $ ~/AIO/AIO_TESTS/aiodio_sparse -dd -s 160k -r 18k -w 18k
> [....]
> io_submit() return 1
> aiodio_sparse: offset 349184 filesize 1793024 inflight 16
> aiodio_sparse: io_getevent() returned 1
> aiodio_sparse: io_getevent() res 11264 res2 0
> io_submit() return 1
> aiodio_sparse: offset 360448 filesize 1793024 inflight 16
> child 2300, read loop count 20
> child 2300, read loop count 30
>
> (writes complete for a while and then stop).
>
> Let me know if you want me to test something else.
>
> Thanks,
>
> Daniel
>
>
> On Tue, 2003-11-11 at 07:02, Suparna Bhattacharya wrote:
> > On Mon, Nov 10, 2003 at 03:42:32PM -0800, Andrew Morton wrote:
> > > Daniel McNeil <[email protected]> wrote:
> > > >
> > > > Andrew,
> > > >
> > > > test9-mm2 is still getting slab corruption with AIO:
> > >
> > > Why?
> > >
> > > > Maximal retry count. Bytes done 0
> > > > Slab corruption: start=dc70f91c, expend=dc70f9eb, problemat=dc70f91c
> > > > Last user: [<c0192fa3>](__aio_put_req+0xbf/0x200)
> > > > Data: 00 01 10 00 00 02 20 00 *********6C ******************************A5
> > > > Next: 71 F0 2C .A3 2F 19 C0 71 F0 2C .********************
> > > > slab error in check_poison_obj(): cache `kiocb': object was modified after freeing
> > > >
> > > > With suparna's retry-based-aio-dio patch, there are no kernel messages
> > > > and the tests do not see any uninitialized data.
> > > >
> > > > Any reason not to add suparna's patch to -mm to fix these problems?
> > >
> > > It relies on infrastructure which is not present in Linus's kernel. We
> > > should only be interested in fixing mainline 2.6.x.
> > >
> > > Furthermore I'd like to see the direct-vs-buffered locking fixes fully
> > > implemented against Linus's tree, not -mm. They're almost there, but are
> > > not quite complete. Running off and making it dependent on the retry
> > > infrastructure is not really helpful.
> > >
> >
> > It was just easier to do this in a non-kludgy way, if we used the
> > retry infrastructure. Here's why:
> >
> > For fixing some of the cases, we run into a situation when we've
> > already submitted some of the I/O as AIO (with AIO callbacks set up)
> > by the time we realise that we actually need to wait for that to
> > complete synchronously before falling back to buffered i/o (otherwise
> > we can corrupt file data).
> >
> > With the retry model it is only the actual wait that occurs
> > differently for AIO and Sync I/O, not the submission. So we
> > can simply switch to be synchronous at the latter stage.
> >
> > Having done that, though, I was actually working on trying
> > to find a way to do this that could hold for the mainline as well
> > (i.e. without using retry infrastructure). The attached patch has
> > some special casing tweaks that might do the job; it
> > modifies the AIO-DIO callback to wakeup the caller synchronously
> > instead of issuing an aio_complete in such situations.
> >
> > However the existing aio-dio tests do not seem to exercise some
> > of those code paths, so I haven't had a chance to verify
> > if it really works for that case (i.e. A single AIO-DIO request
> > overwriting an allocated region followed by a hole).
> >
> > The patch should apply to 2.6.0-test9-mm2.
> >
> > Regards
> > Suparna
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-aio' in
> the body to [email protected]. For more info on Linux AIO,
> see: http://www.kvack.org/aio/
> Don't email: <a href=mailto:"[email protected]">[email protected]</a>

--
Suparna Bhattacharya ([email protected])
Linux Technology Center
IBM Software Labs, India