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
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
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)
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.
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
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%
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
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.
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;
}
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.
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
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.
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.
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
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