Skip to contentSkip to conversation

2.6.8-rc3-mm2

PATCH New Andrew Morton 15 participants 51 messages Aug 8, 2004 – Aug 10, 2004

Subsystems (6)
lore
Share & tools
lore
#0 lore raw

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm2/

- Added a little patch to the CPU scheduler which disables its array switching.

This is purely experimental and will cause high-priority tasks to starve lower-priority tasks indefinitely. It is here to determine whether it is this aspect of the scheduler which caused the staircase scheduler to exhibit improved throughput in some tests on NUMAq.

- If some devices mysteriously stop working, try booting with pci=routeirq. If that fixes it, please send a report, Cc'ing [email protected]. See remove-unconditional-pci-acpi-irq-routing.patch

linus.patch
bk-acpi.patch
bk-agpgart.patch
bk-alsa.patch
bk-arm.patch
bk-dma-declare-coherent-memory.patch
bk-cpufreq.patch
bk-driver-core.patch
bk-drm.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-usb.patch

Latest versions of external trees

-pci-quirks-warning-fix.patch
-ppc64-fix-free_irq.patch
-ppc64-pci_dn-cleanups.patch -ppc64-32-bit-ptrace-geteventmsg-fix.patch -ppc64-various-xics-fixes.patch -ppc64-fix-pci-allocation-warning.patch -ppc64-avoid-speculative-execution-after-rfid.patch -ppc64-set-smt-thread-priority-to-medium-for-all-exceptions.patch -ppc64-fix-chrp_progress-mismerge.patch -ppc64-suppress-store_purr-unused-warning.patch -ppc64-move-spinline-out-of-global-menu.patch -ppc64-suppress-unused-var-warning-in-get_irq_server.patch -ppc32-fix-mktree-on-64bit-hosts.patch
-imm-oops-fix.patch
-jbd-jh-unmapping-race-fix.patch -rpaphp-build-break-remove-eeh-register.patch -document-pci_disable_device.patch -sparc32-turbosparc-flush-warnings.patch -sparc32-init_idle.patch -sparc32-sun4d-cpu_present_map-is-a-cpumask_t.patch -sparc32-smp_processor_id-bitfixup-fixes.patch -sparc32-reinstate-smp_reschedule_irq.patch -sparc32-remove-references-to-start_secondary.patch -sparc32-define-cache_decay_ticks.patch -sparc32-remove-unused-variable-in-dvmac.patch -sparc32-sun4-does-not-support-smp.patch -sparc32-make-config_smp-depend-on-config_broken.patch -sparc32-gcc-33-macro-parenthesization-fix-for-memcpys.patch -sparc32-ignore-undefined-symbols-with-3-or-more-leading-underscores.patch

Merged

+fix-acpi_system_write_wakeup_device-prototype.patch

ACPi warning fix

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

Folded into must-fix.patch

+multipath-readahead-fix-fix.patch

Multipath error code return value fixes

-schedstats-2.patch
-schedstats-2-namespace-fix.patch
-schedstats-2-up-build-fix.patch
+schedstat-v10.patch

new version of the scheduler statistics patch

+sched-init_idle-fork_by_hand-consolidation.patch
+sched-sparc32-fix.patch
+sched-sparc32-fix-fix.patch
+schedstat-up-fix.patch
+sched-whitespace-cleanups.patch
+sched-nonlinear-timeslicespatch.patch
+sched-single-array.patch

Various scheduler changes.

-driver-model-and-sysfs-support-for-pcmcia-1-3.patch -driver-model-and-sysfs-support-for-pcmcia-update.patch -update-drivers-net-pcmcia-2-3.patch -update-drivers-net-wireless-3-3.patch +pcmcia-implement-driver-model-support.patch +pcmcia-update-network-drivers.patch +pcmcia-update-wireless-drivers.patch +pcmcia-fix-eject-lockup.patch +pcmcia-add-hotplug-support.patch

New pcmcia/sysfs integration patches

+uml-sched-update.patch

Update UML for the CPU scheduler changes

+sparc32-ignore-undefined-symbols-with-3-or-more-leading-underscores.patch

Fix sparc32 for handle-undefined-symbols.patch

+signal-race-fix-alpha.patch

Teach alpha about the signal handling race fix

+process-aggregates-macro-fix.patch

PAGG build fix

+rivafb-kill-riva_chip_info-and-riva_chips.patch

rivafb cleanups

-x86-64-merge-for-268rc2-mm1.patch -x86-64-merge-for-268rc2-mm1-fix.patch -x86-64-merge-for-268rc2-mm1-fix2.patch -fix-compilation-without-config_gart_iommu-on-x86-64.patch +x86_64-merge-2.patch +x86_64-merge-2-build-fix.patch +fix-o=-compilation-on-x86-64.patch

New x86_64 update

+move-duplicate-bug-and-warn_on-bits-to-asm-generic-fix.patch

Build fix

+rcu-clean-up-code.patch
+rcu-fix-spaces-in-rcupdateh.patch
+rcu-introduce-call_rcu_bh.patch
+rcu-use-call_rcu_bh-in-route-cache.patch
+rcu-document-rcu-api.patch
+rcu-abstracted-rcu-dereferencing.patch

RCU updates

-drivers-block-ubc-6.patch
-ub-warning-fixes.patch

Dropped - ub.c was broken by USB tree changes and we're moving this into Greg's tree.

+profile_pc-fix.patch
+profile_pc-fix-2.patch
+profile_pc-fix-3.patch
+proc_pc-alpha-fix.patch
+early-profiling-oops-fix.patch
+prof_pc-proc-fixes.patch
+prof-fix-create_proc_profile.patch

Fixes to the profiling cleanup patches in -mm.

+dont-pass-mem_map-into-init-functions.patch +dont-pass-mem_map-into-init-functions-ia64-fix.patch +dont-pass-mem_map-into-init-functions-arches.patch +dont-pass-mem_map-into-init-functions-ia64-fix-2.patch +dont-pass-mem_map-into-init-functions-x86_64-fix.patch

Another go at this rather painful code refactoring patch.

+increase-mlock-limit-to-32k-cleanup.patch

Touchups to increase-mlock-limit-to-32k.patch

-pirq_enable_irq-cleanup.patch

Dropped - Alan wasn't happy with it.

+remove-unconditional-pci-acpi-irq-routing.patch

Remove interrupt routing from pci_acpi_init().

+make-md-no-device-warning-kern_warning.patch

printk facility level fixes

+ia64-dma_mapping-fix.patch

build fix

+automatically-enable-bigsmp-on-big-hp-machines.patch

automatically enable bigsmp on big hp machines!

+rss-ulimit-enforcement.patch

Implement rss limits (ulimit -m).

I haven't been very successful finding a workload/test which this affects.

+fix-proc-pid-statm-documentation.patch

Documentation fix

+cciss-update-fixes-to-32-64-bit-conversions.patch +cciss-updates-zero-out-buffer-in-passthru-ioctls-for-hp.patch +cciss-updates-proc-fixes-for-268-rc3.patch +cciss-updates-cylinder-calculation-fix-for-268-rc3.patch +cciss-updates-id-change-for-v100-controller-for-268-rc3.patch +cciss-updates-pdev-intr-fix-for-268-rc3.patch +cciss-update-7-read_ahead-bumped-to-1024.patch +cciss-update-8-maintainers-update-for-hp.patch

CCISS driver updates

+rmaplock-1-5-pageanon-in-mapping.patch
+rmaplock-2-5-kill-page_map_lock.patch
+rmaplock-3-5-slab_destroy_by_rcu.patch
+rmaplock-4-5-mm-lock-ordering.patch
+rmaplock-5-5-swapoff-use-anon_vma.patch

rmap VM locking speedups

+x86-bitopsh-commentary-on-instruction-reordering.patch +clarify-get_task_mm-mmgrab.patch

Comment fixeup

+simple-fs-stop-ve-dentries.patch

synchronously remove simplefs negative dentries

+8139too-rx-fifo-overflow-recovery.patch +8139too-be-sure-to-progress-durin-rtl8139_rx.patch

8139too fixes

+via-velocity-more-inetaddr_notifier-fix.patch

via-velocity fix

+vm-tune-writeback.patch

Fiddle with the writeback dirty memory thresholding

+alloc-pages-watermark-fixes.patch
+alloc-pages-priority-tuning.patch

Fix up thresholding in the page allocator.

+fix-d_path-errors.patch

Correctly interpret d_path error returns.

+emu10k1-maintainer-update.patch

MAINTAINERS update

+ptr_ok-cleanup.patch

clean up ptr_ok() on x86

+mpage_readpage-unable-to-handle-bigger-requests.patch +mpage_readpage-unable-to-handle-bigger-requests-warning-fix.patch

Fix allocation of monster BIOs via VFS readahead.

+improve-speed-of-freeing-bootmem.patch

Speed up booting on big machines

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

in-kernel security key and keyring management.

+consolidate-clone_idletask-masking.patch
+kill-clone_idletask.patch

clone() cleanups

+oprofile-xscale-fixes-for-pxa270-xscale2.patch

Fix oprofile-on-xscale

+remove-magic-1-from-shm-segment-count.patch

Fix off-by-one in shm accounting

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

JFFS2 fix

+via-rhine-suspend-resume-support.patch
+via-rhine-de-isolate-phy.patch
+via-rhine-small-fixes.patch

via-rhine updates

+fix-i386-x86_64-idle-routine-selection.patch

Fix selection of the idle routine on x86 and x86_64

All 494 patches

linus.patch

fix-reading-string-module-parameters-in-sysfs.patch
fix reading string module parameters in sysfs

sysfs-backing-store-add-sysfs_dirent-to-sysfs-dentry.patch
sysfs backing store: add sysfs_dirent to sysfs dentry

sysfs-backing-store-use-sysfs_dirent-tree-for-readdir-etc.patch
sysfs backing store: use sysfs_dirent tree for ->readdir etc.

sysfs-backing-store-free-sysfs_dirent-on-file-removal.patch
sysfs backing store: free sysfs_dirent on file removal

sysfs-backing-store-change-sysfs_file_operations.patch
sysfs backing store: change sysfs_file_operations

sysfs-backing-store-stop-pinning-dentries-inodes-for-leaves.patch
sysfs backing store: stop pinning dentries & inodes for leaves

bk-acpi.patch

bk-agpgart.patch

bk-alsa.patch

bk-arm.patch

bk-dma-declare-coherent-memory.patch

bk-cpufreq.patch

bk-driver-core.patch

bk-drm.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-usb.patch

mm.patch
add -mmN to EXTRAVERSION

bk-netdev-axnet_cs-fix.patch
bk-netdev-axnet_cs-fix

bk-netdev-hp-plus-fix.patch
bk-netdev-hp-plus-fix

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

sound-control-build-fix.patch
sound/core/control.c build fix

fix-acpi_system_write_wakeup_device-prototype.patch
fix acpi_system_write_wakeup_device() prototype

nmi-trigger-switch-support-for-debuggingupdated.patch
NMI trigger switch support for debugging(updated)

nmi-trigger-switch-support-for-debuggingupdated-fix.patch
nmi-trigger-switch-support-for-debuggingupdated-fix

make-i386-die-more-resilient-against-recursive-errors.patch
Make i386 die() more resilient against recursive errors

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

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

ppc64-reloc_hide.patch

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

fa311-mac-address-fix.patch
wrong mac address with netgear FA311 ethernet card

pid_max-fix.patch
Bug when setting pid_max > 32k

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

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

lockmeter.patch
lockmeter
ia64 CONFIG_LOCKMETER fix

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

really-ptrace-single-step-2.patch
ptrace single-stepping fix

ipr-ppc64-depends.patch
Make ipr.c require ppc

disk-barrier-core.patch
disk barriers: core
disk-barrier-core-tweaks

disk-barrier-ide.patch
disk barriers: IDE
disk-barrier-ide-symbol-expoprt
disk-barrier ide warning fix

barrier-update.patch
barrier update

barrier-flushing-fix.patch
barrier flushing fix

disk-barrier-scsi.patch
disk barriers: scsi

disk-barrier-dm.patch
disk barriers: devicemapper

disk-barrier-md.patch
disk barriers: MD

barrier-md-fix.patch
barriers: md fix

2-2-md-multipathing-fixes.patch
md: fix multipath for readhead requests

reiserfs-v3-barrier-support.patch
reiserfs v3 barrier support
reiserfs-v3-barrier-support-tweak

sync_dirty_buffer-retval.patch
make sync_dirty_buffer() return something useful

ext3-barrier-support.patch
ext3 barrier support

jbd-barrier-fallback-on-failure.patch
jbd: barrier fallback on failure

ide-print-failed-opcode.patch
ide: print failed opcode on IO errors
From: Jens Axboe <[email protected]>
Subject: Re: ide errors in 7-rc1-mm1 and later

add-bh_eopnotsupp-for-testing.patch
add BH_Eopnotsupp for testing async barrier failures

handle-async-barrier-failures.patch
Handle async barrier failures

multipath-readahead-fix-fix.patch
multipath readahead fix fix

tty_io-hangup-locking.patch
tty_io.c hangup locking

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.patch
perfctr x86 init bug

perfctr-k8-fix-for-internal-benchmarking-code.patch
perfctr: K8 fix for internal benchmarking code

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.patch
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-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.patch
perfctr documentation update

perfctr-inheritance-1-3-driver-updates.patch
perfctr inheritance 1/3: driver updates

perfctr-inheritance-illegal-sleep-bug.patch
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

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

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

sched-timeslice-fix.patch
sched: fix timeslice calculations for HZ=1000.

sched-clean-init-idle.patch
sched: cleanup init_idle()

sched-clean-fork.patch
sched: cleanup, improve sched <=> fork APIs

sched-clean-fork-rename-wake_up_new_process-wake_up_new_task.patch
sched: rename wake_up_new_process -> wake_up_new_task

kernelthread-idle-fix-2.patch
kernel thread idle fix

sched-misc-cleanups-2.patch
sched: misc cleanups #2

sched-unlikely-rt_task.patch
sched: make rt_task unlikely

sched-misc.patch
sched: sched misc changes

sched-misc-fix-rt.patch
sched: fix RT scheduling & interactivity estimator

sched-no-balance-clone.patch
sched: disable balance on clone

sched-remove-balance-clone.patch
sched: remove balance on clone

sched-fork-hotplug-cleanuppatch.patch
sched: fork hotplug hanling cleanup

sched-consolidate-sched-domains.patch
sched: consolidate sched domains

sched-consolidate-sched-domains-ppc64-fix.patch
sched-consolidate-sched-domains ppc64 fix

sched-consolidate-domains-fix.patch
sched: fix for sched-consolidate-domains

sched-consolidate-domains-fix-2.patch
another sched consolidate domains fix

sched-domain-node-span-4.patch
sched: limit cpuspan of node scheduler domains

sched-merge-fix.patch
sched: merge fix

sched-domain-node-span-4-warning-fix.patch
sched-domain-node-span-4-warning-fix

sched-isolated-sched-domains.patch
sched: isolated sched domains

sched-isolated-sched-domains-fix.patch
sched-isolated-sched-domains-fix

create-cpu_sibling_map-for-ppc64.patch
Create cpu_sibling_map for PPC64

create-cpu_sibling_map-for-ppc64-fix.patch
create-cpu_sibling_map-for-ppc64-fix

sched-adjust-p4-per-cpu-gain.patch
sched: adjust p4 per-cpu gain

schedstat-v10.patch
scheduler statistics

sched-init_idle-fork_by_hand-consolidation.patch
sched: consolidate init_idle() and fork_by_hand()

sched-sparc32-fix.patch
sched: sparc32 fixes

sched-sparc32-fix-fix.patch
sun4d fork_idle() fix

schedstat-up-fix.patch
schedstat: UP fix

SMP fix --
for_each_domain() is not defined if not CONFIG_SMP, so show_schedstat needed a couple of extra ifdefs.

sched-whitespace-cleanups.patch
sched: whitespace cleanups

sched-nonlinear-timeslicespatch.patch
sched: nonlinear timeslices

sched-single-array.patch
sched: disable array switching

memory-backed-inodes-fix.patch
memory-backed inodes fix

ext3_bread-cleanup.patch
ext3_bread() cleanup

flexible-mmap-2.6.7-mm3-A8.patch
i386 virtual memory layout rework

flexible-mmap-bug-fix.patch
flexible-mmap BUG fix

flexible-mmap-updatepatch-267-mm5.patch
flexible-mmap update

sysctl-tunable-for-flexmmap.patch
sysctl tunable for flexmmap

legacy_va_layout-docs.patch
legacy_va_layout docs

flex-mmap-for-s390x.patch
flex mmap for s390(x)

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

posix-locking-fix-to-posix_same_owner.patch
posix locking: Minimal fix to posix_same_owner()

posix-locking-fix-to-locking-code.patch
posix locking: more locking code fixes

posix-locking-fix-up-nfs4statec.patch
posix locking: Fix up nfs4state.c

posix-locking-fix-up-lockd.patch
posix locking: Fix up lockd to make use of the new interface

posix-locking-fl_owner_t-to-pid-mapping.patch
posix locking: mapping between fl_owner_t and client-side "pid"

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

cdrw-packet-writing-support-for-267-bk13.patch
CDRW packet writing support

packet-remove-warning.patch
packet: remove #warning

packet-door-unlock.patch
packet writing: door unlocking fix
pkt_lock_door() warning fix

dvd-rw-packet-writing-update.patch
Packet writing support for DVD-RW and DVD+RW discs.

fix-race-in-pktcdvd-kernel-thread-handling.patch
Fix race in pktcdvd kernel thread handling

fix-open-close-races-in-pktcdvd.patch
Fix open/close races in pktcdvd

packet-writing-review-fixups.patch
packet writing: review fixups

remove-pkt_dev-from-struct-pktcdvd_device.patch
Remove pkt_dev from struct pktcdvd_device

packet-writing-docco.patch
packet writing documentation

trivial-cdrw-packet-writing-doc-update.patch
Trivial CDRW packet writing doc update

convert-packet-writing-to-seq_file.patch
packet writing: convert to seq_file

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.patch
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

r8169_napi-help-text-2.patch
R8169_NAPI help text

no-sysgood-for-ptrace-singlestep.patch
Don't use SYSGOOD for ptrace singlestep

err2-6-hashbin_remove_this-locking-fix.patch
err2-6: hashbin_remove_this() locking fix

dm-use-idr.patch
devicemapper: use an IDR tree for tracking minors

ipc-1-3-add-refcount-to-ipc_rcu_alloc.patch
ipc: Add refcount to ipc_rcu_alloc

ipc-2-3-remove-sem_revalidate.patch
ipc: remove sem_revalidate

ipc-3-3-enforce-semvmx-limit-for-undo.patch
ipc: enforce SEMVMX limit for undo

cleanup-of-ipc-msgc.patch
cleanup of ipc/msg.c

sk98lin-procfs-fix.patch
sk98lin procfs fix

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

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

uml-base-patch.patch
uml: Uml base patch

uml-sched-update.patch
uml-sched-update

rename-uml-console-device.patch
uml: rename console_device

uml-readds-just-for-now-ghashh-for-uml.patch
uml: Readds (just for now) ghash.h for UML

uml-avoid-that-gcc-breaks-uml-with-unit-at-a-time-compilation-mode.patch
uml: Avoid that gcc breaks UML with "unit at a time" compilation mode.

uml-fixes-an-host-fd-leak-caused-by-hostfs.patch
uml: Fixes an host fd leak caused by hostfs.

uml-adds-legacy_pty-config-option.patch
uml: Adds LEGACY_PTY config option

uml-makes-make-help-arch=um-work.patch
uml: Makes "make help ARCH=um" work.

uml-fixes-fixdepc-to-support-arch-um-include-uml-configh.patch
uml: Fixes "fixdep.c" to support arch/um/include/uml-config.h.

uml-kill-useless-warnings.patch
uml: Kill useless warnings

uml-avoids-compile-failure-when-host-misses-tkill.patch
uml: Avoids compile failure when host misses tkill().

uml-reduces-code-in-_user-files-by-moving-it-in-_kern-files-if-already-possible.patch
uml: Reduces code in *_user files, by moving it in _kern files if already possible.

uml-fixes-raw-and-uses-it-in-check_one_sigio-also-fixes-a-silly-panic-eintr-returned-by-call.patch
uml: Fixes raw() and uses it in check_one_sigio; also fixes a silly panic (EINTR returned by call).

uml-folds-hostaudio_userc-into-hostaudio_kernc.patch
uml: Folds hostaudio_user.c into hostaudio_kern.c.

uml-use-ptrace_scemu-the-so-called-sysemu-to-reduce-syscall-cost.patch
uml: Use PTRACE_SCEMU (the so-called SYSEMU) to reduce syscall cost.

uml-adds-the-nosysemu-command-line-parameter-to-disable-sysemu.patch
uml: Adds the "nosysemu" command line parameter to disable SYSEMU

uml-adds-proc-sysemu-to-toggle-sysemu-usage.patch
uml: Adds /proc/sysemu to toggle SYSEMU usage.

uml-fix-for-sysemu-patches.patch
uml: Fix for sysemu patches

uml-handles-correctly-errno-==-eintr-in-lots-of-places.patch
uml: Handles correctly errno == EINTR in lots of places.

uml-adds-some-exports.patch
uml: Adds some exports

uml-avoids-a-panic-for-a-legal-situation.patch
uml: Avoids a panic for a legal situation

uml-removes-dead-code-in-trap_kernc.patch
uml: Removes dead code in trap_kern.c

uml-make-malloc-call-vmalloc-if-needed-needed-for-hostfs-on-26-host.patch
uml: Make malloc() call vmalloc if needed. Needed for hostfs on 2.6 host.

uml-little-kmalloc.patch
uml: little-kmalloc

uml-fix-os_process_pc-and-os_process_parent-for-corner-cases.patch
uml: Fix os_process_pc and os_process_parent for corner cases.

uml-remove-a-group-of-unused-bh-functions.patch
uml: remove a group of unused bh functions

fix-warnings-in-net-irda.patch
sparse: fix warnings in net/irda/*

i810_audio-fix-the-error-path-of-resource-management.patch
i810_audio: Fix the error path of resource management

fix-drivers-isdn-hisax-avm_pcic-build-warning-when.patch
Fix drivers/isdn/hisax/avm_pci.c build warning when !CONFIG_ISAPNP

idr-stale-comment.patch
idr.c: remove stale comment

idr-comments-updates.patch
idr comments updates

schedule-profiling.patch
schedule() profiling
From: Arjan van de Ven <[email protected]>
Subject: Re: schedule profileing

add-a-few-might_sleep-checks.patch
Add a few might_sleep() checks

add-a-few-might_sleep-checks-fix.patch
add-a-few-might_sleep-checks fix

even-more-might_sleep-checks.patch
even more might_sleep() checks

tmpfs-atomicity-fix.patch
tmpfs atomicity fix

release_task-may-sleep.patch
permit sleeping in release_task()

crc16-renaming-in-via-velocity-ethernet-driver.patch
CRC16 renaming in VIA Velocity ethernet driver

per_cpu-per_cpu-cpu_gdt_table.patch
percpu: cpu_gdt_table

per_cpu-per_cpu-cpu_gdt_table-fix.patch
per_cpu-per_cpu-cpu_gdt_table-fix

per_cpu-per_cpu-init_tss.patch
percpu: init_tss

per_cpu-per_cpu-cpu_tlbstate.patch
percpu: cpu_tlbstate

gcc35-alps_tdlb7.c.patch
gcc-3.5 fixes

gcc35-always-inline.patch
gcc-3.5 fixes

gcc35-auerswald.c.patch
gcc-3.5 fixes

gcc35-dabusb.c.patch
gcc-3.5 fixes

gcc35-ds.c.patch
gcc-3.5 fixes

gcc35-fixmap.h.patch
gcc-3.5: fixmap.h fix

gcc35-mtrr.h.patch
gcc-3.5 fixes

gcc35-sonypi.patch
gcc-3.5 fixes

gcc35-sp887x.c.patch
gcc-3.5 fixes

gcc35-tda1004x.c.patch
gcc-3.5 fixes

gcc35-transport.h.patch
gcc-3.5 fixes

gcc35-ufs_fs.h.patch
gcc-3.5 fixes

gcc35-videodev.c.patch
gcc-3.5 fixes

gcc35-wavefront_fx.c.patch
gcc-3.5 fixes

dev-zero-vs-hugetlb-mappings.patch
/dev/zero vs hugetlb mappings.

hugetlbfs-private-mappings.patch
hugetlbfs private mappings

net-kconfig-crc16-fix.patch
net/Kconfig crc16 warning fix

preset-loops_per_jiffy-for-faster-booting.patch
preset loops_per_jiffy for faster booting

define-inline-as-__attribute__always_inline-also-for-gcc-=-34.patch
#define inline as __attribute__((always_inline)) also for gcc >= 3.4

gcc-34-and-broken-inlining.patch
clean up __always_inline__ usage

handle-undefined-symbols.patch
Fail if vmlinux contains undefined symbols

sparc32-ignore-undefined-symbols-with-3-or-more-leading-underscores.patch
sparc32: ignore undefined symbols with 3 or more leading underscores

268-rc2-mm1-link-errors.patch
put irq stacks back into bss

split-generic_file_aio_write-into-buffered-and-direct-i-o-parts.patch
split generic_file_aio_write into buffered and direct I/O parts

making-i-dhash_entries-cmdline-work-as-it-use-to.patch
Make i/dhash_entries cmdline work as it use to.

making-i-dhash_entries-cmdline-work-as-it-use-to-fix.patch
making-i-dhash_entries-cmdline-work-as-it-use-to-fix

jbd-recovery-latency-fix.patch
jbd recovery latency fix

truncate_inode_pages-latency-fix.patch
truncate_inode_pages-latency-fix

journal_clean_checkpoint_list-latency-fix.patch
journal_clean_checkpoint_list latency fix

journal_clean_checkpoint_list-latency-fix-fix.patch
journal_clean_checkpoint_list-latency-fix-fix

kjournald-smp-latency-fix.patch
kjournald-smp-latency-fix

unmap_vmas-smp-latency-fix.patch
unmap_vmas-smp-latency-fix

__cleanup_transaction-latency-fix.patch
__cleanup_transaction-latency-fix

prune_dcache-latency-fix.patch
prune_dcache-latency-fix

filemap_sync-latency-fix.patch
filemap_sync-latency-fix

slab-latency-fix.patch
slab-latency-fix

get_user_pages-latency-fix.patch
get_user_pages-latency-fix

send_IPI_mask_bitmask-build-fix.patch
send_IPI_mask_bitmask() build fix

e1000-build-fix.patch
e1000 build fix

e1000-inlining-fix.patch
e1000 inlining fix

pty_write-latency-fix.patch
pty_write-latency-fix

enable-all-events-for-initramfs.patch
Enable all events for initramfs

arch-i386-kernel-smpc-gcc341-inlining-fix.patch
arch/i386/kernel/smp.c gcc341 inlining fix

268-rc2-mm2-warning-on-numa-q.patch
warning on NUMA-Q

was-removal-of-sync-in-panic.patch
remove sync() from panic

move-cache_reap-out-of-timer-context.patch
Move cache_reap out of timer context

move-cache_reap-out-of-timer-context-fix.patch
move-cache_reap-out-of-timer-context-fix

gettimeofday-nanoseconds-patch-makes-it-possible-for-the-posix-timer.patch
gettimeofday nanoseconds patch

x86-64-singlestep-through-sigreturn-system-call-2.patch
Fix x86-64 singlestep through sigreturn system call

create-nodemask_t.patch
Create nodemask_t

some-random-nodemask-fix.patch
nodemask fix

nodemask-build-fix.patch
nodemask build fix

add-ixdp2x01-board-support-to-cs89x0-driver.patch
Add IXDP2x01 board support to CS89x0 driver

remove-dead-prototypes.patch
remove dead prototypes

s390-use-include-asm-generic-dma-mapping-brokenh.patch
s390: Use include/asm-generic/dma-mapping-broken.h

cdrom-get_last_written-fix.patch
Subject: cdrom.c get_last_written fixup

get_random_bytes-returns-the-same-on-every-boot.patch
get_random_bytes() returns the same on every boot

locking-optimization-for-cache_reap.patch
slab: locking optimization for cache_reap

b44-add-47xx-support.patch
b44: add 47xx support

signal-race-fix.patch
signal handling race fix

signal-race-fix-ia64.patch
signal-race-fix: ia64

signal-race-fix-s390.patch
signal-race fixes for s390

signal-race-fix-s390-fix.patch
s390 signal handling fixes

signal-race-fix-x86_64.patch
signal-race-fixes: x86-64 support

signal-race-fix-x86_64-fix.patch
x86_64 signal handling fix

ppc-signal-handling-fixes.patch
ppc signal handling fixes

signal-race-fixes-sparc-sparc64.patch
signal handling race fixes: sparc and sparc64

signal-race-fixes-ppc64.patch
pPC64 signal race fix patch

signal-race-fix-alpha.patch
alpha signal race fixes

process-aggregates.patch
Process Aggregates (PAGG)

process-aggregates-warning-fix.patch
process-aggregates warning fix

process-aggregates-macro-fix.patch
process-aggregates macro fix

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

move-pit-code-to-timer_pit.patch
x86: move PIT code to timer_pit

move-pit-code-to-timer_pit-warning-fix.patch
move-pit-code-to-timer_pit-warning-fix

i2o-build_99.patch
i20 rewrite

i2o-build_99-gcc295-fixes.patch
i2o-build_99-gcc295-fixes

i2o-resync-with-post-266-changes.patch
i2o: resync with post-2.6.6 changes

i2o-resync-with-post-266-changes-2.patch
i2o: more resyncing with post-2.6.6 changes

i2o-devfs-fix.patch
i2o devfs fix

apic-output-reduction.patch
IO-APIC debug message reduction

fix-ide-probe-double-detection.patch
Fix ide probe double detection

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

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

make-shrinker_sem-an-rwsem.patch
make shrinker_sem an rwsem

vlan-support-for-3c59x-3c90x.patch
VLAN support for 3c59x/3c90x

break-out-zone-free-list-initialization.patch
break out zone free list initialization

radeonfb-cleanup-and-little-fixes.patch
radeonfb: cleanup and little fixes

rivafb-i2c-fixes.patch
Rivafb I2C fixes

fbmon-edd-blacklist.patch
fbcom: EDD-based blacklisting

fbcon-differentiate-bits_per_pixel-from-color-depth.patch
fbcon: ifferentiate bits_per_pixel from color depth

fbcon-differentiate-bits_per_pixel-from-color-depth-fixup.patch
fbcon-differentiate-bits_per_pixel-from-color-depth-fixup

fbcon-differentiate-bits_per_pixel-from-color-depth-export.patch
fbcon-differentiate-bits_per_pixel-from-color-depth-export

fbdev-set-color-fields-correctly.patch
fbdev: set color fields correctly

fbdev-attn-maintainers-set-correct-hardware-capabilities.patch
fbdev: ATTN: Maintainers - Set correct hardware capabilities

rivafb-do-not-tap-vga-ports-if-not-x86.patch
rivafb: Do not tap VGA ports if not X86

i810fb-fixes.patch
i810fb fixes

i810fb-fixes-2.patch
i810fb fixes #2

fbdev-find-correct-logo-for-directcolor-24bpp.patch
fbdev: find correct logo for directcolor < 24bpp

rivafb-kill-riva_chip_info-and-riva_chips.patch
rivafb: kill riva_chip_info and riva_chips

drm-optimisation.patch
drm optimisation

net-smc9194c-fix-inline-compile-errors-fwd.patch
net/smc9194.c: fix gcc-3.5 inline compile errors

net-hamachic-remove-bogus-inline-at-function-prototype.patch
net/hamachi.c: gcc-3.5 build fixes

scsi-qla2xxx-fix-inline-compile-errors.patch
qla2xxx gcc-3.5 fixes

net-rrunnerc-fix-inline-compile-error.patch
net/rrunner.c: gcc-3.5 fixes

istallion-remove-inlines.patch
istallion: gcc-3.5 fixes

mxserc-fix-inlines-fwd.patch
mxser.c: gcc-3.5 fixes

radio-maestroc-remove-an-inline-fwd.patch
radio-maestro.c: gcc-3.5 fixes

net-tulip-dmfec-fix-inline-compile-errors-fwd.patch
net/tulip/dmfe.c: gcc-3.5 fixes

fix-inlining-errors-in-drivers-scsi-aic7xxx-aic79xx_osmc.patch
inlining errors in drivers/scsi/aic7xxx/aic79xx_osm.c

fix-inline-related-gcc-34-build-failures-in.patch
fix inline related gcc 3.4 build failures in drivers/net/wan/dscc4.c

igxb_main-gcc-34-build-fix.patch
ixgb_main.c: fix inline compile errors

ext2_readdir-filp-f_pos-fix.patch
ext2_readdir() filp->f_pos fix

do_general_protection-doesnt-disable-irq.patch
do_general_protection doesn't disable irq

proc_pid_cmdline-race-fix.patch
proc_pid_cmdline() race fix

support-for-exar-xr17c158-octal-uart.patch
Support for Exar XR17C158 Octal UART

x86_64-merge-2.patch
New x86-64 merge

x86_64-merge-2-build-fix.patch
x86_64-merge-2 build fix

fix-o=-compilation-on-x86-64.patch
Fix O= compilation on x86-64

ia64-swiotlb-fixes.patch
ia64: Various swiotlb fixes

ia64-swiotlb-fixes-fix.patch
ia64: more swiotlb fixes

altix-system-controller-communication-driver.patch
Altix system controller communication driver

snsc-build-fix.patch
snsc-build-fix

more-altix-system-controller-changes.patch
More Altix system controller changes

move-duplicate-bug-and-warn_on-bits-to-asm-generic.patch
move duplicate BUG and WARN_ON bits to asm-generic

move-duplicate-bug-and-warn_on-bits-to-asm-generic-fix.patch
Fix missing backslash in asm-generic/bug.h

fix-con_buf_size-usage.patch
Fix CON_BUF_SIZE usage

vprintk-support.patch
vprintk support

vprintk-for-ext2-errors.patch
vprintk for ext2 errors

vprintk-for-ext3-errors.patch
vprintk for ext3 errors

prio_tree-kill-vma_prio_tree_init.patch
prio_tree: kill vma_prio_tree_init()

prio_tree-iterator-vma_prio_tree_next-cleanup.patch
prio_tree: iterator + vma_prio_tree_next cleanup

rcu-cpu-offline-cleanup.patch
RCU - cpu-offline-cleanup

rcu-rcu-cpu-offline-fix.patch
RCU - cpu offline fix

rcu-low-latency-rcu.patch
RCU: low latency rcu

rcu-clean-up-code.patch
rcu: clean up code

rcu-fix-spaces-in-rcupdateh.patch
rcu: fix spaces in rcupdate.h

rcu-introduce-call_rcu_bh.patch
rcu: introduce call_rcu_bh()

rcu-use-call_rcu_bh-in-route-cache.patch
rcu: use call_rcu_bh() in route cache

rcu-document-rcu-api.patch
rcu: document RCU api

rcu-abstracted-rcu-dereferencing.patch
rcu: abstracted RCU dereferencing

alpha-print-the-symbol-of-pc-and-ra-during-oops.patch
alpha: print the symbol of pc and ra during Oops

first-next_cpu-returns-values-nr_cpus.patch
first/next_cpu returns values > NR_CPUS

first-next_cpu-returns-values-nr_cpus-fix.patch
first-next_cpu-returns-values-nr_cpus fix

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

drivers-net-wan-cycx_x25c189-warning-conflicting-types.patch
drivers/net/wan/cycx_x25.c:189: warning: conflicting types for built-in function 'log2'

watchdog-fix-warning-defined-but-not-used.patch
watchdog: fix warning "defined but not used"

i386-hotplug-cpu.patch
i386 Hotplug CPU

token-based-thrashing-control.patch
token based thrashing control

token-based-thrashing-control-remove-debug.patch
token-based-thrashing-control-remove-debug

token-based-load-control-no-swap-build-fix.patch
laod control: fix the build with CONFIG_SWAP=n

writeback-page-range-hint.patch
Writeback page range hint

fix-writeback-page-range-to-use-exact-limits.patch
Fix writeback page range to use exact limits

mpage-writepages-range-limit-fix.patch
mpage writepages range limit fix

filemap_fdatawrite-range-interface.patch
filemap_fdatawrite range interface

concurrent-o_sync-write-support.patch
Concurrent O_SYNC write support

nfsd-force-server-side-tcp-when-nfsv4-enabled.patch
nfsd: force server-side TCP when NFSv4 enabled

nfsd-nfsd-is-missing-a-put_group_info-in-the-auth_null.patch
nfsd: nfsd is missing a put_group_info in the auth_null

nfsd-make-cache_init-initialize-reference-count-to-1.patch
nfsd: make cache_init initialize reference count to 1

nfsd-simplify-auth_domain_lookup.patch
nfsd: simplify auth_domain_lookup

nfsd-fix-ip_map-cache-reference-count-leak.patch
nfsd: fix ip_map cache reference count leak.

nfsd-basic-v4-acl-definitions.patch
nfsd: basic v4 ACL definitions

nfsd-posix-nfsv4-acl-translation-for-nfsd.patch
nfsd: POSIX<->NFSv4 acl translation for nfsd

nfsd-acl-support-for-the-nfsv4-server.patch
nfsd: ACL support for the NFSv4 server

cdrom-event-notification-fixes.patch
cdrom event notification fixes

new-device-driver-to-enable-the-ibm-multiport-serial-adapter.patch
new device driver to enable the IBM Multiport Serial Adapter

iteraid.patch
ITE RAID driver

iteraid-cleanup.patch
iteraid cleanup

kill-udf-registration-unregistration-messages.patch
kill UDF registration/unregistration messages

sparc-remove-undefined-symbol.patch
sparc: remove undefined symbol

nbd-fix-struct-request-race-condition.patch
nbd: fix struct request race condition

consolidate-prof_cpu_mask.patch
consolidate prof_cpu_mask

profile_pc.patch
profile_pc()

profile_pc-fix.patch
profile_pc fix

profile_pc-fix-2.patch
profile_pc fix 2

profile_pc-fix-3.patch
profile_pc fix 3

proc_pc-alpha-fix.patch
proc_pc: alpha fix
From: William Lee Irwin III <[email protected]>
Subject: alpha irq needs profile.h for create_prof_cpu_mask()

profile_tick.patch
profile_tick()

profile-tick-fix.patch
profile-tick-fix

early-profiling-oops-fix.patch
fix early oops with profiling

move-profile-operations.patch
move profile operations

prof_pc-proc-fixes.patch
prof_pc: fix build with CONFIG_PROC_FS=n

prof-fix-create_proc_profile.patch
profiling: fix create_proc_profile()

make-private-profile-state-static.patch
make private profile state static

make-prof_buffer-atomic_t.patch
make prof_buffer atomic_t

ipmi-watchdog-patch.patch
IPMI Watchdog handling updates

dio-bio-sizing-fix.patch
direct-io: size the BIOs more accurately

is_err-is-unlikely.patch
mark IS_ERR as unlikely()

is_err-unlikeliness-cleanup.patch
IS_ERR() unlikeliness cleanup

igxb-speedup.patch
igxb-speedup

boolean-typo-in-dvb.patch
boolean typo in DVB

fix-netpoll-cleanup-on-abort-without-dev.patch
Fix netpoll cleanup on abort without dev

add-missing-watchdog-compatible_ioctls.patch
add missing watchdog COMPATIBLE_IOCTLs

idt77252c-add-missing-pci_enable_device.patch
idt77252.c: add missing pci_enable_device()

aioc-rename-struct-timeout-to-struct-aio_timeout.patch
aio.c: rename 'struct timeout' to 'struct aio_timeout'

fix-compiling-oldconfig-with-gcc-35.patch
fix compiling oldconfig with gcc-3.5

dont-pass-mem_map-into-init-functions.patch
don't pass mem_map into init functions

dont-pass-mem_map-into-init-functions-ia64-fix.patch
don't pass mem_map into init functions: ia64 fix

dont-pass-mem_map-into-init-functions-arches.patch
don't pass mem_map into init functions: other architectures

dont-pass-mem_map-into-init-functions-ia64-fix-2.patch
dont-pass-mem_map-into-init-functions-ia64-fix-2

dont-pass-mem_map-into-init-functions-x86_64-fix.patch
dont-pass-mem_map-into-init-functions x86_64 fix

might-sleep-in-atomic-while-dumping-elf.patch
fix might-sleep-in-atomic while dumping elf

awe_wave-oss-too-much-__exit.patch
awe_wave (OSS): too much __exit

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

mark-loop_change_fd-as-an-ulong-compat-ioctl.patch
mark LOOP_CHANGE_FD as an ULONG compat ioctl

readahead-simplification.patch
readahead: simplify recent fixes

mlock-as-user-for-268-rc2-mm2.patch
rlimit-based mlocks for unprivileged users

mlock-as-user-fixes.patch
mlock-as-user fixes

increase-mlock-limit-to-32k.patch
increase per-user mlock limit default to 32k

increase-mlock-limit-to-32k-cleanup.patch
increase mlock limit to 32k cleanup

ip2mainc-add-missing-pci_enable_device.patch
ip2main.c: add missing pci_enable_device()

tpam_mainc-add-missing-pci_enable_device.patch
tpam_main.c: add missing pci_enable_device()

ibmasm-add-missing-pci_enable_device.patch
ibmasm: add missing pci_enable_device()

hp100c-add-missing-pci_enable_device.patch
hp100.c: add missing pci_enable_device()

ioc3-ethc-add-missing-pci_enable_device.patch
ioc3-eth.c: add missing pci_enable_device()

de4x5c-add-missing-pci_enable_device.patch
de4x5.c: add missing pci_enable_device()

cpqfc-add-missing-pci_enable_device.patch
cpqfc: add missing pci_enable_device()

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

fix-gcc-35-compile-issue-in-mm-mempolicyc.patch
Fix gcc 3.5 compile issue in mm/mempolicy.c

eata_pio-warning-fix.patch
eata_pio.c warning fix

via-agpc-resume-suspend-support.patch
via-agp.c resume/suspend support

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

collected-aio-retry-fixes-and-enhancements.patch
AIO: retry infrastructure fixes and enhancements

collected-aio-retry-fixes-and-enhancements-cleanup.patch
collected-aio-retry-fixes-and-enhancements-cleanup

aio-splice-runlist-for-fairness-across-io-contexts.patch
AIO: Splice runlist for fairness across io contexts

aio-workqueue-context-switch-reduction.patch
AIO: workqueue context switch reduction

x86_64-numa-emulation.patch
x86_64: emulate NUMA on non-NUMA hardware

make-max_init_args-25.patch
Make MAX_INIT_ARGS 32

wireless-extension-v17-for-linus.patch
Wireless Extension v17 for Linus

wireless-drivers-update-for-we-17.patch
Wireless drivers update for WE-17

request_region-for-winbond-and-smsc-parport-drivers.patch
request_region for winbond and smsc parport drivers

add-bus-dependencies-to-two-scsi-drivers.patch
Add bus dependencies to two scsi drivers

knfsd-server-permissions-fix.patch
knfsd: fix server permission handling

make-md-no-device-warning-kern_warning.patch
md: make MD no device warning KERN_WARNING

ia64-dma_mapping-fix.patch
ia64: dma_mapping fix

automatically-enable-bigsmp-on-big-hp-machines.patch
Automatically enable bigsmp on big HP machines

rss-ulimit-enforcement.patch
RSS ulimit enforcement

fix-proc-pid-statm-documentation.patch
Fix /proc/pid/statm documentation

cciss-update-fixes-to-32-64-bit-conversions.patch
cciss: fixes to 32/64-bit conversions

cciss-updates-zero-out-buffer-in-passthru-ioctls-for-hp.patch
cciss: zero out buffer in passthru ioctls for HP utilities

cciss-updates-proc-fixes-for-268-rc3.patch
cciss: /proc fixes

cciss-updates-cylinder-calculation-fix-for-268-rc3.patch
cciss: cylinder calculation fix

cciss-updates-id-change-for-v100-controller-for-268-rc3.patch
cciss: id change for V100 controller

cciss-updates-pdev-intr-fix-for-268-rc3.patch
cciss: pdev->intr fix

cciss-update-7-read_ahead-bumped-to-1024.patch
cciss: read_ahead bumped to 1024

cciss-update-8-maintainers-update-for-hp.patch
cciss update 8 maintainers update for HP

rmaplock-1-5-pageanon-in-mapping.patch
rmaplock: PageAnon in mapping

rmaplock-2-5-kill-page_map_lock.patch
rmaplock: kill page_map_lock

rmaplock-3-5-slab_destroy_by_rcu.patch
rmaplock: SLAB_DESTROY_BY_RCU

rmaplock-4-5-mm-lock-ordering.patch
rmaplock: mm lock ordering

rmaplock-5-5-swapoff-use-anon_vma.patch
rmaplock: swapoff use anon_vma

x86-bitopsh-commentary-on-instruction-reordering.patch
x86 bitops.h commentary on instruction reordering

clarify-get_task_mm-mmgrab.patch
clarify get_task_mm (mmgrab)

simple-fs-stop-ve-dentries.patch
simple fs stop -ve dentries

8139too-rx-fifo-overflow-recovery.patch
8139too: Rx fifo/overflow recovery

8139too-be-sure-to-progress-durin-rtl8139_rx.patch
8139too: be sure to progress durin rtl8139_rx()

via-velocity-more-inetaddr_notifier-fix.patch
via-velocity: more inetaddr_notifier fix

vm-tune-writeback.patch
vm: writeout watermark tuning

alloc-pages-watermark-fixes.patch
vm: alloc_pages watermark fixes

alloc-pages-priority-tuning.patch
alloc_pages priority tuning

fix-d_path-errors.patch
Correctly handle d_path error returns

emu10k1-maintainer-update.patch
emu10k1 maintainer update

ptr_ok-cleanup.patch
x86: remove hard-coded numbers from ptr_ok()

mpage_readpage-unable-to-handle-bigger-requests.patch
Fix mpage_readpage() for big requests

mpage_readpage-unable-to-handle-bigger-requests-warning-fix.patch
mpage_readpage-unable-to-handle-bigger-requests warning fix

improve-speed-of-freeing-bootmem.patch
improve speed of freeing bootmem

implement-in-kernel-keys-keyring-management.patch
implement in-kernel keys & keyring management

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

consolidate-clone_idletask-masking.patch
sched: consolidate CLONE_IDLETASK masking

kill-clone_idletask.patch
kill CLONE_IDLETASK

oprofile-xscale-fixes-for-pxa270-xscale2.patch
OProfile/XScale fixes for PXA270/XScale2

remove-magic-1-from-shm-segment-count.patch
remove magic +1 from shm segment count

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

via-rhine-suspend-resume-support.patch
via-rhine: suspend/resume support

via-rhine-de-isolate-phy.patch
via-rhine: de-isolate PHY

via-rhine-small-fixes.patch
via-rhine: small fixes

fix-i386-x86_64-idle-routine-selection.patch
fix i386/x86_64 idle routine selection

#1 lore raw

Hi Andrew,

I got this compile error on my Compaq Evo N600c. .config is attached.

CC arch/i386/kernel/nmi.o
arch/i386/kernel/nmi.c: In function proc_unknown_nmi_panic':
arch/i386/kernel/nmi.c:558: error: too few arguments to function proc_dointvec'
make[1]: *** [arch/i386/kernel/nmi.o] Erreur 1
make: *** [arch/i386/kernel] Erreur 2

Regards.

Signature · 6 lines
Brice Goglin
================================================
Ph.D Student
Laboratoire de l'Informatique et du Parallélisme
CNRS-ENS Lyon-INRIA-UCB Lyon
France
Quoted 8 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm2/

- Added a little patch to the CPU scheduler which disables its array switching.

Quoted 8 lines

This is purely experimental and will cause high-priority tasks to starve lower-priority tasks indefinitely. It is here to determine whether it is this aspect of the scheduler which caused the staircase scheduler to exhibit improved throughput in some tests on NUMAq.

- If some devices mysteriously stop working, try booting with pci=routeirq. If that fixes it, please send a report, Cc'ing [email protected]. See remove-unconditional-pci-acpi-irq-routing.patch

#
# Automatically generated make config: don't edit
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_CLEAN_COMPILE is not set
CONFIG_BROKEN=y
CONFIG_BROKEN_ON_SMP=y

#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_PAGG is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_HOTPLUG=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
CONFIG_MPENTIUMIII=y
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
# CONFIG_SMP is not set
CONFIG_PREEMPT=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
# CONFIG_X86_MCE_P4THERMAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_HAVE_DEC_LOCK=y
CONFIG_REGPARM=y

#
# Performance-monitoring counters support
#
# CONFIG_PERFCTR is not set

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION="/dev/hda4"

#
# ACPI (Advanced Configuration and Power Interface) Support #
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y

#
# APM (Advanced Power Management) BIOS Support
#
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
# CONFIG_APM_REAL_MODE_POWER_OFF is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_PROC_INTF is not set CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_24_API=y CONFIG_CPU_FREQ_TABLE=y

#
# CPUFreq processor drivers
#
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set CONFIG_X86_SPEEDSTEP_CENTRINO=y CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
# CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI is not set CONFIG_X86_SPEEDSTEP_ICH=y
# CONFIG_X86_SPEEDSTEP_SMI is not set
# CONFIG_X86_P4_CLOCKMOD is not set CONFIG_X86_SPEEDSTEP_LIB=y
# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set # CONFIG_X86_CPUFREQ_NFORCE2 is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
CONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

#
# PCMCIA/CardBus support
#
CONFIG_PCMCIA=y
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_YENTA=y
CONFIG_CARDBUS=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_I82365 is not set
# CONFIG_TCIC is not set
CONFIG_PCMCIA_PROBE=y

#
# PCI Hotplug Support
#
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_FAKE=y
CONFIG_HOTPLUG_PCI_COMPAQ=y
CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
# CONFIG_HOTPLUG_PCI_IBM is not set
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_PCIE is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_MISC=y

#
# Device Drivers
#

#
# Generic Driver Options
#
# CONFIG_STANDALONE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_PC_CML1=y
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_PC_PCMCIA is not set
# CONFIG_PARPORT_OTHER is not set
# CONFIG_PARPORT_1284 is not set

#
# Plug and Play support
#
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_ISAPNP=y
CONFIG_PNPBIOS=y
# CONFIG_PNPBIOS_PROC_FS is not set

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_LBD is not set
# CONFIG_CDROM_PKTCDVD is not set

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives #
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_BLK_DEV_IDECS is not set CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set CONFIG_IDE_TASK_IOCTL=y
CONFIG_IDE_TASKFILE_IO=y

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_IT8212 is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs #
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_ITERAID is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

#
# PCMCIA SCSI adapter support
#
# CONFIG_PCMCIA_AHA152X is not set
# CONFIG_PCMCIA_FDOMAIN is not set
# CONFIG_PCMCIA_NINJA_SCSI is not set
# CONFIG_PCMCIA_QLOGIC is not set
# CONFIG_PCMCIA_SYM53C500 is not set

#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_ZERO is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
CONFIG_I2O=y
# CONFIG_I2O_CONFIG is not set
CONFIG_I2O_BLOCK=y
CONFIG_I2O_SCSI=y
CONFIG_I2O_PROC=y

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
# CONFIG_NETLINK_DEV is not set
CONFIG_UNIX=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y

#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_IP_NF_NAT_LOCAL=y
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
# CONFIG_IP_NF_COMPAT_IPFWADM is not set
# CONFIG_IP_NF_RAW is not set
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
# CONFIG_IP_NF_MATCH_REALM is not set
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
# CONFIG_NET_CLS_ROUTE is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_KGDBOE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
CONFIG_IRDA=m

#
# IrDA protocols
#
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
CONFIG_IRDA_ULTRA=y

#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
CONFIG_IRDA_DEBUG=y

#
# Infrared-port device drivers
#

#
# SIR device drivers
#
CONFIG_IRTTY_SIR=m

#
# Dongle support
#
# CONFIG_DONGLE is not set

#
# Old SIR device drivers
#
CONFIG_IRPORT_SIR=m

#
# Old Serial dongle support
#
# CONFIG_DONGLE_OLD is not set

#
# FIR device drivers
#
# CONFIG_USB_IRDA is not set
# CONFIG_SIGMATEL_FIR is not set
# CONFIG_NSC_FIR is not set
# CONFIG_WINBOND_FIR is not set
# CONFIG_TOSHIBA_FIR is not set
# CONFIG_SMC_IRCC_FIR is not set
# CONFIG_ALI_FIR is not set
# CONFIG_VLSI_FIR is not set
# CONFIG_VIA_FIR is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_NET_SB1000 is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_CS89x0 is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
CONFIG_E100=y
CONFIG_E100_NAPI=y
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
CONFIG_NET_RADIO=y

#
# Obsolete Wireless cards support (pre-802.11)
#
# CONFIG_STRIP is not set
# CONFIG_ARLAN is not set
# CONFIG_WAVELAN is not set
# CONFIG_PCMCIA_WAVELAN is not set
# CONFIG_PCMCIA_NETWAVE is not set

#
# Wireless 802.11 Frequency Hopping cards support
#
# CONFIG_PCMCIA_RAYCS is not set

#
# Wireless 802.11b ISA/PCI cards support
#
# CONFIG_AIRO is not set
CONFIG_HERMES=m
# CONFIG_PLX_HERMES is not set
# CONFIG_TMD_HERMES is not set
# CONFIG_PCI_HERMES is not set
# CONFIG_ATMEL is not set

#
# Wireless 802.11b Pcmcia/Cardbus cards support
#
CONFIG_PCMCIA_HERMES=m
# CONFIG_AIRO_CS is not set
# CONFIG_PCMCIA_WL3501 is not set

#
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support #
CONFIG_PRISM54=m
CONFIG_NET_WIRELESS=y

#
# PCMCIA network device support
#
CONFIG_NET_PCMCIA=y
# CONFIG_PCMCIA_3C589 is not set
# CONFIG_PCMCIA_3C574 is not set
# CONFIG_PCMCIA_FMVJ18X is not set
# CONFIG_PCMCIA_PCNET is not set
# CONFIG_PCMCIA_NMCLAN is not set
# CONFIG_PCMCIA_SMC91C92 is not set
# CONFIG_PCMCIA_XIRC2PS is not set
# CONFIG_PCMCIA_AXNET is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PLIP=m
CONFIG_PPP=m
# CONFIG_PPP_MULTILINK is not set
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPPOE=m
CONFIG_SLIP=m
# CONFIG_SLIP_COMPRESSED is not set
# CONFIG_SLIP_SMART is not set
# CONFIG_SLIP_MODE_SLIP6 is not set
# CONFIG_NET_FC is not set
CONFIG_SHAPER=m
# CONFIG_NETCONSOLE is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_RAW=y

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
# CONFIG_INPUT_UINPUT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_CONSOLE is not set
# CONFIG_SERIAL_8250_CS is not set
# CONFIG_SERIAL_8250_ACPI is not set
CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=y
# CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set
# CONFIG_QIC02_TAPE is not set

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=y
CONFIG_NVRAM=y
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=y
# CONFIG_AGP_INTEL_MCH is not set
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_GAMMA is not set
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=y
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_I915 is not set
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set

#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
# CONFIG_HANGCHECK_TIMER is not set

#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCF=y
CONFIG_I2C_ALGOPCA=y

#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=y
# CONFIG_I2C_ALI1563 is not set
CONFIG_I2C_ALI15X3=y
CONFIG_I2C_AMD756=y
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_ELEKTOR is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_ISA is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set
# CONFIG_I2C_PCA_ISA is not set

#
# Hardware Sensors Chip support
#
# CONFIG_I2C_SENSOR is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set

#
# Other I2C Chip support
#
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
CONFIG_FB=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_VESA is not set
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y
# CONFIG_FB_RADEON_DEBUG is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set

#
# Logo configuration
#
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y

#
# Sound
#
CONFIG_SOUND=y

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_RTCTIMER is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set

#
# Generic devices
#
CONFIG_SND_MPU401_UART=y
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set

#
# ISA devices
#
# CONFIG_SND_AD1816A is not set
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES968 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_INTERWAVE is not set
# CONFIG_SND_INTERWAVE_STB is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_WAVEFRONT is not set
# CONFIG_SND_ALS100 is not set
# CONFIG_SND_AZT2320 is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_DT019X is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set

#
# PCI devices
#
CONFIG_SND_AC97_CODEC=y
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
CONFIG_SND_MAESTRO3=y
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
CONFIG_SND_INTEL8X0=y
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set

#
# ALSA USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set

#
# PCMCIA devices
#
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_VXP440 is not set
# CONFIG_SND_PDAUDIOCF is not set

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# USB support
#
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y

#
# USB Host Controller Drivers
#
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
CONFIG_USB_UHCI_HCD=y

#
# USB Device Class drivers
#
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=y
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_RW_DETECT is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_HP8200e is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set

#
# USB Human Interface Devices (HID)
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
# CONFIG_USB_HIDDEV is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set

#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set

#
# Video4Linux support is needed for USB Multimedia device support #

#
# USB Network adaptors
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set

#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_TEST is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
CONFIG_REISERFS_CHECK=y
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_NTFS_FS=m
CONFIG_NTFS_DEBUG=y
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
CONFIG_DEVFS_FS=y
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not set
# CONFIG_NFSD_TCP is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_SUNRPC=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
CONFIG_SMB_FS=y
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp850"
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
CONFIG_NLS_CODEPAGE_850=y
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_KGDB is not set
# CONFIG_FRAME_POINTER is not set
CONFIG_4KSTACKS=y
# CONFIG_SCHEDSTATS is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_SECURITY is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES_586=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m
# CONFIG_CRYPTO_ARC4 is not set
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
# CONFIG_CRYPTO_TEST is not set

#
# Library routines
#
CONFIG_CRC_CCITT=m
CONFIG_CRC32=m
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_PC=y

#2 lore raw
Quoted 7 lines · Brice Goglin

I got this compile error on my Compaq Evo N600c. .config is attached.

CC arch/i386/kernel/nmi.o
arch/i386/kernel/nmi.c: In function proc_unknown_nmi_panic':
arch/i386/kernel/nmi.c:558: error: too few arguments to function proc_dointvec'
make[1]: *** [arch/i386/kernel/nmi.o] Erreur 1

uh, OK. The below is probably wrongish, but it'll get you thorugh.

arch/i386/kernel/nmi.c renamed from arch/i386/kernel/nmi.c~nmi-build-fix +1 -1
diff -puN arch/i386/kernel/nmi.c~nmi-build-fix arch/i386/kernel/nmi.c
@@ -555,7 +555,7 @@ int proc_unknown_nmi_panic(ctl_table *ta
 	int old_state;
 
 	old_state = unknown_nmi_panic;
-	proc_dointvec(table, write, file, buffer, length);
+	proc_dointvec(table, write, file, buffer, length, &file->f_pos);
 	if (!!old_state == !!unknown_nmi_panic)
 		return 0;
 

_

#3 lore raw
Quoted 2 lines · Andrew Morton

The below is probably wrongish, but it'll get you thorugh.

<actually looks>

This is the correct patch.

arch/i386/kernel/nmi.c renamed from arch/i386/kernel/nmi.c~nmi-build-fix +3 -3
diff -puN arch/i386/kernel/nmi.c~nmi-build-fix arch/i386/kernel/nmi.c
@@ -549,13 +549,13 @@ static int unknown_nmi_panic_callback(st
 /*
  * proc handler for /proc/sys/kernel/unknown_nmi_panic
  */
-int proc_unknown_nmi_panic(ctl_table *table, int write,
-                struct file *file, void __user *buffer, size_t *length)
+int proc_unknown_nmi_panic(ctl_table *table, int write, struct file *file,
+			void __user *buffer, size_t *length, loff_t *ppos)
 {
 	int old_state;
 
 	old_state = unknown_nmi_panic;
-	proc_dointvec(table, write, file, buffer, length);
+	proc_dointvec(table, write, file, buffer, length, ppos);
 	if (!!old_state == !!unknown_nmi_panic)
 		return 0;
 
kernel/sysctl.c renamed from kernel/sysctl.c~nmi-build-fix +1 -1
diff -puN kernel/sysctl.c~nmi-build-fix kernel/sysctl.c
@@ -69,7 +69,7 @@ extern int printk_ratelimit_burst;
 #if defined(CONFIG_X86_LOCAL_APIC) && defined(__i386__)
 int unknown_nmi_panic;
 extern int proc_unknown_nmi_panic(ctl_table *, int, struct file *,
-				  void __user *, size_t *);
+				  void __user *, size_t *, loff_t *);
 #endif
 
 /* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */

_

#4 lore raw

PATCH 1/1 2.6.8-rc3-mm2: sk98lin/skge.c doesn't compile with PROC_FS=n

In reply to Andrew Morton

I got the following compile error with CONFIG_PROC_FS=n:

<-- snip -->

...
CC drivers/net/sk98lin/skge.o
drivers/net/sk98lin/skge.c: In function `skge_remove_one':
drivers/net/sk98lin/skge.c:5116: warning: implicit declaration of function remove_proc_entry' drivers/net/sk98lin/skge.c:5116: pSkRootDir' undeclared (first use in this function) drivers/net/sk98lin/skge.c:5116: (Each undeclared identifier is reported only once drivers/net/sk98lin/skge.c:5116: for each function it appears in.) drivers/net/sk98lin/skge.c: In function `skge_init':
drivers/net/sk98lin/skge.c:5188: `SK_Root_Dir_entry' undeclared (first use in this function) make[3]: *** [drivers/net/sk98lin/skge.o] Error 1

<-- snip -->

The fix is pretty straightforward:

drivers/net/sk98lin/skge.c renamed from drivers/net/sk98lin/skge.c.old +1 -4
@@ -110,10 +110,7 @@
 
 #include	<linux/module.h>
 #include	<linux/init.h>
-
-#ifdef CONFIG_PROC_FS
 #include 	<linux/proc_fs.h>
-#endif
 
 #include	"h/skdrv1st.h"
 #include	"h/skdrv2nd.h"
@@ -5185,9 +5182,9 @@
 {
 	int error;
 
+#ifdef CONFIG_PROC_FS
 	memcpy(&SK_Root_Dir_entry, BOOT_STRING, sizeof(SK_Root_Dir_entry) - 1);
 
-#ifdef CONFIG_PROC_FS
 	pSkRootDir = proc_mkdir(SK_Root_Dir_entry, proc_net);
 	if (!pSkRootDir) {
 		printk(KERN_WARNING "Unable to create /proc/net/%s",
#5 lore raw

Re: 2.6.8-rc3-mm2 (compile stats)

In reply to Andrew Morton

Linux 2.6 (mm tree) Compile Statistics (gcc 3.2.2)

Kernel bzImage bzImage bzImage modules bzImage modules
(defconfig) (allno) (allyes) (allyes) (allmod) (allmod)
--------------- ---------- -------- -------- -------- -------- --------

2.6.8-rc3-mm2     1w/7e     0w/5e    82w/8e    4w/0e   2w/8e     75w/0e
2.6.8-rc3-mm1     0w/0e     1w/5e    81w/9e    4w/0e   1w/0e     75w/0e
2.6.8-rc2-mm2     0w/0e     4w/5e    87w/9e    4w/0e   1w/0e     80w/0e
2.6.8-rc2-mm1     0w/0e     0w/0e    83w/9e    3w/0e   1w/0e     81w/0e
2.6.8-rc1-mm1     0w/0e     0w/0e    88w/9e    5w/0e   1w/0e     87w/0e
2.6.7-mm7         0w/0e     0w/0e    89w/9e    5w/0e   1w/0e     84w/0e
2.6.7-mm6         0w/0e     0w/0e    85w/9e    5w/0e   1w/0e     80w/0e
2.6.7-mm5         0w/0e     0w/0e    92w/0e    5w/0e   1w/0e     87w/0e
2.6.7-mm4         0w/0e     0w/0e    94w/0e    5w/0e   1w/0e     89w/0e
2.6.7-mm3         0w/0e     0w/0e    90w/6e    5w/0e   1w/0e     86w/0e
2.6.7-mm2         0w/0e     0w/0e   109w/0e    7w/0e   1w/0e    106w/0e
2.6.7-mm1         0w/0e     5w/0e   108w/0e    5w/0e   1w/0e    104w/0e
2.6.7-rc3-mm2     0w/0e     5w/0e   105w/10e   5w/0e   2w/0e    100w/2e
2.6.7-rc3-mm1     0w/0e     5w/0e   104w/10e   5w/0e   2w/0e    100w/2e
2.6.7-rc2-mm2     0w/0e     5w/0e   109w/10e   5w/0e   2w/0e    105w/2e
2.6.7-rc2-mm1     0w/0e    12w/0e   158w/13e   5w/0e   3w/0e    153w/4e
2.6.7-rc1-mm1     0w/0e     6w/0e   108w/0e    5w/0e   2w/0e    104w/0e
2.6.6-mm5         0w/0e     0w/0e   109w/5e    5w/0e   2w/0e    110w/0e
2.6.6-mm4         0w/0e     0w/0e   112w/9e    5w/0e   2w/5e    106w/1e
2.6.6-mm3         3w/9e     0w/0e   120w/26e   5w/0e   2w/0e    114w/10e
2.6.6-mm2         4w/11e    0w/0e   120w/24e   6w/0e   2w/0e    118w/9e
2.6.6-mm1         1w/0e     0w/0e   118w/25e   6w/0e   2w/0e    114w/10e
2.6.6-rc3-mm2     0w/0e     0w/0e   117w/ 0e   8w/0e   2w/0e    116w/0e
2.6.6-rc3-mm1     0w/0e     0w/0e   120w/10e   8w/0e   2w/0e    152w/2e
2.6.6-rc2-mm2     0w/0e     1w/5e   118w/ 0e   8w/0e   3w/0e    118w/0e
2.6.6-rc2-mm1     0w/0e     0w/0e   115w/ 0e   7w/0e   3w/0e    116w/0e
2.6.6-rc1-mm1     0w/0e     0w/7e   122w/ 0e   7w/0e   4w/0e    122w/0e
2.6.5-mm6         0w/0e     0w/0e   123w/ 0e   7w/0e   4w/0e    124w/0e
2.6.5-mm5         0w/0e     0w/0e   119w/ 0e   7w/0e   4w/0e    120w/0e
2.6.5-mm4         0w/0e     0w/0e   120w/ 0e   7w/0e   4w/0e    121w/0e
2.6.5-mm3         0w/0e     1w/0e   121w/12e   7w/0e   3w/0e    123w/0e
2.6.5-mm2         0w/0e     0w/0e   128w/12e   7w/0e   3w/0e    134w/0e
2.6.5-mm1         0w/0e     5w/0e   122w/ 0e   7w/0e   3w/0e    124w/0e
2.6.5-rc3-mm4     0w/0e     0w/0e   124w/ 0e   8w/0e   4w/0e    126w/0e
2.6.5-rc3-mm3     0w/0e     5w/0e   129w/14e   8w/0e   4w/0e    129w/6e
2.6.5-rc3-mm2     0w/0e     5w/0e   130w/14e   8w/0e   4w/0e    129w/6e
2.6.5-rc3-mm1     0w/0e     5w/0e   129w/ 0e   8w/0e   4w/0e    129w/0e
2.6.5-rc2-mm5     0w/0e     5w/0e   130w/ 0e   8w/0e   4w/0e    129w/0e
2.6.5-rc2-mm4     0w/0e     5w/0e   134w/ 0e   8w/0e   3w/0e    133w/0e
2.6.5-rc2-mm3     0w/0e     5w/0e   134w/ 0e   8w/0e   3w/0e    133w/0e
2.6.5-rc2-mm2     0w/0e     5w/0e   137w/ 0e   8w/0e   3w/0e    134w/0e
2.6.5-rc2-mm1     0w/0e     5w/0e   136w/ 0e   8w/0e   3w/0e    134w/0e
2.6.5-rc1-mm2     0w/0e     5w/0e   135w/ 5e   8w/0e   3w/0e    133w/0e
2.6.5-rc1-mm1     0w/0e     5w/0e   135w/ 5e   8w/0e   3w/0e    133w/0e
2.6.4-mm2         1w/2e     5w/2e   144w/10e   8w/0e   3w/2e    144w/0e
2.6.4-mm1         1w/0e     5w/0e   146w/ 5e   8w/0e   3w/0e    144w/0e
2.6.4-rc2-mm1     1w/0e     5w/0e   146w/12e  11w/0e   3w/0e    147w/2e
2.6.4-rc1-mm2     1w/0e     5w/0e   144w/ 0e  11w/0e   3w/0e    145w/0e
2.6.4-rc1-mm1     1w/0e     5w/0e   147w/ 5e  11w/0e   3w/0e    147w/0e
2.6.3-mm4         1w/0e     5w/0e   146w/ 0e   7w/0e   3w/0e    142w/0e
2.6.3-mm3         1w/2e     5w/2e   146w/15e   7w/0e   3w/2e    144w/5e
2.6.3-mm2         1w/8e     5w/0e   140w/ 0e   7w/0e   3w/0e    138w/0e
2.6.3-mm1         1w/0e     5w/0e   143w/ 5e   7w/0e   3w/0e    141w/0e
2.6.3-rc3-mm1     1w/0e     0w/0e   144w/13e   7w/0e   3w/0e    142w/3e
2.6.3-rc2-mm1     1w/0e     0w/265e 144w/ 5e   7w/0e   3w/0e    145w/0e
2.6.3-rc1-mm1     1w/0e     0w/265e 141w/ 5e   7w/0e   3w/0e    143w/0e
2.6.2-mm1         2w/0e     0w/264e 147w/ 5e   7w/0e   3w/0e    173w/0e
2.6.2-rc3-mm1     2w/0e     0w/265e 146w/ 5e   7w/0e   3w/0e    172w/0e
2.6.2-rc2-mm2     0w/0e     0w/264e 145w/ 5e   7w/0e   3w/0e    171w/0e
2.6.2-rc2-mm1     0w/0e     0w/264e 146w/ 5e   7w/0e   3w/0e    172w/0e
2.6.2-rc1-mm3     0w/0e     0w/265e 144w/ 8e   7w/0e   3w/0e    169w/0e
2.6.2-rc1-mm2     0w/0e     0w/264e 144w/ 5e  10w/0e   3w/0e    171w/0e
2.6.2-rc1-mm1     0w/0e     0w/264e 144w/ 5e  10w/0e   3w/0e    171w/0e
2.6.1-mm5         2w/5e     0w/264e 153w/11e  10w/0e   3w/0e    180w/0e
2.6.1-mm4         0w/821e   0w/264e 154w/ 5e   8w/1e   5w/0e    179w/0e
2.6.1-mm3         0w/0e     0w/0e   151w/ 5e  10w/0e   3w/0e    177w/0e
2.6.1-mm2         0w/0e     0w/0e   143w/ 5e  12w/0e   3w/0e    171w/0e
2.6.1-mm1         0w/0e     0w/0e   146w/ 9e  12w/0e   6w/0e    171w/0e
2.6.1-rc2-mm1     0w/0e     0w/0e   149w/ 0e  12w/0e   6w/0e    171w/4e
2.6.1-rc1-mm2     0w/0e     0w/0e   157w/15e  12w/0e   3w/0e    185w/4e
2.6.1-rc1-mm1     0w/0e     0w/0e   156w/10e  12w/0e   3w/0e    184w/2e
2.6.0-mm2         0w/0e     0w/0e   161w/ 0e  12w/0e   3w/0e    189w/0e
2.6.0-mm1         0w/0e     0w/0e   173w/ 0e  12w/0e   3w/0e    212w/0e

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

John

#6 lore raw
In reply to Andrew Morton

Got complaints from arch/i386/mm/discontig.c:

arch/i386/mm/discontig.c: In function `zone_sizes_init':
arch/i386/mm/discontig.c:422: warning: passing arg 4 of free_area_init_node' makes integer from pointer without a cast arch/i386/mm/discontig.c:422: warning: passing arg 5 of free_area_init_node' makes pointer from integer without a cast arch/i386/mm/discontig.c:422: too many arguments to function free_area_init_node' arch/i386/mm/discontig.c:430: warning: passing arg 3 of free_area_init_node' from incompatible pointer type arch/i386/mm/discontig.c:430: warning: passing arg 4 of free_area_init_node' makes integer from pointer without a cast arch/i386/mm/discontig.c:430: warning: passing arg 5 of free_area_init_node' makes pointer from integer without a cast arch/i386/mm/discontig.c:430: too many arguments to function `free_area_init_node'

Looks like I can't get by with just deleting the third argument in the second case.

Rick

#7 lore raw
Quoted 12 lines · Rick Lindsley

Got complaints from arch/i386/mm/discontig.c:

arch/i386/mm/discontig.c: In function `zone_sizes_init':
arch/i386/mm/discontig.c:422: warning: passing arg 4 of free_area_init_node' makes integer from pointer without a cast arch/i386/mm/discontig.c:422: warning: passing arg 5 of free_area_init_node' makes pointer from integer without a cast arch/i386/mm/discontig.c:422: too many arguments to function free_area_init_node' arch/i386/mm/discontig.c:430: warning: passing arg 3 of free_area_init_node' from incompatible pointer type arch/i386/mm/discontig.c:430: warning: passing arg 4 of free_area_init_node' makes integer from pointer without a cast arch/i386/mm/discontig.c:430: warning: passing arg 5 of free_area_init_node' makes pointer from integer without a cast arch/i386/mm/discontig.c:430: too many arguments to function `free_area_init_node'

Quoted 2 lines

Looks like I can't get by with just deleting the third argument in the second case.

Gargh. I really want to ritually incinerate that damn patch.

Please send .config.

#8 lore raw
In reply to Rick Lindsley
Quoted 1 line · Rick Lindsley

Got complaints from arch/i386/mm/discontig.c:

[...]

Quoted 6 lines

arch/i386/mm/discontig.c:430: warning: passing arg 3 of free_area_init_node' from incompatible pointer type arch/i386/mm/discontig.c:430: warning: passing arg 4 of free_area_init_node' makes integer from pointer without a cast arch/i386/mm/discontig.c:430: warning: passing arg 5 of free_area_init_node' makes pointer from integer without a cast arch/i386/mm/discontig.c:430: too many arguments to function free_area_init_node'
Looks like I can't get by with just deleting the third argument in the
second case.

Initializing NODE_DATA(nid)->node_mem_map prior to calling it should do.

arch/i386/mm/discontig.c +2 -2
Index: mm2-2.6.8-rc3/arch/i386/mm/discontig.c
===================================================================
@@ -425,8 +425,8 @@
 			lmem_map = (unsigned long)node_remap_start_vaddr[nid];
 			lmem_map += sizeof(pg_data_t) + PAGE_SIZE - 1;
 			lmem_map &= PAGE_MASK;
-			free_area_init_node(nid, NODE_DATA(nid), 
-				(struct page *)lmem_map, zones_size, 
+			NODE_DATA(nid)->node_mem_map = (struct page *)lmem_map;
+			free_area_init_node(nid, NODE_DATA(nid), zones_size, 
 				start, zholes_size);
 		}
 	}
#9 lore raw
Quoted 1 line · William Lee Irwin III

Initializing NODE_DATA(nid)->node_mem_map prior to calling it should do.

Not sure why the first call didn't show up in the patch.

arch/i386/mm/discontig.c +4 -4
Index: mm2-2.6.8-rc3/arch/i386/mm/discontig.c
===================================================================
@@ -418,15 +418,15 @@
 		 * remapped KVA area - mbligh
 		 */
 		if (!nid)
-			free_area_init_node(nid, NODE_DATA(nid), 0, 
-				zones_size, start, zholes_size);
+			free_area_init_node(nid, NODE_DATA(nid),
+					zones_size, start, zholes_size);
 		else {
 			unsigned long lmem_map;
 			lmem_map = (unsigned long)node_remap_start_vaddr[nid];
 			lmem_map += sizeof(pg_data_t) + PAGE_SIZE - 1;
 			lmem_map &= PAGE_MASK;
-			free_area_init_node(nid, NODE_DATA(nid), 
-				(struct page *)lmem_map, zones_size, 
+			NODE_DATA(nid)->node_mem_map = (struct page *)lmem_map;
+			free_area_init_node(nid, NODE_DATA(nid), zones_size, 
 				start, zholes_size);
 		}
 	}
#10 lore raw
In reply to Andrew Morton
Quoted 3 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm2/
- Added a little patch to the CPU scheduler which disables its array switching.

[...]

PAE is artificially limited in terms of swapspace to the same bitsplit as ordinary i386, a 5/24 split (32 swapfiles, 64GB max swapfile size), when a 5/27 split (32 swapfiles, 512GB max swapfile size) is feasible. This patch transparently removes that limitation by using more of the space available in PAE's wider ptes for swap ptes.

While this is obviously not likely to be used directly, it is important from the standpoint of strict non-overcommit, where the swapspace must be potentially usable in order to be reserved for non-overcommit. There are workloads with Committed_AS of over 256GB on ia32 PAE wanting strict non-overcommit to prevent being OOM killed.

include/asm-i386/pgtable.h +0 -7
Index: premm2-2.6.8-rc3/include/asm-i386/pgtable.h
===================================================================
@@ -398,13 +398,6 @@
 		}							  \
 	} while (0)
 
-/* Encode and de-code a swap entry */
-#define __swp_type(x)			(((x).val >> 1) & 0x1f)
-#define __swp_offset(x)			((x).val >> 8)
-#define __swp_entry(type, offset)	((swp_entry_t) { ((type) << 1) | ((offset) << 8) })
-#define __pte_to_swp_entry(pte)		((swp_entry_t) { (pte).pte_low })
-#define __swp_entry_to_pte(x)		((pte_t) { (x).val })
-
 #endif /* !__ASSEMBLY__ */
 
 #ifndef CONFIG_DISCONTIGMEM
include/asm-i386/pgtable-3level.h +7 -0
Index: premm2-2.6.8-rc3/include/asm-i386/pgtable-3level.h
===================================================================
@@ -134,4 +134,11 @@
 #define pgoff_to_pte(off) ((pte_t) { _PAGE_FILE, (off) })
 #define PTE_FILE_MAX_BITS       32
 
+/* Encode and de-code a swap entry */
+#define __swp_type(x)			(((x).val) & 0x1f)
+#define __swp_offset(x)			((x).val >> 5)
+#define __swp_entry(type, offset)	((swp_entry_t){(type) | (offset) << 5})
+#define __pte_to_swp_entry(pte)		((swp_entry_t){ (pte).pte_high })
+#define __swp_entry_to_pte(x)		((pte_t){ 0, (x).val })
+
 #endif /* _I386_PGTABLE_3LEVEL_H */
include/asm-i386/pgtable-2level.h +7 -0
Index: premm2-2.6.8-rc3/include/asm-i386/pgtable-2level.h
===================================================================
@@ -75,4 +75,11 @@
 #define pgoff_to_pte(off) \
 	((pte_t) { (((off) & 0x1f) << 1) + (((off) >> 5) << 8) + _PAGE_FILE })
 
+/* Encode and de-code a swap entry */
+#define __swp_type(x)			(((x).val >> 1) & 0x1f)
+#define __swp_offset(x)			((x).val >> 8)
+#define __swp_entry(type, offset)	((swp_entry_t) { ((type) << 1) | ((offset) << 8) })
+#define __pte_to_swp_entry(pte)		((swp_entry_t) { (pte).pte_low })
+#define __swp_entry_to_pte(x)		((pte_t) { (x).val })
+
 #endif /* _I386_PGTABLE_2LEVEL_H */
#11 lore raw
In reply to Andrew Morton
Quoted 3 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm2/
- Added a little patch to the CPU scheduler which disables its array switching.

[...]

During the kernel summit, some discussion was had about the support requirements for a userspace program loader that loads executables into hugetlb on behalf of a major application (Oracle). In order to support this in a robust fashion, the cleanup of the hugetlb must be robust in the presence of disorderly termination of the programs (e.g. kill -9). Hence, the cleanup semantics are those of System V shared memory, but Linux' System V shared memory needs one critical extension for this use: executability.

The following microscopic patch enables this major application to provide robust hugetlb cleanup.

include/linux/shm.h +1 -0
Index: premm2-2.6.8-rc3/include/linux/shm.h
===================================================================
@@ -44,6 +44,7 @@
 #define	SHM_RDONLY	010000	/* read-only access */
 #define	SHM_RND		020000	/* round attach address to SHMLBA boundary */
 #define	SHM_REMAP	040000	/* take-over region on attach */
+#define	SHM_EXEC	0100000	/* execution access */
 
 /* super user shmctl commands */
 #define SHM_LOCK 	11
ipc/shm.c +4 -0
Index: premm2-2.6.8-rc3/ipc/shm.c
===================================================================
@@ -688,6 +688,10 @@
 		o_flags = O_RDWR;
 		acc_mode = S_IRUGO | S_IWUGO;
 	}
+	if (shmflg & SHM_EXEC) {
+		prot |= PROT_EXEC;
+		acc_mode |= S_IXUGO;
+	}
 
 	/*
 	 * We cannot rely on the fs check since SYSV IPC does have an
#12 lore raw
In reply to Andrew Morton

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Gah, sending this to lkml also, next time i hit reply i'll try to remember to insert the lkml mail address ;)

I wonder if there are any plans to implement Reiser4 into mm soon? I think that Reiser4 is stable enough to get in mm now.

- --
Med Vennlig Hilsen / Best Regards
Espen Fjellvær Olsen
[email protected]
Norway
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBF1OkibTL5aHQf7URAqv8AJ46h6RlXHAruSMRGeru6RNam/LJ7gCfcS05 lFR2ausItQ7g9h24mSZgQKI=
=QsmH
-----END PGP SIGNATURE-----

#13 lore raw

Hello

Quoted 6 lines · Espen Fjellvær Olsen

Gah, sending this to lkml also, next time i hit reply i'll try to remember to insert the lkml mail address ;)

I wonder if there are any plans to implement Reiser4 into mm soon? I think that Reiser4 is stable enough to get in mm now.

We sent it to Andrew Morton at the end of last week and he made few warnings we are currently trying to address.

Quoted 5 lines

--
Med Vennlig Hilsen / Best Regards
Espen Fjellvær Olsen
[email protected]
Norway

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#14 lore raw
In reply to Espen Fjellvær Olsen
Quoted 5 lines · Espen Fjellvær Olsen

Gah, sending this to lkml also, next time i hit reply i'll try to remember to insert the lkml mail address ;)

I wonder if there are any plans to implement Reiser4 into mm soon? I think that Reiser4 is stable enough to get in mm now.

Yup, it is going in, we are finessing details right now.

Quoted 6 lines

--
Med Vennlig Hilsen / Best Regards
Espen Fjellvær Olsen
[email protected]
Norway

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#15 lore raw
In reply to Andrew Morton
Quoted 3 lines · Andrew Morton

boolean-typo-in-dvb.patch
boolean typo in DVB

It would be nice if this patch would go into 2.6.8.

And, although the current DVB stuff compiles fine, for correctness the following patch adds the necessary include for __user annotations.

Thanks,
Johannes

include/linux/dvb/osd.h +2 -0
diff -ru linux-2.6.8-rc3.orig/include/linux/dvb/osd.h linux-2.6.8-rc3/include/linux/dvb/osd.h
@@ -24,6 +24,8 @@
 #ifndef _DVBOSD_H_
 #define _DVBOSD_H_
 
+#include <linux/compiler.h>
+
 typedef enum {
   // All functions return -2 on "not open"
   OSD_Close=1,    // ()
include/linux/dvb/video.h +2 -0
diff -ru linux-2.6.8-rc3.orig/include/linux/dvb/video.h linux-2.6.8-rc3/include/linux/dvb/video.h
@@ -24,6 +24,8 @@
 #ifndef _DVBVIDEO_H_
 #define _DVBVIDEO_H_
 
+#include <linux/compiler.h>
+
 #ifdef __KERNEL__
 #include <linux/types.h>
 #else
#16 lore raw
In reply to Andrew Morton
Quoted 2 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6 .8-rc3-mm2/

Hangs on boot for me, and doesn't appear related to the dont-pass-mem_map-* patches (I reverted them and got the same behavior, besides I think the kernel is past paging_init at this point). Trying to track it down.

Jesse

SGI SAL version 3.40
Virtual mem_map starts at 0xa0007fffce938000
Built 1 zonelists
Kernel command line: BOOT_IMAGE=scsi0:\EFI\sgi\vmlinuz.jb root=/dev/sda3 console=ttySG0 console=ttyS0 ro
PID hash table entries: 4096 (order 12: 65536 bytes)
CPU 0: base freq=200.000MHz, ITC ratio=10/2, ITC freq=1000.000MHz+/--1ppm
Console: colour dummy device 80x25
Dentry cache hash table entries: 1048576 (order: 9, 8388608 bytes) Inode-cache hash table entries: 524288 (order: 8, 4194304 bytes)
Memory: 5937856k/6004928k available (7074k code, 79072k reserved, 3376k data, 352k init)
McKinley Errata 9 workaround not needed; disabling it
Calibrating delay loop... 1481.36 BogoMIPS (lpj=722944) Mount-cache hash table entries: 1024 (order: 0, 16384 bytes)
Boot processor id 0x0/0x0
task migration cache decay timeout: 10 msecs.
** hang, then machine check **

#17 lore raw
Quoted 21 lines · Jesse Barnes
Quoted 2 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6 .8-rc3-mm2/

Hangs on boot for me, and doesn't appear related to the dont-pass-mem_map-* patches (I reverted them and got the same behavior, besides I think the kernel is past paging_init at this point). Trying to track it down.

Jesse

SGI SAL version 3.40
Virtual mem_map starts at 0xa0007fffce938000
Built 1 zonelists
Kernel command line: BOOT_IMAGE=scsi0:\EFI\sgi\vmlinuz.jb root=/dev/sda3 console=ttySG0 console=ttyS0 ro
PID hash table entries: 4096 (order 12: 65536 bytes)
CPU 0: base freq=200.000MHz, ITC ratio=10/2, ITC freq=1000.000MHz+/--1ppm
Console: colour dummy device 80x25
Dentry cache hash table entries: 1048576 (order: 9, 8388608 bytes) Inode-cache hash table entries: 524288 (order: 8, 4194304 bytes)

Quoted 8 lines

Memory: 5937856k/6004928k available (7074k code, 79072k reserved, 3376k data, 352k init)
McKinley Errata 9 workaround not needed; disabling it
Calibrating delay loop... 1481.36 BogoMIPS (lpj=722944) Mount-cache hash table entries: 1024 (order: 0, 16384 bytes)
Boot processor id 0x0/0x0
task migration cache decay timeout: 10 msecs.
** hang, then machine check **

I had the same hang on my ia64 test box, once. But during the binary-search-through-patches process it disappeared. Try booting again :(

I'd be suspecting one of the CPU scheduler patches.

#18 lore raw
Quoted 2 lines · Andrew Morton

I had the same hang on my ia64 test box, once. But during the binary-search-through-patches process it disappeared. Try booting again :(

I've tried a few times now, 100% failure rate.

Quoted 1 line

I'd be suspecting one of the CPU scheduler patches.

Yep, that's what I'm looking at now...

Thanks,
Jesse

#19 lore raw
Quoted 3 lines · Jesse Barnes
Quoted 1 line

I'd be suspecting one of the CPU scheduler patches.

Yep, that's what I'm looking at now...

If I apply everything up to and including schedstat-v10.patch, it boots fine. So it might be sched-init_idle-fork_by_hand-consolidation.patch or something nearby... Just reverting the sched-single-array.patch wasn't enough.

Jesse

#20 lore raw
Quoted 1 line · akpm
Quoted 1 line
Quoted 1 line

I'd be suspecting one of the CPU scheduler patches.

Quoted 1 line · Jesse Barnes
Quoted 1 line

Yep, that's what I'm looking at now...

Quoted 4 lines · Jesse Barnes

If I apply everything up to and including schedstat-v10.patch, it boots fine. So it might be sched-init_idle-fork_by_hand-consolidation.patch or something nearby... Just reverting the sched-single-array.patch wasn't enough.

I can reproduce here (ia64/Altix). Fixing.

-- wli

#21 lore raw
Quoted 4 lines · Jesse Barnes
Quoted 4 lines

If I apply everything up to and including schedstat-v10.patch, it boots fine. So it might be sched-init_idle-fork_by_hand-consolidation.patch or something nearby... Just reverting the sched-single-array.patch wasn't enough.

Quoted 1 line · William Lee Irwin III

I can reproduce here (ia64/Altix). Fixing.

It comes up with the following applied. Now distilling into a bugfix.

-- wli

arch/ia64/kernel/smpboot.c renamed from arch/ia64/kernel/smpboot.c.orig +34 -37
@@ -356,65 +356,48 @@
 	return cpu_idle();
 }
 
-struct create_idle {
-	struct task_struct *idle;
-	struct completion done;
-	int cpu;
-};
-
-void
-do_fork_idle(void *_c_idle)
-{
-	struct create_idle *c_idle = _c_idle;
-
-	c_idle->idle = fork_idle(c_idle->cpu);
-	complete(&c_idle->done);
-}
-
 static int __devinit
 do_boot_cpu (int sapicid, int cpu)
 {
 	int timeout;
-	struct create_idle c_idle = {
-		.cpu	= cpu,
-		.done	= COMPLETION_INITIALIZER(c_idle.done),
-	};
-	DECLARE_WORK(work, do_fork_idle, &c_idle);
 	/*
 	 * We can't use kernel_thread since we must avoid to reschedule the child.
 	 */
-	if (!keventd_up() || current_is_keventd())
-		work.func(work.data);
-	else {
-		schedule_work(&work);
-		wait_for_completion(&c_idle.done);
-	}
-
-	if (IS_ERR(c_idle.idle))
+	printk("entered do_boot_cpu(%d, %d)\n", sapicid, cpu);
+	printk("about to fork_idle(%d)\n", cpu);
+	task_for_booting_cpu = fork_idle(cpu);
+	printk("survived fork_idle(%d)\n", cpu);
+	if (IS_ERR(task_for_booting_cpu))
 		panic("failed fork for CPU %d", cpu);
-	task_for_booting_cpu = c_idle.idle;
-
+	mb();
 	Dprintk("Sending wakeup vector %lu to AP 0x%x/0x%x.\n", ap_wakeup_vector, cpu, sapicid);
 
+	printk("about to platform_send_ipi(%d, %p, IA64_IPI_DM_INT, 0)\n", cpu, ap_wakeup_vector);
 	platform_send_ipi(cpu, ap_wakeup_vector, IA64_IPI_DM_INT, 0);
+	printk("survived platform_send_ipi(%d, %p, IA64_IPI_DM_INT, 0)\n", cpu, ap_wakeup_vector);
 
 	/*
 	 * Wait 10s total for the AP to start
 	 */
-	Dprintk("Waiting on callin_map ...");
+	printk("Waiting on callin_map on cpu %d for cpu %d...",
+		smp_processor_id(), cpu);
 	for (timeout = 0; timeout < 100000; timeout++) {
 		if (cpu_isset(cpu, cpu_callin_map))
 			break;  /* It has booted */
 		udelay(100);
 	}
-	Dprintk("\n");
+	printk("\n");
+	printk("finished waiting on callin_map\n");
 
 	if (!cpu_isset(cpu, cpu_callin_map)) {
-		printk(KERN_ERR "Processor 0x%x/0x%x is stuck.\n", cpu, sapicid);
+		printk("Processor 0x%x/0x%x is stuck.\n", cpu, sapicid);
 		ia64_cpu_to_sapicid[cpu] = -1;
 		cpu_clear(cpu, cpu_online_map);  /* was set in smp_callin() */
+		printk("error return from do_boot_cpu(%d, %d)\n", sapicid, cpu);
 		return -EINVAL;
-	}
+	} else
+		printk("Processor %d/%d came up\n", cpu, sapicid);
+	printk("normal return from do_boot_cpu(%d, %d)\n", sapicid, cpu);
 	return 0;
 }
 
@@ -655,26 +638,40 @@
 	int ret;
 	int sapicid;
 
+	printk("entered __cpu_up(%u)\n", cpu);
 	sapicid = ia64_cpu_to_sapicid[cpu];
-	if (sapicid == -1)
+	if (sapicid == -1) {
+		printk("invalid SAPIC ID\n");
+		printk("error return from __cpu_up(%u)\n", cpu);
 		return -EINVAL;
+	}
 
 	/*
 	 * Already booted.. just enable and get outa idle lool
 	 */
 	if (cpu_isset(cpu, cpu_callin_map))
 	{
+		printk("%u already set in cpu_callin_map\n", cpu);
+		printk("about to cpu_enable(%u)\n", cpu);
 		cpu_enable(cpu);
+		printk("survived cpu_enable(%u)\n", cpu);
 		local_irq_enable();
+		printk("looping while (!cpu_isset(%u, cpu_online_map))\n", cpu);
 		while (!cpu_isset(cpu, cpu_online_map))
 			mb();
+		printk("finished looping while (!cpu_isset(%u, cpu_online_map))\n", cpu);
+		printk("successful return from __cpu_up(%u)\n", cpu);
 		return 0;
 	}
 	/* Processor goes to start_secondary(), sets online flag */
+	printk("about to call do_boot_cpu(%d, %d)\n", sapicid, cpu);
 	ret = do_boot_cpu(sapicid, cpu);
-	if (ret < 0)
+	printk("survived call to do_boot_cpu(%d, %d)\n", sapicid, cpu);
+	if (ret < 0) {
+		printk("error return from __cpu_up(%u)\n", cpu);
 		return ret;
-
+	}
+	printk("successful return from __cpu_up(%u)\n", cpu);
 	return 0;
 }
 
scripts/package/mkspec renamed from scripts/package/mkspec.orig +2 -2
@@ -57,14 +57,14 @@
 echo "%build"
 
 if ! $PREBUILT; then
-echo "make clean && make"
+echo "make clean && make %{_smp_mflags}"
 echo ""
 fi
 
 echo "%install"
 echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib $RPM_BUILD_ROOT/lib/modules'
 
-echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make modules_install'
+echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{_smp_mflags} modules_install'
 echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION"
 
 echo 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION"
kernel/fork.c renamed from kernel/fork.c.orig +1 -1
@@ -1190,7 +1190,7 @@
 	goto fork_out;
 }
 
-task_t * __init fork_idle(int cpu)
+task_t *fork_idle(int cpu)
 {
 	task_t *task;
 	struct pt_regs regs;
#22 lore raw
Quoted 4 lines · Jesse Barnes
Quoted 4 lines
Quoted 4 lines

If I apply everything up to and including schedstat-v10.patch, it boots fine. So it might be sched-init_idle-fork_by_hand-consolidation.patch or something nearby... Just reverting the sched-single-array.patch wasn't enough.

Quoted 1 line · William Lee Irwin III
Quoted 1 line

I can reproduce here (ia64/Altix). Fixing.

Quoted 1 line · William Lee Irwin III

It comes up with the following applied. Now distilling into a bugfix.

The following does *NOT* come up. The difference appears to be the delay from the printk()'s.

-- wli

arch/ia64/kernel/smpboot.c renamed from arch/ia64/kernel/smpboot.c.orig +3 -30
@@ -356,44 +356,17 @@
 	return cpu_idle();
 }
 
-struct create_idle {
-	struct task_struct *idle;
-	struct completion done;
-	int cpu;
-};
-
-void
-do_fork_idle(void *_c_idle)
-{
-	struct create_idle *c_idle = _c_idle;
-
-	c_idle->idle = fork_idle(c_idle->cpu);
-	complete(&c_idle->done);
-}
-
 static int __devinit
 do_boot_cpu (int sapicid, int cpu)
 {
 	int timeout;
-	struct create_idle c_idle = {
-		.cpu	= cpu,
-		.done	= COMPLETION_INITIALIZER(c_idle.done),
-	};
-	DECLARE_WORK(work, do_fork_idle, &c_idle);
 	/*
 	 * We can't use kernel_thread since we must avoid to reschedule the child.
 	 */
-	if (!keventd_up() || current_is_keventd())
-		work.func(work.data);
-	else {
-		schedule_work(&work);
-		wait_for_completion(&c_idle.done);
-	}
-
-	if (IS_ERR(c_idle.idle))
+	task_for_booting_cpu = fork_idle(cpu);
+	if (IS_ERR(task_for_booting_cpu))
 		panic("failed fork for CPU %d", cpu);
-	task_for_booting_cpu = c_idle.idle;
-
+	mb();
 	Dprintk("Sending wakeup vector %lu to AP 0x%x/0x%x.\n", ap_wakeup_vector, cpu, sapicid);
 
 	platform_send_ipi(cpu, ap_wakeup_vector, IA64_IPI_DM_INT, 0);
kernel/fork.c renamed from kernel/fork.c.orig +1 -1
@@ -1190,7 +1190,7 @@
 	goto fork_out;
 }
 
-task_t * __init fork_idle(int cpu)
+task_t *fork_idle(int cpu)
 {
 	task_t *task;
 	struct pt_regs regs;
#23 lore raw
Quoted 1 line · William Lee Irwin III
Quoted 1 line
Quoted 1 line

I can reproduce here (ia64/Altix). Fixing.

Quoted 1 line · William Lee Irwin III
Quoted 1 line

It comes up with the following applied. Now distilling into a bugfix.

Quoted 2 lines · William Lee Irwin III

The following does *NOT* come up. The difference appears to be the delay from the printk()'s.

Adding mdelay(1000) before and after the wakeup IPI didn't help. Must be something else going on in printk().

-- wli

#24 lore raw
Quoted 1 line · William Lee Irwin III
Quoted 1 line
Quoted 1 line
Quoted 1 line

I can reproduce here (ia64/Altix). Fixing.

Quoted 1 line · William Lee Irwin III
Quoted 1 line
Quoted 1 line

It comes up with the following applied. Now distilling into a bugfix.

Quoted 2 lines · William Lee Irwin III
Quoted 2 lines

The following does *NOT* come up. The difference appears to be the delay from the printk()'s.

Quoted 2 lines · William Lee Irwin III

Adding mdelay(1000) before and after the wakeup IPI didn't help. Must be something else going on in printk().

None of the printk()'s in do_boot_cpu() appear essential. The following also boots:

arch/ia64/kernel/smpboot.c renamed from arch/ia64/kernel/smpboot.c.orig +34 -40
@@ -356,65 +356,45 @@
 	return cpu_idle();
 }
 
-struct create_idle {
-	struct task_struct *idle;
-	struct completion done;
-	int cpu;
-};
-
-void
-do_fork_idle(void *_c_idle)
-{
-	struct create_idle *c_idle = _c_idle;
-
-	c_idle->idle = fork_idle(c_idle->cpu);
-	complete(&c_idle->done);
-}
-
 static int __devinit
 do_boot_cpu (int sapicid, int cpu)
 {
 	int timeout;
-	struct create_idle c_idle = {
-		.cpu	= cpu,
-		.done	= COMPLETION_INITIALIZER(c_idle.done),
-	};
-	DECLARE_WORK(work, do_fork_idle, &c_idle);
 	/*
 	 * We can't use kernel_thread since we must avoid to reschedule the child.
 	 */
-	if (!keventd_up() || current_is_keventd())
-		work.func(work.data);
-	else {
-		schedule_work(&work);
-		wait_for_completion(&c_idle.done);
-	}
-
-	if (IS_ERR(c_idle.idle))
-		panic("failed fork for CPU %d", cpu);
-	task_for_booting_cpu = c_idle.idle;
-
-	Dprintk("Sending wakeup vector %lu to AP 0x%x/0x%x.\n", ap_wakeup_vector, cpu, sapicid);
-
+	/* printk("entered do_boot_cpu(%d, %d)\n", sapicid, cpu); */
+	/* printk("about to fork_idle(%d)\n", cpu); */
+	task_for_booting_cpu = fork_idle(cpu);
+	/* printk("survived fork_idle(%d)\n", cpu); */
+	if (IS_ERR(task_for_booting_cpu))
+		 panic("failed fork for CPU %d", cpu);
+	mb();
+	/* printk("Sending wakeup vector %lu to AP 0x%x/0x%x.\n", ap_wakeup_vector, cpu, sapicid); */
+	/* printk("about to platform_send_ipi(%u, 0x%lx, IA64_IPI_DM_INT, 0)\n", cpu, ap_wakeup_vector); */
 	platform_send_ipi(cpu, ap_wakeup_vector, IA64_IPI_DM_INT, 0);
+	/* printk("survived platform_send_ipi(%u, 0x%lx, IA64_IPI_DM_INT, 0)\n", cpu, ap_wakeup_vector); */
 
 	/*
 	 * Wait 10s total for the AP to start
 	 */
-	Dprintk("Waiting on callin_map ...");
+	/* printk("Waiting on callin_map on cpu %d for cpu %d...", smp_processor_id(), cpu); */
 	for (timeout = 0; timeout < 100000; timeout++) {
 		if (cpu_isset(cpu, cpu_callin_map))
 			break;  /* It has booted */
 		udelay(100);
 	}
-	Dprintk("\n");
+	/* printk("\n"); */
+	/* printk("finished waiting on callin_map\n"); */
 
 	if (!cpu_isset(cpu, cpu_callin_map)) {
-		printk(KERN_ERR "Processor 0x%x/0x%x is stuck.\n", cpu, sapicid);
+		/* printk("Processor 0x%x/0x%x is stuck.\n", cpu, sapicid); */
 		ia64_cpu_to_sapicid[cpu] = -1;
 		cpu_clear(cpu, cpu_online_map);  /* was set in smp_callin() */
+		/* printk("error return from do_boot_cpu(%d, %d)\n", sapicid, cpu); */
 		return -EINVAL;
-	}
+	} /* else printk("Processor %d/%d came up\n", cpu, sapicid); */
+	/* printk("normal return from do_boot_cpu(%d, %d)\n", sapicid, cpu); */
 	return 0;
 }
 
@@ -655,26 +635,40 @@
 	int ret;
 	int sapicid;
 
+	printk("entered __cpu_up(%u)\n", cpu);
 	sapicid = ia64_cpu_to_sapicid[cpu];
-	if (sapicid == -1)
+	if (sapicid == -1) {
+		printk("invalid SAPIC ID\n");
+		printk("error return from __cpu_up(%u)\n", cpu);
 		return -EINVAL;
+	}
 
 	/*
 	 * Already booted.. just enable and get outa idle lool
 	 */
 	if (cpu_isset(cpu, cpu_callin_map))
 	{
+		printk("%u already set in cpu_callin_map\n", cpu);
+		printk("about to cpu_enable(%u)\n", cpu);
 		cpu_enable(cpu);
+		printk("survived cpu_enable(%u)\n", cpu);
 		local_irq_enable();
+		printk("looping while (!cpu_isset(%u, cpu_online_map))\n", cpu);
 		while (!cpu_isset(cpu, cpu_online_map))
 			mb();
+		printk("finished looping while (!cpu_isset(%u, cpu_online_map))\n", cpu);
+		printk("successful return from __cpu_up(%u)\n", cpu);
 		return 0;
 	}
 	/* Processor goes to start_secondary(), sets online flag */
+	printk("about to call do_boot_cpu(%d, %d)\n", sapicid, cpu);
 	ret = do_boot_cpu(sapicid, cpu);
-	if (ret < 0)
+	printk("survived call to do_boot_cpu(%d, %d)\n", sapicid, cpu);
+	if (ret < 0) {
+		printk("error return from __cpu_up(%u)\n", cpu);
 		return ret;
-
+	}
+	printk("successful return from __cpu_up(%u)\n", cpu);
 	return 0;
 }
 
kernel/fork.c renamed from kernel/fork.c.orig +1 -1
@@ -1190,7 +1190,7 @@
 	goto fork_out;
 }
 
-task_t * __init fork_idle(int cpu)
+task_t *fork_idle(int cpu)
 {
 	task_t *task;
 	struct pt_regs regs;
#25 lore raw
Quoted 2 lines · William Lee Irwin III
Quoted 2 lines

Adding mdelay(1000) before and after the wakeup IPI didn't help. Must be something else going on in printk().

Quoted 2 lines · William Lee Irwin III

None of the printk()'s in do_boot_cpu() appear essential. The following also boots:

Okay, it's down to one printk() and other smaller changes now. The mb() and __init removal are both unnecessary too.

-- wli

arch/ia64/kernel/smpboot.c renamed from arch/ia64/kernel/smpboot.c.orig +4 -33
@@ -356,46 +356,16 @@
 	return cpu_idle();
 }
 
-struct create_idle {
-	struct task_struct *idle;
-	struct completion done;
-	int cpu;
-};
-
-void
-do_fork_idle(void *_c_idle)
-{
-	struct create_idle *c_idle = _c_idle;
-
-	c_idle->idle = fork_idle(c_idle->cpu);
-	complete(&c_idle->done);
-}
-
 static int __devinit
 do_boot_cpu (int sapicid, int cpu)
 {
 	int timeout;
-	struct create_idle c_idle = {
-		.cpu	= cpu,
-		.done	= COMPLETION_INITIALIZER(c_idle.done),
-	};
-	DECLARE_WORK(work, do_fork_idle, &c_idle);
 	/*
 	 * We can't use kernel_thread since we must avoid to reschedule the child.
 	 */
-	if (!keventd_up() || current_is_keventd())
-		work.func(work.data);
-	else {
-		schedule_work(&work);
-		wait_for_completion(&c_idle.done);
-	}
-
-	if (IS_ERR(c_idle.idle))
-		panic("failed fork for CPU %d", cpu);
-	task_for_booting_cpu = c_idle.idle;
-
-	Dprintk("Sending wakeup vector %lu to AP 0x%x/0x%x.\n", ap_wakeup_vector, cpu, sapicid);
-
+	task_for_booting_cpu = fork_idle(cpu);
+	if (IS_ERR(task_for_booting_cpu))
+		 panic("failed fork for CPU %d", cpu);
 	platform_send_ipi(cpu, ap_wakeup_vector, IA64_IPI_DM_INT, 0);
 
 	/*
@@ -671,6 +641,7 @@
 		return 0;
 	}
 	/* Processor goes to start_secondary(), sets online flag */
+	printk("about to call do_boot_cpu(%d, %d)\n", sapicid, cpu);
 	ret = do_boot_cpu(sapicid, cpu);
 	if (ret < 0)
 		return ret;
#26 lore raw
Quoted 2 lines · William Lee Irwin III

Okay, it's down to one printk() and other smaller changes now. The mb() and __init removal are both unnecessary too.

so the same patch but without the printk change still crashes?

how about applying only the printk change? (delay effect?)

Ingo

#27 lore raw
Quoted 2 lines · William Lee Irwin III
Quoted 2 lines

Okay, it's down to one printk() and other smaller changes now. The mb() and __init removal are both unnecessary too.

Quoted 2 lines · Ingo Molnar

so the same patch but without the printk change still crashes? how about applying only the printk change? (delay effect?)

Actually, what I just narrowed it down to was *only* the printk change fixes it.

-- wli

#28 lore raw
Quoted 5 lines · William Lee Irwin III
Quoted 2 lines

so the same patch but without the printk change still crashes? how about applying only the printk change? (delay effect?)

Actually, what I just narrowed it down to was *only* the printk change fixes it.

when i've seen such things on x86 it was usually some race with interrupts on the other CPU. Where do all the ia64 interrupts go to during bootup?

the other possibility is messed up completion logic - some stuff is still on this CPU's kernel stack and the printk delays its corruption/destruction.

Ingo

#29 lore raw
Quoted 2 lines · William Lee Irwin III
Quoted 2 lines

Actually, what I just narrowed it down to was *only* the printk change fixes it.

Quoted 6 lines · Ingo Molnar

when i've seen such things on x86 it was usually some race with interrupts on the other CPU. Where do all the ia64 interrupts go to during bootup?
the other possibility is messed up completion logic - some stuff is still on this CPU's kernel stack and the printk delays its corruption/destruction.

printk() seems to only have a few possible effects. I just tried mdelay() for the delay effect and not much appears to have happened. I'll probably try fiddling with schedule(), yield(), and local_irq_enable() and so on next. Your advice is very much like what I have in mind for possibilities, except I consider the messed up completion logic ruled out since backing out the completion removal part of the printk() "fix" didn't break it.

-- wli

#30 lore raw
In reply to William Lee Irwin III
Quoted 6 lines · William Lee Irwin III
Quoted 2 lines · William Lee Irwin III

Adding mdelay(1000) before and after the wakeup IPI didn't help. Must be something else going on in printk().

None of the printk()'s in do_boot_cpu() appear essential. The following also boots:

the key seems to be not doing fork_idle() call via keventd?

i'm wondering about:

arch/ia64/kernel/smpboot.c line 391

Quoted 6 lines
arch/ia64/kernel/smpboot.c renamed from arch/ia64/kernel/smpboot.c.orig +0 -6
-	if (!keventd_up() || current_is_keventd())
-		work.func(work.data);
-	else {
-		schedule_work(&work);
-		wait_for_completion(&c_idle.done);
-	}

is keventd_up() true during normal SMP bootup? If not then could you do something like this in do_fork_idle():

	if (keventd_up())
		complete(&c_idle->done);

since we are in the idle thread and waking up ourselves could move us back to the runqueue. (bad)

Ingo

#31 lore raw
Quoted 8 lines · Ingo Molnar

arch/ia64/kernel/smpboot.c line 391

Quoted 6 lines
arch/ia64/kernel/smpboot.c renamed from arch/ia64/kernel/smpboot.c.orig +0 -6
-	if (!keventd_up() || current_is_keventd())
-		work.func(work.data);
-	else {
-		schedule_work(&work);
-		wait_for_completion(&c_idle.done);
-	}

is keventd_up() true during normal SMP bootup? [...]

it ought to be up at this point - smp_init() is done from the init thread and the scheduler is up and running.

Ingo

#32 lore raw
Quoted 1 line · someone
Quoted 1 line

is keventd_up() true during normal SMP bootup? [...]

Quoted 3 lines · Ingo Molnar

it ought to be up at this point - smp_init() is done from the init thread and the scheduler is up and running.
Ingo

Well, I'm working backward from an "unacceptable fix", where I changed a bunch of things defensively at once and (of course) it was adding the printk()'s that actually fixed things.

One of those changes was to ditch the schedule_work() shenanigans in do_boot_cpu(), which was actually meant to rule out the initializers for the struct create_idle getting miscompiled or otherwise not behaving as I expected.

-- wli

#33 lore raw
Quoted 1 line · someone
Quoted 1 line
Quoted 1 line

is keventd_up() true during normal SMP bootup? [...]

Quoted 2 lines · Ingo Molnar
Quoted 2 lines

it ought to be up at this point - smp_init() is done from the init thread and the scheduler is up and running.

Quoted 7 lines · William Lee Irwin III

Well, I'm working backward from an "unacceptable fix", where I changed a bunch of things defensively at once and (of course) it was adding the printk()'s that actually fixed things.
One of those changes was to ditch the schedule_work() shenanigans in do_boot_cpu(), which was actually meant to rule out the initializers for the struct create_idle getting miscompiled or otherwise not behaving as I expected.

The "unacceptable fix" is now down to one line. So, what I need to figure out now is what the printk did.

arch/ia64/kernel/smpboot.c renamed from arch/ia64/kernel/smpboot.c.orig +1 -0
@@ -671,6 +671,7 @@
 		return 0;
 	}
 	/* Processor goes to start_secondary(), sets online flag */
+	printk("about to call do_boot_cpu(%d, %d)\n", sapicid, cpu);
 	ret = do_boot_cpu(sapicid, cpu);
 	if (ret < 0)
 		return ret;
#34 lore raw
In reply to Ingo Molnar
Quoted 2 lines · William Lee Irwin III
Quoted 2 lines

None of the printk()'s in do_boot_cpu() appear essential. The following also boots:

Quoted 2 lines · Ingo Molnar

the key seems to be not doing fork_idle() call via keventd? i'm wondering about:

It deadlocks with or without the fork_idle() call being via keventd; the printk change is what makes the difference. =(

Quoted 6 lines · William Lee Irwin III
Quoted 6 lines
arch/ia64/kernel/smpboot.c renamed from arch/ia64/kernel/smpboot.c.orig +0 -6
-	if (!keventd_up() || current_is_keventd())
-		work.func(work.data);
-	else {
-		schedule_work(&work);
-		wait_for_completion(&c_idle.done);
-	}
Quoted 6 lines · Ingo Molnar

is keventd_up() true during normal SMP bootup? If not then could you do something like this in do_fork_idle():

	if (keventd_up())
		complete(&c_idle->done);

since we are in the idle thread and waking up ourselves could move us back to the runqueue. (bad)

There appear to be some dependencies on idle being able to schedule and participate in kernel activity, e.g. kthread_create() does something odd like this during migration_init().

-- wli

#35 lore raw
Quoted 2 lines · William Lee Irwin III
Quoted 2 lines
Quoted 2 lines

None of the printk()'s in do_boot_cpu() appear essential. The following also boots:

Quoted 2 lines · Ingo Molnar
Quoted 2 lines

the key seems to be not doing fork_idle() call via keventd? i'm wondering about:

Quoted 2 lines · William Lee Irwin III

It deadlocks with or without the fork_idle() call being via keventd; the printk change is what makes the difference. =(

Okay, it deadlocks with both mdelay(1000) and yield() in place of the printk(). Trying manual calls to schedule() and local_irq_enable() next.

-- wli

#36 lore raw
Quoted 2 lines · William Lee Irwin III
Quoted 2 lines

It deadlocks with or without the fork_idle() call being via keventd; the printk change is what makes the difference. =(

Quoted 2 lines · William Lee Irwin III

Okay, it deadlocks with both mdelay(1000) and yield() in place of the printk(). Trying manual calls to schedule() and local_irq_enable() next.

Replacing the printk() with either of the following two things didn't work:

(a) yield();
(b) local_irq_enable(); set_current_state(TASK_RUNNING); schedule();

-- wli

#37 lore raw
Quoted 2 lines · William Lee Irwin III
Quoted 2 lines
Quoted 2 lines

It deadlocks with or without the fork_idle() call being via keventd; the printk change is what makes the difference. =(

Quoted 2 lines · William Lee Irwin III
Quoted 2 lines

Okay, it deadlocks with both mdelay(1000) and yield() in place of the printk(). Trying manual calls to schedule() and local_irq_enable() next.

Quoted 3 lines · William Lee Irwin III

Replacing the printk() with either of the following two things didn't work:
(a) yield();
(b) local_irq_enable(); set_current_state(TASK_RUNNING); schedule();

Okay, these also failed as replacements for printk():
(c) local_irq_enable();

(d) local_irq_enable(); set_current_state(TASK_RUNNING);
	schedule(); mdelay(1000);
(e) local_irq_enable(); set_current_state(TASK_RUNNING);
	for (i = 0; i < 1000; ++i) mdelay(1);
	set_current_state(TASK_RUNNING); schedule();

-- wli

#38 lore raw
Quoted 13 lines · William Lee Irwin III
Quoted 2 lines · William Lee Irwin III
Quoted 2 lines
Quoted 2 lines

It deadlocks with or without the fork_idle() call being via keventd; the printk change is what makes the difference. =(

Quoted 2 lines · William Lee Irwin III
Quoted 2 lines

Okay, it deadlocks with both mdelay(1000) and yield() in place of the printk(). Trying manual calls to schedule() and local_irq_enable() next.

Quoted 3 lines · William Lee Irwin III

Replacing the printk() with either of the following two things didn't
work: (a) yield();
(b) local_irq_enable(); set_current_state(TASK_RUNNING); schedule();

Quoted 7 lines

Okay, these also failed as replacements for printk():
(c) local_irq_enable();

(d) local_irq_enable(); set_current_state(TASK_RUNNING);
	schedule(); mdelay(1000);
(e) local_irq_enable(); set_current_state(TASK_RUNNING);
	for (i = 0; i < 1000; ++i) mdelay(1);
	set_current_state(TASK_RUNNING); schedule();

Why don't you create a copy of printk() and start commenting out lines in there?

Quoted 1 line

-- wli

<<V13>>

#39 lore raw
Quoted 7 lines · William Lee Irwin III
Quoted 7 lines

Okay, these also failed as replacements for printk():
(c) local_irq_enable();

(d) local_irq_enable(); set_current_state(TASK_RUNNING);
	schedule(); mdelay(1000);
(e) local_irq_enable(); set_current_state(TASK_RUNNING);
	for (i = 0; i < 1000; ++i) mdelay(1);
	set_current_state(TASK_RUNNING); schedule();
Quoted 2 lines · On Tue, Aug 10, 2004 at 03:52:20PM +0300, V13 wrote:

Why don't you create a copy of printk() and start commenting out lines in there?

This is a very good idea.

Thanks.

-- wli

#40 lore raw
Quoted 5 lines · William Lee Irwin III
Quoted 2 lines · On Tue, Aug 10, 2004 at 03:52:20PM +0300, V13 wrote:

Why don't you create a copy of printk() and start commenting out lines in there?

This is a very good idea.

i'd guess it's the con->write() in __call_console_drivers() that makes the difference. (i.e. touching the framebuffer)

Ingo

#41 lore raw
Quoted 2 lines · On Tue, Aug 10, 2004 at 03:52:20PM +0300, V13 wrote:
Quoted 2 lines
Quoted 2 lines

Why don't you create a copy of printk() and start commenting out lines in there?

Quoted 1 line · William Lee Irwin III
Quoted 1 line

This is a very good idea.

Quoted 2 lines · Ingo Molnar

i'd guess it's the con->write() in __call_console_drivers() that makes the difference. (i.e. touching the framebuffer)

This is serial port IO; would that make the same kind of difference?

-- wli

#42 lore raw
Quoted 5 lines · William Lee Irwin III
Quoted 2 lines · Ingo Molnar

i'd guess it's the con->write() in __call_console_drivers() that makes the difference. (i.e. touching the framebuffer)

This is serial port IO; would that make the same kind of difference?

serial port IO is even more heavy, it also generates IRQ traffic. I'd suggest the following tests: modified kernel without serial console, and original kernel without serial console. This way you can find out whether the hang itself is triggered by the serial console.

another attack angle is to find out what state the system has during the hang. Is it debuggable?

Ingo

#43 lore raw
Quoted 1 line · William Lee Irwin III
Quoted 1 line

This is serial port IO; would that make the same kind of difference?

Quoted 6 lines · Ingo Molnar

serial port IO is even more heavy, it also generates IRQ traffic. I'd suggest the following tests: modified kernel without serial console, and original kernel without serial console. This way you can find out whether the hang itself is triggered by the serial console. another attack angle is to find out what state the system has during the hang. Is it debuggable?

I can get a very small amount of register state out of POD but most of it is clobbered by trapping with the NMI/MCA I send from the L2 to get into the POD (Prom Only Debugger), and it's not entirely clear what may have been clobbered in this process. The state I can extract from this is very difficult to interpret. It's unclear how well the consolidated L2 console (a.k.a. firmware console) and machine console interoperate with e.g. kgdb and the like. I might as well try that, too.

It's unclear how much of the progress I can track without the serial console as there are no other output devices besides the serial console. I'll try it anyway, since the worst that can happen is a boot where it crashes.

-- wli

#44 lore raw
In reply to Ingo Molnar
Quoted 10 lines · Ingo Molnar
Quoted 5 lines · William Lee Irwin III
Quoted 2 lines · Ingo Molnar

i'd guess it's the con->write() in __call_console_drivers() that makes the difference. (i.e. touching the framebuffer)

This is serial port IO; would that make the same kind of difference?

serial port IO is even more heavy, it also generates IRQ traffic.

Except serial console IO does not generate _any_ IRQ traffic - it purposely disables IRQs on the device before starting any IO to prevent any user-level IO interfering with the console output.

It does, however, create a fair amount of IO reads and writes to the serial port.

Signature · 4 lines
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
#45 lore raw
Quoted 3 lines · Russell King

Except serial console IO does not generate _any_ IRQ traffic - it purposely disables IRQs on the device before starting any IO to prevent any user-level IO interfering with the console output.

indeed - but it does generate _some_ IRQ traffic still:

3: 251 IO-APIC-edge serial

this is from a box that uses the serial line only for the kernel console.

Ingo

#46 lore raw
Quoted 7 lines · Ingo Molnar
Quoted 3 lines · Russell King

Except serial console IO does not generate _any_ IRQ traffic - it purposely disables IRQs on the device before starting any IO to prevent any user-level IO interfering with the console output.

Quoted 6 lines

indeed - but it does generate _some_ IRQ traffic still:

3: 251 IO-APIC-edge serial

this is from a box that uses the serial line only for the kernel console.

If the IRQ is claimed, userspace has opened the port. Is a getty running on the port? If so, it would've written some messages to the port, which would have caused these interrupts.

Signature · 4 lines
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
#47 lore raw
Quoted 8 lines · Russell King
Quoted 4 lines

3: 251 IO-APIC-edge serial

this is from a box that uses the serial line only for the kernel console.

If the IRQ is claimed, userspace has opened the port. Is a getty running on the port? If so, it would've written some messages to the port, which would have caused these interrupts.

no getty but i forgot about my rc.local writing an 'box has booted up' message to the serial console.

Ingo

#48 lore raw
In reply to Andrew Morton
Quoted 7 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm2/
- Added a little patch to the CPU scheduler which disables its array switching.
This is purely experimental and will cause high-priority tasks to starve lower-priority tasks indefinitely. It is here to determine whether it is this aspect of the scheduler which caused the staircase scheduler to exhibit improved throughput in some tests on NUMAq.

This patch can't do what the changelog claims it does; if it did, its implementation of yield() would render the yielding process forever unrunnable, plus the active/expired reassignment on sched.c:2672 would have gone away. What is it actually meant to do?

-- wli

#49 lore raw
In reply to Andrew Morton

- Added a little patch to the CPU scheduler which disables its array switching.

This is purely experimental and will cause high-priority tasks to starve lower-priority tasks indefinitely. It is here to determine whether it is this aspect of the scheduler which caused the staircase scheduler to exhibit improved throughput in some tests on NUMAq.

Here's the results of tests with sdet. The summary is that yes, we did reach the peak we saw with the staircase scheduler (2.6.8-rc2-mm2). Dropping the expired array does make a difference. But it looks like that wasn't all of it, though, because we see it fails to reach the same scores in all *but* the peak run.

Schedstats helps show a couple of interesting things but no smoking gun. rc3-mm2 both tried to move around more tasks (calls to load_balance()), and succeeded in finding some to move (calls to pull_task()). But not a LOT more, in either case. And rc3-mm2 took 15% longer to run, even if it did as well in the end. Graphs are at

http://eaglet.rain.com/rick/linux/staircase/scase-vs-noscase-vs-1q.html

Overall, I'd say I still like the staircase patch as a whole. Not only did it increase the benchmark numbers, but I like the simplicity it (re)introduces for interactive bonus calculations.

Rick

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

Sdet
Scripts 1 4 16 64

        2.6.8-rc2-mm2     32.46%  58.58% 100.00%  74.20%
2.6.8-rc2-mm2-noscase     23.62%  43.95%  90.92%  74.16%
        2.6.8-rc3-mm2     16.44%  43.26% 102.95%  71.26%
#50 lore raw
Quoted 9 lines

- Added a little patch to the CPU scheduler which disables its array switching.

This is purely experimental and will cause high-priority tasks to starve lower-priority tasks indefinitely. It is here to determine whether it is this aspect of the scheduler which caused the staircase scheduler to exhibit improved throughput in some tests on NUMAq.

Quoted 5 lines

Here's the results of tests with sdet. The summary is that yes, we did reach the peak we saw with the staircase scheduler (2.6.8-rc2-mm2). Dropping the expired array does make a difference. But it looks like that wasn't all of it, though, because we see it fails to reach the same scores in all *but* the peak run.

Eh? what's the peak run? the one out of 10 with best performace. Oddly, what you're seeing doesn't match what I'm seeing at all ... I'm looking at average runtime. SDET is fairly variable - I don't think looking at the best run is a good idea.

Quoted 3 lines

Overall, I'd say I still like the staircase patch as a whole. Not only did it increase the benchmark numbers, but I like the simplicity it (re)introduces for interactive bonus calculations.

Me too.

Quoted 5 lines

Sdet
Scripts 1 4 16 64

        2.6.8-rc2-mm2     32.46%  58.58% 100.00%  74.20%
2.6.8-rc2-mm2-noscase     23.62%  43.95%  90.92%  74.16%
        2.6.8-rc3-mm2     16.44%  43.26% 102.95%  71.26%

Very odd. would suggest you do a few more runs - for 4 scripts, you're matching the results of nostaircase, for 16, without it.

SDET 1 (see disclaimer)
Throughput Std. Dev
2.6.8-rc2 100.0% 2.3%

   2.6.8-rc2-mm2-oldsched       100.2%         0.4%
            2.6.8-rc2-mm2       116.2%         3.3%
            2.6.8-rc3-mm2       102.9%         1.9%

SDET 2 (see disclaimer)
Throughput Std. Dev
2.6.8-rc2 100.0% 1.4%

   2.6.8-rc2-mm2-oldsched        98.2%         1.0%
            2.6.8-rc2-mm2       114.5%         4.0%
            2.6.8-rc3-mm2       100.5%         1.3%

SDET 4 (see disclaimer)
Throughput Std. Dev
2.6.8-rc2 100.0% 1.1%

   2.6.8-rc2-mm2-oldsched       101.2%         0.3%
            2.6.8-rc2-mm2       112.8%         0.5%
            2.6.8-rc3-mm2        99.2%         0.8%

SDET 8 (see disclaimer)
Throughput Std. Dev
2.6.8-rc2 100.0% 1.0%

   2.6.8-rc2-mm2-oldsched       100.5%         0.4%
            2.6.8-rc2-mm2       117.2%         0.9%
            2.6.8-rc3-mm2       101.7%         0.6%

SDET 16 (see disclaimer)
Throughput Std. Dev
2.6.8-rc2 100.0% 0.3%

   2.6.8-rc2-mm2-oldsched       104.3%         0.5%
            2.6.8-rc2-mm2       119.1%         0.6%
            2.6.8-rc3-mm2       103.4%         0.2%

SDET 32 (see disclaimer)
Throughput Std. Dev
2.6.8-rc2 100.0% 0.4%

   2.6.8-rc2-mm2-oldsched       101.2%         0.1%
            2.6.8-rc2-mm2       102.4%         0.8%
            2.6.8-rc3-mm2        99.2%         0.4%

SDET 64 (see disclaimer)
Throughput Std. Dev
2.6.8-rc2 100.0% 0.4%

   2.6.8-rc2-mm2-oldsched        99.6%         0.0%
            2.6.8-rc2-mm2       101.6%         0.0%
            2.6.8-rc3-mm2       100.0%         0.4%

SDET 128 (see disclaimer)
Throughput Std. Dev
2.6.8-rc2 100.0% 0.1%

   2.6.8-rc2-mm2-oldsched       101.7%         0.1%
            2.6.8-rc2-mm2       102.8%         0.3%
            2.6.8-rc3-mm2       104.5%         0.5%