2004-09-16 09:49:54

by Andrew Morton

[permalink] [raw]
Subject: 2.6.9-rc2-mm1


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/


- Added lots of Ingo's low-latency patches

- Lockmeter doesn't compile. Don't enable CONFIG_LOCKMETER.

- Several architecture updates



linus.patch
bk-acpi.patch
bk-agpgart.patch
bk-alsa.patch
bk-cpufreq.patch
bk-driver-core.patch
bk-ia64.patch
bk-ieee1394.patch
bk-input.patch
bk-libata.patch
bk-netdev.patch
bk-ntfs.patch
bk-pci.patch
bk-pnp.patch
bk-power.patch
bk-scsi.patch
bk-scsi-target.patch
bk-usb.patch
bk-watchdog.patch

External trees

-remove-set_fs-from-compat-sched-affinity-syscalls.patch
-allow-compat-long-sized-bitmasks-in-affinity-code.patch
-fix-schedstats-null-deref-in-sched_exec.patch
-rock-fix.patch
-2681-es7000-subarch-update.patch
-fix-abi-in-set_mempolicy.patch
-ksysfs-warning-fix.patch
-kobject_uevent-warning-fix.patch
-pointer-dereference-before-null-check-in-acpi-thermal-driver.patch
-ppc64-lparcfg-fixes-for-processor-counts.patch
-ppc64-lparcfg-whitespace-and-wordwrap-cleanup.patch
-ppc64-remove-spinline-config-option.patch
-ppc64-rtas-error-logs-can-appear-twice-in-dmesg.patch
-ppc64-enable-numa-api.patch
-ppc64-give-the-kernel-an-opd-section.patch
-ppc64-use-nm-synthetic-where-available.patch
-ppc64-clean-up-kernel-command-line-code.patch
-ppc64-remove-unused-ppc64_calibrate_delay.patch
-ppc64-remove-eeh-command-line-device-matching-code.patch
-ppc64-use-early_param.patch
-ppc64-restore-smt-enabled=off-kernel-command-line-option.patch
-ppc64-enable-power5-low-power-mode-in-idle-loop.patch
-ppc64-clean-up-idle-loop-code.patch
-ppc64-remove-wno-uninitialized.patch
-ppc64-fix-real-bugs-uncovered-by-wno-uninitialized-removal.patch
-ppc64-fix-spurious-warnings-uncovered-by-wno-uninitialized-removal.patch
-hvc-uninitialised-variable.patch
-ppc64-improved-vsid-allocation-algorithm.patch
-ppc64fix-missing-register-in-altivec-context-switch.patch
-ppc32-remove-wno-uninitialized.patch
-ppc32-pmac-cpufreq-for-ibook-2-600.patch
-searching-for-parameters-in-make-menuconfig.patch
-menuconfig-regex-search-dependencies.patch
-pnpbios-parser-bugfix.patch
-shmem-dont-slab_hwcache_align.patch
-shmem-inodes-and-links-need-lowmem.patch
-shmem-no-sbinfo-for-shm-mount.patch
-shmem-no-sbinfo-for-tmpfs-mount.patch
-shmem-avoid-the-shmem_inodes-list.patch
-shmem-rework-majmin-and-zero_page.patch
-shmem-copyright-file_setup-trivia.patch
-allocate-correct-amount-of-memory-for-pid-hash.patch
-explicity-align-tss-stack.patch
-remember-to-check-return-value-from-__copy_to_user-in.patch
-make-kmem_find_general_cachep-static-in-slabc.patch
-mark-md_interrupt_thread-static.patch
-mark-dq_list_lock-static.patch
-remove-exports-from-audit-code.patch
-add-prctl-to-modify-current-comm.patch
-blk-max_sectors-tunables.patch
-rtl8150-fix.patch
-hvcs-fix-to-replace-yield-with-tty_wait_until_sent-in.patch
-uml-remove-ghash.patch
-uml-eliminate-useless-thread-field.patch
-uml-fix-scheduler-race.patch
-uml-fix-binary-layout-assumption.patch
-uml-disable-pending-signals-across-a-reboot.patch
-uml-refer-to-config_usermode-not-to-config_um.patch
-uml-remove-commented-old-code-in-kconfig.patch
-uml-smp-build-fix.patch
-uml-remove-config_uml_smp.patch
-highmem-flushes.patch
-add-support-for-word-length-uart-registers.patch
-show-aggregate-per-process-counters-in-proc-pid-stat-2.patch
-fix-uninitialized-warnings-in-mempolicyc.patch
-small-linux-hardirqh-tweaks.patch
-bsd-disklabel-handle-more-than-8-partitions.patch
-asm-softirqh-crept-back-in-h8300-and-sh64.patch
-mark-amiflop-non-unloadable.patch
-netpoll-endian-fixes.patch
-missing-pci_disable_device.patch
-fbdev-radeonfb-remove-bogus-radeonfb_read-write.patch
-add-missing-pci_disable_device-for-pci-based-usb-hcd.patch

Merged

+x86_64-profiling-oops-workaround.patch

Work around the x86_64 profile_pc() crash

+reduce-ioremap-memory-size-for-adaptec-i2o-controllers.patch

i2o driver fix

+hvc_console-fix-to-protect-hvc_write-against-ldisc-write.patch

HVC driver fix

+back-out-siginfo_tsi_rusage-from-waitid-changes.patch

Signal API fixup

-lazy-tsss-i-o-bitmap-copy-for-x86-64.patch
-lazy-tsss-i-o-bitmap-copy-for-x86-64-fix.patch

Dropped

-lazy-tsss-i-o-bitmap-copy-for-i386.patch
+ioport-cache-2.6.9-rc1-mm5-A0.patch
+ioport-cache-gpf-2.6.9-rc1-mm5-A3.patch

x86 TSS speedup

+show-aggregate-per-process-counters-in-proc-pid-stat-2.patch

Fixed up accounting patch

+fix-posix-timers-leak.patch

Fix leaking of posix timers

+qlogic-oops-fix.patch

Fix qlogic oops

+radeon-do-not-blank-screen-during-suspend.patch

radeon suspend fix

+ppc32-fix-arch-ppc-boot-common-ns16550c.patch
+ppc64-force_sigsegv-fixes.patch
+ppc64-powersave_nap-sysctl.patch
+ppc64-replace-mmu_context_queue-with-idr-allocator.patch
+ppc64-iseries-build-fixes.patch
+ppc64-clean-up-asm-mmuh.patch
+ppc64-fix-some-bogus-warnings-cleanup-tlbie-code-path.patch
+ppc64-remove-a-and-aa.patch

ppc[64] updates

+x86-64-add-atomic64_t.patch
+x86-64-make-apic-errors-kern_debug.patch
+x86-64-add-apic=verbosequietdebug.patch
+x86-64-update-defconfig.patch
+x86-64-avoid-deadlock-in-page-fault-handler.patch
+x86-64-avoid-panic-when-apic-id-cannot-be-set.patch
+x86-64-io-apic-suspend-resume.patch
+x86-64-make-machine-check-handler-configurable.patch
+x86-64-remove-warn_on-in-smp_call_function.patch
+x86-64-print-mce-bank-enable-mask-in-hex.patch
+x86-64-add-might_sleeps-to-more-_user-functions.patch
+x86-64-fix-for-mem=-on-numa-systems.patch
+x86-64-sibling-map-fix-for-clustered-mode.patch
+x86-64-synchronize-videos-with-i386.patch
+x86-64-add-read-implies-exec-macro.patch
+x86-64-x86-dont-pass-cr2-on-alignment-faults.patch
+x86-64-turn-tss-into-per-cpu-data.patch
+x86-64-copy-ioperm-bitmaps-more-efficiently-at-context-switch.patch

x86_64 updates

+fix-for-fsync-ignoring-writing-errors.patch

fsync() I/O error reporting fix

-tty_io-hangup-locking.patch
+tty-locking-for-269rc2.patch
+tty-locking-for-269rc2-fixes.patch

Alan's tty locking rework

-lockmeter.patch
+lockmeter-2.patch

New lockmeter patch (doesn't compile)

+ext3-reservations-window-allocation-fix.patch
+ext3-reservation-window-size-increase-incorrectly-fix.patch

ext3 reservation fixes

+sched-sched-add-load-balance-flag-fix.patch
+sched-make-domain-setup-overridable-fix.patch
+sched-print-preempt-count.patch

CPU scheduler fixes

+preempt-smp.patch
+preempt-cleanup.patch
+preempt-cleanup-fix.patch
+add-lock_need_resched.patch
+sched-add-cond_resched_softirq.patch
+sched-fix-latency-in-random-driver.patch
+sched-ext3-fix-scheduling-latencies-in-ext3.patch
+sched-vfs-fix-scheduling-latencies-in-invalidate_inodes.patch
+sched-vfs-fix-scheduling-latencies-in-prune_dcache-and-select_parent.patch
+sched-net-fix-scheduling-latencies-in-netstat.patch
+sched-net-fix-scheduling-latencies-in-__release_sock.patch
+sched-mm-fix-scheduling-latencies-in-copy_page_range.patch
+sched-mm-fix-scheduling-latencies-in-unmap_vmas.patch
+sched-mm-fix-scheduling-latencies-in-get_user_pages.patch
+sched-mm-fix-scheduling-latencies-in-filemap_sync.patch
+sched-pty-fix-scheduling-latencies-in-ptyc.patch
+fix-keventd-execution-dependency.patch
+sched-fix-scheduling-latencies-in-mttrc.patch
+sched-fix-scheduling-latencies-in-vgaconc.patch
+sched-fix-scheduling-latencies-for-preempt-kernels.patch

Ingo's latency stuff

-b44-add-47xx-support.patch

Was old

+reiserfs-rename-struct-key.patch

Fix `struct key' naming clash

+cpusets-document-proc-status-allowed-fields.patch
-cpusets-fix-possible-race-in-cpuset_tasks_read.patch
+cpusets-alternative-fix-for-possible-race-in.patch
+cpusets-remove-casts.patch

cpusets fixes

+reiser4-cond_resched-build-fix.patch
+reiser4-generic_acl-fix.patch

reiser4 tweaks

+m32r-remove-network-drivers.patch
+m32r-modify-drivers-net-smc91xc-for.patch
+m32r-modify-drivers-net-nec-for-m32r.patch
+m32r-slim-arch-m32r-kconfig.patch
+m32r-upgrade-include-asm-m32r-atomich.patch
+m32r-fix-to-build-smp-kernel.patch
+m32r-upgrade-for-mm5-changes.patch

m32r architecture updates

+cfq-v2-update.patch
+cfq-fix-allocated-counts.patch
+cfq-warnings.patch

CFQ fixes

-fix-for-spurious-interrupts-on-e100-resume.patch
+fix-for-spurious-interrupts-on-e100-resume-2.patch

New version

+fbcon-fix-fbcons-setup-routine.patch
+fbdev-arrange-driver-order-in-makefile.patch
+fbdev-fix-scrolling-corruption.patch
+radeonfb-fix-warnings-about-uninitialized-variables.patch
+fbdev-remove-i810fb-explicit-agp-initialization-hack.patch

fbcon/fbdev updates

+fix-for-fsync-ignoring-writing-errors-fat-fix.patch

fatfs fix

+pidhashing-retain-older-vendor-copyright.patch
+pidhashing-lower-pid_max_limit-for-32-bit-machines.patch
+pidhashing-enforce-pid_max_limit-in-sysctls.patch

PID hashing updates

-next_thread-bug-fixes.patch

Dropped

+allow-multiple-inputs-in-alternative_input.patch

Tweak the alternative-instruction handling

+autofs4-allow-map-update-recognition.patch

autofs fix

+fake_ino-fixes.patch

procfs fix

+fix-of-race-in-writeback_inodes.patch

Writeback race fix

+rearrange-of-inode_lock-in-writeback_inodes.patch

Writeback microoptimisation

+lighten-mmlist_lock.patch

mm locking speedup

+updates-to-rcu-documentation.patch

Documentation

+fix-sysrq-handling-bug-in-sn_consolec.patch

ia64 driver fix

+incorrect-pci-interrupt-assignment-on-es7000-for-platform-gsi.patch
+incorrect-pci-interrupt-assignment-on-es7000-for-platform-gsi-fix.patch
+incorrect-pci-interrupt-assignment-on-es7000-for-pin-zero.patch

ES7000 updates

+fix-task_mmuc-text-size-reporting.patch

/proc accounting fix

+uml-update-handle_irq_event.patch
+uml-finish-the-signals-across-a-reboot-fix.patch
+uml-finish-conversion-to-sigjmp_buf-siglongjmp.patch
+uml-fix-a-signal-race.patch
+uml-enable-the-timer-after-the-timer-handler.patch
+uml-convert-the-real-time-clock-to-gettimeofday-from-rdtsc.patch
+uml-cleaning-up.patch
+uml-let-page-faults-always-be-delivered-immediately.patch
+uml-eliminate-signal-order-delivery-dependency.patch
+uml-iomem-fix.patch
+uml-fix-call-to-sys_clone.patch
+uml-copy_user-fixes.patch

UML updates

+sparc32-add-atomic_sub_and_test.patch

sparc32 bitops update

+make-console_conditional_schedule-__sched-and-use-cond_resched.patch

cleanup

+ide-remove-obsolete-config_blk_dev_adma.patch

Kconfig cleanup

+fix-driver-name-in-eth1394-as-returned-by-ethtool_gdrvinfo.patch

1394 net driver ethtool fix

+mips-fixed-do_signal-in-arch-mips-kernel-signalc.patch

MIPS fix

+time-interpolators-logic-fix.patch

Fix the new time interpolator code

+document-arm-pci=firmware-option.patch

Kconfig help

+update-ixp4xx-mtd-driver-from-cvs-mtd.patch
+add-mtd-map-driver-for-intel-ixp2000-npu.patch

MTD driver updates

+remove-i2o_core.patch

Dead file

+bio_alloc-cleanup.patch

Code cleanup

+report-per-process-pagetable-usage.patch

Enhanced memory accounting

+tune-vmalloc-size.patch
+tune-vmalloc-size-docs.patch

Allow boot-time setting of the vmalloc pool size (x86 only)

+reduce-_do_execve-stack-usage.patch
+reduce-_do_execve-stack-usage-fix.patch

Stack reductions

+remove-lock_section-from-x86_64-spin_lock-asm.patch

x86_64 fix

+fix-write-return-values-for-tmpfs.patch
+fix-write-return-values-for-reiserfs.patch

Fix a truncation problem with large write()s




number of patches in -mm: 486
number of changesets in external trees: 710
number of patches in -mm only: 468
total patches: 1178



All 486 patches:


linus.patch

x86_64-profiling-oops-workaround.patch
x86_64 profiling oops workaround

reduce-ioremap-memory-size-for-adaptec-i2o-controllers.patch
reduce ioremap memory size for Adaptec I2O controllers

hvc_console-fix-to-protect-hvc_write-against-ldisc-write.patch
hvc_console fix to protect hvc_write against ldisc write after hvc_close

back-out-siginfo_tsi_rusage-from-waitid-changes.patch
back out siginfo_t.si_rusage from waitid changes

ioport-cache-2.6.9-rc1-mm5-A0.patch
x86 TSS: io port caching

ioport-cache-gpf-2.6.9-rc1-mm5-A3.patch
x86 TSS: io bitmap lazy updating

distinct-tgid-tid-cpu-usage.patch
distinct tgid/tid CPU usage

show-aggregate-per-process-counters-in-proc-pid-stat-2.patch
show aggregate per-process counters in /proc/PID/stat 2

fix-posix-timers-leak.patch
fix posix-timers leak

exec-fix-posix-timers-leak-and-pending-signal-loss.patch
exec: fix posix-timers leak and pending signal loss

__set_page_dirty_nobuffers-mappings.patch
__set_page_dirty_nobuffers mappings

sysfs-backing-store-prepare-file_operations.patch
sysfs backing store - prepare sysfs_file_operations helpers

sysfs-backing-store-prepare-file_operations-fix.patch
fix oops with firmware loading

sysfs-backing-store-add-sysfs_dirent.patch
sysfs backing store - add sysfs_direct structure

sysfs-backing-store-use-sysfs_dirent-tree-in-removal.patch
sysfs backing store: use sysfs_dirent based tree in file removal

sysfs-backing-store-use-sysfs_dirent-tree-in-dir-file_operations.patch
sysfs backing store: use sysfs_dirent based tree in dir file operations

sysfs-backing-store-stop-pinning-dentries-inodes-for-leaves.patch
sysfs backing store: stop pinning dentries/inodes for leaf entries

bk-acpi.patch

acpi-compile-fix.patch
acpi-compile-fix

acpi-x86_64-build-fix.patch
acpi x86_64 build fix

bk-agpgart.patch

bk-alsa.patch

bk-cpufreq.patch

bk-driver-core.patch

bk-ia64.patch

bk-ieee1394.patch

bk-input.patch

fix-smm-failures-on-e750x-systems.patch
fix SMM failures on E750x systems

vsxxxaac-fixups.patch
vsxxxaa.c fixups

allow-i8042-register-location-override-2.patch
allow i8042 register location override #2

bk-libata.patch

bk-netdev.patch

bk-ntfs.patch

bk-pci.patch

bk-pnp.patch

bk-power.patch

bk-scsi.patch

bk-scsi-target.patch

qlogic-oops-fix.patch
qlogic oops fix

tmscsim-build-fix.patch
tmscsim-build-fix

bk-usb.patch

bk-watchdog.patch

mm.patch
add -mmN to EXTRAVERSION

mm-swsusp-make-sure-we-do-not-return-to-userspace-where-image-is-on-disk.patch
-mm swsusp: make sure we do not return to userspace where image is on disk

mm-swsusp-copy_page-is-harmfull.patch
-mm swsusp: copy_page is harmfull

swsusp-fix-highmem.patch
swsusp: fix highmem

swsusp-do-not-disable-platform-swsusp-because-s4bios-is-available.patch
swsusp: do not disable platform swsusp because S4bios is available

swsusp-fix-default-powerdown-mode.patch
swsusp: fix default powerdown mode

mark-old-power-managment-as-deprecated-and-clean-it-up.patch
Mark old power managment as deprecated and clean it up

use-global-system_state-to-avoid-system-state-confusion.patch
Use global system_state to avoid system-state confusion

swsusp-error-do-not-oops-after-allocation-failure.patch
swsusp: do not oops after allocation failure

swsusp-documentation-update.patch
swsusp: Documentation update

small-cleanups-for-swsusp.patch
Small cleanups for swsusp

swsusp-kill-crash-when-too-much-memory-is-free.patch
swsusp: kill crash when too much memory is free

swsusp-progress-in-percent.patch
swsusp: progress in percent

swsusp-clean-up-reading.patch
swsusp: clean up reading

swsusp-another-simplification.patch
swsusp: another simplification

radeon-do-not-blank-screen-during-suspend.patch
Radeon: do not blank screen during suspend

acpi-proc-simplify-error-handling.patch
acpi proc: simplify error handling

pegasus-fixes.patch
pegasus.c fixes

network-packet-tracer-module-using-kprobes-interface.patch
Network packet tracer module using kprobes interface.

kgdb-ga.patch
kgdb stub for ia32 (George Anzinger's one)
kgdbL warning fix
kgdb buffer overflow fix
kgdbL warning fix
kgdb: CONFIG_DEBUG_INFO fix
x86_64 fixes
correct kgdb.txt Documentation link (against 2.6.1-rc1-mm2)
kgdb: fix for recent gcc
kgdb warning fixes
THREAD_SIZE fixes for kgdb
Fix stack overflow test for non-8k stacks
kgdb-ga.patch fix for i386 single-step into sysenter
fix TRAP_BAD_SYSCALL_EXITS on i386
add TRAP_BAD_SYSCALL_EXITS config for i386

kgdb-is-incompatible-with-kprobes.patch
kgdb-is-incompatible-with-kprobes

kgdboe-netpoll.patch
kgdb-over-ethernet via netpoll
kgdboe: fix configuration of MAC address

kgdb-x86_64-support.patch
kgdb-x86_64-support.patch for 2.6.2-rc1-mm3
kgdb-x86_64-warning-fixes

kgdb-ia64-support.patch
IA64 kgdb support
ia64 kgdb repair and cleanup
ia64 kgdb fix

kgdb-ia64-fixes.patch
kgdb: ia64 fixes

make-tree_lock-an-rwlock.patch
make mapping->tree_lock an rwlock

must-fix.patch
must fix lists update
must fix list update
mustfix update
must-fix update
mustfix lists

ppc32-fix-arch-ppc-boot-common-ns16550c.patch
ppc32: Fix arch/ppc/boot/common/ns16550.c

ppc64-force_sigsegv-fixes.patch
ppc64: force_sigsegv fixes

ppc64-powersave_nap-sysctl.patch
ppc64: powersave_nap sysctl

ppc64-replace-mmu_context_queue-with-idr-allocator.patch
ppc64: replace mmu_context_queue with idr allocator

ppc64-iseries-build-fixes.patch
ppc64: iseries build fixes

ppc64-clean-up-asm-mmuh.patch
ppc64: clean up asm/mmu.h

ppc64-fix-some-bogus-warnings-cleanup-tlbie-code-path.patch
ppc64: Fix some bogus warnings & cleanup tlbie code path

ppc64-remove-a-and-aa.patch
ppc64: Remove A() and AA()

x86-64-add-atomic64_t.patch
x86-64: add atomic64_t

x86-64-make-apic-errors-kern_debug.patch
x86-64: make APIC errors KERN_DEBUG

x86-64-add-apic=verbosequietdebug.patch
x86-64: add apic={verbose,quiet,debug}

x86-64-update-defconfig.patch
x86-64: update defconfig

x86-64-avoid-deadlock-in-page-fault-handler.patch
x86-64: avoid deadlock in page fault handler

x86-64-avoid-panic-when-apic-id-cannot-be-set.patch
x86-64: avoid panic when APIC ID cannot be set

x86-64-io-apic-suspend-resume.patch
x86-64: IO-APIC suspend/resume

x86-64-make-machine-check-handler-configurable.patch
x86-64: make machine check handler configurable

x86-64-remove-warn_on-in-smp_call_function.patch
x86-64: remove WARN_ON in smp_call_function

x86-64-print-mce-bank-enable-mask-in-hex.patch
x86-64: print mce bank enable mask in hex

x86-64-add-might_sleeps-to-more-_user-functions.patch
x86-64: add might_sleeps to more *_user functions

x86-64-fix-for-mem=-on-numa-systems.patch
x86-64: fix for mem= on NUMA systems

x86-64-sibling-map-fix-for-clustered-mode.patch
x86-64: sibling map fix for clustered mode

x86-64-synchronize-videos-with-i386.patch
x86-64: synchronize video.S with i386

x86-64-add-read-implies-exec-macro.patch
x86-64: add read implies exec macro

x86-64-x86-dont-pass-cr2-on-alignment-faults.patch
x86-64, x86: don't pass CR2 on alignment faults

x86-64-turn-tss-into-per-cpu-data.patch
x86-64: turn tss into per cpu data

x86-64-copy-ioperm-bitmaps-more-efficiently-at-context-switch.patch
x86-64: copy ioperm bitmaps more efficiently at context switch

fix-for-fsync-ignoring-writing-errors.patch
fix for fsync ignoring writing errors

ppc64-reloc_hide.patch

tty-locking-for-269rc2.patch
tty locking for 2.6.9rc2

tty-locking-for-269rc2-fixes.patch
tty-locking-for-269rc2 fixes

invalidate_inodes-speedup.patch
invalidate_inodes speedup
more invalidate_inodes speedup fixes

dev-mem-restriction-patch.patch
/dev/mem restriction patch

get_user_pages-handle-VM_IO.patch
fix get_user_pages() against mappings of /dev/mem

jbd-remove-livelock-avoidance.patch
JBD: remove livelock avoidance code in journal_dirty_data()

journal_add_journal_head-debug.patch
journal_add_journal_head-debug

list_del-debug.patch
list_del debug check

unplug-can-sleep.patch
unplug functions can sleep

firestream-warnings.patch
firestream warnings

ext3_rsv_cleanup.patch
ext3 block reservation patch set -- ext3 preallocation cleanup

ext3_rsv_base.patch
ext3 block reservation patch set -- ext3 block reservation
ext3 reservations: fix performance regression
ext3 block reservation patch set -- mount and ioctl feature
ext3 block reservation patch set -- dynamically increase reservation window
ext3 reservation ifdef cleanup patch
ext3 reservation max window size check patch
ext3 reservation file ioctl fix

ext3-reservation-default-on.patch
ext3 reservation: default to on

ext3-lazy-discard-reservation-window-patch.patch
ext3 lazy discard reservation window patch
ext3 discard reservation in last iput fix patch
Fix lazy reservation discard
ext3 reservations: bad_inode fix
ext3 reservation discard race fix

ext3-reservations-spelling-fixes.patch
ext3 reservations: Spelling fixes

ext3-reservations-renumber-the-ext3-reservations-ioctls.patch
ext3 reservations: Renumber the ext3 reservations ioctls

ext3-reservations-remove-unneeded-declaration.patch
ext3 reservations: Remove unneeded declaration.

ext3-reservations-turn-ext3-per-sb-reservations-list-into-an-rbtree.patch
ext3 reservations: Turn ext3 per-sb reservations list into an rbtree.

ext3-reservations-split-the-reserve_window-struct-into-two.patch
ext3 reservations: Split the "reserve_window" struct into two

ext3-reservations-smp-protect-the-reservation-during-allocation.patch
ext3 reservations: SMP-protect the reservation during allocation

ext3-reservations-window-allocation-fix.patch
ext3 reservations window allocation fix

ext3-reservation-window-size-increase-incorrectly-fix.patch
ext3 reservation window size increase incorrectly fix

perfctr-core.patch
From: Mikael Pettersson <[email protected]>
Subject: [PATCH][1/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: core
CONFIG_PERFCTR=n build fix
From: Mikael Pettersson <[email protected]>
Subject: [PATCH][6/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: misc

perfctr-i386.patch
From: Mikael Pettersson <[email protected]>
Subject: [PATCH][2/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: i386
perfctr #if/#ifdef cleanup
perfctr Dothan support
perfctr x86_tests build fix
perfctr x86 init bug
perfctr: K8 fix for internal benchmarking code
perfctr x86 update

perfctr-prescott-fix.patch
Prescott fix for perfctr

perfctr-x86_64.patch
From: Mikael Pettersson <[email protected]>
Subject: [PATCH][3/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: x86_64

perfctr-ppc.patch
From: Mikael Pettersson <[email protected]>
Subject: [PATCH][4/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: PowerPC
perfctr ppc32 update
perfctr update 4/6: PPC32 cleanups
perfctr ppc32 buglet fix

perfctr-virtualised-counters.patch
From: Mikael Pettersson <[email protected]>
Subject: [PATCH][5/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: virtualised counters
perfctr update 6/6: misc minor cleanups
perfctr update 3/6: __user annotations
perfctr-cpus_complement-fix
perfctr cpumask cleanup
perfctr SMP hang fix

make-perfctr_virtual-default-in-kconfig-match-recommendation.patch
Make PERFCTR_VIRTUAL default in Kconfig match recommendation in help text

perfctr-ifdef-cleanup.patch
perfctr ifdef cleanup

perfctr-update-2-6-kconfig-related-updates.patch
perfctr update 2/6: Kconfig-related updates

perfctr-update-5-6-reduce-stack-usage.patch
perfctr update 5/6: reduce stack usage

perfctr-low-level-documentation.patch
perfctr low-level documentation
perfctr documentation update

perfctr-inheritance-1-3-driver-updates.patch
perfctr inheritance 1/3: driver updates
perfctr inheritance illegal sleep bug

perfctr-inheritance-2-3-kernel-updates.patch
perfctr inheritance 2/3: kernel updates

perfctr-inheritance-3-3-documentation-updates.patch
perfctr inheritance 3/3: documentation updates

perfctr-inheritance-locking-fix.patch
perfctr inheritance locking fix

ext3-online-resize-patch.patch
ext3: online resizing
ext3-online-resize-warning-fix

sched-trivial-sched-changes.patch
sched: trivial sched changes

sched-add-cpu_down_prepare-notifier.patch
sched: add CPU_DOWN_PREPARE notifier

sched-integrate-cpu-hotplug-and-sched-domains.patch
sched: integrate cpu hotplug and sched domains

sched-arch_destroy_sched_domains-warning-fix.patch
sched: arch_destroy_sched_domains warning fix

sched-sched-add-load-balance-flag.patch
sched: sched add load balance flag

sched-sched-add-load-balance-flag-fix.patch
sched: ia64 load balancing fix

sched-remove-disjoint-numa-domains-setup.patch
sched: remove disjoint NUMA domains setup

sched-make-domain-setup-overridable.patch
sched: make domain setup overridable

sched-make-domain-setup-overridable-rename.patch
sched-make-domain-setup-overridable: rename IDLE

sched-make-domain-setup-overridable-fix.patch
sched: make domain setup overridable fix

sched-ia64-add-disjoint-numa-domain-support.patch
sched: IA64 add disjoint NUMA domain support

sched-fix-domain-debug-for-isolcpus.patch
sched: fix domain debug for isolcpus

sched-enable-sd_load_balance.patch
sched: enable SD_LOAD_BALANCE

sched-hotplug-add-a-cpu_down_failed-notifier.patch
sched: hotplug add a CPU_DOWN_FAILED notifier

sched-use-cpu_down_failed-notifier.patch
sched: use CPU_DOWN_FAILED notifier

sched-fixes-for-ia64-domain-setup.patch
sched: fixes for ia64 domain setup

sched-print-preempt-count.patch
sched-print-preempt-count

preempt-smp.patch
improve preemption on SMP

preempt-cleanup.patch
preempt cleanup

preempt-cleanup-fix.patch
preempt-cleanup-fix

add-lock_need_resched.patch
add lock_need_resched()

sched-add-cond_resched_softirq.patch
sched: add cond_resched_softirq()

sched-fix-latency-in-random-driver.patch
sched: fix latency in random driver

sched-ext3-fix-scheduling-latencies-in-ext3.patch
sched: ext3: fix scheduling latencies in ext3

sched-vfs-fix-scheduling-latencies-in-invalidate_inodes.patch
sched: vfs: fix scheduling latencies in invalidate_inodes()

sched-vfs-fix-scheduling-latencies-in-prune_dcache-and-select_parent.patch
sched: vfs: fix scheduling latencies in prune_dcache() and select_parent()

sched-net-fix-scheduling-latencies-in-netstat.patch
sched: net: fix scheduling latencies in netstat

sched-net-fix-scheduling-latencies-in-__release_sock.patch
sched: net: fix scheduling latencies in __release_sock

sched-mm-fix-scheduling-latencies-in-copy_page_range.patch
sched: mm: fix scheduling latencies in copy_page_range()

sched-mm-fix-scheduling-latencies-in-unmap_vmas.patch
sched: mm: fix scheduling latencies in unmap_vmas()

sched-mm-fix-scheduling-latencies-in-get_user_pages.patch
sched: mm: fix scheduling latencies in get_user_pages()

sched-mm-fix-scheduling-latencies-in-filemap_sync.patch
sched: mm: fix scheduling latencies in filemap_sync()

sched-pty-fix-scheduling-latencies-in-ptyc.patch
sched: pty: fix scheduling latencies in pty.c

fix-keventd-execution-dependency.patch
fix keventd execution dependency

sched-fix-scheduling-latencies-in-mttrc.patch
sched: fix scheduling latencies in mttr.c

sched-fix-scheduling-latencies-in-vgaconc.patch
sched: fix scheduling latencies in vgacon.c

sched-fix-scheduling-latencies-for-preempt-kernels.patch
sched: fix scheduling latencies for !PREEMPT kernels

nicksched.patch
nicksched

nicksched-sched_fifo-fix.patch
nicksched: SCHED_FIFO fix

sched-smtnice-fix.patch
sched: SMT nice fix

lockmeter-2.patch
lockmeter: lockmeter for out-of-line-spinlocks
ia64 CONFIG_LOCKMETER fix
lockmeter-build-fix
lockmeter for x86_64

ext3_bread-cleanup.patch
ext3_bread() cleanup

pcmcia-implement-driver-model-support.patch
pcmcia: implement driver model support

pcmcia-update-network-drivers.patch
pcmcia: update network drivers

pcmcia-update-wireless-drivers.patch
pcmcia: update wireless drivers

pcmcia-fix-eject-lockup.patch
pcmcia: fix eject lockup

pcmcia-add-hotplug-support.patch
pcmcia: add *hotplug support

linux-2.6.8.1-49-rpc_workqueue.patch
nfs: RPC: Convert rpciod into a work queue for greater flexibility

linux-2.6.8.1-50-rpc_queue_lock.patch
nfs: RPC: Remove the rpc_queue_lock global spinlock

dvdrw-support-for-267-bk13.patch
DVD+RW support for 2.6.7-bk13

packet-writing-credits.patch
packet-writing: add credits

cdrw-packet-writing-support-for-267-bk13.patch
CDRW packet writing support
packet: remove #warning
packet writing: door unlocking fix
pkt_lock_door() warning fix
Fix race in pktcdvd kernel thread handling
Fix open/close races in pktcdvd
packet writing: review fixups
Remove pkt_dev from struct pktcdvd_device
packet writing: convert to seq_file

dvd-rw-packet-writing-update.patch
Packet writing support for DVD-RW and DVD+RW discs.
Get blockdev size right in pktcdvd after switching discs

packet-writing-docco.patch
packet writing documentation
Trivial CDRW packet writing doc update

control-pktcdvd-with-an-auxiliary-character-device.patch
Control pktcdvd with an auxiliary character device
Subject: Re: 2.6.8-rc2-mm2
control-pktcdvd-with-an-auxiliary-character-device-fix

simplified-request-size-handling-in-cdrw-packet-writing.patch
Simplified request size handling in CDRW packet writing

fix-setting-of-maximum-read-speed-in-cdrw-packet-writing.patch
Fix setting of maximum read speed in CDRW packet writing

packet-writing-reporting-fix.patch
Packet writing reporting fixes

speed-up-the-cdrw-packet-writing-driver.patch
Speed up the cdrw packet writing driver

packet-writing-avoid-bio-hackery.patch
packet writing: avoid BIO hackery

cdrom-buffer-size-fix.patch
cdrom: buffer sizing fix

cpufreq-driver-for-nforce2-kernel-267.patch
cpufreq driver for nForce2

allow-modular-ide-pnp.patch
allow modular ide-pnp

create-nodemask_t.patch
Create nodemask_t
nodemask fix
nodemask build fix

allow-x86_64-to-reenable-interrupts-on-contention.patch
Allow x86_64 to reenable interrupts on contention

serial-cs-and-unusable-port-size-ranges.patch
serial-cs and unusable port size ranges

add-support-for-it8212-ide-controllers.patch
Add support for IT8212 IDE controllers

i386-hotplug-cpu.patch
i386 Hotplug CPU

hotplug-cpu-fix-apic-queued-timer-vector-race.patch
Hotplug cpu: Fix APIC queued timer vector race

hotplug-cpu-move-cpu_online_map-clear-to-__cpu_disable.patch
Hotplug cpu: Move cpu_online_map clear to __cpu_disable

igxb-speedup.patch
igxb speedup

serialize-access-to-ide-devices.patch
serialize access to ide devices

remove-unconditional-pci-acpi-irq-routing.patch
remove unconditional PCI ACPI IRQ routing

propagate-pci_enable_device-errors.patch
propagate pci_enable_device() errors

disable-atykb-warning.patch
disable atykb "too many keys pressed" warning

reiserfs-rename-struct-key.patch
reiserfs-rename-struct-key

add-some-key-management-specific-error-codes.patch
Add some key management specific error codes

keys-new-error-codes-for-alpha-mips-pa-risc-sparc-sparc64.patch
keys: new error codes for Alpha, MIPS, PA-RISC, Sparc & Sparc64

implement-in-kernel-keys-keyring-management.patch
implement in-kernel keys & keyring management
keys build fix
keys & keyring management update patch
implement-in-kernel-keys-keyring-management-update-build-fix
implement-in-kernel-keys-keyring-management-update-build-fix-2
key management patch cleanup

make-key-management-code-use-new-the-error-codes.patch
Make key management code use new the error codes

keys-permission-fix.patch
keys: permission fix

keys-keyring-management-keyfs-patch.patch
keys & keyring management: keyfs patch

keyfs-build-fix.patch
keyfs build fix

implement-in-kernel-keys-keyring-management-afs-workaround.patch
implement-in-kernel-keys-keyring-management afs workaround

support-supplementary-information-for-request-key.patch
Support supplementary information for request-key

make-key-management-use-syscalls-not-prctls.patch
Make key management use syscalls not prctls

move-syscall-declarations-from-linux-keyh-2.patch
Move syscall declarations from linux/key.h #2

make-key-management-use-syscalls-not-prctls-build-fix.patch
make-key-management-use-syscalls-not-prctls build fix

export-file_ra_state_init-again.patch
Export file_ra_state_init() again

cachefs-filesystem.patch
CacheFS filesystem

cachefs-return-the-right-error-upon-invalid-mount.patch
CacheFS: return the right error upon invalid mount

remove-error-from-linux-cachefsh.patch
Remove #error from linux/cachefs.h

cachefs-warning-fix-2.patch
cachefs warning fix 2

cachefs-linkage-fix-2.patch
cachefs linkage fix

cachefs-build-fix.patch
cachefs build fix

cachefs-documentation.patch
CacheFS documentation

add-page-becoming-writable-notification.patch
Add page becoming writable notification

provide-a-filesystem-specific-syncable-page-bit.patch
Provide a filesystem-specific sync'able page bit

provide-a-filesystem-specific-syncable-page-bit-fix.patch
provide-a-filesystem-specific-syncable-page-bit-fix

make-afs-use-cachefs.patch
Make AFS use CacheFS

ide-probe.patch
ide probe

268-rc3-jffs2-unable-to-read-filesystems.patch
jffs2 unable to read filesystems

qlogic-isp2x00-remove-needless-busyloop.patch
QLogic ISP2x00: remove needless busyloop

jffs2-mount-options-discarded.patch
JFFS2 mount options discarded

assign_irq_vector-section-fix.patch
assign_irq_vector __init section fix

find_isa_irq_pin-should-not-be-__init.patch
find_isa_irq_pin should not be __init

kexec-i8259-shutdowni386.patch
kexec: i8259-shutdown.i386

kexec-i8259-shutdown-x86_64.patch
kexec: x86_64 i8259 shutdown

kexec-apic-virtwire-on-shutdowni386patch.patch
kexec: apic-virtwire-on-shutdown.i386.patch

kexec-apic-virtwire-on-shutdownx86_64.patch
kexec: apic-virtwire-on-shutdown.x86_64

kexec-ioapic-virtwire-on-shutdowni386.patch
kexec: ioapic-virtwire-on-shutdown.i386

kexec-ioapic-virtwire-on-shutdownx86_64.patch
kexec: ioapic-virtwire-on-shutdown.x86_64

kexec-e820-64bit.patch
kexec: e820-64bit

kexec-kexec-generic.patch
kexec: kexec-generic

kexec-machine_shutdownx86_64.patch
kexec: machine_shutdown.x86_64

kexec-kexecx86_64.patch
kexec: kexec.x86_64

kexec-machine_shutdowni386.patch
kexec: machine_shutdown.i386

kexec-kexeci386.patch
kexec: kexec.i386

kexec-use_mm.patch
kexec: use_mm

kexec-kexecppc.patch
kexec: kexec.ppc

kexec-ppc-kexec-kconfig-misplacement.patch
kexec ppc KEXEC Kconfig misplacement

new-bitmap-list-format-for-cpusets.patch
new bitmap list format (for cpusets)

cpusets-big-numa-cpu-and-memory-placement.patch
cpusets - big numa cpu and memory placement

cpusets-document-proc-status-allowed-fields.patch
cpusets: document proc status allowed fields

cpusets-dont-export-proc_cpuset_operations.patch
Cpusets - Dont export proc_cpuset_operations

cpusets-display-allowed-masks-in-proc-status.patch
cpusets: display allowed masks in proc status

cpusets-simplify-cpus_allowed-setting-in-attach.patch
cpusets: simplify cpus_allowed setting in attach

cpusets-remove-useless-validation-check.patch
cpusets: remove useless validation check

cpusets-config_cpusets-depends-on-smp.patch
Cpusets: CONFIG_CPUSETS depends on SMP

cpusets-tasks-file-simplify-format-fixes.patch
Cpusets tasks file: simplify format, fixes

cpusets-simplify-memory-generation.patch
Cpusets: simplify memory generation

cpusets-interoperate-with-hotplug-online-maps.patch
cpusets: interoperate with hotplug online maps

cpusets-alternative-fix-for-possible-race-in.patch
cpusets: alternative fix for possible race in cpuset_tasks_read()

cpusets-remove-casts.patch
cpusets: remove void* typecasts

reiser4-sb_sync_inodes.patch
reiser4: vfs: add super_operations.sync_inodes()

reiser4-sb_sync_inodes-cleanup.patch
reiser4-sb_sync_inodes-cleanup

reiser4-allow-drop_inode-implementation.patch
reiser4: export vfs inode.c symbols

reiser4-allow-drop_inode-implementation-cleanup.patch
reiser4-allow-drop_inode-implementation-cleanup

reiser4-truncate_inode_pages_range.patch
reiser4: vfs: add truncate_inode_pages_range()

reiser4-truncate_inode_pages_range-cleanup.patch
reiser4-truncate_inode_pages_range-cleanup

reiser4-export-remove_from_page_cache.patch
reiser4: export pagecache add/remove functions to modules

reiser4-export-page_cache_readahead.patch
reiser4: export page_cache_readahead to modules

reiser4-reget-page-mapping.patch
reiser4: vfs: re-check page->mapping after calling try_to_release_page()

reiser4-rcu-barrier.patch
reiser4: add rcu_barrier() synchronization point

reiser4-rcu-barrier-fix.patch
reiser4-rcu-barrier fix

reiser4-export-inode_lock.patch
reiser4: export inode_lock to modules

reiser4-export-inode_lock-cleanup.patch
reiser4-export-inode_lock-cleanup

reiser4-export-pagevec-funcs.patch
reiser4: export pagevec functions to modules

reiser4-export-pagevec-funcs-cleanup.patch
reiser4-export-pagevec-funcs-cleanup

reiser4-export-radix_tree_preload.patch
reiser4: export radix_tree_preload() to modules

reiser4-radix-tree-tag.patch
reiser4: add new radix tree tag

reiser4-radix_tree_lookup_slot.patch
reiser4: add radix_tree_lookup_slot()

reiser4-aliased-dir.patch
reiser4: vfs: handle aliased directories

reiser4-kobject-umount-race.patch
reiser4: introduce filesystem kobjects

reiser4-kobject-umount-race-cleanup.patch
reiser4-kobject-umount-race-cleanup

reiser4-perthread-pages.patch
reiser4: per-thread page pools

reiser4-unstatic-kswapd.patch
reiser4: make kswapd() unstatic for debug

reiser4-include-reiser4.patch
reiser4: add to build system

reiser4-4kstacks-fix.patch
resier4-4kstacks-fix

stop-reiser4-from-turning-itself-on-by-default.patch
Stop reiser4 from turning itself on by default

reiser4-doc.patch
reiser4: documentation

reiser4-doc-update.patch
Update Documentation/Changes for reiser4

reiser4-only.patch
reiser4: main fs

reiser4-cond_resched-build-fix.patch
reiser4: cond_resched() build fix

reiser4-debug-build-fix.patch
reiser4-debug-build-fix

reiser4-prefetch-warning-fix.patch
reiser4: prefetch warning fix

reiser4-mode-fix.patch
reiser4: mode type fix

reiser4-get_context_ok-warning-fixes.patch
reiser4: get_context_ok() warning fixes

reiser4-remove-debug.patch
resier4: remove debug stuff

reiser4-spinlock-debugging-build-fix-2.patch
reiser4-spinlock-debugging-build-fix-2

reiser4-sparc64-build-fix.patch
reiser4 sparc64 build fix

sys_reiser4-sparc64-build-fix.patch
sys_reiser4 sparc64 build fix

reiser4-printk-warning-fixes.patch
reiser4 printk warning fixes

reiser4-generic_acl-fix.patch
reiser4: generic_acl fix

add-acpi-based-floppy-controller-enumeration.patch
Add ACPI-based floppy controller enumeration.

add-acpi-based-floppy-controller-enumeration-fix.patch
add-acpi-based-floppy-controller-enumeration fix

update-acpi-floppy-enumeration.patch
update ACPI floppy enumeration

possible-dcache-bug-debugging-patch.patch
Possible dcache BUG: debugging patch

kallsyms-data-size-reduction--lookup-speedup.patch
kallsyms data size reduction / lookup speedup

inconsistent-kallsyms-fix.patch
Inconsistent kallsyms fix

kallsyms-correct-type-char-in-proc-kallsyms.patch
kallsyms: correct type char in /proc/kallsyms

kallsyms-fix-sparc-gibberish.patch
kallsyms: fix sparc gibberish

tioccons-security.patch
TIOCCONS security

fix-process-start-times.patch
Fix reporting of process start times

fix-comment-in-include-linux-nodemaskh.patch
Fix comment in include/linux/nodemask.h

x86-build-issue-with-software-suspend-code.patch
Fix x86 build issue with software suspend code

hpt366c-wrong-timings-used-since-268.patch
hpt366.c: wrong timings

move-waitqueue-functions-to-kernel-waitc.patch
move waitqueue functions to kernel/wait.c

standardize-bit-waiting-data-type.patch
standardize bit waiting data type

provide-a-filesystem-specific-syncable-page-bit-fix-2.patch
provide-a-filesystem-specific-syncable-page-bit-fix-2

consolidate-bit-waiting-code-patterns.patch
consolidate bit waiting code patterns
consolidate-bit-waiting-code-patterns-cleanup
__wait_on_bit-fix

eliminate-bh-waitqueue-hashtable.patch
eliminate bh waitqueue hashtable

eliminate-bh-waitqueue-hashtable-fix.patch
wait_on_bit_lock() must test_and_set_bit(), not test_bit()

eliminate-inode-waitqueue-hashtable.patch
eliminate inode waitqueue hashtable

move-wait-ops-contention-case-completely-out-of-line.patch
move wait ops' contention case completely out of line

reduce-number-of-parameters-to-__wait_on_bit-and-__wait_on_bit_lock.patch
reduce number of parameters to __wait_on_bit() and __wait_on_bit_lock()

document-wake_up_bits-requirement-for-preceding-memory-barriers.patch
document wake_up_bit()'s requirement for preceding memory barriers

3c59x-pm-fix.patch
3c59x: enable power management unconditionally

serial-mpsc-driver.patch
Serial MPSC driver

serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
serial: add support for non-standard XTALs to 16c950 driver

add-support-for-possio-gcc-aka-pcmcia-siemens-mc45.patch
Add support for Possio GCC AKA PCMCIA Siemens MC45

add-smc91x-ethernet-for-lpd7a40x.patch
add SMC91x ethernet for LPD7A40X

m32r-base.patch
m32r architecture

m32r-update-for-profiling.patch
m32r: update for profiling

m32r-update-zone_sizes_init.patch
m32r: update zone_sizes_init()

m32r-update-to-fix-compile-errors.patch
m32r: update to fix compile errors

m32r-update-uaccessh.patch
m32r: update uaccess.h

m32r-update-checksum-functions.patch
m32r: update checksum functions

m32r-update-cf-pcmcia-drivers.patch
m32r: update CF/PCMCIA drivers

m32r-update-headers-to-remove-useless-ibcs2-support-code.patch
m32r: update headers to remove useless iBCS2 support code

atomic_inc_return-for-m32r-re.patch
atomic_inc_return for m32r

m32r-change-from-export_symbol_novers-to-export_symbol.patch
m32r: change from EXPORT_SYMBOL_NOVERS to EXPORT_SYMBOL

m32r-modify-sys_ipc-to-remove-useless-ibcs2-support-code.patch
m32r: modify sys_ipc() to remove useless iBCS2 support code

m32r-add-elf-machine-code.patch
m32r: add ELF machine code

m32r-upgrade-to-2681-kernel.patch
m32r: upgrade to 2.6.8.1 kernel

m32r-support-a-new-bootloader-m32r-g00ff.patch
m32r: support a new bootloader "m32r-g00ff"

m32r-modify-io-routines-for-m32700ut-cf-access.patch
m32r: modify IO routines for m32700ut CF access

m32r-remove-network-drivers.patch
m32r: remove network drivers

m32r-modify-drivers-net-smc91xc-for.patch
m32r: modify drivers/net/smc91x.c for m32r

m32r-modify-drivers-net-nec-for-m32r.patch
m32r: modify drivers/net/ne.c for m32r

m32r-slim-arch-m32r-kconfig.patch
m32r: slim arch/m32r/Kconfig

m32r-upgrade-include-asm-m32r-atomich.patch
m32r: upgrade include/asm-m32r/atomic.h

m32r-fix-to-build-smp-kernel.patch
m32r: fix to build SMP kernel

m32r-upgrade-for-mm5-changes.patch
m32r: upgrade for -mm5 changes

vm-pageout-throttling.patch
vm: pageout throttling

fix-race-in-sysfs_read_file-and-sysfs_write_file.patch
Fix race in sysfs_read_file() and sysfs_write_file()

possible-race-in-sysfs_read_file-and-sysfs_write_file-update.patch
Possible race in sysfs_read_file() and sysfs_write_file()

md-add-interface-for-userspace-monitoring-of-events.patch
md: add interface for userspace monitoring of events.

unreachable-code-in-ext3_direct_io.patch
unreachable code in ext3_direct_IO()

fix-for-nforce2-secondary-ide-getting-wrong-irq.patch
Fix for NForce2 secondary IDE getting wrong IRQ

revert-allow-oem-written-modules-to-make-calls-to-ia64-oem-sal-functions.patch
revert "allow OEM written modules to make calls to ia64 OEM SAL functions"

misrouted-irq-recovery-take-2.patch
Misrouted IRQ recovery, take 2

misrouted-irq-recovery-take-2-cleanup.patch
misrouted-irq-recovery-take-2 cleanup

misrouted-irq-recovery-take-2-fix.patch
misrouted-irq-recovery-take-2 fix

misrouted-irq-recovery-docs.patch
misrouted-irq-recovery documentation

check-checksums-for-bnep.patch
Check checksums for BNEP

cfq-iosched-v2.patch
CFQ iosched v2

cfq-v2-update.patch
cfq v2 update

cfq-fix-allocated-counts.patch
cfq: fix allocated counts

cfq-warnings.patch
cfq warnings

dont-export-blkdev_open-and-def_blk_ops.patch
don't export blkdev_open and def_blk_ops

remove-dead-code-from-fs-mbcachec.patch
remove dead code from fs/mbcache.c

remove-posix_acl_masq_nfs_mode.patch
remove posix_acl_masq_nfs_mode

dont-export-shmem_file_setup.patch
don't export shmem_file_setup

remove-pm_find-unexport-pm_send.patch
remove pm_find, unexport pm_send

remove-dead-code-and-exports-from-signalc.patch
remove dead code and exports from signal.c

unexport-proc_sys_root.patch
unexport proc_sys_root

unexport-is_subdir-and-shrink_dcache_anon.patch
unexport is_subdir and shrink_dcache_anon

unexport-devfs_mk_symlink.patch
unexport devfs_mk_symlink

unexport-do_execve-do_select.patch
unexport do_execve/do_select

unexport-exit_mm.patch
unexport exit_mm

unexport-files_lock-and-put_filp.patch
unexport files_lock and put_filp

unexport-f_delown.patch
unexport f_delown

unexport-lookup_create.patch
unexport lookup_create

remove-wake_up_all_sync.patch
remove wake_up_all_sync

remove-set_fs_root-set_fs_pwd.patch
remove set_fs_root/set_fs_pwd

md-remove-md_flush_all.patch
md: remove md_flush_all

md-make-retry_list-non-global-in-raid1-and-multipath.patch
md: make retry_list non-global in raid1 and multipath

md-rationalise-issue_flush-function-in-md-personalities.patch
md: rationalise issue_flush function in md personalities

md-rationalise-unplug-functions-in-md.patch
md: rationalise unplug functions in md

md-make-sure-md-always-uses-rdev_dec_pending-properly.patch
md: make sure md always uses rdev_dec_pending properly

md-fix-two-little-bugs-in-raid10.patch
md: fix two little bugs in raid10

md-modify-locking-when-accessing-subdevices-in-md.patch
md: modify locking when accessing subdevices in md

generic-acl-support-for-permission.patch
generic acl support for ->permission

generic-acl-support-for-permission-fix.patch
generic acl support for ->permission fix

generic-acl-support-for-permission-keyfs-fix.patch
generic-acl-support-for-permission-keyfs-fix

device-driver-for-the-sgi-system-clock-mmtimer.patch
device driver for the SGI system clock, mmtimer

close-race-with-preempt-and-modular-pm_idle-callbacks.patch
Close race with preempt and modular pm_idle callbacks

cacheline-align-pagevec-structure.patch
Adjust align pagevec structure

fbdev-remove-unnecessary-banshee_wait_idle-from-tdfxfb.patch
fbdev: remove unnecessary banshee_wait_idle from tdfxfb

fbdev-fix-logo-drawing-failure-for-vga16fb.patch
fbdev: fix logo drawing failure for vga16fb

fbdev-initialize-i810fb-after-agpgart.patch
fbdev: Initialize i810fb after agpgart

fbdev-fix-userland-compile-breakage.patch
fbdev: Fix userland compile breakage

fbcon-fix-setup-boot-options-of-fbcon.patch
fbcon: Fix setup boot options of fbcon

fbdev-pass-struct-device-to-class_simple_device_add.patch
fbdev: Pass struct device to class_simple_device_add

fbdev-add-tile-blitting-support.patch
fbdev: Add Tile Blitting support

fbcon-fix-fbcons-setup-routine.patch
fbcon: fix fbcon's setup routine

fbdev-arrange-driver-order-in-makefile.patch
fbdev: Arrange driver order in Makefile

fbdev-fix-scrolling-corruption.patch
fbdev: fix scrolling corruption

radeonfb-fix-warnings-about-uninitialized-variables.patch
radeonfb: Fix warnings about uninitialized variables

fbdev-remove-i810fb-explicit-agp-initialization-hack.patch
fbdev: Remove i810fb explicit agp initialization hack.

fix-for-spurious-interrupts-on-e100-resume-2.patch
Fix for spurious interrupts on e100 resume 2

r8169-miscalculation-of-available-tx-descriptors.patch
r8169: miscalculation of available Tx descriptors

r8169-hint-for-tx-flow-control.patch
r8169: hint for Tx flow control

r8169-tso-support.patch
r8169: TSO support.

r8169-mac-identifier-extracted-from-realteks-driver-v22.patch
r8169: Mac identifier extracted from Realtek's driver v2.2

compile-fix-3c59x-for-eisa-without-pci.patch
compile fix 3c59x for eisa without pci

atomic_inc_return-for-i386.patch
atomic_inc_return() for i386

atomic_inc_return-for-x86_64.patch
atomic_inc_return() for x86_64

atomic_inc_return-for-arm.patch
atomic_inc_return() for arm

atomic_inc_return-for-arm26.patch
atomic_inc_return() for arm26

atomic_inc_return-for-sparc64.patch
atomic_inc_return() for sparc64

online-cpu-with-maxcpus-option-panics.patch
Online CPU with maxcpus option panics

remove-dead-exports-from-fs-fat.patch
remove dead exports from fs/fat/

fat-use-hlist_head-for-fat_inode_hashtable-1-6.patch
FAT: use hlist_head for fat_inode_hashtable

fat-rewrite-the-cache-for-file-allocation-table-lookup.patch
FAT: rewrite the cache for file allocation table lookup

fat-cache-lock-from-per-sb-to-per-inode-3-6.patch
FAT: cache lock from per sb to per inode

fat-the-inode-hash-from-per-module-to-per-sb-4-6.patch
FAT: the inode hash from per module to per sb

fat-fix-the-race-bitween-fat_free-and-fat_get_cluster.patch
FAT: Fix the race bitween fat_free() and fat_get_cluster()

fat-remove-debug_pr-6-6.patch
FAT: remove debug_pr()

fix-for-fsync-ignoring-writing-errors-fat-fix.patch
fix-for-fsync-ignoring-writing-errors-fat-fix

thinkpad-fnfx-key-driver.patch
thinkpad fn+fx key driver

rewrite-alloc_pidmap.patch
pidhashing: rewrite alloc_pidmap()

pidhashing-retain-older-vendor-copyright.patch
From: William Lee Irwin III <[email protected]>
Subject: [pidhashing] [1/3] retain older vendor copyright

pidhashing-lower-pid_max_limit-for-32-bit-machines.patch
From: William Lee Irwin III <[email protected]>
Subject: [pidhashing] [2/3] lower PID_MAX_LIMIT for 32-bit machines

pidhashing-enforce-pid_max_limit-in-sysctls.patch
From: William Lee Irwin III <[email protected]>
Subject: [pidhashing] [3/3] enforce PID_MAX_LIMIT in sysctls

add-missing-pci_disable_device-for-e1000.patch
add missing pci_disable_device for e1000

allow-multiple-inputs-in-alternative_input.patch
Allow multiple inputs in alternative_input

autofs4-allow-map-update-recognition.patch
autofs4: allow map update recognition

fake_ino-fixes.patch
fake_ino fixes

fix-of-race-in-writeback_inodes.patch
Fix of race in writeback_inodes()

rearrange-of-inode_lock-in-writeback_inodes.patch
Rearrangement of inode_lock in writeback_inodes()

lighten-mmlist_lock.patch
lighten mmlist_lock

updates-to-rcu-documentation.patch
Updates to RCU documentation

fix-sysrq-handling-bug-in-sn_consolec.patch
fix sysrq handling bug in sn_console.c

incorrect-pci-interrupt-assignment-on-es7000-for-platform-gsi.patch
Incorrect PCI interrupt assignment on ES7000 for platform GSI

incorrect-pci-interrupt-assignment-on-es7000-for-platform-gsi-fix.patch
incorrect-pci-interrupt-assignment-on-es7000-for-platform-gsi fix

incorrect-pci-interrupt-assignment-on-es7000-for-pin-zero.patch
Incorrect PCI interrupt assignment on ES7000 for pin zero

fix-task_mmuc-text-size-reporting.patch
procfs: fix task_mmu.c text size reporting

uml-update-handle_irq_event.patch
uml: update handle_IRQ_event

uml-finish-the-signals-across-a-reboot-fix.patch
uml: finish the signals across a reboot fix

uml-finish-conversion-to-sigjmp_buf-siglongjmp.patch
uml: finish conversion to sigjmp_buf/siglongjmp

uml-fix-a-signal-race.patch
uml: fix a signal race

uml-enable-the-timer-after-the-timer-handler.patch
uml: enable the timer *after* the timer handler

uml-convert-the-real-time-clock-to-gettimeofday-from-rdtsc.patch
uml: convert the real-time clock to gettimeofday from rdtsc

uml-cleaning-up.patch
uml: cleaning up

uml-let-page-faults-always-be-delivered-immediately.patch
uml: let page faults always be delivered immediately

uml-eliminate-signal-order-delivery-dependency.patch
uml: eliminate signal order delivery dependency

uml-iomem-fix.patch
uml: iomem fix

uml-fix-call-to-sys_clone.patch
uml: fix call to sys_clone

uml-copy_user-fixes.patch
uml: copy_user fixes

sparc32-add-atomic_sub_and_test.patch
sparc32: add atomic_sub_and_test()

make-console_conditional_schedule-__sched-and-use-cond_resched.patch
make console_conditional_schedule() __sched and use cond_resched()

ide-remove-obsolete-config_blk_dev_adma.patch
ide: remove obsolete CONFIG_BLK_DEV_ADMA

fix-driver-name-in-eth1394-as-returned-by-ethtool_gdrvinfo.patch
fix driver name in eth1394 as returned by ETHTOOL_GDRVINFO

mips-fixed-do_signal-in-arch-mips-kernel-signalc.patch
mips: fixed do_signal in arch/mips/kernel/signal.c

time-interpolators-logic-fix.patch
time interpolators logic fix

document-arm-pci=firmware-option.patch
Document ARM pci=firmware option

update-ixp4xx-mtd-driver-from-cvs-mtd.patch
Update IXP4xx MTD driver from CVS MTD

add-mtd-map-driver-for-intel-ixp2000-npu.patch
Add MTD map driver for Intel IXP2000 NPU

remove-i2o_core.patch
remove i2o_core.c

bio_alloc-cleanup.patch
bio_alloc() cleanup

report-per-process-pagetable-usage.patch
report per-process pagetable usage

tune-vmalloc-size.patch
tune vmalloc size

tune-vmalloc-size-docs.patch
tune vmalloc size docs

reduce-_do_execve-stack-usage.patch
Reduce [compat]_do_execve stack usage

reduce-_do_execve-stack-usage-fix.patch
reduce-_do_execve-stack-usage fix

remove-lock_section-from-x86_64-spin_lock-asm.patch
remove LOCK_SECTION from x86_64 spin_lock asm

fix-write-return-values-for-tmpfs.patch
Fix write() return values for tmpfs.

fix-write-return-values-for-reiserfs.patch
Fix write() return values for reiserfs.




2004-09-16 13:11:22

by Diego Calleja

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

El Thu, 16 Sep 2004 02:40:20 -0700 Andrew Morton <[email protected]> escribi?:

[...]

> -tty_io-hangup-locking.patch
> +tty-locking-for-269rc2.patch
> +tty-locking-for-269rc2-fixes.patch
>
> Alan's tty locking rework


I couldn't connect to internet, the connection didn't go beyond of...
Sep 16 15:01:51 estel chat[1235]: ATDTSOMETHING^M^M
Sep 16 15:01:51 estel chat[1235]: CONNECT
Sep 16 15:01:51 estel chat[1235]: -- got it
Sep 16 15:01:51 estel chat[1235]: send (\d)
Sep 16 15:01:52 estel pppd[1233]: Serial connection established.
^^^
here (the rest is from a working kernel)
Sep 16 15:01:52 estel pppd[1233]: using channel 1
Sep 16 15:01:52 estel pppd[1233]: Using interface ppp0
Sep 16 15:01:52 estel pppd[1233]: Connect: ppp0 <--> /dev/ttyS1

Unapplying those two patches quoted above made it work again, the box
is a smp 2xpentium3, the sysrq-t output of pppd was:
Sep 16 14:44:45 estel kernel: pppd S 00000000 0 1365 1 1323 (NOTLB)
Sep 16 14:44:45 estel kernel: db495e9c 00000086 c0116680 00000000 00000000 bffff978 ffff037f 43e740f2
Sep 16 14:44:45 estel kernel: 0000001b db8f2170 c0116680 de36b2a0 07a2d1a5 00000000 c1409f60 db8f22cc
Sep 16 14:44:45 estel kernel: db494000 d919f000 db495edc 00000003 c01b9739 00000000 db4221a8 c016308b
Sep 16 14:44:45 estel kernel: Call Trace:
Sep 16 14:44:45 estel kernel: [default_wake_function+0/16] default_wake_function+0x0/0x10
Sep 16 14:44:45 estel kernel: [default_wake_function+0/16] default_wake_function+0x0/0x10
Sep 16 14:44:45 estel kernel: [tty_set_ldisc+457/1232] tty_set_ldisc+0x1c9/0x4d0
Sep 16 14:44:45 estel kernel: [locks_delete_lock+91/256] locks_delete_lock+0x5b
/0x100
Sep 16 14:44:45 estel kernel: [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
Sep 16 14:44:45 estel kernel: [autoremove_wake_function+0/80] autoremove_wake_function+0x0/0x50
Sep 16 14:44:45 estel kernel: [serial8250_tx_empty+52/80] serial8250_tx_empty+0x34/0x50
Sep 16 14:44:45 estel kernel: [remove_wait_queue+23/112] remove_wait_queue+0x17/0x70
Sep 16 14:44:45 estel kernel: [tty_wait_until_sent+230/256] tty_wait_until_sent+0xe6/0x100
Sep 16 14:44:45 estel kernel: [default_wake_function+0/16] default_wake_function+0x0/0x10
Sep 16 14:44:45 estel kernel: [n_tty_open+0/160] n_tty_open+0x0/0xa0
Sep 16 14:44:45 estel kernel: [n_tty_close+0/48] n_tty_close+0x0/0x30
Sep 16 14:44:45 estel kernel: [n_tty_flush_buffer+0/96] n_tty_flush_buffer+0x0/0x60
Sep 16 14:44:45 estel kernel: [n_tty_chars_in_buffer+0/128] n_tty_chars_in_buffer+0x0/0x80
Sep 16 14:44:45 estel kernel: [read_chan+0/2000] read_chan+0x0/0x7d0
Sep 16 14:44:45 estel kernel: [write_chan+0/560] write_chan+0x0/0x230
Sep 16 14:44:45 estel kernel: [n_tty_ioctl+0/896] n_tty_ioctl+0x0/0x380
Sep 16 14:44:45 estel kernel: [n_tty_set_termios+0/480] n_tty_set_termios+0x0/0x1e0
Sep 16 14:44:45 estel kernel: [normal_poll+0/331] normal_poll+0x0/0x14b
Sep 16 14:44:45 estel kernel: [n_tty_receive_buf+0/3728] n_tty_receive_buf+0x0/0xe90
Sep 16 14:44:45 estel kernel: [n_tty_receive_room+0/64] n_tty_receive_room+0x0/0x40
Sep 16 14:44:45 estel kernel: [n_tty_write_wakeup+0/48] n_tty_write_wakeup+0x0/0x30
Sep 16 14:44:45 estel kernel: [sys_ioctl+255/624] sys_ioctl+0xff/0x270
Sep 16 14:44:45 estel kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71

2004-09-16 13:30:27

by Alan

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

Yeah this is the bug Paul nailed down, new patch later today that should
fix the ldisc change hang. Thanks for the report.

2004-09-16 13:40:29

by Ryan Cumming

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thursday 16 September 2004 02:40, Andrew Morton wrote:
> +sched-fix-scheduling-latencies-for-preempt-kernels.patch

This patch got a rather unfortunate name, as it actually only fixes latencies
for non-preempt kernels.

-Ryan


Attachments:
(No filename) (230.00 B)
(No filename) (189.00 B)
Download all attachments

2004-09-16 14:20:47

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, Sep 16, 2004 at 02:40:20AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/
> - Added lots of Ingo's low-latency patches
> - Lockmeter doesn't compile. Don't enable CONFIG_LOCKMETER.
> - Several architecture updates

Please remove include/asm-sh64/smp_lock.h; they missed the smp_lock.h
consolidation while sitting out-of-tree and/or in the process of
forward porting to 2.6


-- wli

2004-09-16 16:55:09

by Norberto Bensa

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

Andrew Morton wrote:
> +tune-vmalloc-size.patch

This one of course breaks nvidia's binary driver; so nvidia users should do a
"patch -Rp1" to revert it.

Regards,
Norberto

2004-09-16 17:19:46

by Jesse Barnes

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thursday, September 16, 2004 2:40 am, Andrew Morton wrote:
> bk-acpi.patch

Looks like some changes in this patch break sn2. In particular, this hunk in
acpi_pci_irq_enable():

- if (dev->irq && (dev->irq <= 0xF)) {
+ if (dev->irq >= 0 && (dev->irq <= 0xF)) {
printk(" - using IRQ %d\n", dev->irq);
return_VALUE(dev->irq);
}
else {
printk("\n");
- return_VALUE(0);
+ return_VALUE(-EINVAL);
}

Now instead of returning 0, we'll get -EINVAL when a driver calls
pci_enable_device. This is arguably correct since there's no _PRT entry (and
in fact no ACPI namespace on sn2), but shouldn't the code above be looking at
the 'pin' value instead of dev->irq? The sn2 specific PCI code sets up each
dev->irq long before this with the correct values...

Thanks,
Jesse

2004-09-16 17:23:55

by Arjan van de Ven

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, 2004-09-16 at 18:45, Norberto Bensa wrote:
> Andrew Morton wrote:
> > +tune-vmalloc-size.patch
>
> This one of course breaks nvidia's binary driver; so nvidia users should do a
> "patch -Rp1" to revert it.

eh why how ?? what evil stuff is nvidia doing this time ?


Attachments:
signature.asc (189.00 B)
This is a digitally signed message part

2004-09-16 17:28:53

by Norberto Bensa

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

Arjan van de Ven wrote:
> On Thu, 2004-09-16 at 18:45, Norberto Bensa wrote:
> > Andrew Morton wrote:
> > > +tune-vmalloc-size.patch
> >
> > This one of course breaks nvidia's binary driver; so nvidia users should
> > do a "patch -Rp1" to revert it.
>
> eh why how ?? what evil stuff is nvidia doing this time ?

On modprobe it says: "__VMALLOC_RESERVE undefined symbol". I'm almost sure is
an #include thing, but since I know near to nothing about the kernel
internals, I prefer to revert the patch.

Now I got this problem with vmware but I need a reboot to tell you the exact
message; if you are interested, I'll report later.

Best regards,
Norberto

2004-09-16 17:32:44

by Arjan van de Ven

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, Sep 16, 2004 at 02:28:10PM -0300, Norberto Bensa wrote:
> Arjan van de Ven wrote:
> > On Thu, 2004-09-16 at 18:45, Norberto Bensa wrote:
> > > Andrew Morton wrote:
> > > > +tune-vmalloc-size.patch
> > >
> > > This one of course breaks nvidia's binary driver; so nvidia users should
> > > do a "patch -Rp1" to revert it.
> >
> > eh why how ?? what evil stuff is nvidia doing this time ?
>
> On modprobe it says: "__VMALLOC_RESERVE undefined symbol". I'm almost sure is
> an #include thing, but since I know near to nothing about the kernel
> internals, I prefer to revert the patch.

I would consider it REALLY weird for a module to use detailed vmalloc
knowledge like this. Does anyone know what they are doing?????


Attachments:
(No filename) (727.00 B)
(No filename) (189.00 B)
Download all attachments

2004-09-16 17:42:10

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thursday 16 September 2004 11:14 am, Jesse Barnes wrote:
> On Thursday, September 16, 2004 2:40 am, Andrew Morton wrote:
> > bk-acpi.patch
>
> Looks like some changes in this patch break sn2. In particular, this hunk in
> acpi_pci_irq_enable():
>
> - if (dev->irq && (dev->irq <= 0xF)) {
> + if (dev->irq >= 0 && (dev->irq <= 0xF)) {
> printk(" - using IRQ %d\n", dev->irq);
> return_VALUE(dev->irq);
> }
> else {
> printk("\n");
> - return_VALUE(0);
> + return_VALUE(-EINVAL);
> }
>
> Now instead of returning 0, we'll get -EINVAL when a driver calls
> pci_enable_device. This is arguably correct since there's no _PRT entry (and
> in fact no ACPI namespace on sn2), but shouldn't the code above be looking at
> the 'pin' value instead of dev->irq? The sn2 specific PCI code sets up each
> dev->irq long before this with the correct values...

I think the change above is actually from
incorrect-pci-interrupt-assignment-on-es7000-for-pin-zero.patch

of which I am officially ignorant :-)

2004-09-16 17:59:36

by Norberto Bensa

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

Jedi/Sector One wrote:
> On Thu, Sep 16, 2004 at 01:45:55PM -0300, Norberto Bensa wrote:
> > Andrew Morton wrote:
> > > +tune-vmalloc-size.patch
> >
> > This one of course breaks nvidia's binary driver; so nvidia users should
> > do a "patch -Rp1" to revert it.
>
> http://00f.net/blogs/index.php/2004/09/16/nvidia_kernel_module_and_linux_2_
>6_9_rc2

Thanks. Actually, that was going to be my next fix, but ATM I'm trying to get
a work done for my CS class.

Best regards,
Norberto

2004-09-16 18:03:46

by Jedi/Sector One

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, Sep 16, 2004 at 01:45:55PM -0300, Norberto Bensa wrote:
> Andrew Morton wrote:
> > +tune-vmalloc-size.patch
>
> This one of course breaks nvidia's binary driver; so nvidia users should do a
> "patch -Rp1" to revert it.

http://00f.net/blogs/index.php/2004/09/16/nvidia_kernel_module_and_linux_2_6_9_rc2

2004-09-17 03:00:27

by Norberto Bensa

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

Hello list,

Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6
>.9-rc2-mm1/

I mentioned before that this kernel was giving me problems with nvidia (fixed
thanks to "jedi/sector one") and vmware. Now I'm at home so I booted
2.6.9-rc2-mm1 and this is what vmware is saying:

"Could not mmap 139264 bytes of memory from file offset 0 at (nil):
Operation not permitted. Failed to allocate shared memory."

Anyone knows what's going on here?

Many thanks in advance,
Norberto

2004-09-17 05:19:29

by Protasevich, Natalie

[permalink] [raw]
Subject: RE: 2.6.9-rc2-mm1


> On Thursday 16 September 2004 11:14 am, Jesse Barnes wrote:
> > On Thursday, September 16, 2004 2:40 am, Andrew Morton wrote:
> > bk-acpi.patch
> >
> > Looks like some changes in this patch break sn2. In particular,
this
> > hunk in
> > acpi_pci_irq_enable():
> >
> > - if (dev->irq && (dev->irq <= 0xF)) {
> > + if (dev->irq >= 0 && (dev->irq <= 0xF)) {
> > printk(" - using IRQ %d\n", dev->irq);
> > return_VALUE(dev->irq);
> > }
> > else {
> > printk("\n");
> > - return_VALUE(0);
> > + return_VALUE(-EINVAL);
> > }
> >
> > Now instead of returning 0, we'll get -EINVAL when a driver calls
> > pci_enable_device. This is arguably correct since there's no _PRT
> > entry (and in fact no ACPI namespace on sn2), but shouldn't the code

> > above be looking at the 'pin' value instead of dev->irq? The sn2
> > specific PCI code sets up each
> > dev->irq long before this with the correct values...
>
> I think the change above is actually from
> incorrect-pci-interrupt-assignment-on-es7000-for-pin-zero.patch

> of which I am officially ignorant :-)

I realize now that this is very involved piece of code and a lot was
built around the assumption that IRQ0 is a timer interrupt (pin 0 is for
PCI on ES7000), and assumption that everyone honors this assumption :)
However, it seems wrong that we are not able to read literally what ACPI
says, such as irq 0 for INTA. Maybe, it would be better if the code
above was returing an error code, not an irq, which is returned in dev
anyway. It should be some creative way to resolve this issue... I think
the idea in the comment above by Jesse Barnes has good potential.

Thanks,
--Natalie

2004-09-17 06:52:39

by Brown, Len

[permalink] [raw]
Subject: RE: 2.6.9-rc2-mm1

On Fri, 2004-09-17 at 01:18, Protasevich, Natalie wrote:
> > On Thursday 16 September 2004 11:14 am, Jesse Barnes wrote:
> > > On Thursday, September 16, 2004 2:40 am, Andrew Morton wrote:
> > > bk-acpi.patch
> > >
> > > Looks like some changes in this patch break sn2. In particular,
> this
> > > hunk in
> > > acpi_pci_irq_enable():
> > >
> > > - if (dev->irq && (dev->irq <= 0xF)) {
> > > + if (dev->irq >= 0 && (dev->irq <= 0xF)) {
> > > printk(" - using IRQ %d\n", dev->irq);
> > > return_VALUE(dev->irq);
> > > }
> > > else {
> > > printk("\n");
> > > - return_VALUE(0);
> > > + return_VALUE(-EINVAL);
> > > }
> > >
> > > Now instead of returning 0, we'll get -EINVAL when a driver calls
> > > pci_enable_device. This is arguably correct since there's no _PRT
> > > entry (and in fact no ACPI namespace on sn2), but shouldn't the
> code
>
> > > above be looking at the 'pin' value instead of dev->irq? The sn2
> > > specific PCI code sets up each
> > > dev->irq long before this with the correct values...

No, in this context, the variable "pin" is to select PCI INTA/B/C/D, not
a interrupt controller pin.

If SN2 is using its pre-determied interrupt configuration, then is is
probably a bug that it calls down into this code at all, since SN2 wants
this code to be a NOP, yes?

> > I think the change above is actually from
> > incorrect-pci-interrupt-assignment-on-es7000-for-pin-zero.patch
>
> > of which I am officially ignorant :-)

yeah, probably these IRQ patches should come through me, but haven't b/c
my patch throughput has been very low the last couple of weeks. At
least if I ship no new patches I don't get blamed for breaking stuff;-)

> I realize now that this is very involved piece of code and a lot was
> built around the assumption that IRQ0 is a timer interrupt (pin 0 is
> for
> PCI on ES7000), and assumption that everyone honors this assumption :)
> However, it seems wrong that we are not able to read literally what
> ACPI
> says, such as irq 0 for INTA. Maybe, it would be better if the code
> above was returing an error code, not an irq, which is returned in dev
> anyway. It should be some creative way to resolve this issue... I
> think
> the idea in the comment above by Jesse Barnes has good potential.

Yes, there are lots of places where IRQ0 is an error condition. I
expect that this was lazyness based on the fact that the timer code is
hard-wired to use IRQ0, so it is always taken on IA32. My suggestion
to un-hard-wire the timer code was not greeted with enthusiasm, so this
is how things sit.

But IRQ0 should not be a problem on the ES7000, as there is an override
to supply IRQ0 from pin 0:20. pin 0:0, on the other hand is a PCI
interrupt on the ES7000, completely valid to be assigned from the _PRT
and to be assigned by the es7000-specific code to any arbitrary IRQ#.

I'm not sure exactly that the patch above was trying to fix. Looks like
it is time to examine the latest ew7000 changes in detail. But I think
the patch has pointed out that this routine really should be returning 0
for success and non zero for failure; and returning dev->irq was
probably a latent bug all along.

-Len



2004-09-17 16:03:24

by Jesse Barnes

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thursday, September 16, 2004 11:50 pm, Len Brown wrote:
> I'm not sure exactly that the patch above was trying to fix. Looks like
> it is time to examine the latest ew7000 changes in detail. But I think
> the patch has pointed out that this routine really should be returning 0
> for success and non zero for failure; and returning dev->irq was
> probably a latent bug all along.

Right, and I'd like success to be defined a little more broadly. If dev->irq
is already valid, we should just return 0 right away. That would take care
of platforms that already have the dev in question setup properly.

Thanks,
Jesse

2004-09-17 18:02:50

by Dominik Karall

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thursday 16 September 2004 11:40, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6
>.9-rc2-mm1/

I get a lot of usb error messages on boot, here the relevant dmesg output.
I also attached lsusb -v output, which maybe useful, if you need more
information, let me know!

mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard on isa0060/serio0
input: ImPS/2 Generic Wheel Mouse on isa0060/serio1
input: PC Speaker
NET: Registered protocol family 2
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
ACPI: (supports S0 S3 S4 S5)
ACPI wakeup devices:
FUTS PCI0 USB0 USB1 USB2 USB3 MAC0 AMR0 UAR1 PS2M PS2K
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 136k freed
Adding 514040k swap on /dev/hda9. Priority:-1 extents:1
EXT3 FS on hda10, internal journal
warning: process `update' used the obsolete bdflush system call
Fix your initscripts?
ohci1394: $Rev: 1226 $ Ben Collins <[email protected]>
ACPI: PCI interrupt 0000:00:02.3[B] -> GSI 17 (level, low) -> IRQ 17
ohci1394: fw-host0: Unexpected PCI resource length of 1000!
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[17] MMIO=[e2427000-e24277ff]
Max Packet=[2048]
snd: Unknown parameter `device_gid'
ACPI: PCI interrupt 0000:00:02.7[C] -> GSI 18 (level, low) -> IRQ 18
intel8x0_measure_ac97_clock: measured 49665 usecs
intel8x0: clocking to 48000
usbcore: registered new driver usbfs
usbcore: registered new driver hub
ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ACPI: PCI interrupt 0000:00:03.0[A] -> GSI 20 (level, low) -> IRQ 20
ohci_hcd 0000:00:03.0: Silicon Integrated Systems [SiS] USB 1.0 Controller
ohci_hcd 0000:00:03.0: irq 20, pci mem 0xe2420000
ohci_hcd 0000:00:03.0: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:03.0: SiS init quirk
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:03.1[B] -> GSI 21 (level, low) -> IRQ 21
ohci_hcd 0000:00:03.1: Silicon Integrated Systems [SiS] USB 1.0 Controller
(#2)
ohci_hcd 0000:00:03.1: irq 21, pci mem 0xe2421000
ohci_hcd 0000:00:03.1: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:03.1: SiS init quirk
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:03.2[C] -> GSI 22 (level, low) -> IRQ 22
ohci_hcd 0000:00:03.2: Silicon Integrated Systems [SiS] USB 1.0 Controller
(#3)
ieee1394: Host added: ID:BUS[0-00:1023] GUID[000010dc001ee09a]
ohci_hcd 0000:00:03.2: irq 22, pci mem 0xe2422000
ohci_hcd 0000:00:03.2: new USB bus registered, assigned bus number 3
ohci_hcd 0000:00:03.2: SiS init quirk
usb 2-1: new full speed USB device using address 2
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:03.3[D] -> GSI 23 (level, low) -> IRQ 23
ehci_hcd 0000:00:03.3: Silicon Integrated Systems [SiS] USB 2.0 Controller
ehci_hcd 0000:00:03.3: irq 23, pci mem 0xe2423000
ehci_hcd 0000:00:03.3: new USB bus registered, assigned bus number 4
PCI: cache line size of 128 is not supported by device 0000:00:03.3
ehci_hcd 0000:00:03.3: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10
usb 2-1: USB disconnect, address 2
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 6 ports detected
ohci_hcd 0000:00:03.1: wakeup
sis900.c: v1.08.07 11/02/2003
ACPI: PCI interrupt 0000:00:04.0[A] -> GSI 19 (level, low) -> IRQ 19
eth0: Unknown PHY transceiver found at address 0.
eth0: Realtek RTL8201 PHY transceiver found at address 1.
eth0: Unknown PHY transceiver found at address 2.
eth0: Unknown PHY transceiver found at address 3.
eth0: Unknown PHY transceiver found at address 4.
eth0: Unknown PHY transceiver found at address 5.
eth0: Unknown PHY transceiver found at address 6.
eth0: Unknown PHY transceiver found at address 7.
eth0: Unknown PHY transceiver found at address 8.
eth0: Unknown PHY transceiver found at address 9.
eth0: Unknown PHY transceiver found at address 10.
eth0: Unknown PHY transceiver found at address 11.
eth0: Unknown PHY transceiver found at address 12.
eth0: Unknown PHY transceiver found at address 13.
eth0: Unknown PHY transceiver found at address 14.
eth0: Unknown PHY transceiver found at address 15.
eth0: Unknown PHY transceiver found at address 16.
eth0: Unknown PHY transceiver found at address 17.
eth0: Unknown PHY transceiver found at address 18.
eth0: Unknown PHY transceiver found at address 19.
eth0: Unknown PHY transceiver found at address 20.
eth0: Unknown PHY transceiver found at address 21.
eth0: Unknown PHY transceiver found at address 22.
eth0: Unknown PHY transceiver found at address 23.
eth0: Unknown PHY transceiver found at address 24.
eth0: Unknown PHY transceiver found at address 25.
usb 2-1: new full speed USB device using address 3
eth0: Unknown PHY transceiver found at address 26.
eth0: Unknown PHY transceiver found at address 27.
eth0: Unknown PHY transceiver found at address 28.
eth0: Unknown PHY transceiver found at address 29.
eth0: Unknown PHY transceiver found at address 30.
eth0: Unknown PHY transceiver found at address 31.
eth0: Using transceiver found at address 1 as default
eth0: SiS 900 PCI Fast Ethernet at 0xdc00, IRQ 19, 00:10:fa:3f:29:16.
8139too Fast Ethernet driver 0.9.27
ACPI: PCI interrupt 0000:00:07.0[A] -> GSI 18 (level, low) -> IRQ 18
eth1: RealTek RTL8139 at 0xd134a000, 00:50:fc:2d:9a:5c, IRQ 18
eth1: Identified 8139 chip type 'RTL-8139C'
usb usb3: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb 2-1: control timeout on ep0in
usb 2-1: string descriptor 0 read error: -110
usb 2-1: string descriptor 0 read error: -110
usb 2-1: string descriptor 0 read error: -110
usb usb1: string descriptor 0 read error: -113
usb usb1: string descriptor 0 read error: -113
usb usb1: string descriptor 0 read error: -113
eth0: Media Link On 100mbps full-duplex
eth0: Media Link On 100mbps full-duplex
usb usb3: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb 2-1: string descriptor 0 read error: -110
usb 2-1: string descriptor 0 read error: -110
usb 2-1: string descriptor 0 read error: -110
usb usb1: string descriptor 0 read error: -113
usb usb1: string descriptor 0 read error: -113
usb usb1: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb 2-1: string descriptor 0 read error: -110
usb 2-1: string descriptor 0 read error: -110
usb 2-1: string descriptor 0 read error: -110
usb usb1: string descriptor 0 read error: -113
usb usb1: string descriptor 0 read error: -113
usb usb1: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb 2-1: string descriptor 0 read error: -110
usb 2-1: string descriptor 0 read error: -110
usb 2-1: string descriptor 0 read error: -110
usb usb1: string descriptor 0 read error: -113
usb usb1: string descriptor 0 read error: -113
usb usb1: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb usb3: string descriptor 0 read error: -113
usb 2-1: string descriptor 0 read error: -110
usb 2-1: string descriptor 0 read error: -110
usb 2-1: string descriptor 0 read error: -110
usb usb1: string descriptor 0 read error: -113
usb usb1: string descriptor 0 read error: -113
usb usb1: string descriptor 0 read error: -113


lsusb -v:

Bus 004 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 1 Single TT
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.8.1-ck8 ehci_hcd
iProduct 2 Silicon Integrated Systems [SiS] USB 2.0
Controller
iSerial 1 0000:00:03.3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 bytes 2 twice
bInterval 12

Bus 003 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.8.1-ck8 ohci_hcd
iProduct 2 Silicon Integrated Systems [SiS] USB 1.0
Controller(#3)
iSerial 1 0000:00:03.2
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 bytes 2 twice
bInterval 255

Bus 002 Device 003: ID 0db0:6982 Micro Star International Medion Flash XL
V2.7ACard Reader
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0db0 Micro Star International
idProduct 0x6982 Medion Flash XL V2.7A Card Reader
bcdDevice 2.6d
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4
bmAttributes 0x80
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 bytes 64 once
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 bytes 64 once
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 bytes 8 once
bInterval 10

Bus 002 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.8.1-ck8 ohci_hcd
iProduct 2 Silicon Integrated Systems [SiS] USB 1.0
Controller(#2)
iSerial 1 0000:00:03.1
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 bytes 2 twice
bInterval 255

Bus 001 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.8.1-ck8 ohci_hcd
iProduct 2 Silicon Integrated Systems [SiS] USB 1.0
Controller
iSerial 1 0000:00:03.0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 bytes 2 twice
bInterval 255


Attachments:
(No filename) (16.11 kB)
(No filename) (307.00 B)
Download all attachments

2004-09-17 19:30:08

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, 16 Sep 2004 19:30:22 +0200, Arjan van de Ven said:

> I would consider it REALLY weird for a module to use detailed vmalloc
> knowledge like this. Does anyone know what they are doing?????

Here's the problematic code:

// start off by tracking down which page within this allocation
// we're looking at. do this by searching for the physical address
// in our page table.
for (i = 0; i < at->num_pages; i++)
{
if ((address == (unsigned long) at->page_table[i].phys_addr))
{
unsigned long retaddr = (unsigned long) at->page_table[i].phys_addr;

// if we've allocated via vmalloc on a highmem system, the
// physical address may not be accessible via PAGE_OFFSET,
// that's ok, we have a simple linear pointer already.
if (at->flags & NV_ALLOC_TYPE_VMALLOC)
{
return (void *)((unsigned char *) at->key_mapping + (i << PAGE_SHIFT) + offset);
}

if (retaddr <= MAXMEM)
{
return __va((retaddr + offset));
}

// ?? this may be a contiguous allocation, fall through
// to below? or should I just check at->flag here?
}
}


It gets hung up because MAXMEM is:

#define MAXMEM (-__PAGE_OFFSET-__VMALLOC_RESERVE)

and in arch/i386/mm/init.c we have:

unsigned int __VMALLOC_RESERVE = 128 << 20;

but alas without an EXPORT_SYMBOL() so it's not visible to modules. The old
definition was:

#define __VMALLOC_RESERVE (128 << 20)

Change was introduced with the 'tune-vmalloc-size' patch in -rc2-mm1 that added
the boot-time 'vmalloc=' parameter.

I admit not knowing the memory manager or the NVidia well enough to know what
they *should* be doing instead.....


Attachments:
(No filename) (226.00 B)

2004-09-18 01:10:34

by Sean Neakums

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

Noticed this in my dmesg after booting 2.6.9-rc2-mm1:

enable_irq(17) unbalanced from c02a1ce5

$ grep ^c02a1c /boot/System.map-`uname -r`
c02a1c10 t e100_up

2004-09-18 06:01:47

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, Sep 16, 2004 at 02:40:20AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/
> - Added lots of Ingo's low-latency patches
> - Lockmeter doesn't compile. Don't enable CONFIG_LOCKMETER.
> - Several architecture updates

Tested this on my laptop, which is a shoddy testing environment because
it lacks serial devices... no, not all of my boxen are UltraEnterprise,
AlphaServer, and Altix systems (the Altix isn't even mine, it's werk's).
But anyway, I got some kind of backtrace in yenta_interrupt, that said
"stack pointer is garbage, not dumping" or some such, followed by an
interrupts-off deadlock later in some unclear location (looks like ICH
scanning or some such; while legible, I couldn't make heads or tails of
it). ISTR PCMCIA IRQ/etc. stack consumption issues; this may be related.

Russell, I didn't know whom to cc:; if you could redirect this in the
proper direction (e.g. PCMCIA maintainer) I'd be much obliged.


-- wli

2004-09-18 08:18:13

by Russell King

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Fri, Sep 17, 2004 at 11:01:34PM -0700, William Lee Irwin III wrote:
> Tested this on my laptop, which is a shoddy testing environment because
> it lacks serial devices... no, not all of my boxen are UltraEnterprise,
> AlphaServer, and Altix systems (the Altix isn't even mine, it's werk's).
> But anyway, I got some kind of backtrace in yenta_interrupt, that said
> "stack pointer is garbage, not dumping" or some such, followed by an

As far as "stack pointer is garbage", ISTR that I've seen that some
bug reports, and it looked like the test for that was wrong - ESP
seemed to be within 4K or 8K (I don't remember which) of the reported
stack base.

I think the first step is for someone to check whether the stack
pointer validation code is correct or not.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core

2004-09-20 01:13:32

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, Sep 16, 2004 at 02:40:20AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/
> - Added lots of Ingo's low-latency patches
> - Lockmeter doesn't compile. Don't enable CONFIG_LOCKMETER.
> - Several architecture updates

Fails to boot on my Altix. I'm guessing this is some known issue with
some patch, so hopefully one member of the cc: list has heard of it as
I'm a bit late to the game with this release and ia64. Relevant bootlog
diff between 2.6.9-rc1-mm4 and 2.6.9-rc2 indicates some kind of PCI,
qla1280, ia64/Altix IO support, or ACPI IRQ bogon.

Full diff between 2.6.9-rc2-mm1 and 2.6.9-rc1-mm4 bootlogs and complete
bootlog with 2.6.9-rc2-mm1 included as MIME attachments.


-- wli


--- altix.log.54 2004-09-19 17:39:12.000000000 -0700
+++ altix.log.53 2004-09-19 17:33:25.000000000 -0700
@@ -440,111 +524,21 @@
Loading kernel/drivers/scsi/sd_mod.ko
Loading kernel/drivers/ide/pci/sgiioc4.ko
ACPI: PCI interrupt 0000:01:01.0[A]: no GSI
-SGIIOC4: IDE controller at PCI slot 0000:01:01.0, revision 79
-ide0: BM-DMA at 0xc00000080c200140-0xc00000080c200163
-Probing IDE interface ide0...
-hda: MATSHITADVD-ROM SR-8588, ATAPI CD/DVD-ROM drive
-Using deadline io scheduler
-ide0 at 0xc00000080c200100-0xc00000080c200107,0xc00000080c200120 on irq 55
+Failed to enable device SGIIOC4 at slot 0000:01:01.0
Loading kernel/drivers/scsi/qla1280.ko
qla1280: QLA12160 found on PCI bus 1, dev 3
ACPI: PCI interrupt 0000:01:03.0[A]: no GSI
-scsi(0): Enabling SN2 PCI DMA dual channel lockup workaround
-scsi(0): Enabling SN2 PCI DMA workaround
-scsi(0:0): Resetting SCSI BUS
-scsi(0:1): Resetting SCSI BUS
-scsi0 : QLogic QLA12160 PCI to SCSI Host Adapter
- Firmware version: 10.04.32, Driver version 3.24.4
- Vendor: SGI Model: ST336753LC Rev: 2741
- Type: Direct-Access ANSI SCSI revision: 03
-scsi(0:0:1:0): Sync: period 9, offset 14, Wide, DT, Tagged queuing: depth 255
-SCSI device sda: 71687372 512-byte hdwr sectors (36704 MB)
-SCSI device sda: drive cache: write through
- sda: sda1 sda2 sda3
-Attached scsi disk sda at scsi0, channel 0, id 1, lun 0
- Vendor: SGI Model: ST336753LC Rev: 2741
- Type: Direct-Access ANSI SCSI revision: 03
-scsi(0:0:2:0): Sync: period 9, offset 14, Wide, DT, Tagged queuing: depth 255
-SCSI device sdb: 71687372 512-byte hdwr sectors (36704 MB)
-SCSI device sdb: drive cache: write through
- sdb: sdb1 sdb2 sdb3 sdb4 sdb5
-Attached scsi disk sdb at scsi0, channel 0, id 2, lun 0
+qla1280: Failed to enabled pci device, aborting.
Loading kernel/fs/jbd/jbd.ko
Loading kernel/fs/ext3/ext3.ko
-Waiting for device /dev/sda3 to appear: ok
-rootfs: major=8 minor=3 devn=2051
-warning: can't open /etc/mtab: No such file or directory
-EXT2-fs warning (device sda3): ext2_fill_super: mounting ext3 filesystem as ext2
-
-VFS: Mounted root (ext2 filesystem) readonly.
-Trying to move old root to /initrd ... failed
-Unmounting old root
-Trying to free ramdisk memory ... okay
-Freeing unused kernel memory: 368kB freed
-INIT: version 2.85 booting
-System Boot Control: Running /etc/init.d/boot
-Mounting /proc filesystemdone
-Mounting sysfs on /sysdone
-Mounting /dev/ptsdone
-Configuring serial ports...
-/dev/ttySG0 at 0x0000 (irq = 233) is a 16550A
-Configured serial ports
-doneMounting shared memory FS on /dev/shmdone
-Activating swap-devices in /etc/fstab...
-Adding 1052144k swap on /dev/sda2. Priority:42 extents:1
-Adding 1052160k swap on /dev/sdb2. Priority:42 extents:1
-doneshowconsole: Warning: the ioctl TIOCGDEV is not known by the kernel
-Checking root file system...
-fsck 1.34 (25-Jul-2003)
-[/sbin/fsck.ext3 (1) -- /] fsck.ext3 -a /dev/sda3
-/dev/sda3: clean, 473518/4325376 files, 6590955/8644436 blocks
-donemd: Autodetecting RAID arrays.
-md: autorun ...
-md: ... autorun DONE.
-Activating device mapper...
-device-mapper: 4.1.0-ioctl (2003-12-10) initialised: [email protected]
-Creating /dev/mapper/control character device with major:10 minor:63.
-done
-Scanning for LVM volume groups...
- Reading all physical volumes. This may take a while...
- No volume groups found
-Activating LVM volume groups...
- No volume groups found
-skipped
-showconsole: Warning: the ioctl TIOCGDEV is not known by the kernel
-Checking file systems...
-fsck 1.34 (25-Jul-2003)
-Checking all file systems.
-[/sbin/fsck.xfs (1) -- /oracle] fsck.xfs -a /dev/sdb3
-doneSetting updone
-Mounting local file systems...
-proc on /proc type proc (rw)
-tmpfs on /dev/shm type tmpfs (rw)
-devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
-/dev/sda1 on /boot/efi type vfat (rw)
-mount: fs type subfs not supported by kernel
-SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
-XFS mounting filesystem sdb3
-Ending clean XFS mount for filesystem: sdb3
-/dev/sdb3 on /oracle type xfs (rw)
-none on /tmp type tmpfs (rw)
-failedLoading required kernel modules
-doneActivating remaining swap-devices in /etc/fstab...
-doneRestore device permissionsdone
-Setting up the CMOS clockdone
-Setting up timezone datadone
-Setting scheduling timeslices unused
-Setting up hostname 'ca-test21'done
-Setting up loopback interface lo
- lo IP address: 127.0.0.1/8
-done
-Enabling syn flood protectiondone
-Disabling IP forwardingdone
-done
-Creating /var/log/boot.msg
-
+Waiting for device /dev/sda3 to appear: .....not found -- device nodes:
+console fb0 loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7 md0 null ram ram0 ram1 ram10 ram11 ram12 ram13 ram14 ram15 ram2 ram3 ram4 ram5 ram6 ram7 ram8 ram9 ramdisk tty1 tty2 zero warning: can't open /etc/mtab: No such file or directory
+VFS: Cannot open root device "sda3" or unknown-block(0,0)
+Please append a correct "root=" boot option
+Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
+
telnet> close
Connection closed.
$

-Script done on Sun Sep 19 17:40:18 2004
+Script done on Sun Sep 19 17:34:31 2004


Attachments:
(No filename) (5.92 kB)
altix.diff.bz2 (8.59 kB)
altix.diff.bz2
altix.log.53.bz2 (6.96 kB)
altix.log.53.bz2
Download all attachments

2004-09-20 02:35:11

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, Sep 16, 2004 at 02:40:20AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/
> - Added lots of Ingo's low-latency patches
> - Lockmeter doesn't compile. Don't enable CONFIG_LOCKMETER.
> - Several architecture updates

top(1) shows no tasks on sparc64. Large negative inode numbers appear
to be showing up for /proc/stat and other /proc/ special files on
64-bit irrespective of endianness, and all processes appear to have the
same inode number once again irrespective of endianness. It's unclear
why top(1) enumerates tasks on x86-64 and does not do so on sparc64,
unless 2.6.9-rc2-mm1 shows some behavior procps-3.2.3 is sensitive to
that 3.2.1 is not, or some numbers are overflowing on 32-bit apps but
not 64-bit ones (top(1) is 64-bit on x86-64 but 32-bit on sparc64)
that userspace barfs on and not the kernel (no error returns from
syscalls are visible in strace). ls and cat appear to work where top(1)
does not.

acahalan cc:'d as he last touched fs/proc/.

$ stat /proc/stat
File: `/proc/stat'
Size: 0 Blocks: 0 IO Block: 1024 regular empty file
Device: 3h/3d Inode: -268435443 Links: 1
Access: (0444/-r--r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2004-09-19 18:46:38.246034917 -0700
Modify: 2004-09-19 18:46:38.246034917 -0700
Change: 2004-09-19 18:46:38.246034917 -0700
$ stat /proc/[0-9]*|grep Inode|sort -u -k 4,4
Device: 3h/3d Inode: 2 Links: 3

(the same on x86-64 and sparc64).


-- wli

2004-09-20 04:24:40

by Albert Cahalan

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Sun, 2004-09-19 at 22:34, William Lee Irwin III wrote:
> On Thu, Sep 16, 2004 at 02:40:20AM -0700, Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/
> > - Added lots of Ingo's low-latency patches
> > - Lockmeter doesn't compile. Don't enable CONFIG_LOCKMETER.
> > - Several architecture updates
>
> top(1) shows no tasks on sparc64.

It would be nice if I had such a box. I can't even
find a user account on one. I have 32-bit ppc, plus
non-root accounts on alpha, i386, and x86_64 boxes
with obsolete kernels.

> Large negative inode numbers appear
> to be showing up for /proc/stat and other /proc/ special files on
> 64-bit irrespective of endianness, and all processes appear to have the
> same inode number once again irrespective of endianness.

The inode numbering patch looks sane enough...

> It's unclear
> why top(1) enumerates tasks on x86-64 and does not do so on sparc64,
> unless 2.6.9-rc2-mm1 shows some behavior procps-3.2.3 is sensitive to
> that 3.2.1 is not, or some numbers are overflowing on 32-bit apps but
> not 64-bit ones (top(1) is 64-bit on x86-64 but 32-bit on sparc64)

In no place does procps itself care about ino_t.

Perhaps your 32-bit glibc chokes on 64-bit inode numbers.
If so, yuck. It's really sad that we have a zillion
versions of stat(), many with oversize dev_t, and still
we use 32-bit ino_t in many places.

Whether or not that's the problem...

1. install a 64-bit or bi-arch gcc
2. install a 64-bit libc
3. install a 64-bit ncurses
4. install a 64-bit procps

(suggestion: keep going until /bin is done)

That's pretty much it. The procps package goes to
great lengths to compile itself 64-bit, even passing
the -m64 option and installing to /lib64 as needed.
If you've broken this, you get to keep the pieces.

In other words: seriously unsupported

I see no reason why 32-bit SPARC users should have
to suffer the pain of running code bloated up to
handle 64-bit SPARC. The 32-bit SPARC hardware is
slow enough already. Just try to look a 32-bit SPARC
user in the eye and tell him "Your system should run
even slower now, so that my hot new hardware can keep
running old 32-bit executables meant for you"





2004-09-20 04:38:00

by Paul Jackson

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

wli wrote:
> Fails to boot on my Altix.

See a couple of patches on this linux-scsi thread, mostly between Jesse
Barnes and Andrew Vasquez:

SCSI QLA not working on latest *-mm SN2
http://marc.theaimsgroup.com/?l=linux-scsi&m=109537406715003&w=2

Or I got it working (I think - memory fuzzy know) without this patch, by
(1) disabling the CONFIG_SCSI_QLA2[123]?? options, and (2) applying the
following workaround patch:

--- 2.6.9-rc2-mm1.orig/arch/ia64/pci/pci.c 2004-09-16 07:45:58.000000000 -0700
+++ 2.6.9-rc2-mm1/arch/ia64/pci/pci.c 2004-09-16 12:02:34.000000000 -0700
@@ -445,7 +445,7 @@ pcibios_enable_device (struct pci_dev *d
if (ret < 0)
return ret;

- return acpi_pci_irq_enable(dev);
+ return ia64_platform_is("sn2") ? 0 : acpi_pci_irq_enable(dev);
}

void

===

Jesse - could you post on lkml the definitive guide to getting
2.6.9-rc2-mm1 working on Altix?

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <[email protected]> 1.650.933.1373

2004-09-20 07:48:05

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Sun, 2004-09-19 at 22:34, William Lee Irwin III wrote:
>> top(1) shows no tasks on sparc64.

On Mon, Sep 20, 2004 at 12:18:45AM -0400, Albert Cahalan wrote:
> It would be nice if I had such a box. I can't even
> find a user account on one. I have 32-bit ppc, plus
> non-root accounts on alpha, i386, and x86_64 boxes
> with obsolete kernels.

On Sun, 2004-09-19 at 22:34, William Lee Irwin III wrote:
>> Large negative inode numbers appear
>> to be showing up for /proc/stat and other /proc/ special files on
>> 64-bit irrespective of endianness, and all processes appear to have the
>> same inode number once again irrespective of endianness.

On Sun, 2004-09-19 at 22:34, William Lee Irwin III wrote:
> The inode numbering patch looks sane enough...

It may be userspace. stat(1) on SuSE/x86-64 reports large negative
inode numbers and identical inode numbers for all processes similarly
to that of Debian, yet it is compiled as a 64-bit application. So even
with of 64-bit-ness of userspace something has gone wrong.


On Sun, 2004-09-19 at 22:34, William Lee Irwin III wrote:
>> It's unclear
>> why top(1) enumerates tasks on x86-64 and does not do so on sparc64,
>> unless 2.6.9-rc2-mm1 shows some behavior procps-3.2.3 is sensitive to
>> that 3.2.1 is not, or some numbers are overflowing on 32-bit apps but
>> not 64-bit ones (top(1) is 64-bit on x86-64 but 32-bit on sparc64)

On Mon, Sep 20, 2004 at 12:18:45AM -0400, Albert Cahalan wrote:
> In no place does procps itself care about ino_t.
> Perhaps your 32-bit glibc chokes on 64-bit inode numbers.
> If so, yuck. It's really sad that we have a zillion
> versions of stat(), many with oversize dev_t, and still
> we use 32-bit ino_t in many places.
> Whether or not that's the problem...
> 1. install a 64-bit or bi-arch gcc
> 2. install a 64-bit libc
> 3. install a 64-bit ncurses
> 4. install a 64-bit procps
> (suggestion: keep going until /bin is done)
> That's pretty much it. The procps package goes to
> great lengths to compile itself 64-bit, even passing
> the -m64 option and installing to /lib64 as needed.
> If you've broken this, you get to keep the pieces.

I didn't touch this. Also, procps FTBFS on sparc64; I see no evidence
of passing -m64 or whatever to either the compilation or linking phase
in virgin procps. It gets better, though. On SuSE's x86-64 userspace,
procps and stat(1) are compiled 64-bit yet the inode numbers overflow,
as all /proc/$PID entries have identical inode numbers as reported.

So you may be getting bitten by -EOVERFLOW from 32-bit emulated stat(2)
or otherwise glibc's struct stat sans O_LARGEFILE, even though I
couldn't see it with strace(1). Perhaps silent truncation is going on
for the case of inode numbers that would overflow 32-bit integers. IIRC
stat(2) will be replaced by stat64(2) if O_LARGEFILE is passed, which
should probably be done for this case. Having made this a requirement
for 32-bit apps on 64-bit systems may be considered undesirable.
Perhaps a method of generating inode numbers different from assigning
fixed numerical ranges to tasks of a given pid would be more
appropriate, particularly as you've observed that numbers so large in
absolute terms have undesirable side effects. It's likewise readily
observable that these inode number space reservations are ridiculous
for systems running well under 100 tasks.

x86-64 and ia64 are highly unusual in that 64-bit compilation is
useful for basic apps, and alpha an exception in that it has no 32-bit
ABI; for most 64-bit architectures making such large fractions of
userspace 64-bit applictions is undesirable.

Furthermore, this bit of userspace policy isn't my decision and I don't
care to override it, particularly as it would break automated upgrades.
I just don't dork around much with userspace. Maintainers of the Debian
procps package and sparc64 Debian kernel package cc:'d here, as they do
care somewhat more and make more of the decisions. I'm not sure who the
SuSE counterparts are, but they surely have similar concerns as their
userspace is likewise affected.


On Mon, Sep 20, 2004 at 12:18:45AM -0400, Albert Cahalan wrote:
> In other words: seriously unsupported
> I see no reason why 32-bit SPARC users should have
> to suffer the pain of running code bloated up to
> handle 64-bit SPARC. The 32-bit SPARC hardware is
> slow enough already. Just try to look a 32-bit SPARC
> user in the eye and tell him "Your system should run
> even slower now, so that my hot new hardware can keep
> running old 32-bit executables meant for you"

It's UltraSPARC. 32-bit userspace is used there. Recompiling top(1) as
a 64-bit app produces nonempty process lists.

And telling sparc32 users that has already been done for far more
severe slowdowns, in particular udiv emulation. Proper use of
O_LARGEFILE etc. is actually unlikely to hurt sparc32 in any
significant way, as it has a decent number of registers, unlike the
32-bit counterparts of some architectures for whose sake O_LARGEFILE is
omitted where considered feasible. On the contrary, compiling it 64-bit
would be a minor (though I can't imagine it being significant) slowdown
for users of UltraSPARC (the 64-bit cpus). O_LARGEFILE for 32-bit apps
is far more likely to hurt x86 biarch userspace than SPARC or other
standard 64-bit architectures' biarch userspace, though in that case it
would still be unusual, as its policy is generally 64-bit by default.


-- wli

2004-09-20 15:05:38

by Albert Cahalan

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Mon, 2004-09-20 at 03:47, William Lee Irwin III wrote:
> On Sun, 2004-09-19 at 22:34, William Lee Irwin III wrote:
> >> top(1) shows no tasks on sparc64.
>
> On Mon, Sep 20, 2004 at 12:18:45AM -0400, Albert Cahalan wrote:
> > It would be nice if I had such a box. I can't even
> > find a user account on one. I have 32-bit ppc, plus
> > non-root accounts on alpha, i386, and x86_64 boxes
> > with obsolete kernels.

> On Mon, Sep 20, 2004 at 12:18:45AM -0400, Albert Cahalan wrote:
> > In no place does procps itself care about ino_t.
> > Perhaps your 32-bit glibc chokes on 64-bit inode numbers.
> > If so, yuck. It's really sad that we have a zillion
> > versions of stat(), many with oversize dev_t, and still
> > we use 32-bit ino_t in many places.
> > Whether or not that's the problem...
> > 1. install a 64-bit or bi-arch gcc
> > 2. install a 64-bit libc
> > 3. install a 64-bit ncurses
> > 4. install a 64-bit procps
> > (suggestion: keep going until /bin is done)
> > That's pretty much it. The procps package goes to
> > great lengths to compile itself 64-bit, even passing
> > the -m64 option and installing to /lib64 as needed.
> > If you've broken this, you get to keep the pieces.
>
> I didn't touch this. Also, procps FTBFS on sparc64; I see no evidence
> of passing -m64 or whatever to either the compilation or linking phase
> in virgin procps.

Debian compiles sparc and sparc64 on the same box,
and fails to distinguish them. Therefore, Debian
disables -m64 during the build. The package itself
will disable -m64 if it is unable to successfully
link a dummy.c file with ncurses when using it.

If you compile from the *.tar.gz file and have a
working 64-bit ncurses, you should get a 64-bit
executable. If you don't, please tell me what I
need to do to make it work.

> It gets better, though. On SuSE's x86-64 userspace,
> procps and stat(1) are compiled 64-bit yet the inode numbers overflow,
> as all /proc/$PID entries have identical inode numbers as reported.

Hmmm... who cares about the inode numbers?

If the answer is "glibc readdir", then the numbers
should be taken from distinct number spaces for the
/proc, /proc/*/task, and /proc/*/fd directories.
Re-use within a directory may be the most trouble.

If it's not even that, then the fake_ino() macro
shouldn't pretend that the numbers matter. Simply
make it be a constant.

> x86-64 and ia64 are highly unusual in that 64-bit compilation is
> useful for basic apps, and alpha an exception in that it has no 32-bit
> ABI; for most 64-bit architectures making such large fractions of
> userspace 64-bit applictions is undesirable.

MIPS at least has N32, which is a distinct ABI for
the ILP32 model on 64-bit hardware. This offers the
best performance while not making 32-bit users suffer.

> On Mon, Sep 20, 2004 at 12:18:45AM -0400, Albert Cahalan wrote:
> > In other words: seriously unsupported
> > I see no reason why 32-bit SPARC users should have
> > to suffer the pain of running code bloated up to
> > handle 64-bit SPARC. The 32-bit SPARC hardware is
> > slow enough already. Just try to look a 32-bit SPARC
> > user in the eye and tell him "Your system should run
> > even slower now, so that my hot new hardware can keep
> > running old 32-bit executables meant for you"
>
> It's UltraSPARC. 32-bit userspace is used there. Recompiling top(1) as
> a 64-bit app produces nonempty process lists.
>
> And telling sparc32 users that has already been done for far more
> severe slowdowns, in particular udiv emulation.

You mean it traps instead of directly calling
a routine in libgcc?

Admittedly on x86, profiling has shown that handling
64-bit values with a 32-bit ABI is truly horrible.
So both sparc and sparc64 are being hurt if 32-bit
sparc binaries have to support 64-bit kernels.

If 32-bit is so good, you'll want to get a 32-bit
kernel on your hardware ASAP.

> Proper use of
> O_LARGEFILE etc. is actually unlikely to hurt sparc32 in any
> significant way, as it has a decent number of registers,

More than O_LARGEFILE would be involved.

All the /proc parsing code would have to be 64-bit.
The overhead of strtoull() and the libgcc division
functions is really bad. It can show up at the top
of a profile.

Here's just a small amount of 64-bit usage:

Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ns/call ns/call name
16.26 0.20 0.20 __udivdi3

That was merely an accidental 64-bit usage. It gets
far, far worse when trying to support a 64-bit kernel
from a 32-bit app.


2004-09-20 17:41:45

by Terence Ripperda

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Fri, Sep 17, 2004 at 03:29:51PM -0400, [email protected] wrote:
> I admit not knowing the memory manager or the NVidia well enough to know what
> they *should* be doing instead.....

this is some ugly code. we're doing a lookup on a physical address to
see if this is memory we previously allocated and returning a kernel
pointer to the page.

the particular snippet in question (that uses MAXMEM) is an ugly attempt
to verify the address is a real physical address, before using __va()
on something like an i/o region. A better approach than comparing
MAXMEM would probably be to convert the address to a mapnr and compare
to max_mapnr.

I'll clean up this code and post a patch in the next couple of days.
in the meantime, the current patches out there should be good.

Thanks,
Terence

2004-09-20 18:01:01

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

Magnus M??tt? <[email protected]> wrote:
>
> I'm getting
> *** Warning: "afs_file_page_mkwrite" [fs/afs/kafs.ko] undefined!
> when I build the kernel.
>
> If I remove make-afs-use-cachefs.patch it works just fine.

Like this, I guess.

--- 25/fs/afs/file.c~afs-cachefs-dependency-fix 2004-09-20 10:56:28.714441752 -0700
+++ 25-akpm/fs/afs/file.c 2004-09-20 10:57:39.770639568 -0700
@@ -33,7 +33,9 @@ static int afs_file_releasepage(struct p

static ssize_t afs_file_write(struct file *file, const char __user *buf,
size_t size, loff_t *off);
+#ifdef CONFIG_AFS_CACHEFS
static int afs_file_page_mkwrite(struct page *page);
+#endif

struct inode_operations afs_file_inode_operations = {
.getattr = afs_inode_getattr,
@@ -56,7 +58,9 @@ struct address_space_operations afs_fs_a
.set_page_dirty = __set_page_dirty_nobuffers,
.releasepage = afs_file_releasepage,
.invalidatepage = afs_file_invalidatepage,
+#ifdef CONFIG_AFS_CACHEFS
.page_mkwrite = afs_file_page_mkwrite,
+#endif
};

/*****************************************************************************/
_

2004-09-20 19:30:16

by Andi Kleen

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

Terence Ripperda <[email protected]> writes:

> this is some ugly code. we're doing a lookup on a physical address to
> see if this is memory we previously allocated and returning a kernel
> pointer to the page.
>
> the particular snippet in question (that uses MAXMEM) is an ugly attempt
> to verify the address is a real physical address, before using __va()
> on something like an i/o region. A better approach than comparing
> MAXMEM would probably be to convert the address to a mapnr and compare
> to max_mapnr.

pfn_valid() is intended for that. However it cannot work
when you have more than 4GB memory and IO memory holes below 4GB.
Testing the reserved bit of the struct page * may work in
that case, although it can give false positives when you try
this with random memory (some people set reserved on real memory
for other reason)

-Andi

2004-09-20 20:15:52

by Magnus Määttä

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

Hi Andrew,

Sent first mail with wrong mail address..

On Monday 20 September 2004 19.58, Andrew Morton wrote:
> Magnus M??tt? <[email protected]> wrote:
> > I'm getting
> > *** Warning: "afs_file_page_mkwrite" [fs/afs/kafs.ko] undefined!
> > when I build the kernel.
> >
> > If I remove make-afs-use-cachefs.patch it works just fine.
>
> Like this, I guess.
>
> --- 25/fs/afs/file.c~afs-cachefs-dependency-fix 2004-09-20
> 10:56:28.714441752 -0700 +++ 25-akpm/fs/afs/file.c 2004-09-20
> 10:57:39.770639568 -0700
> @@ -33,7 +33,9 @@ static int afs_file_releasepage(struct p
>
> static ssize_t afs_file_write(struct file *file, const char __user *buf,
> size_t size, loff_t *off);
> +#ifdef CONFIG_AFS_CACHEFS
> static int afs_file_page_mkwrite(struct page *page);
> +#endif
>
> struct inode_operations afs_file_inode_operations = {
> .getattr = afs_inode_getattr,
> @@ -56,7 +58,9 @@ struct address_space_operations afs_fs_a
> .set_page_dirty = __set_page_dirty_nobuffers,
> .releasepage = afs_file_releasepage,
> .invalidatepage = afs_file_invalidatepage,
> +#ifdef CONFIG_AFS_CACHEFS
> .page_mkwrite = afs_file_page_mkwrite,
> +#endif
> };
>
>
> /*****************************************************************************/

That fixed it, thanks!


/Magnus

2004-09-20 20:45:33

by David Howells

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1


Hi Andrew,

That looks okay. Thanks.

David

2004-09-20 21:02:57

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Mon, 2004-09-20 at 03:47, William Lee Irwin III wrote:
>> I didn't touch this. Also, procps FTBFS on sparc64; I see no evidence
>> of passing -m64 or whatever to either the compilation or linking phase
>> in virgin procps.

On Mon, Sep 20, 2004 at 11:00:47AM -0400, Albert Cahalan wrote:
> Debian compiles sparc and sparc64 on the same box,
> and fails to distinguish them. Therefore, Debian
> disables -m64 during the build. The package itself
> will disable -m64 if it is unable to successfully
> link a dummy.c file with ncurses when using it.
> If you compile from the *.tar.gz file and have a
> working 64-bit ncurses, you should get a 64-bit
> executable. If you don't, please tell me what I
> need to do to make it work.

Reread the above.

I used make CC="gcc -m64" to make it work on the pristine sources.
It did not work on pristine sources otherwise.


On Mon, 2004-09-20 at 03:47, William Lee Irwin III wrote:
>> It gets better, though. On SuSE's x86-64 userspace,
>> procps and stat(1) are compiled 64-bit yet the inode numbers overflow,
>> as all /proc/$PID entries have identical inode numbers as reported.

On Mon, Sep 20, 2004 at 11:00:47AM -0400, Albert Cahalan wrote:
> Hmmm... who cares about the inode numbers?
> If the answer is "glibc readdir", then the numbers
> should be taken from distinct number spaces for the
> /proc, /proc/*/task, and /proc/*/fd directories.
> Re-use within a directory may be the most trouble.
> If it's not even that, then the fake_ino() macro
> shouldn't pretend that the numbers matter. Simply
> make it be a constant.

I don't need to answer this beyond "stock userspace pukes on it".
The patch writer bears the burden of proof.


On Mon, 2004-09-20 at 03:47, William Lee Irwin III wrote:
>> x86-64 and ia64 are highly unusual in that 64-bit compilation is
>> useful for basic apps, and alpha an exception in that it has no 32-bit
>> ABI; for most 64-bit architectures making such large fractions of
>> userspace 64-bit applictions is undesirable.

On Mon, Sep 20, 2004 at 11:00:47AM -0400, Albert Cahalan wrote:
> MIPS at least has N32, which is a distinct ABI for
> the ILP32 model on 64-bit hardware. This offers the
> best performance while not making 32-bit users suffer.

For whatever merits the n32 ABI may have, biarch userspace generally
involves reusing most of the 32-bit userspace.


On Mon, 2004-09-20 at 03:47, William Lee Irwin III wrote:
>> It's UltraSPARC. 32-bit userspace is used there. Recompiling top(1) as
>> a 64-bit app produces nonempty process lists.
>> And telling sparc32 users that has already been done for far more
>> severe slowdowns, in particular udiv emulation.

On Mon, Sep 20, 2004 at 11:00:47AM -0400, Albert Cahalan wrote:
> You mean it traps instead of directly calling
> a routine in libgcc?

Yes. There is some instruction that's emulated (udiv) instead of having
library calls generated.


On Mon, Sep 20, 2004 at 11:00:47AM -0400, Albert Cahalan wrote:
> Admittedly on x86, profiling has shown that handling
> 64-bit values with a 32-bit ABI is truly horrible.
> So both sparc and sparc64 are being hurt if 32-bit
> sparc binaries have to support 64-bit kernels.

sparc32 is legacy enough that the true 32-bit systems are
irrelevant as performance considerations. I also very explicitly
discussed the ia32 case being the sole exception among all emulated
32-bit ABI's; it is so grossly inferior the 64-bit ABI dominates it in
performance as it does nowhere else.


On Mon, Sep 20, 2004 at 11:00:47AM -0400, Albert Cahalan wrote:
> If 32-bit is so good, you'll want to get a 32-bit
> kernel on your hardware ASAP.

This may be one reason why non-Linux kernels have chosen to use 32-bit
kernels on 64-bit cpus in various instances. But in general this
assertion is pure gibberish. That's not how biarch userspace is done;
if you care to change that, petition the distribution maintainers.

As for e.g. UltraSPARC userspace, it doesn't come any other way but
biarch and mostly 32-bit. If you would like to petition distributions
to ship procps as 64-bit those Debian project members I added to the
cc: list here may be relevant.


On Mon, 2004-09-20 at 03:47, William Lee Irwin III wrote:
>> Proper use of
>> O_LARGEFILE etc. is actually unlikely to hurt sparc32 in any
>> significant way, as it has a decent number of registers,

On Mon, Sep 20, 2004 at 11:00:47AM -0400, Albert Cahalan wrote:
> More than O_LARGEFILE would be involved.
> All the /proc parsing code would have to be 64-bit.
> The overhead of strtoull() and the libgcc division
> functions is really bad. It can show up at the top
> of a profile.
> Here's just a small amount of 64-bit usage:
> Each sample counts as 0.01 seconds.
> % cumulative self self total
> time seconds seconds calls ns/call ns/call name
> 16.26 0.20 0.20 __udivdi3
> That was merely an accidental 64-bit usage. It gets
> far, far worse when trying to support a 64-bit kernel
> from a 32-bit app.

This is undoubtedly architecture-specific. I am thoroughly unimpressed
by ia32 results. The effect of double-precision arithmetic on inferior,
register-starved ISA's/ABI's is very predictable and not applicable to
any other architecture. Also, your concerns have been expressed before
and are motivators of the canonical -D_FILE_OFFSET_BITS=64 arrangement,
where apps do not explicitly use any 64-bit types or 64-bit aware
library routines, but are rather redirected to such depending on whether
-D_FILE_OFFSET_BITS=64 is passed as a compilation flag or not.

I strongly suggest the following:
(a) Stop fiddling with the compilation flags since it doesn't work
anyway and is undone by packagers just to get it to build.
Furthermore, they also find your attempt to force 64-bit
compilation undesirable. As a reminder, the compiletest
demonstrating build failure from prior posts was on pristine
sources, not Debian-altered sources.
(b) Make O_LARGEFILE a compile-time option; merely use off_t etc. instead
of unsigned long and the types and fs syscalls will be switched
between single and double precision depending on whether
-D_FILE_OFFSET_BITS=64 is used. No overhead will be created
for 32-bit ia32 unless someone is so foolish as to e.g. use
-D_FILE_OFFSET_BITS=64 on an inferior, register-starved ISA/ABI.
(c) The compiler spews more warnings than are reasonable, and some of
them are likely bugs. Cleaning those up may help.
(d) If your patch is triggering some bug in glibc, diagnose it and send
a bugreport to glibc maintainers.
(e) This should have been rather easily anticipated given that you're
shifting (pid+1) << BITS_PER_LONG/2. I expect the maintainers
of most/all arches with 32-bit emulation (essentially all
64-bit except alpha) to have conniption fits if this gets
anywhere near mainline. Such shifts are tantamount to 32-bit
emulated stat(2) always returning -EOVERFLOW in lieu of results.


-- wli

2004-09-20 22:20:47

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Mon, Sep 20, 2004 at 02:01:59PM -0700, William Lee Irwin III wrote:
> (e) This should have been rather easily anticipated given that you're
> shifting (pid+1) << BITS_PER_LONG/2. I expect the maintainers
> of most/all arches with 32-bit emulation (essentially all
> 64-bit except alpha) to have conniption fits if this gets
> anywhere near mainline. Such shifts are tantamount to 32-bit
> emulated stat(2) always returning -EOVERFLOW in lieu of results.

I've confirmed that backing out fake_ino-fixes.patch repairs 32-bit
emulated userspace.

akpm, please back out fake_ino-fixes.patch.


-- wli

2004-09-20 23:28:21

by Jesse Barnes

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Sunday, September 19, 2004 9:37 pm, Paul Jackson wrote:
> wli wrote:
> > Fails to boot on my Altix.
>
> See a couple of patches on this linux-scsi thread, mostly between Jesse
> Barnes and Andrew Vasquez:
>
> SCSI QLA not working on latest *-mm SN2
> http://marc.theaimsgroup.com/?l=linux-scsi&m=109537406715003&w=2
>
> Or I got it working (I think - memory fuzzy know) without this patch, by
> (1) disabling the CONFIG_SCSI_QLA2[123]?? options, and (2) applying the
> following workaround patch:

You'll need the patch you posted (or its equivalent, see my earlier reply to
Andrew's announcement) to boot. You'll need the qla patches I posted to use
qla2xxx adapters.

Jesse

2004-09-24 05:30:45

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, Sep 16, 2004 at 02:40:20AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/
> - Added lots of Ingo's low-latency patches
> - Lockmeter doesn't compile. Don't enable CONFIG_LOCKMETER.
> - Several architecture updates

Sorry to bother you again. I appear to get this after a couple days of
uptime:

# ----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at cfq_iosched:1395
invalid operand: 0000 [1] SMP
CPU 0
Modules linked in: st sr_mod floppy usbserial parport_pc lp parport snd_seq_oss snd_seq_device snd_seq_midi_event snd_seq thermal snd_pcm_oss snd_mixer_oss snd_ioctl32 processor fan button battery snd_intel8x0 snd_ac97_codec snd_pcm ipv6 snd_timer ac snd soundcore snd_page_alloc af_packet joydev usbhid uhci_hcd e1000 usbcore hw_random evdev dm_mod ext3 jbd aic79xx ata_piix libata sd_mod scsi_mod
Pid: 0, comm: swapper Not tainted 2.6.9-rc2-mm1
RIP: 0010:[<ffffffff802909cb>] <ffffffff802909cb>{cfq_put_request+139}
RSP: 0018:ffffffff804c9848 EFLAGS: 00010046
RAX: 0000000000000000 RBX: 000001017e1d0040 RCX: 000001017e23a0c0
RDX: 0000000000000001 RSI: 0000010132292990 RDI: 000001017e4b2ef8
RBP: 000001017e9e6968 R08: 0000000000000002 R09: 0000000000800110
R10: 0000000000000001 R11: 0000010006466560 R12: 000001017ff68c08
R13: 0000010132292990 R14: 000001017ffdf100 R15: 0000000000000200
FS: 0000000000000000(0000) GS:ffffffff8054d900(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000002a9b7f4000 CR3: 0000000000101000 CR4: 00000000000006e0
Process swapper (pid: 0, threadinfo ffffffff80550000, task ffffffff8041dc80)
Stack: 0000010132292990 000001017e1d0040 0000000000000001 0000000000000001
000001017e1d0040 ffffffff802850cf 000001015e4bfc80 ffffffff80287a4b
0000010132292990 0000010037c1c800
Call Trace:<IRQ> <ffffffff802850cf>{elv_put_request+15} <ffffffff80287a4b>{__blk_put_request+139}
<ffffffff80287b83>{end_that_request_last+243} <ffffffffa0006178>{:scsi_mod:scsi_end_request+200}
<ffffffffa00063f0>{:scsi_mod:scsi_io_completion+576}
<ffffffffa0000506>{:scsi_mod:scsi_finish_command+214}
<ffffffffa0000e4a>{:scsi_mod:scsi_softirq+234} <ffffffff8013da51>{__do_softirq+113}
<ffffffff8013db05>{do_softirq+53} <ffffffff80113f1f>{do_IRQ+335}
<ffffffff80110d27>{ret_from_intr+0} <EOI> <ffffffff8010f5a6>{mwait_idle+86}
<ffffffff8010f9fd>{cpu_idle+29} <ffffffff8055371a>{start_kernel+490}
<ffffffff805531e0>{_sinittext+480}

Code: 0f 0b e7 9d 38 80 ff ff ff ff 73 05 ff c8 48 89 ef 41 89 44
RIP <ffffffff802909cb>{cfq_put_request+139} RSP <ffffffff804c9848>
<0>Kernel panic - not syncing: Aiee, killing interrupt handler!

2004-09-24 07:12:19

by Jens Axboe

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, Sep 23 2004, William Lee Irwin III wrote:
> On Thu, Sep 16, 2004 at 02:40:20AM -0700, Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.9-rc2/2.6.9-rc2-mm1/
> > - Added lots of Ingo's low-latency patches
> > - Lockmeter doesn't compile. Don't enable CONFIG_LOCKMETER.
> > - Several architecture updates
>
> Sorry to bother you again. I appear to get this after a couple days of
> uptime:
>
> # ----------- [cut here ] --------- [please bite here ] ---------
> Kernel BUG at cfq_iosched:1395

is it the !allocated[rw] test again?

--
Jens Axboe

2004-09-24 07:24:20

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.9-rc2-mm1

On Thu, Sep 23 2004, William Lee Irwin III wrote:
>> Sorry to bother you again. I appear to get this after a couple days of
>> uptime:
>> # ----------- [cut here ] --------- [please bite here ] ---------
>> Kernel BUG at cfq_iosched:1395

On Fri, Sep 24, 2004 at 09:11:23AM +0200, Jens Axboe wrote:
> is it the !allocated[rw] test again?

I am unfortunately completely oblivious to bdev handling code. In
2.6.9-rc2-mm1 this corresponds to (whitespace not preserved):

1390 BUG_ON(!hlist_unhashed(&crq->hash));
1391
1392 if (crq->io_context)
1393 put_io_context(crq->io_context->ioc);
1394
1395 BUG_ON(!cfqq->allocated[crq->is_write]);
1396 cfqq->allocated[crq->is_write]--;
1397
1398 mempool_free(crq, cfqd->crq_pool);
1399 rq->elevator_private = NULL;


-- wli

2004-11-09 08:50:20

by Brown, Len

[permalink] [raw]
Subject: acpi_pci_irq_enable (RE: 2.6.9-rc2-mm1)

On Fri, 2004-09-17 at 02:50, Len Brown wrote:
> On Fri, 2004-09-17 at 01:18, Protasevich, Natalie wrote:
> > > On Thursday 16 September 2004 11:14 am, Jesse Barnes wrote:
> > > > On Thursday, September 16, 2004 2:40 am, Andrew Morton wrote:
> > > > bk-acpi.patch
> > > >
> > > > Looks like some changes in this patch break sn2. In particular,
> > this
> > > > hunk in acpi_pci_irq_enable():
> > > >
> > > > - return_VALUE(0);
> > > > + return_VALUE(-EINVAL);
> > > >

> I think the patch has pointed out that this routine really should be returning 0
> for success and non zero for failure; and returning dev->irq was
> probably a latent bug all along.

Jesse,
I think this one is correct, please let me know if you have any trouble
with it.

thanks,
-Len



Attachments:
irq0.patch (5.34 kB)