2.6.8-rc3-mm1
Subsystems (13)
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm1/
- Added David Woodhouse's MTD tree to the "external trees" list
- Dropped the staircase scheduler, mainly because the schedstats patch broke it.
We learned quite a lot from having staircase in there. Now it's time for a new scheduler anyway.
Changes since 2.6.8-rc2-mm2:
bk-acpi.patch
bk-agpgart.patch
bk-alsa.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-mtd.patch
bk-netdev.patch
bk-ntfs.patch
bk-pci.patch
bk-pnp.patch
bk-power.patch
bk-scsi.patch
bk-usb.patch
External trees
-longhaul-fix.patch -bk-power-x86_64-fix.patch -ppc64-__make_room-warning-fix.patch -ppc64-fix-off-by-one-in-mem_init.patch -ppc64-struct-pci_controller-cleanup.patch -ppc64-isa-device-tree-node-refcount-fix.patch -ppc64-fix-ras-irq-handlers.patch -ppc64-fix-hotplug-irq-migration-code.patch -ppc64-fix-cpu_up-race.patch -ppc64-improve-slb-reload.patch -ppc64-remove-include-processorh-from-div64s.patch -ppc32-support-for-mpc8560-cpu-and-boards.patch -ppc32-support-for-mpc8555-cpu-and-board.patch -bio_copy_user-cleanups.patch -oom-show_free_areas.patch -fix-menuconfig-partial-inability-to-show-help-texts.patch -quiet-down-per-zone-memory-stats.patch -fat-kill-nls-default.patch -msi-stop-using-dev-bus-ops-directly-in-msic.patch -msi-msi-msi-x-api-updates.patch -rename-config_pci_use_vector-to-config_pci_msi.patch -intel8x0c-to-include-ck804-audio-support.patch -d_unhash-consolidation.patch -activate-smbus-device-on-hp-d300l.patch -add-support-for-innovision-dm-8401h.patch -maintainers-update.patch
-fdomain-isa-fixup.patch
-modular-swim3.patch
-modular-anscd.patch
-jffs2_compression_options-fix.patch -ppc8xx-maintainer-patch.patch -ext2_readdir-filp-f_pos-fix.patch -netfilter-ip_nat_snmp_basicc-fix-inlines-fwd.patch -nfs4-oops-fixes.patch
-dvb-errno-removal.patch -documentation-fix-for-nmi-watchdog.patch -hpet-copyrights-cleanup.patch -remove-outdated-reference-to-documentation-arm-sa1100-pcmcia-fwd.patch -canonically-reference-files-in-documentation-code-comments-part.patch -remove-symbol_is.patch -fix-pci-access-mode-dependences-in-arch-i386-kconfig.patch -fix-inlining-errors-in-drivers-scsi-aic7xxx-aic79xx_osmc.patch -fix-inline-related-gcc-34-build-failures-in.patch -bridge-build-fix.patch
Merged
+2-2-md-multipathing-fixes.patch
MD multipath fix
+fix-reading-string-module-parameters-in-sysfs.patch
module_param presentation fix
+sound-control-build-fix.patch
Alsa build fix
+pci-quirks-warning-fix.patch
bk-pci warning fix
-radix_tree_tag_set-atomic.patch
-radix_tree_tag_set-only-needs-read_lock.patch
These were wrong - dropped.
+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
ppc64 updates
+ppc32-fix-mktree-on-64bit-hosts.patch
ppc32 update
-hugetlb_shm_group-sysctl-gid-0-fix.patch
Dropped - it got int he way of other things.
+barrier-md-fix.patch
Fix the last bug in the IDE barrier code.
+sched-timeslice-fix.patch
+sched-consolidate-sched-domains-ppc64-fix.patch
CPU scheduler fixes
+schedstats-2.patch
+schedstats-2-namespace-fix.patch
+schedstats-2-up-build-fix.patch
CPU scheduler statitics
+flex-mmap-for-s390x.patch
Reworked userspace mmap layout for s390.
-pkt_lock_door-warning-fix.patch
Was not needed.
+even-more-might_sleep-checks.patch
Additional might_sleep() fixes
+imm-oops-fix.patch
Fix an oops in imm.c
+tmpfs-atomicity-fix.patch
Fix scheduling-in-atomic in shmem.c
+268-rc2-mm2-warning-on-numa-q.patch
Warning fix
+some-random-nodemask-fix.patch
+nodemask-build-fix.patch
Fixes against the nodemask patch.
+i2o-devfs-fix.patch
Fix the i2o patch
+fbdev-find-correct-logo-for-directcolor-24bpp.patch
fbdev fix
+fix-inlining-errors-in-drivers-scsi-aic7xxx-aic79xx_osmc.patch +fix-inline-related-gcc-34-build-failures-in.patch +igxb_main-gcc-34-build-fix.patch
More gcc-3.4/3.5 fixes
+ext2_readdir-filp-f_pos-fix.patch
Fix f_pos handling in ext2_readdir.
+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
Fixes against x86-64-merge-for-268rc2-mm1.patch
+ia64-swiotlb-fixes-fix.patch
Fix for ia64-swiotlb-fixes.patch
+more-altix-system-controller-changes.patch
Fixes for the Altix driver in -mm.
-staircase-cpu-scheduler-268-rc2-mm1.patch
Dropped.
+token-based-load-control-no-swap-build-fix.patch
Build fix for the VM load control patch.
+cdrom-event-notification-fixes.patch
A few fixes related to cdrom media event notification
+new-device-driver-to-enable-the-ibm-multiport-serial-adapter.patch
New serial driver
+iteraid.patch
+iteraid-cleanup.patch
New ITE IT8212 RAID controller driver. Still needs a bit of work before handoff to the scsi guys to look at.
+kill-udf-registration-unregistration-messages.patch
Remove noisy printk
+sparc-remove-undefined-symbol.patch
sparc32 build fix
+nbd-fix-struct-request-race-condition.patch
nbd fix.
+consolidate-prof_cpu_mask.patch
+profile_pc.patch
+profile_tick.patch
+profile-tick-fix.patch
+move-profile-operations.patch
+make-private-profile-state-static.patch
+make-prof_buffer-atomic_t.patch
Consolidate a lot of the kernel profiling code.
+ipmi-watchdog-patch.patch
Make the IPMI driver look more like a real watchdog driver
+dio-bio-sizing-fix.patch
Optimise sizing of direct-io BIOs
+is_err-is-unlikely.patch
+is_err-unlikeliness-cleanup.patch
Stick an unlikely() in IS_ERR()
+igxb-speedup.patch
Fixup/speedup this net driver
+boolean-typo-in-dvb.patch
Fix logic expression.
+fix-netpoll-cleanup-on-abort-without-dev.patch
Fix netpoll oops
+add-missing-watchdog-compatible_ioctls.patch
More compat ioctl handling
+idt77252c-add-missing-pci_enable_device.patch
Fix driver PCI handling.
+aioc-rename-struct-timeout-to-struct-aio_timeout.patch
Rename timeout to aio_timeout.
+fix-compiling-oldconfig-with-gcc-35.patch
Build fix
+might-sleep-in-atomic-while-dumping-elf.patch
Fix possible deadlock in elf dumping code.
+awe_wave-oss-too-much-__exit.patch
section fix in OSS driver
+serialize-access-to-ide-devices.patch
Fix xoncurrent access to IDE controllers
+mark-loop_change_fd-as-an-ulong-compat-ioctl.patch
compat ioctl fix
+readahead-simplification.patch
Clean up recent readahead changes
+mlock-as-user-for-268-rc2-mm2.patch
+mlock-as-user-fixes.patch
+increase-mlock-limit-to-32k.patch
Allow unprivileged users to do mlock, subject to rlimits
+pirq_enable_irq-cleanup.patch
clean up pirq_enable_irq()
+ip2mainc-add-missing-pci_enable_device.patch
+tpam_mainc-add-missing-pci_enable_device.patch
+ibmasm-add-missing-pci_enable_device.patch
+hp100c-add-missing-pci_enable_device.patch
+ioc3-ethc-add-missing-pci_enable_device.patch
+de4x5c-add-missing-pci_enable_device.patch
+cpqfc-add-missing-pci_enable_device.patch
+document-pci_disable_device.patch
Fix PCI handling in various drivers
+fix-gcc-35-compile-issue-in-mm-mempolicyc.patch
gcc-3.5 again
+eata_pio-warning-fix.patch
Fix a warning
+via-agpc-resume-suspend-support.patch
suspend/resume support for the VIA AGP driver
+rpaphp-build-break-remove-eeh-register.patch
build fix
+disable-atykb-warning.patch
Kill pestiferous printk
+collected-aio-retry-fixes-and-enhancements.patch +collected-aio-retry-fixes-and-enhancements-cleanup.patch +aio-splice-runlist-for-fairness-across-io-contexts.patch +aio-workqueue-context-switch-reduction.patch
AIO fixes
+x86_64-numa-emulation.patch
Permit a non-numa x86_64 box to be treated as NUMA.
+make-max_init_args-25.patch
Pass more arguments to init
+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
sparc32 udpates
+wireless-extension-v17-for-linus.patch
+wireless-drivers-update-for-we-17.patch
Upgrade wirless extensions API
+request_region-for-winbond-and-smsc-parport-drivers.patch
request_region() fixes
+add-bus-dependencies-to-two-scsi-drivers.patch
Kconfig fixes
+knfsd-server-permissions-fix.patch
Fix handling of device nodes which reside on an ro-exported NFS server.
All 450 patches
2-2-md-multipathing-fixes.patch
md: fix multipath for readhead requests
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-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-mtd.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
pci-quirks-warning-fix.patch
pci/quirks.c warning fix
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-5.patch
must-fix update
mustfix-lists.patch
mustfix lists
ppc64-fix-free_irq.patch
ppc64: fix free_irq()
ppc64-pci_dn-cleanups.patch
ppc64: pci_dn cleanups
ppc64-32-bit-ptrace-geteventmsg-fix.patch
ppc64: 32-bit ptrace geteventmsg fix
ppc64-various-xics-fixes.patch
ppc64: various XICS fixes
ppc64-fix-pci-allocation-warning.patch
ppc64: fix PCI allocation warning
ppc64-avoid-speculative-execution-after-rfid.patch
ppc64: avoid speculative execution after rfid
ppc64-set-smt-thread-priority-to-medium-for-all-exceptions.patch
ppc64: set SMT thread priority to medium for all exceptions
ppc64-fix-chrp_progress-mismerge.patch
ppc64: fix chrp_progress mismerge
ppc64-suppress-store_purr-unused-warning.patch
ppc64: suppress 'store_purr' unused warning
ppc64-move-spinline-out-of-global-menu.patch
ppc64: move SPINLINE out of global menu
ppc64-suppress-unused-var-warning-in-get_irq_server.patch
ppc64: suppress unused var warning in get_irq_server()
ppc32-fix-mktree-on-64bit-hosts.patch
ppc32: Fix 'mktree' on 64bit hosts
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
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
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
schedstats-2.patch
scheduler stats
schedstats-2-namespace-fix.patch
schedstats-2-namespace-fix
schedstats-2-up-build-fix.patch
schedstats-2-up-build-fix
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)
driver-model-and-sysfs-support-for-pcmcia-1-3.patch
driver model and sysfs support for PCMCIA (1/3)
driver-model-and-sysfs-support-for-pcmcia-update.patch
driver model and sysfs support for PCMCIA update
update-drivers-net-pcmcia-2-3.patch
update drivers/net/pcmcia (2/3)
update-drivers-net-wireless-3-3.patch
update drivers/net/wireless (3/3)
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
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
imm-oops-fix.patch
imm.c oops fix
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
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
process-aggregates.patch
Process Aggregates (PAGG)
process-aggregates-warning-fix.patch
process-aggregates warning 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
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
jbd-jh-unmapping-race-fix.patch
jbd-jh-unmapping-race-fix
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-for-268rc2-mm1.patch
x86-64 merge for 2.6.8rc2-mm1
x86-64-merge-for-268rc2-mm1-fix.patch
x86-64-merge-for-268rc2-mm1-fix
x86-64-merge-for-268rc2-mm1-fix2.patch
x86-64-merge-for-268rc2-mm1 fix2
fix-compilation-without-config_gart_iommu-on-x86-64.patch
Fix compilation without CONFIG_GART_IOMMU 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
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
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"
drivers-block-ubc-6.patch
drivers/block/ub.c #6
ub-warning-fixes.patch
ub warning fixes
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_tick.patch
profile_tick()
profile-tick-fix.patch
profile-tick-fix
move-profile-operations.patch
move profile operations
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
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
pirq_enable_irq-cleanup.patch
pirq_enable_irq 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()
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
rpaphp-build-break-remove-eeh-register.patch
rpaphp build break - remove eeh register
document-pci_disable_device.patch
Document pci_disable_device()
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 25
sparc32-turbosparc-flush-warnings.patch
sparc32: turbosparc flush warnings
sparc32-init_idle.patch
sparc32: sparc32 init_idle()
sparc32-sun4d-cpu_present_map-is-a-cpumask_t.patch
sparc32: sun4d cpu_present_map is a cpumask_t
sparc32-smp_processor_id-bitfixup-fixes.patch
sparc32: smp_processor_id() BITFIXUP fixes
sparc32-reinstate-smp_reschedule_irq.patch
sparc32: reinstate smp_reschedule_irq()
sparc32-remove-references-to-start_secondary.patch
sparc32: remove references to start_secondary()
sparc32-define-cache_decay_ticks.patch
sparc32: define cache_decay_ticks
sparc32-remove-unused-variable-in-dvmac.patch
sparc32: remove unused variable in dvma.c
sparc32-sun4-does-not-support-smp.patch
sparc32: sun4 does not support SMP
sparc32-make-config_smp-depend-on-config_broken.patch
sparc32: make CONFIG_SMP depend on CONFIG_BROKEN
sparc32-gcc-33-macro-parenthesization-fix-for-memcpys.patch
sparc32: gcc-3.3 macro parenthesization fix for memcpy.S
sparc32-ignore-undefined-symbols-with-3-or-more-leading-underscores.patch
sparc32: ignore undefined symbols with 3 or more leading underscores
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
2.6.8-rc3-mm1: SCHEDSTATS compile error
Quoted 7 lines · Andrew Morton
...
Changes since 2.6.8-rc2-mm2:
...
+schedstats-2.patch
...
CPU scheduler statitics
...
<-- snip -->
...
CC kernel/sched.okernel/sched.c: In function `show_schedstat':kernel/sched.c:372: error: structure has no member named `sd' kernel/sched.c:372: error: dereferencing pointer to incomplete type kernel/sched.c:375: error: dereferencing pointer to incomplete type kernel/sched.c:380: error: dereferencing pointer to incomplete type kernel/sched.c:381: error: dereferencing pointer to incomplete type kernel/sched.c:382: error: dereferencing pointer to incomplete type kernel/sched.c:383: error: dereferencing pointer to incomplete type kernel/sched.c:384: error: dereferencing pointer to incomplete type kernel/sched.c:387: error: dereferencing pointer to incomplete type kernel/sched.c:387: error: dereferencing pointer to incomplete type kernel/sched.c:388: error: dereferencing pointer to incomplete type kernel/sched.c:388: error: dereferencing pointer to incomplete type make[1]: *** [kernel/sched.o] Error 1
<-- snip -->
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedRe: 2.6.8-rc3-mm1: SCHEDSTATS compile error
--Adrian Bunk <[email protected]> wrote (on Thursday, August 05, 2004 13:18:35 +0200):
Quoted 11 lines · Andrew Morton
Quoted 7 lines
...
Changes since 2.6.8-rc2-mm2:
...
+schedstats-2.patch
...
CPU scheduler statitics
...<-- snip -->
Quoted 16 lines
...
CCkernel/sched.okernel/sched.c: In function `show_schedstat':kernel/sched.c:372: error: structure has no member named `sd'kernel/sched.c:372: error: dereferencing pointer to incomplete typekernel/sched.c:375: error: dereferencing pointer to incomplete typekernel/sched.c:380: error: dereferencing pointer to incomplete typekernel/sched.c:381: error: dereferencing pointer to incomplete typekernel/sched.c:382: error: dereferencing pointer to incomplete typekernel/sched.c:383: error: dereferencing pointer to incomplete typekernel/sched.c:384: error: dereferencing pointer to incomplete typekernel/sched.c:387: error: dereferencing pointer to incomplete typekernel/sched.c:387: error: dereferencing pointer to incomplete typekernel/sched.c:388: error: dereferencing pointer to incomplete typekernel/sched.c:388: error: dereferencing pointer to incomplete type make[1]: *** [kernel/sched.o] Error 1
Any chance you could try the version Ingo just posted instead?
M.
Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
Quoted 30 lines · Martin J. Bligh
--Adrian Bunk <[email protected]> wrote (on Thursday, August 05, 2004 13:18:35 +0200):
Quoted 11 lines · Andrew Morton
Quoted 7 lines
...
Changes since 2.6.8-rc2-mm2:
...
+schedstats-2.patch
...
CPU scheduler statitics
...<-- snip -->
Quoted 16 lines
...
CCkernel/sched.okernel/sched.c: In function `show_schedstat':kernel/sched.c:372: error: structure has no member named `sd'kernel/sched.c:372: error: dereferencing pointer to incomplete typekernel/sched.c:375: error: dereferencing pointer to incomplete typekernel/sched.c:380: error: dereferencing pointer to incomplete typekernel/sched.c:381: error: dereferencing pointer to incomplete typekernel/sched.c:382: error: dereferencing pointer to incomplete typekernel/sched.c:383: error: dereferencing pointer to incomplete typekernel/sched.c:384: error: dereferencing pointer to incomplete typekernel/sched.c:387: error: dereferencing pointer to incomplete typekernel/sched.c:387: error: dereferencing pointer to incomplete typekernel/sched.c:388: error: dereferencing pointer to incomplete typekernel/sched.c:388: error: dereferencing pointer to incomplete type make[1]: *** [kernel/sched.o] Error 1
Quoted 1 line
Any chance you could try the version Ingo just posted instead?
I tried reverting the patch in -mm, but it was non-trivial.
I'll simply wait until -mm2 and report if the problem will still be present.
Quoted 1 line
M.
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedRe: 2.6.8-rc3-mm1: SCHEDSTATS compile error
This looks like it could happen if you compile without CONFIG_SMP ... which admittedly I have not tried since the sched-domain code was introduced. Adrian, was this the situation in your case?
Rick
Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
Quoted 3 lines · Rick Lindsley
This looks like it could happen if you compile without
CONFIG_SMP... which admittedly I have not tried since the sched-domain code was introduced. Adrian, was this the situation in your case?
Yes.
Quoted 1 line
Rick
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedRe: 2.6.8-rc3-mm1: SCHEDSTATS compile error
Quoted 3 lines
This looks like it could happen if you compile without
CONFIG_SMP... which admittedly I have not tried since the sched-domain code was introduced. Adrian, was this the situation in your case?
Yes.
Ok. Please try this patch (applied to rc3-mm1).
Rick
Documentation/sched-stats.txt +6 -2
@@ -1,6 +1,8 @@ Version 9 of schedstats introduces support for sched_domains, which hit the mainline kernel in 2.6.7. Some counters make more sense to be -per-runqueue; other to be per-domain. +per-runqueue; other to be per-domain. Note that domains (and their associated +information) will only be pertinent and available on machines utilizing +CONFIG_SMP. In version 9 of schedstat, there is at least one level of domain statistics for each cpu listed, and there may well be more than one
@@ -83,7 +85,9 @@ The last six are statistics dealing with Domain statistics ----------------- -One of these is produced per domain for each cpu described. +One of these is produced per domain for each cpu described. (Note that if +CONFIG_SMP is not defined, *no* domains are utilized and these lines +will not appear in the output.) domain<N> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
kernel/sched.c +5 -2
@@ -342,10 +342,11 @@ static int show_schedstat(struct seq_filseq_printf (seq,"timestamp %lu\n" , jiffies);for_each_online_cpu (cpu) { -int dcnt =0 ; -runqueue_t *rq =cpu_rq (cpu); +#ifdef CONFIG_SMP +int dcnt =0 ;struct sched_domain *sd; +#endif /* runqueue-specific stats */ seq_printf(seq,
@@ -368,6 +369,7 @@ static int show_schedstat(struct seq_filseq_printf (seq,"\n" ); +#ifdef CONFIG_SMP /* domain-specific stats */ for_each_domain (cpu, sd) {char mask_str[NR_CPUS ];
@@ -387,6 +389,7 @@ static int show_schedstat(struct seq_fil sd->sbe_pushed, sd->sbe_attempts, sd->ttwu_wake_affine, sd->ttwu_wake_balance); } +#endif }return 0 ; }
Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
Em Thu, Aug 05, 2004 at 12:15:23PM -0700, Rick Lindsley escreveu:
| > This looks like it could happen if you compile without CONFIG_SMP ... | > which admittedly I have not tried since the sched-domain code was | > introduced. Adrian, was this the situation in your case? | | Yes. | | Ok. Please try this patch (applied to rc3-mm1).
Worked, I had the same problem.
(yes, same SMP structures were in use).
Signature · 2 lines
Luiz Fernando N. Capitulino <http://www.telecentros.sp.gov.br>
Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
In reply to Rick LindsleyQuoted 7 lines · Rick Lindsley
Quoted 3 lines
This looks like it could happen if you compile without
CONFIG_SMP... which admittedly I have not tried since the sched-domain code was introduced. Adrian, was this the situation in your case?Yes.
Ok. Please try this patch (applied to rc3-mm1).
Thanks, it fixes compilation for me.
Quoted 1 line
Rick
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedRe: 2.6.8-rc3-mm1: SCHEDSTATS compile error
In reply to Rick LindsleyQuoted 3 lines · Rick Lindsley
This looks like it could happen if you compile without
CONFIG_SMP... which admittedly I have not tried since the sched-domain code was introduced. Adrian, was this the situation in your case?
Solved it for me, although running SMP on a old slow PentiumII feels a tad odd. Other than that the system is running very well, I have to try a response test and see how it feels then.
Signature · 3 lines
-bill davidsen ([email protected]) "The secret to procrastination is to put things off until the last possible moment - but no longer" -me
Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
Solved it for me, although running SMP on a old slow PentiumII feels a tad odd. Other than that the system is running very well, I have to try a response test and see how it feels then.
Oh I agree, the right patch is not to run SMP, but it *is* a workaround. This patch against rc3-mm1 should let you run it UP:
Documentation/sched-stats.txt +6 -2
@@ -1,6 +1,8 @@ Version 9 of schedstats introduces support for sched_domains, which hit the mainline kernel in 2.6.7. Some counters make more sense to be -per-runqueue; other to be per-domain. +per-runqueue; other to be per-domain. Note that domains (and their associated +information) will only be pertinent and available on machines utilizing +CONFIG_SMP. In version 9 of schedstat, there is at least one level of domain statistics for each cpu listed, and there may well be more than one
@@ -83,7 +85,9 @@ The last six are statistics dealing with Domain statistics ----------------- -One of these is produced per domain for each cpu described. +One of these is produced per domain for each cpu described. (Note that if +CONFIG_SMP is not defined, *no* domains are utilized and these lines +will not appear in the output.) domain<N> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
kernel/sched.c +5 -2
@@ -342,10 +342,11 @@ static int show_schedstat(struct seq_filseq_printf (seq,"timestamp %lu\n" , jiffies);for_each_online_cpu (cpu) { -int dcnt =0 ; -runqueue_t *rq =cpu_rq (cpu); +#ifdef CONFIG_SMP +int dcnt =0 ;struct sched_domain *sd; +#endif /* runqueue-specific stats */ seq_printf(seq,
@@ -368,6 +369,7 @@ static int show_schedstat(struct seq_filseq_printf (seq,"\n" ); +#ifdef CONFIG_SMP /* domain-specific stats */ for_each_domain (cpu, sd) {char mask_str[NR_CPUS ];
@@ -387,6 +389,7 @@ static int show_schedstat(struct seq_fil sd->sbe_pushed, sd->sbe_attempts, sd->ttwu_wake_affine, sd->ttwu_wake_balance); } +#endif }return 0 ; }
Built successfully with SMP=y, but with SMP=n I got the following:
CC kernel/sched.okernel/sched.c: In function `show_schedstat':kernel/sched.c:372: error: structure has no member named `sd' kernel/sched.c:372: error: dereferencing pointer to incomplete type kernel/sched.c:375: error: dereferencing pointer to incomplete type kernel/sched.c:380: error: dereferencing pointer to incomplete type kernel/sched.c:381: error: dereferencing pointer to incomplete type kernel/sched.c:382: error: dereferencing pointer to incomplete type kernel/sched.c:383: error: dereferencing pointer to incomplete type kernel/sched.c:384: error: dereferencing pointer to incomplete type kernel/sched.c:387: error: dereferencing pointer to incomplete type kernel/sched.c:387: error: dereferencing pointer to incomplete type kernel/sched.c:388: error: dereferencing pointer to incomplete type kernel/sched.c:388: error: dereferencing pointer to incomplete type make[1]: *** [kernel/sched.o] Error 1
make: *** [kernel] Error 2
2.6.8-rc3-mm1: ALSA: vortex_asXtalkGainsAllChan multiple definitions
In reply to Andrew MortonQuoted 5 lines · Andrew Morton
...
All 450 patches
...
bk-alsa.patch
...
The following compile error is still present in 2.6.8-rc3-mm1:
<-- snip -->
...
CC sound/pci/au88x0/au8810.o CC sound/pci/au88x0/au8820.o CC sound/pci/au88x0/au8830.o LD sound/pci/au88x0/snd-au8810.o LD sound/pci/au88x0/snd-au8820.o LD sound/pci/au88x0/snd-au8830.o LD sound/pci/au88x0/built-in.o
sound/pci/au88x0/snd-au8830.o(.rodata+0xd46): multiple definition of `vortex_asXtalkGainsAllChan' sound/pci/au88x0/snd-au8810.o(.rodata+0xb66): first defined here make[3]: *** [sound/pci/au88x0/built-in.o] Error 1
<-- snip -->
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed2.6.8-rc3-mm1: ip2mainc-add-missing-pci_enable_device breaks compilation
In reply to Andrew MortonQuoted 7 lines · Andrew Morton
...
Changes since 2.6.8-rc2-mm2:
...
+ip2mainc-add-missing-pci_enable_device.patch
...
Fix PCI handling in various drivers
...
This causes the following compile error:
<-- snip -->
...
CC [M] drivers/char/ip2main.odrivers/char/ip2main.c: In function `cleanup_module':drivers/char/ip2main.c:445: request for member `pci_dev' in something not a structure or union
...
make[2]: *** [drivers/char/ip2main.o] Error 1
<-- snip -->
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedRe: 2.6.8-rc3-mm1: ip2mainc-add-missing-pci_enable_device breaks compilation
Quoted 2 lines · Adrian Bunk
This causes the following compile error:
drivers/char/ip2main.c:445: request for member `pci_dev' in something not a structure or union
Thanks for finding this. Andrew, if you replace that patch with the following, it should fix it. The error occurs when CONFIG_COMPUTONE=m, so I've now built it as both built-in and a module.
I don't have this hardware, so this has been compiled but not tested.
Add pci_enable_device()/pci_disable_device(). In the past, drivers often worked without this, but it is now required in order to route PCI interrupts correctly. In addition, this driver incorrectly used the IRQ value from PCI config space rather than the one in the struct pci_dev.
===== drivers/char/ip2main.c 1.44 vs edited =====
drivers/char/ip2main.c +13 -4
@@ -440,6 +440,12 @@// free memory for (i =0 ; i <IP2_MAX_BOARDS ; i++) {void *pB; +#ifdef CONFIG_PCI +if (ip2config.type[i] ==PCI && ip2config.pci_dev[i]) { +pci_disable_device (ip2config.pci_dev[i]); + ip2config.pci_dev[i] =NULL ; + } +#endif if ((pB = i2BoardPtrTable[i]) !=0 ) {kfree ( pB ); i2BoardPtrTable[i] =NULL ;
@@ -594,9 +600,14 @@ PCI_DEVICE_ID_COMPUTONE_IP2EX, pci_dev_i);if (pci_dev_i !=NULL ) {unsigned int addr; -unsigned char pci_irq; +if (pci_enable_device (pci_dev_i)) { +printk (KERN_ERR "IP2: can't enable PCI device at %s\n" , +pci_name (pci_dev_i)); +break ; + } ip2config.type[i] =PCI ; + ip2config.pci_dev[i] = pci_dev_i; status =pci_read_config_dword (pci_dev_i,PCI_BASE_ADDRESS_1 , &addr);if ( addr &1 ) {
@@ -604,8 +615,6 @@ }else {printk (KERN_ERR "IP2: PCI I/O address error\n" ); } - status = -pci_read_config_byte (pci_dev_i,PCI_INTERRUPT_LINE , &pci_irq);// If the PCI BIOS assigned it, lets try and use it. If we // can't acquire it or it screws up, deal with it then.
@@ -614,7 +623,7 @@// printk( KERN_ERR "IP2: Bad PCI BIOS IRQ(%d)\n",pci_irq); // pci_irq = 0; // } - ip2config.irq[i] = pci_irq; + ip2config.irq[i] = pci_dev_i->irq; }else {// ann error ip2config.addr[i] =0 ;if (status ==PCIBIOS_DEVICE_NOT_FOUND ) {
===== drivers/char/ip2/ip2types.h 1.1 vs edited =====
drivers/char/ip2/ip2types.h +3 -0
@@ -49,6 +49,9 @@short irq[IP2_MAX_BOARDS ];unsigned short addr[IP2_MAX_BOARDS ];int type[IP2_MAX_BOARDS ]; +#ifdef CONFIG_PCI +struct pci_dev *pci_dev[IP2_MAX_BOARDS ]; +#endif } ip2config_t;#endif
Review
Quoted 8 lines · Andrew Morton
(quoted diff) +7
-0+consolidate-prof_cpu_mask.patch +profile_pc.patch +profile_tick.patch +profile-tick-fix.patch +move-profile-operations.patch +make-private-profile-state-static.patch +make-prof_buffer-atomic_t.patch Consolidate a lot of the kernel profiling code.
Minor gaffe on my part:
include/asm-ia64/ptrace.h renamed from include/asm-ia64/ptrace.h.orig +5 -5
@@ -232,11 +232,11 @@/* Conserve space in histogram by encoding slot bits in address * bits 2 and 3 rather than bits 0 and 1. */ -static inline unsigned long profile_pc (struct pt_regs *regs) -{ -unsigned long ip =instruction_pointer (regs); -return (ip & ~3UL ) + ((ip &3UL ) <<2 ); -} +#define profile_pc (regs) \ +({ \ + unsigned long __ip = instruction_pointer(regs); \ + (__ip & ~3UL) + ((__ip & 3UL) << 2); \ +})/* given a pointer to a task_struct, return the user's pt_regs */ # define ia64_task_regs (t) (((struct pt_regs *) ((char *) (t) + IA64_STK_OFFSET)) - 1)
Quoted 6 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm1/
- Added David Woodhouse's MTD tree to the "external trees" list
- Dropped the staircase scheduler, mainly because the schedstats patch broke it.
We learned quite a lot from having staircase in there. Now it's time for a new scheduler anyway.
One of these changes means we need to be able to dereference struct device in include/asm-ia64/dma-mapping.h.
include/asm-ia64/dma-mapping.h renamed from include/asm-ia64/dma-mapping.h.orig +2 -1
@@ -5,7 +5,8 @@* Copyright (C) 2003-2004 Hewlett-Packard Co * David Mosberger-Tang <[email protected]> */ - +#include <linux/config.h> +#include <linux/device.h> #include <asm/machvec.h> #define dma_alloc_coherent platform_dma_alloc_coherent
Quoted 15 lines · William Lee Irwin III
Quoted 6 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm1/
- Added David Woodhouse's MTD tree to the "external trees" list
- Dropped the staircase scheduler, mainly because the schedstats patch broke it.
We learned quite a lot from having staircase in there. Now it's time for a new scheduler anyway.One of these changes means we need to be able to dereference struct device in
include/asm-ia64/dma-mapping.h.
include/asm-ia64/dma-mapping.h line 11
Quoted 8 lines
include/asm-ia64/dma-mapping.h renamed from include/asm-ia64/dma-mapping.h.orig +2
-1@@ -5,7 +5,8 @@* Copyright (C) 2003-2004 Hewlett-Packard Co * David Mosberger-Tang <[email protected]> */ - +#include <linux/config.h> +#include <linux/device.h> #include <asm/machvec.h>
Yes, I hit the same problem on x86_64. But I have no patches touching that file. Can you send the compiler output, help me work out which patch needs the patch?
Quoted 3 lines · William Lee Irwin III
Quoted 3 lines
include/asm-ia64/dma-mapping.h renamed from include/asm-ia64/dma-mapping.h.orig +2
-0+#include <linux/config.h> +#include <linux/device.h> #include <asm/machvec.h>
Quoted 3 lines · Andrew Morton
Yes, I hit the same problem on
x86_64. But I have no patches touching that file. Can you send the compiler output, help me work out which patch needs the patch?
Bizarre thing happened: I backed out the change and couldn't reproduce it. Not sure what's going on.
-- wli
Quoted 6 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm1/
- Added David Woodhouse's MTD tree to the "external trees" list
- Dropped the staircase scheduler, mainly because the schedstats patch broke it.
We learned quite a lot from having staircase in there. Now it's time for a new scheduler anyway.
Yet another "I forgot to #include <linux/profile.h>" gaffe.
arch/sparc/kernel/sun4m_smp.c +1 -0
@@ -16,6 +16,7 @@#include <linux/spinlock.h> #include <linux/mm.h> #include <linux/swap.h> +#include <linux/profile.h> #include <asm/cacheflush.h> #include <asm/tlbflush.h>
arch/sparc/kernel/sun4d_smp.c +1 -0
@@ -19,6 +19,7 @@#include <linux/spinlock.h> #include <linux/mm.h> #include <linux/swap.h> +#include <linux/profile.h> #include <asm/ptrace.h> #include <asm/atomic.h>
Quoted 6 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm1/
- Added David Woodhouse's MTD tree to the "external trees" list
- Dropped the staircase scheduler, mainly because the schedstats patch broke it.
We learned quite a lot from having staircase in there. Now it's time for a new scheduler anyway.
sparc64 needs profile.h and to terminate comments describing %o7.
arch/sparc64/kernel/time.c +2 -1
@@ -29,6 +29,7 @@#include <linux/jiffies.h> #include <linux/cpufreq.h> #include <linux/percpu.h> +#include <linux/profile.h> #include <asm/oplib.h> #include <asm/mostek.h>
@@ -460,7 +461,7 @@ pc < (unsigned long) &__bzero_end) || (pc >= (unsigned long) &__bitops_begin && pc < (unsigned long) &__bitops_end)) - pc = regs->u_regs[UREG_RETPC ];/* o7/ + pc = regs->u_regs[UREG_RETPC ];/* o7 */ return pc; }
arch/sparc64/kernel/smp.c +1 -0
@@ -19,6 +19,7 @@#include <linux/seq_file.h> #include <linux/cache.h> #include <linux/jiffies.h> +#include <linux/profile.h> #include <asm/head.h> #include <asm/ptrace.h>
Quoted 6 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm1/
- Added David Woodhouse's MTD tree to the "external trees" list
- Dropped the staircase scheduler, mainly because the schedstats patch broke it.
We learned quite a lot from having staircase in there. Now it's time for a new scheduler anyway.
On some arches, e.g. ia64, it appears that timer ticks can be taken very, very early. In order to avoid oopsing on a prof_buffer that hasn't yet been bootmem allocated, check prof_buffer in profile_hit().
kernel/profile.c renamed from kernel/profile.c.orig +1 -1
@@ -171,7 +171,7 @@ {unsigned long pc; -if (prof_on != type) +if (prof_on != type || !prof_buffer)return ; pc = ((unsigned long )__pc - (unsigned long )_stext) >> prof_shift;atomic_inc (&prof_buffer[min (pc, prof_len -1 )]);
Review
Quoted 5 lines
(quoted diff) +2
-0+iteraid.patch +iteraid-cleanup.patch New ITE IT8212 RAID controller driver. Still needs a bit of work before handoff to the scsi guys to look at.
Just drop it. It's not scsi hardware at all, and we have an ide driver for that hardware already.
Quoted 8 lines · Christoph Hellwig
Review
Quoted 5 lines
(quoted diff) +2
-0+iteraid.patch +iteraid-cleanup.patch New ITE IT8212 RAID controller driver. Still needs a bit of work before handoff to the scsi guys to look at.Just drop it. It's not scsi hardware at all, and we have an ide driver for that hardware already.
We have a very test IDE driver. Probably what we ideally need is a driver using bits of both using Jeff's new ATA/SATA layer.
Re: 2.6.8-rc3-mm1 (compile stats)
In reply to Andrew MortonLinux 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-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
Quoted 6 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm1/
- Added David Woodhouse's MTD tree to the "external trees" list
- Dropped the staircase scheduler, mainly because the schedstats patch broke it.
We learned quite a lot from having staircase in there. Now it's time for a new scheduler anyway.
sched-clean-init-idle.patch is still broken. Removing deactivate_task() from init_idle() breaks the arches that instead of doing copy_process() do kernel_thread(NULL, NULL, CLONE_IDLETASK), with all of the obvious consequences of leaving a task with a NULL program counter on one queue where it may be executed by accident and simultaneously executed on yet another cpu via the SMP trampoline, even sharing the stack between cpus.
The following applies immediately after sched-clean-init-idle.patch; I'm not convinced fork_by_hand() is worth the bloat, as a simple deactivate_task() in init_idle(), would allow all the arches to use the sparc64 method; however, this is consistent with the theme of the cleanup patch immediately preceding it. If desired, I can implement the other alternative, and teach all arches to use kernel_thread(...) and reinstate the deactivate_task() in init_idle().
It appears that init_idle() and fork_by_hand() could be combined into a single method that calls init_idle() on behalf of the caller, which would amount to something like:
task_t * __init fork_idle(int cpu)
{
struct pt_regs regs;
task_t *task;
memset(®s, 0, sizeof(struct pt_regs));
task = copy_process(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL);
if (!task)
return ERR_PTR(-ENOMEM);
init_idle(task, cpu);
unhash_process(task);
return task;
}Then the call to init_idle() in init/main.c would be folded into sched_init(), and so init_idle() would become private to kernel/sched.c
The following patch is merely what I used to get things working ASAP. I'll create whatever form of the init_idle() consolidation's correction is preferred against whatever tree is needed for merging.
-- wli
arch/sparc/kernel/sun4m_smp.c +1 -4
@@ -175,12 +175,9 @@struct task_struct *p;int timeout; -/* Cook up an idler for this guy. */ -kernel_thread (start_secondary,NULL ,CLONE_IDLETASK ); - cpucount++; - p =prev_task (&init_task); + p =fork_by_hand ();init_idle (p, i);
arch/i386/kernel/smpboot.c +0 -10
@@ -496,16 +496,6 @@unsigned short ss; } stack_start; -static struct task_struct *__init fork_by_hand (void ) -{ -struct pt_regs regs; -/* -* don't care about the eip and regs settings since -* we'll never reschedule the forked task. -*/ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} -#ifdef CONFIG_NUMA /* which logical CPUs are on which nodes */
include/linux/sched.h +1 -1
@@ -885,7 +885,7 @@extern int do_execve (char *,char __user *__user *,char __user *__user *,struct pt_regs *);extern long do_fork (unsigned long ,unsigned long ,struct pt_regs *,unsigned long ,int __user *,int __user *); -extern struct task_struct *copy_process (unsigned long ,unsigned long ,struct pt_regs *,unsigned long ,int __user *,int __user *); +task_t *fork_by_hand (void );#ifdef CONFIG_SMP extern void wait_task_inactive (task_t * p);
arch/sparc/kernel/sun4d_smp.c +1 -4
@@ -204,12 +204,9 @@int timeout;int no; -/* Cook up an idler for this guy. */ -kernel_thread (start_secondary,NULL ,CLONE_IDLETASK ); - cpucount++; - p =prev_task (&init_task); + p =fork_by_hand ();init_idle (p, i);
arch/ppc64/kernel/smp.c +1 -4
@@ -799,14 +799,11 @@static void __init smp_create_idle (unsigned int cpu) { -struct pt_regs regs;struct task_struct *p;/* create a process for the processor */ /* only regs.msr is actually used, and 0 is OK for it */ -memset (®s,0 ,sizeof (struct pt_regs )); - p =copy_process (CLONE_VM |CLONE_IDLETASK , -0 , ®s,0 ,NULL ,NULL ); + p =fork_by_hand ();if (IS_ERR (p))panic ("failed fork for CPU %u: %li" , cpu,PTR_ERR (p));
arch/mips/kernel/smp.c +0 -10
@@ -254,16 +254,6 @@cpu_set (0 , cpu_callin_map); } -static struct task_struct *__init fork_by_hand (void ) -{ -struct pt_regs regs; -/* -* don't care about the eip and regs settings since -* we'll never reschedule the forked task. -*/ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} -/* * Startup the CPU with this logical number */
arch/s390/kernel/smp.c +1 -3
@@ -562,15 +562,13 @@static void __init smp_create_idle (unsigned int cpu) { -struct pt_regs regs;struct task_struct *p;/* * don't care about the psw and regs settings since we'll never * reschedule the forked task. */ -memset (®s,0 ,sizeof (struct pt_regs )); - p =copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); + p =fork_by_hand ();if (IS_ERR (p))panic ("failed fork for CPU %u: %li" , cpu,PTR_ERR (p));
arch/ia64/kernel/smpboot.c +0 -10
@@ -356,16 +356,6 @@return cpu_idle (); } -static struct task_struct *__devinit -fork_by_hand (void ) -{ -/* -* Don't care about the IP and regs settings since we'll never reschedule the -* forked task. -*/ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 ,0 ,0 ,NULL ,NULL ); -} -struct create_idle {struct task_struct *idle;struct completion done;
arch/alpha/kernel/smp.c +0 -9
@@ -411,15 +411,6 @@return 0 ; } -static struct task_struct *__init -fork_by_hand (void ) -{ -/* Don't care about the contents of regs since we'll never -reschedule the forked task. */ -struct pt_regs regs; -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} -/* * Bring one cpu online. */
arch/ppc/kernel/smp.c +1 -3
@@ -364,15 +364,13 @@int __cpu_up (unsigned int cpu) { -struct pt_regs regs;struct task_struct *p;char buf[32 ];int c;/* create a process for the processor */ /* only regs.msr is actually used, and 0 is OK for it */ -memset (®s,0 ,sizeof (struct pt_regs )); - p =copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); + p =fork_by_hand ();if (IS_ERR (p))panic ("failed fork for CPU %u: %li" , cpu,PTR_ERR (p));init_idle (p, cpu);
arch/sparc64/kernel/smp.c +1 -3
@@ -302,9 +302,7 @@struct task_struct *p;int timeout, ret, cpu_node; -kernel_thread (NULL ,NULL ,CLONE_IDLETASK ); - - p =prev_task (&init_task); + p =fork_by_hand ();init_idle (p, cpu);
arch/x86_64/kernel/smpboot.c +0 -10
@@ -392,16 +392,6 @@extern volatile unsigned long init_rsp;extern void (*initial_code)(void ); -static struct task_struct *__init fork_by_hand (void ) -{ -struct pt_regs regs; -/* -* don't care about the eip and regs settings since -* we'll never reschedule the forked task. -*/ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} -#if APIC_DEBUG static inline void inquire_remote_apic (int apicid) {
arch/i386/mach-voyager/voyager_smp.c +0 -10
@@ -523,16 +523,6 @@return cpu_idle (); } -static struct task_struct *__init -fork_by_hand (void ) -{ -struct pt_regs regs; -/* don't care about the eip and regs settings since we'll -* never reschedule the forked task. */ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} - -/* Routine to kick start the given CPU and wait for it to report ready * (or timeout in startup). When this routine returns, the requested * CPU is either fully running and configured or known to be dead.
kernel/fork.c +9 -1
@@ -864,7 +864,7 @@* parts of the process environment (as per the clone * flags). The actual kick-off is left to the caller. */ -struct task_struct *copy_process(unsigned long clone_flags, +static task_t *copy_process(unsigned long clone_flags, unsigned long stack_start, struct pt_regs *regs, unsigned long stack_size,
@@ -1141,6 +1141,14 @@ goto fork_out; } +task_t *__init fork_by_hand (void ) +{ +struct pt_regs regs; + +memset (®s,0 ,sizeof (struct pt_regs )); +return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); +} +static inline int fork_traceflag (unsigned clone_flags) {if (clone_flags & (CLONE_UNTRACED |CLONE_IDLETASK ))
arch/parisc/kernel/smp.c +0 -18
@@ -504,24 +504,6 @@#if 0 /* -* Create the idle task for a new Slave CPU. DO NOT use kernel_thread() -* because that could end up calling schedule(). If it did, the new idle -* task could get scheduled before we had a chance to remove it from the -* run-queue... -*/ -static struct task_struct *fork_by_hand (void ) -{ -struct pt_regs regs; - -/* -* don't care about the regs settings since -* we'll never reschedule the forked task. -*/ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} - - -/* * Bring one cpu online. */ int __init smp_boot_one_cpu (int cpuid,int cpunum)
arch/sh/kernel/smp.c +1 -3
@@ -98,10 +98,8 @@int __cpu_up (unsigned int cpu) {struct task_struct *tsk; -struct pt_regs regs; -memset (®s,0 ,sizeof (struct pt_regs )); - tsk =copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,0 ,0 ); + tsk =fork_by_hand ();if (IS_ERR (tsk))panic ("Failed forking idle task for cpu %d\n" , cpu);
Quoted 4 lines · William Lee Irwin III
It appears that
init_idle()andfork_by_hand()could be combined into a single method that callsinit_idle()on behalf of the caller, which would amount to something like:task_t*__initfork_idle(int cpu)
[...]
Atop the full 2.6.8-rc3-mm1 series:
$ diffstat tmp/fork_idle.patch arch/alpha/kernel/smp.c | 14 +------------- arch/i386/kernel/smpboot.c | 20 +------------------- arch/i386/mach-voyager/voyager_smp.c | 18 +----------------- arch/ia64/kernel/smpboot.c | 27 ++++++--------------------- arch/mips/kernel/smp.c | 18 +----------------- arch/parisc/kernel/smp.c | 23 +---------------------- arch/ppc/kernel/smp.c | 7 +------ arch/ppc64/kernel/smp.c | 10 +--------- arch/s390/kernel/smp.c | 11 +---------- arch/sh/kernel/smp.c | 7 +------ arch/sparc/kernel/sun4d_smp.c | 11 +---------- arch/sparc64/kernel/smp.c | 9 +-------- arch/um/kernel/smp.c | 4 +--- arch/x86_64/kernel/smpboot.c | 18 +----------------- include/linux/sched.h | 2 +- init/main.c | 9 --------- kernel/fork.c | 16 +++++++++++++++- kernel/sched.c | 8 ++++++++ 18 files changed, 43 insertions(+), 189 deletions(-)
arch/alpha/kernel/smp.c +1 -13
@@ -412,15 +412,6 @@return 0 ; } -static struct task_struct *__init -fork_by_hand (void ) -{ -/* Don't care about the contents of regs since we'll never -reschedule the forked task. */ -struct pt_regs regs; -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} -/* * Bring one cpu online. */
@@ -436,13 +427,10 @@the other task-y sort of data structures set up like we wish. We can't use kernel_thread since we must avoid rescheduling the child. */ - idle =fork_by_hand (); + idle =fork_idle (cpuid);if (IS_ERR (idle))panic ("failed fork for CPU %d" , cpuid); -init_idle (idle, cpuid); -unhash_process (idle); -DBGS (("smp_boot_one_cpu: CPU %d state 0x%lx flags 0x%lx\n" , cpuid, idle->state, idle->flags));
arch/i386/kernel/smpboot.c +1 -19
@@ -502,16 +502,6 @@unsigned short ss; } stack_start; -static struct task_struct *__init fork_by_hand (void ) -{ -struct pt_regs regs; -/* -* don't care about the eip and regs settings since -* we'll never reschedule the forked task. -*/ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} -#ifdef CONFIG_NUMA /* which logical CPUs are on which nodes */
@@ -807,18 +797,10 @@* We can't use kernel_thread since we must avoid to * reschedule the child. */ - idle =fork_by_hand (); + idle =fork_idle (cpu);if (IS_ERR (idle))panic ("failed fork for CPU %d" , cpu); - -/* Make this the idle thread */ -init_idle (idle, cpu); - idle->thread.eip = (unsigned long ) start_secondary; - -/* Remove it from the pidhash */ -unhash_process (idle); -/* start_eip had better be page-aligned! */ start_eip =setup_trampoline ();
arch/i386/mach-voyager/voyager_smp.c +1 -17
@@ -523,15 +523,6 @@return cpu_idle (); } -static struct task_struct *__init -fork_by_hand (void ) -{ -struct pt_regs regs; -/* don't care about the eip and regs settings since we'll -* never reschedule the forked task. */ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} -/* Routine to kick start the given CPU and wait for it to report ready * (or timeout in startup). When this routine returns, the requested
@@ -587,17 +578,10 @@ hijack_source.idt.Segment = (start_phys_address >>4 ) &0xFFFF ; cpucount++; - idle =fork_by_hand (); + idle =fork_idle (cpu);if (IS_ERR (idle))panic ("failed fork for CPU%d" , cpu); - -/* Make this the idle thread */ -init_idle (idle, cpu); - idle->thread.eip = (unsigned long ) start_secondary; - -/* Remove it from the pidhash */ -unhash_process (idle);/* init_tasks (in sched.c) is indexed logically */ stack_start.esp = (void *) idle->thread.esp;
arch/ia64/kernel/smpboot.c +6 -21
@@ -356,19 +356,10 @@return cpu_idle (); } -static struct task_struct *__devinit -fork_by_hand (void ) -{ -/* -* Don't care about the IP and regs settings since we'll never reschedule the -* forked task. -*/ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 ,0 ,0 ,NULL ,NULL ); -} -struct create_idle {struct task_struct *idle;struct completion done; +int cpu; };void
@@ -376,7 +367,7 @@ {struct create_idle *c_idle = _c_idle; - c_idle->idle =fork_by_hand (); + c_idle->idle =fork_idle (c_idle->cpu);complete (&c_idle->done); }
@@ -384,10 +375,11 @@ do_boot_cpu (int sapicid, int cpu) { int timeout; -struct create_idle c_idle; +struct create_idle c_idle = { + .cpu = cpu, + .done =COMPLETION_INITIALIZER (c_idle.done), + };DECLARE_WORK (work, do_fork_idle, &c_idle); - -init_completion (&c_idle.done);/* * We can't use kernel_thread since we must avoid to reschedule the child. */
@@ -400,13 +392,6 @@if (IS_ERR (c_idle.idle))panic ("failed fork for CPU %d" , cpu); - -/* Make this the idle thread */ -init_idle (c_idle.idle, cpu); - -/* Remove it from the pidhash */ -unhash_process (c_idle.idle); - task_for_booting_cpu = c_idle.idle;Dprintk ("Sending wakeup vector %lu to AP 0x%x/0x%x.\n" , ap_wakeup_vector, cpu, sapicid);
arch/mips/kernel/smp.c +1 -17
@@ -254,16 +254,6 @@cpu_set (0 , cpu_callin_map); } -static struct task_struct *__init fork_by_hand (void ) -{ -struct pt_regs regs; -/* -* don't care about the eip and regs settings since -* we'll never reschedule the forked task. -*/ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} -/* * Startup the CPU with this logical number */
@@ -275,16 +265,10 @@* The following code is purely to make sure * Linux can schedule processes on this slave. */ - idle =fork_by_hand (); + idle =fork_idle (cpu);if (IS_ERR (idle))panic ("failed fork for CPU %d\n" , cpu); -/* Make this the idle thread */ -init_idle (idle, cpu); - -/* Remove it from the pidhash */ -unhash_process (idle); -prom_boot_secondary (cpu, idle);/* XXXKW timeout */
arch/parisc/kernel/smp.c +1 -22
@@ -504,24 +504,6 @@#if 0 /* -* Create the idle task for a new Slave CPU. DO NOT use kernel_thread() -* because that could end up calling schedule(). If it did, the new idle -* task could get scheduled before we had a chance to remove it from the -* run-queue... -*/ -static struct task_struct *fork_by_hand (void ) -{ -struct pt_regs regs; - -/* -* don't care about the regs settings since -* we'll never reschedule the forked task. -*/ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} - - -/* * Bring one cpu online. */ int __init smp_boot_one_cpu (int cpuid,int cpunum)
@@ -539,12 +521,9 @@* Sheesh . . . */ - idle =fork_by_hand (); + idle =fork_idle (cpunum);if (IS_ERR (idle))panic ("SMP: fork failed for CPU:%d" , cpuid); - -init_idle (idle, cpunum); -unhash_process (idle); idle->thread_info->cpu = cpunum;/* Let _start know what logical CPU we're booting
arch/ppc/kernel/smp.c +1 -6
@@ -364,20 +364,15 @@int __cpu_up (unsigned int cpu) { -struct pt_regs regs;struct task_struct *p;char buf[32 ];int c;/* create a process for the processor */ /* only regs.msr is actually used, and 0 is OK for it */ -memset (®s,0 ,sizeof (struct pt_regs )); - p =copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); + p =fork_idle (cpu);if (IS_ERR (p))panic ("failed fork for CPU %u: %li" , cpu,PTR_ERR (p)); -init_idle (p, cpu); -unhash_process (p); - secondary_ti = p->thread_info; p->thread_info->cpu = cpu;
arch/ppc64/kernel/smp.c +1 -9
@@ -800,20 +800,12 @@static void __init smp_create_idle (unsigned int cpu) { -struct pt_regs regs;struct task_struct *p;/* create a process for the processor */ -/* only regs.msr is actually used, and 0 is OK for it */ -memset (®s,0 ,sizeof (struct pt_regs )); - p =copy_process (CLONE_VM |CLONE_IDLETASK , -0 , ®s,0 ,NULL ,NULL ); + p =fork_idle (cpu);if (IS_ERR (p))panic ("failed fork for CPU %u: %li" , cpu,PTR_ERR (p)); - -init_idle (p, cpu); -unhash_process (p); - paca[cpu].__current = p; current_set[cpu] = p->thread_info; }
arch/s390/kernel/smp.c +1 -10
@@ -562,24 +562,15 @@static void __init smp_create_idle (unsigned int cpu) { -struct pt_regs regs;struct task_struct *p;/* * don't care about the psw and regs settings since we'll never * reschedule the forked task. */ -memset (®s,0 ,sizeof (struct pt_regs )); - p =copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); + p =fork_idle (cpu);if (IS_ERR (p))panic ("failed fork for CPU %u: %li" , cpu,PTR_ERR (p)); - -/* Make this the idle thread */ -init_idle (p, cpu); - -/* Remove it from the pidhash */ -unhash_process (p); - current_set[cpu] = p; }
arch/sh/kernel/smp.c +1 -6
@@ -98,17 +98,12 @@int __cpu_up (unsigned int cpu) {struct task_struct *tsk; -struct pt_regs regs; -memset (®s,0 ,sizeof (struct pt_regs )); - tsk =copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,0 ,0 ); + tsk =fork_idle (cpu);if (IS_ERR (tsk))panic ("Failed forking idle task for cpu %d\n" , cpu); -init_idle (tsk, cpu); -unhash_process (tsk); - tsk->thread_info->cpu = cpu;cpu_set (cpu, cpu_online_map);
arch/sparc/kernel/sun4d_smp.c +1 -10
@@ -201,18 +201,9 @@int no;/* Cook up an idler for this guy. */ -kernel_thread (NULL ,NULL ,CLONE_IDLETASK ); - + p =fork_idle (p, cpu); cpucount++; - - p =prev_task (&init_task); - -init_idle (p, i); - current_set[i] = p->thread_info; - -unhash_process (p); -for (no =0 ; !cpu_find_by_instance (no,NULL , &mid) && mid != i; no++) ;
arch/sparc64/kernel/smp.c +1 -8
@@ -302,14 +302,7 @@struct task_struct *p;int timeout, ret, cpu_node; -kernel_thread (NULL ,NULL ,CLONE_IDLETASK ); - - p =prev_task (&init_task); - -init_idle (p, cpu); - -unhash_process (p); - + p =fork_idle (cpu); callin_flag =0 ; cpu_new_thread = p->thread_info;cpu_set (cpu, cpu_callout_map);
arch/um/kernel/smp.c +1 -3
@@ -105,8 +105,7 @@ current->thread.request.u.thread.proc = idle_proc; current->thread.request.u.thread.arg = (void *) cpu; - new_task =copy_process (CLONE_VM |CLONE_IDLETASK ,0 ,NULL ,0 ,NULL , -NULL ); + new_task =fork_idle (cpu);if (IS_ERR (new_task))panic ("copy_process failed in idle_thread, error = %ld" ,PTR_ERR (new_task));
@@ -118,7 +117,6 @@CHOOSE_MODE (os_write_file (new_task->thread.mode.tt.switch_pipe[1 ], &c,sizeof (c)), ({panic ("skas mode doesn't support SMP" ); })); -wake_up_forked_process (new_task);return (new_task); }
arch/x86_64/kernel/smpboot.c +1 -17
@@ -392,16 +392,6 @@extern volatile unsigned long init_rsp;extern void (*initial_code)(void ); -static struct task_struct *__init fork_by_hand (void ) -{ -struct pt_regs regs; -/* -* don't care about the eip and regs settings since -* we'll never reschedule the forked task. -*/ -return copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); -} -#if APIC_DEBUG static inline void inquire_remote_apic (int apicid) {
@@ -575,17 +565,11 @@* We can't use kernel_thread since we must avoid to * reschedule the child. */ - idle =fork_by_hand (); + idle =fork_idle (cpu);if (IS_ERR (idle))panic ("failed fork for CPU %d" , cpu); x86_cpu_to_apicid[cpu] = apicid; -/* Make this the idle thread */ -init_idle (idle,cpu); - -/* Remove it from the pidhash */ -unhash_process (idle); - cpu_pda[cpu].pcurrent = idle; start_rip =setup_trampoline ();
include/linux/sched.h +1 -1
@@ -968,7 +968,7 @@extern int do_execve (char *,char __user *__user *,char __user *__user *,struct pt_regs *);extern long do_fork (unsigned long ,unsigned long ,struct pt_regs *,unsigned long ,int __user *,int __user *); -extern struct task_struct *copy_process (unsigned long ,unsigned long ,struct pt_regs *,unsigned long ,int __user *,int __user *); +task_t *fork_idle (int );#ifdef CONFIG_SMP extern void wait_task_inactive (task_t * p);
init/main.c +0 -9
@@ -495,15 +495,6 @@* time - but meanwhile we still have a functioning scheduler. */ sched_init (); - -/* -* Make us the idle thread. Technically, schedule() should not be -* called from this thread, however somewhere below it might be, -* but because we are the idle thread, we just pick up running again -* when this runqueue becomes "idle". -*/ -init_idle (current,smp_processor_id ()); -build_all_zonelists ();page_alloc_init ();trap_init ();
kernel/fork.c +15 -1
@@ -881,7 +881,7 @@* parts of the process environment (as per the clone * flags). The actual kick-off is left to the caller. */ -struct task_struct *copy_process(unsigned long clone_flags, +static task_t *copy_process(unsigned long clone_flags, unsigned long stack_start, struct pt_regs *regs, unsigned long stack_size,
@@ -1181,6 +1181,20 @@ goto fork_out; } +task_t *__init fork_idle (int cpu) +{ +task_t *task; +struct pt_regs regs; + +memset (®s,0 ,sizeof (struct pt_regs )); + task =copy_process (CLONE_VM |CLONE_IDLETASK ,0 , ®s,0 ,NULL ,NULL ); +if (!task) +return ERR_PTR (-ENOMEM ); +init_idle (task, cpu); +unhash_process (task); +return task; +} +static inline int fork_traceflag (unsigned clone_flags) {if (clone_flags & (CLONE_UNTRACED |CLONE_IDLETASK ))
kernel/sched.c +8 -0
@@ -4391,6 +4391,14 @@*/ atomic_inc (&init_mm.mm_count);enter_lazy_tlb (&init_mm, current); + +/* +* Make us the idle thread. Technically, schedule() should not be +* called from this thread, however somewhere below it might be, +* but because we are the idle thread, we just pick up running again +* when this runqueue becomes "idle". +*/ +init_idle (current,smp_processor_id ()); }#ifdef CONFIG_DEBUG_SPINLOCK_SLEEP
Quoted 4 lines · William Lee Irwin III
Quoted 4 lines
It appears that
init_idle()andfork_by_hand()could be combined into a single method that callsinit_idle()on behalf of the caller, which would amount to something like:task_t*__initfork_idle(int cpu)
Quoted 1 line · William Lee Irwin III
Atop the full 2.6.8-rc3-mm1 series:
Fix up sparc32 properly (incremental).
arch/sparc/kernel/sun4d_smp.c +1 -1
@@ -201,7 +201,7 @@int no;/* Cook up an idler for this guy. */ - p =fork_idle (p, cpu); + p =fork_idle (p, i); cpucount++; current_set[i] = p->thread_info; for (no = 0; !cpu_find_by_instance(no, NULL, &mid)
arch/sparc/kernel/sun4m_smp.c +1 -10
@@ -173,18 +173,9 @@int timeout;/* Cook up an idler for this guy. */ -kernel_thread (NULL ,NULL ,CLONE_IDLETASK ); - + p =fork_idle (i); cpucount++; - - p =prev_task (&init_task); - -init_idle (p, i); - current_set[i] = p->thread_info; - -unhash_process (p); -/* See trampoline.S for details... */ entry += ((i-1 ) *3 );
Quoted 11 lines · William Lee Irwin III
Quoted 4 lines · William Lee Irwin III
Quoted 4 lines
It appears that
init_idle()andfork_by_hand()could be combined into a single method that callsinit_idle()on behalf of the caller, which would amount to something like:task_t*__initfork_idle(int cpu)Quoted 1 line · William Lee Irwin III
Atop the full 2.6.8-rc3-mm1 series:
Fix up sparc32 properly (incremental).
Well I had to significantly smash these patches to get stuff in the right place. Please check that next -mm has it all right.
A message that is not in the archive (sent off-list or not yet received): [email protected]
Re: alpha signal race fixes
Quoted 3 lines · William Lee Irwin III
It appears alpha needs an update here also. The rampant variable renaming made my eyes bleed, so I omitted that from here. Anyhow, the test app works after I apply this, so I must have done something right.
And one more alpha fix for the profiling consolidation:
arch/alpha/kernel/irq.c +0 -3
@@ -329,9 +329,6 @@void init_irq_proc (void ) { -#ifdef CONFIG_SMP -struct proc_dir_entry *entry; -#endif int i;/* create /proc/irq */
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Quoted 3 lines
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6 .8-rc3-mm1/
This now boots nicely on my Dual Opteron.
Disk I/O still sucks badly though...
Mark.
- --
Mark Watts
Senior Systems Engineer
QinetiQ Trusted Information Management
Trusted Solutions and Services group
GPG Public Key ID: 455420ED
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFBE34+Bn4EFUVUIO0RAqzoAKDRlcp3WoWN7tIblVoaABR8V8GLLACfUWtw q+ueFCLaS6WnbBgIpZqh1eI=
=sVE8
-----END PGP SIGNATURE-----
2.6.8-rc3-mm1: PROC_FS=n link errors
In reply to Andrew MortonQuoted 9 lines · Andrew Morton
...
Changes since 2.6.8-rc2-mm2:
...(quoted diff) +2
-0+consolidate-prof_cpu_mask.patch +profile_tick.patchConsolidate a lot of the kernel profiling code.
...
Theses patches cause the following link errors with CONFIG_PROC_FS=n:
<-- snip -->
...
LD .tmp_vmlinux1
arch/i386/kernel/built-in.o(.text+0x45ce): In function `init_irq_proc':
: undefined reference to create_prof_cpu_mask' arch/i386/kernel/built-in.o(.text+0xfaf8): In function smp_apic_timer_interrupt':
: undefined reference to profile_tick' arch/i386/kernel/built-in.o(.text+0xfc68): In function smp_local_timer_interrupt':
: undefined reference to profile_tick' kernel/built-in.o(.sched.text+0x46): In function schedule':
: undefined reference to `profile_hit'
make: *** [.tmp_vmlinux1] Error 1
<-- snip -->
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedRe: 2.6.8-rc3-mm1: PROC_FS=n link errors
Quoted 5 lines · Andrew Morton
Quoted 5 lines
Changes since 2.6.8-rc2-mm2:
(quoted diff) +2
-0+consolidate-prof_cpu_mask.patch +profile_tick.patchConsolidate a lot of the kernel profiling code.
...
Quoted 6 lines · Adrian Bunk
Theses patches cause the following link errors with
CONFIG_PROC_FS=n:
<-- snip -->
...
LD .tmp_vmlinux1
arch/i386/kernel/built-in.o(.text+0x45ce): In function `init_irq_proc':
: undefined reference to `create_prof_cpu_mask'
Ugh. Okay, here goes:
Fix up compile with CONFIG_PROC_FS=n. Accomplish this by conditionally declaring create_prof_cpu_mask(), privatizing create_proc_profile(), and unconditionally including profile_hit() and profile_tick().
fs/proc/proc_misc.c +0 -1
@@ -662,7 +662,6 @@ (size_t)high_memory - PAGE_OFFSET + PAGE_SIZE; }#endif -create_proc_profile ();#ifdef CONFIG_MAGIC_SYSRQ entry =create_proc_entry ("sysrq-trigger" ,S_IWUSR ,NULL );if (entry)
include/linux/profile.h +5 -2
@@ -17,10 +17,13 @@/* init basic kernel profiler */ void __init profile_init (void ); -void create_prof_cpu_mask (struct proc_dir_entry *);void profile_tick (int ,struct pt_regs *);void profile_hit (int ,void *); -void create_proc_profile (void ); +#ifdef CONFIG_PROC_FS +void create_prof_cpu_mask (struct proc_dir_entry *); +#else +#define create_prof_cpu_mask (x) do { (void)(x); } while (0) +#endif enum profile_type {EXIT_TASK ,
kernel/profile.c +7 -6
@@ -162,11 +162,6 @@EXPORT_SYMBOL_GPL (profile_event_register);EXPORT_SYMBOL_GPL (profile_event_unregister); -#ifdef CONFIG_PROC_FS -#include <linux/proc_fs.h> -#include <asm/uaccess.h> -#include <asm/ptrace.h> -void profile_hit (int type,void *__pc) {unsigned long pc;
@@ -185,6 +180,11 @@profile_hit (type, (void *)profile_pc (regs)); } +#ifdef CONFIG_PROC_FS +#include <linux/proc_fs.h> +#include <asm/uaccess.h> +#include <asm/ptrace.h> +static int prof_cpu_mask_read_proc (char *page,char **start,off_t off,int count,int *eof,void *data) {
@@ -287,7 +287,7 @@ .write = write_profile, }; -void __init create_proc_profile (void ) +static int __init create_proc_profile (void ) {struct proc_dir_entry *entry;
@@ -298,4 +298,5 @@ entry->proc_fops = &proc_profile_operations; entry->size = (1+prof_len) * sizeof(unsigned int); } +module_init (create_proc_profile);#endif /* CONFIG_PROC_FS */
Re: 2.6.8-rc3-mm1: PROC_FS=n link errors
Quoted 5 lines · Adrian Bunk
Quoted 5 lines
Theses patches cause the following link errors with
CONFIG_PROC_FS=n:
<-- snip -->
LD .tmp_vmlinux1
arch/i386/kernel/built-in.o(.text+0x45ce): In function `init_irq_proc':
: undefined reference to `create_prof_cpu_mask'
Quoted 4 lines · William Lee Irwin III
Ugh. Okay, here goes:
Fix up compile withCONFIG_PROC_FS=n. Accomplish this by conditionally declaringcreate_prof_cpu_mask(), privatizingcreate_proc_profile(), and unconditionally includingprofile_hit()andprofile_tick().
Fix up create_proc_profile() to actually return values, and also s/unsigned int/atomic_t/ in one last place with a casting to atomic_t hangover.
-- wli
kernel/profile.c +4 -3
@@ -292,11 +292,12 @@struct proc_dir_entry *entry;if (!prof_on) -return ; +return 0 ;if (!(entry =create_proc_entry ("profile" ,S_IWUSR |S_IRUGO ,NULL ))) -return ; +return 0 ; entry->proc_fops = &proc_profile_operations; - entry->size = (1+prof_len) * sizeof(unsigned int); + entry->size = (1 +prof_len) *sizeof (atomic_t); + return 0; }module_init (create_proc_profile);#endif /* CONFIG_PROC_FS */
2.6.8-rc3-mm1: sk98lin/skge.c compile error with PROC_FS=n
In reply to Andrew MortonQuoted 5 lines · Andrew Morton
...
All 450 patches
...
bk-netdev.patch
...
This breaks compilation with CONFIG_PROC_FS=n:
<-- snip -->
...
CC [M] drivers/net/sk98lin/skge.odrivers/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 oncedrivers/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 -->
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed