All of lore.kernel.org
 help / color / mirror / Atom feed
* 2.6.8-rc3-mm1
@ 2004-08-05 10:19 Andrew Morton
  2004-08-05 11:18 ` 2.6.8-rc3-mm1: SCHEDSTATS compile error Adrian Bunk
                   ` (15 more replies)
  0 siblings, 16 replies; 35+ messages in thread
From: Andrew Morton @ 2004-08-05 10:19 UTC (permalink / raw)
  To: linux-kernel


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 <axboe@suse.de>
  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 <mikpe@csd.uu.se>
  Subject: [PATCH][1/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: core
  CONFIG_PERFCTR=n build fix
  From: Mikael Pettersson <mikpe@csd.uu.se>
  Subject: [PATCH][6/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: misc

perfctr-i386.patch
  From: Mikael Pettersson <mikpe@csd.uu.se>
  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 <mikpe@csd.uu.se>
  Subject: [PATCH][3/6] perfctr-2.7.3 for 2.6.7-rc1-mm1: x86_64

perfctr-ppc.patch
  From: Mikael Pettersson <mikpe@csd.uu.se>
  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 <mikpe@csd.uu.se>
  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 <arjanv@redhat.com>
  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




^ permalink raw reply	[flat|nested] 35+ messages in thread

* 2.6.8-rc3-mm1: SCHEDSTATS compile error
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
@ 2004-08-05 11:18 ` Adrian Bunk
  2004-08-05 15:25   ` Martin J. Bligh
  2004-08-05 11:20 ` 2.6.8-rc3-mm1 Sean Neakums
                   ` (14 subsequent siblings)
  15 siblings, 1 reply; 35+ messages in thread
From: Adrian Bunk @ 2004-08-05 11:18 UTC (permalink / raw)
  To: Andrew Morton, Rick Lindsley; +Cc: linux-kernel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.8-rc2-mm2:
>...
> +schedstats-2.patch
>...
>  CPU scheduler statitics
>...

<--  snip  -->

...
  CC      kernel/sched.o
kernel/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

-- 

       "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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
  2004-08-05 11:18 ` 2.6.8-rc3-mm1: SCHEDSTATS compile error Adrian Bunk
@ 2004-08-05 11:20 ` Sean Neakums
  2004-08-05 11:49 ` 2.6.8-rc3-mm1: ALSA: vortex_asXtalkGainsAllChan multiple definitions Adrian Bunk
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 35+ messages in thread
From: Sean Neakums @ 2004-08-05 11:20 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Built successfully with SMP=y, but with SMP=n I got the following:

  CC      kernel/sched.o
kernel/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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* 2.6.8-rc3-mm1: ALSA: vortex_asXtalkGainsAllChan multiple definitions
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
  2004-08-05 11:18 ` 2.6.8-rc3-mm1: SCHEDSTATS compile error Adrian Bunk
  2004-08-05 11:20 ` 2.6.8-rc3-mm1 Sean Neakums
@ 2004-08-05 11:49 ` Adrian Bunk
  2004-08-05 12:38 ` 2.6.8-rc3-mm1: ip2mainc-add-missing-pci_enable_device breaks compilation Adrian Bunk
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 35+ messages in thread
From: Adrian Bunk @ 2004-08-05 11:49 UTC (permalink / raw)
  To: Andrew Morton, perex; +Cc: linux-kernel, alsa-devel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
>...
> 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

-- 

       "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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* 2.6.8-rc3-mm1: ip2mainc-add-missing-pci_enable_device breaks compilation
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (2 preceding siblings ...)
  2004-08-05 11:49 ` 2.6.8-rc3-mm1: ALSA: vortex_asXtalkGainsAllChan multiple definitions Adrian Bunk
@ 2004-08-05 12:38 ` Adrian Bunk
  2004-08-05 15:45   ` Bjorn Helgaas
  2004-08-05 12:50 ` 2.6.8-rc3-mm1 William Lee Irwin III
                   ` (11 subsequent siblings)
  15 siblings, 1 reply; 35+ messages in thread
From: Adrian Bunk @ 2004-08-05 12:38 UTC (permalink / raw)
  To: Andrew Morton, Bjorn Helgaas; +Cc: linux-kernel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
>...
> 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.o
drivers/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

-- 

       "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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (3 preceding siblings ...)
  2004-08-05 12:38 ` 2.6.8-rc3-mm1: ip2mainc-add-missing-pci_enable_device breaks compilation Adrian Bunk
@ 2004-08-05 12:50 ` William Lee Irwin III
  2004-08-05 13:03 ` 2.6.8-rc3-mm1 William Lee Irwin III
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-05 12:50 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
> +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:

--- mm1-2.6.8-rc3/include/asm-ia64/ptrace.h.orig	2004-08-05 22:42:16.312957563 -0700
+++ mm1-2.6.8-rc3/include/asm-ia64/ptrace.h	2004-08-05 22:46:36.284634066 -0700
@@ -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)

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (4 preceding siblings ...)
  2004-08-05 12:50 ` 2.6.8-rc3-mm1 William Lee Irwin III
@ 2004-08-05 13:03 ` William Lee Irwin III
  2004-08-05 21:38   ` 2.6.8-rc3-mm1 Andrew Morton
  2004-08-05 13:24 ` 2.6.8-rc3-mm1 William Lee Irwin III
                   ` (9 subsequent siblings)
  15 siblings, 1 reply; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-05 13:03 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
> 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.

--- mm1-2.6.8-rc3/include/asm-ia64/dma-mapping.h.orig	2004-08-05 22:56:27.204548702 -0700
+++ mm1-2.6.8-rc3/include/asm-ia64/dma-mapping.h	2004-08-05 22:57:40.435993118 -0700
@@ -5,7 +5,8 @@
  * Copyright (C) 2003-2004 Hewlett-Packard Co
  *	David Mosberger-Tang <davidm@hpl.hp.com>
  */
-
+#include <linux/config.h>
+#include <linux/device.h>
 #include <asm/machvec.h>
 
 #define dma_alloc_coherent	platform_dma_alloc_coherent

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (5 preceding siblings ...)
  2004-08-05 13:03 ` 2.6.8-rc3-mm1 William Lee Irwin III
@ 2004-08-05 13:24 ` William Lee Irwin III
  2004-08-05 13:36 ` 2.6.8-rc3-mm1 William Lee Irwin III
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-05 13:24 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
> 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.


Index: mm1-2.6.8-rc3/arch/sparc/kernel/sun4m_smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc/kernel/sun4m_smp.c
+++ mm1-2.6.8-rc3/arch/sparc/kernel/sun4m_smp.c
@@ -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>
 
Index: mm1-2.6.8-rc3/arch/sparc/kernel/sun4d_smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc/kernel/sun4d_smp.c
+++ mm1-2.6.8-rc3/arch/sparc/kernel/sun4d_smp.c
@@ -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>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (6 preceding siblings ...)
  2004-08-05 13:24 ` 2.6.8-rc3-mm1 William Lee Irwin III
@ 2004-08-05 13:36 ` William Lee Irwin III
  2004-08-05 16:13 ` 2.6.8-rc3-mm1 William Lee Irwin III
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-05 13:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
> 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.

Index: mm1-2.6.8-rc3/arch/sparc64/kernel/time.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc64/kernel/time.c
+++ mm1-2.6.8-rc3/arch/sparc64/kernel/time.c
@@ -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;
 }
 
Index: mm1-2.6.8-rc3/arch/sparc64/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc64/kernel/smp.c
+++ mm1-2.6.8-rc3/arch/sparc64/kernel/smp.c
@@ -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>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
  2004-08-05 11:18 ` 2.6.8-rc3-mm1: SCHEDSTATS compile error Adrian Bunk
@ 2004-08-05 15:25   ` Martin J. Bligh
  2004-08-05 16:49     ` Adrian Bunk
  0 siblings, 1 reply; 35+ messages in thread
From: Martin J. Bligh @ 2004-08-05 15:25 UTC (permalink / raw)
  To: Adrian Bunk, Andrew Morton, Rick Lindsley; +Cc: linux-kernel

--Adrian Bunk <bunk@fs.tum.de> wrote (on Thursday, August 05, 2004 13:18:35 +0200):

> On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
>> ...
>> Changes since 2.6.8-rc2-mm2:
>> ...
>> +schedstats-2.patch
>> ...
>>  CPU scheduler statitics
>> ...
> 
> <--  snip  -->
> 
> ...
>   CC      kernel/sched.o
> kernel/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

Any chance you could try the version Ingo just posted instead?

M.


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: ip2mainc-add-missing-pci_enable_device breaks compilation
  2004-08-05 12:38 ` 2.6.8-rc3-mm1: ip2mainc-add-missing-pci_enable_device breaks compilation Adrian Bunk
@ 2004-08-05 15:45   ` Bjorn Helgaas
  0 siblings, 0 replies; 35+ messages in thread
From: Bjorn Helgaas @ 2004-08-05 15:45 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

On Thursday 05 August 2004 6:38 am, Adrian Bunk wrote:
> 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.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>

===== drivers/char/ip2main.c 1.44 vs edited =====
--- 1.44/drivers/char/ip2main.c	2004-04-14 11:08:00 -06:00
+++ edited/drivers/char/ip2main.c	2004-08-05 09:37:22 -06:00
@@ -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 =====
--- 1.1/drivers/char/ip2/ip2types.h	2002-02-05 10:40:06 -07:00
+++ edited/drivers/char/ip2/ip2types.h	2004-08-04 12:20:02 -06:00
@@ -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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (7 preceding siblings ...)
  2004-08-05 13:36 ` 2.6.8-rc3-mm1 William Lee Irwin III
@ 2004-08-05 16:13 ` William Lee Irwin III
  2004-08-05 16:42 ` 2.6.8-rc3-mm1 Christoph Hellwig
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-05 16:13 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
> 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().


--- mm1-2.6.8-rc3/kernel/profile.c.orig	2004-08-06 01:24:10.000000000 -0700
+++ mm1-2.6.8-rc3/kernel/profile.c	2004-08-06 01:49:55.000000000 -0700
@@ -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)]);

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (8 preceding siblings ...)
  2004-08-05 16:13 ` 2.6.8-rc3-mm1 William Lee Irwin III
@ 2004-08-05 16:42 ` Christoph Hellwig
  2004-08-05 20:24   ` 2.6.8-rc3-mm1 Alan Cox
  2004-08-05 16:52 ` 2.6.8-rc3-mm1 (compile stats) John Cherry
                   ` (5 subsequent siblings)
  15 siblings, 1 reply; 35+ messages in thread
From: Christoph Hellwig @ 2004-08-05 16:42 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
  2004-08-05 15:25   ` Martin J. Bligh
@ 2004-08-05 16:49     ` Adrian Bunk
  2004-08-05 18:17       ` Rick Lindsley
  0 siblings, 1 reply; 35+ messages in thread
From: Adrian Bunk @ 2004-08-05 16:49 UTC (permalink / raw)
  To: Martin J. Bligh; +Cc: Andrew Morton, Rick Lindsley, linux-kernel

On Thu, Aug 05, 2004 at 08:25:59AM -0700, Martin J. Bligh wrote:
> --Adrian Bunk <bunk@fs.tum.de> wrote (on Thursday, August 05, 2004 13:18:35 +0200):
> 
> > On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
> >> ...
> >> Changes since 2.6.8-rc2-mm2:
> >> ...
> >> +schedstats-2.patch
> >> ...
> >>  CPU scheduler statitics
> >> ...
> > 
> > <--  snip  -->
> > 
> > ...
> >   CC      kernel/sched.o
> > kernel/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
> 
> 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.

> M.

cu
Adrian

-- 

       "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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1 (compile stats)
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (9 preceding siblings ...)
  2004-08-05 16:42 ` 2.6.8-rc3-mm1 Christoph Hellwig
@ 2004-08-05 16:52 ` John Cherry
  2004-08-06  3:34 ` 2.6.8-rc3-mm1 William Lee Irwin III
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 35+ messages in thread
From: John Cherry @ 2004-08-05 16:52 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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

Kernel            bzImage   bzImage  bzImage  modules  bzImage  modules
                (defconfig) (allno) (allyes) (allyes) (allmod) (allmod)
--------------- ---------- -------- -------- -------- -------- --------
2.6.8-rc3-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




^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
  2004-08-05 16:49     ` Adrian Bunk
@ 2004-08-05 18:17       ` Rick Lindsley
  2004-08-05 18:20         ` Adrian Bunk
  2004-08-09 19:46         ` Bill Davidsen
  0 siblings, 2 replies; 35+ messages in thread
From: Rick Lindsley @ 2004-08-05 18:17 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Martin J. Bligh, Andrew Morton, linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
  2004-08-05 18:17       ` Rick Lindsley
@ 2004-08-05 18:20         ` Adrian Bunk
  2004-08-05 19:15           ` Rick Lindsley
  2004-08-09 19:46         ` Bill Davidsen
  1 sibling, 1 reply; 35+ messages in thread
From: Adrian Bunk @ 2004-08-05 18:20 UTC (permalink / raw)
  To: Rick Lindsley; +Cc: Martin J. Bligh, Andrew Morton, linux-kernel

On Thu, Aug 05, 2004 at 11:17:13AM -0700, Rick Lindsley wrote:

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

> Rick

cu
Adrian

-- 

       "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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
  2004-08-05 18:20         ` Adrian Bunk
@ 2004-08-05 19:15           ` Rick Lindsley
  2004-08-05 19:54             ` Luiz Fernando N. Capitulino
  2004-08-05 20:20             ` Adrian Bunk
  0 siblings, 2 replies; 35+ messages in thread
From: Rick Lindsley @ 2004-08-05 19:15 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Martin J. Bligh, Andrew Morton, linux-kernel

    > 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

diff -rup linux-2.6.8-rc3-mm1/Documentation/sched-stats.txt linux-2.6.8-rc3-mm1-ss/Documentation/sched-stats.txt
--- linux-2.6.8-rc3-mm1/Documentation/sched-stats.txt	Thu Aug  5 11:05:40 2004
+++ linux-2.6.8-rc3-mm1-ss/Documentation/sched-stats.txt	Thu Aug  5 11:37:53 2004
@@ -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
 
diff -rup linux-2.6.8-rc3-mm1/kernel/sched.c linux-2.6.8-rc3-mm1-ss/kernel/sched.c
--- linux-2.6.8-rc3-mm1/kernel/sched.c	Thu Aug  5 11:06:23 2004
+++ linux-2.6.8-rc3-mm1-ss/kernel/sched.c	Thu Aug  5 12:13:51 2004
@@ -342,10 +342,11 @@ static int show_schedstat(struct seq_fil
 	seq_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_fil
 
 		seq_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;
 }

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
  2004-08-05 19:15           ` Rick Lindsley
@ 2004-08-05 19:54             ` Luiz Fernando N. Capitulino
  2004-08-05 20:20             ` Adrian Bunk
  1 sibling, 0 replies; 35+ messages in thread
From: Luiz Fernando N. Capitulino @ 2004-08-05 19:54 UTC (permalink / raw)
  To: Rick Lindsley; +Cc: Adrian Bunk, Martin J. Bligh, Andrew Morton, linux-kernel

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

-- 
Luiz Fernando N. Capitulino
<http://www.telecentros.sp.gov.br>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
  2004-08-05 19:15           ` Rick Lindsley
  2004-08-05 19:54             ` Luiz Fernando N. Capitulino
@ 2004-08-05 20:20             ` Adrian Bunk
  1 sibling, 0 replies; 35+ messages in thread
From: Adrian Bunk @ 2004-08-05 20:20 UTC (permalink / raw)
  To: Rick Lindsley; +Cc: Martin J. Bligh, Andrew Morton, linux-kernel

On Thu, Aug 05, 2004 at 12:15:23PM -0700, Rick Lindsley wrote:
>     > 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.

> Rick

cu
Adrian

-- 

       "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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 16:42 ` 2.6.8-rc3-mm1 Christoph Hellwig
@ 2004-08-05 20:24   ` Alan Cox
  0 siblings, 0 replies; 35+ messages in thread
From: Alan Cox @ 2004-08-05 20:24 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Andrew Morton, Linux Kernel Mailing List

On Iau, 2004-08-05 at 17:42, Christoph Hellwig wrote:
> > +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.


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 13:03 ` 2.6.8-rc3-mm1 William Lee Irwin III
@ 2004-08-05 21:38   ` Andrew Morton
  2004-08-06 15:25     ` 2.6.8-rc3-mm1 William Lee Irwin III
  0 siblings, 1 reply; 35+ messages in thread
From: Andrew Morton @ 2004-08-05 21:38 UTC (permalink / raw)
  To: William Lee Irwin III; +Cc: linux-kernel

William Lee Irwin III <wli@holomorphy.com> wrote:
>
> On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
> > 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.
> 
> --- mm1-2.6.8-rc3/include/asm-ia64/dma-mapping.h.orig	2004-08-05 22:56:27.204548702 -0700
> +++ mm1-2.6.8-rc3/include/asm-ia64/dma-mapping.h	2004-08-05 22:57:40.435993118 -0700
> @@ -5,7 +5,8 @@
>   * Copyright (C) 2003-2004 Hewlett-Packard Co
>   *	David Mosberger-Tang <davidm@hpl.hp.com>
>   */
> -
> +#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?


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (10 preceding siblings ...)
  2004-08-05 16:52 ` 2.6.8-rc3-mm1 (compile stats) John Cherry
@ 2004-08-06  3:34 ` William Lee Irwin III
  2004-08-06  4:24   ` 2.6.8-rc3-mm1 William Lee Irwin III
       [not found] ` <20040806075219.GW17188@holomorphy.com>
                   ` (3 subsequent siblings)
  15 siblings, 1 reply; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-06  3:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
> 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(&regs, 0, sizeof(struct pt_regs));
	task = copy_process(CLONE_VM|CLONE_IDLETASK, 0, &regs, 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

Index: mm1-2.6.8-rc3/arch/sparc/kernel/sun4m_smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc/kernel/sun4m_smp.c
+++ mm1-2.6.8-rc3/arch/sparc/kernel/sun4m_smp.c
@@ -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);
 
Index: mm1-2.6.8-rc3/arch/i386/kernel/smpboot.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/i386/kernel/smpboot.c
+++ mm1-2.6.8-rc3/arch/i386/kernel/smpboot.c
@@ -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, &regs, 0, NULL, NULL);
-}
-
 #ifdef CONFIG_NUMA
 
 /* which logical CPUs are on which nodes */
Index: mm1-2.6.8-rc3/include/linux/sched.h
===================================================================
--- mm1-2.6.8-rc3.orig/include/linux/sched.h
+++ mm1-2.6.8-rc3/include/linux/sched.h
@@ -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);
Index: mm1-2.6.8-rc3/arch/sparc/kernel/sun4d_smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc/kernel/sun4d_smp.c
+++ mm1-2.6.8-rc3/arch/sparc/kernel/sun4d_smp.c
@@ -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);
 
Index: mm1-2.6.8-rc3/arch/ppc64/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/ppc64/kernel/smp.c
+++ mm1-2.6.8-rc3/arch/ppc64/kernel/smp.c
@@ -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(&regs, 0, sizeof(struct pt_regs));
-	p = copy_process(CLONE_VM | CLONE_IDLETASK,
-			 0, &regs, 0, NULL, NULL);
+	p = fork_by_hand();
 	if (IS_ERR(p))
 		panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p));
 
Index: mm1-2.6.8-rc3/arch/mips/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/mips/kernel/smp.c
+++ mm1-2.6.8-rc3/arch/mips/kernel/smp.c
@@ -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, &regs, 0, NULL, NULL);
-}
-
 /*
  * Startup the CPU with this logical number
  */
Index: mm1-2.6.8-rc3/arch/s390/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/s390/kernel/smp.c
+++ mm1-2.6.8-rc3/arch/s390/kernel/smp.c
@@ -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(&regs, 0, sizeof(struct pt_regs));
-	p = copy_process(CLONE_VM | CLONE_IDLETASK, 0, &regs, 0, NULL, NULL);
+	p = fork_by_hand();
 	if (IS_ERR(p))
 		panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p));
 
Index: mm1-2.6.8-rc3/arch/ia64/kernel/smpboot.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/ia64/kernel/smpboot.c
+++ mm1-2.6.8-rc3/arch/ia64/kernel/smpboot.c
@@ -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;
Index: mm1-2.6.8-rc3/arch/alpha/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/alpha/kernel/smp.c
+++ mm1-2.6.8-rc3/arch/alpha/kernel/smp.c
@@ -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, &regs, 0, NULL, NULL);
-}
-
 /*
  * Bring one cpu online.
  */
Index: mm1-2.6.8-rc3/arch/ppc/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/ppc/kernel/smp.c
+++ mm1-2.6.8-rc3/arch/ppc/kernel/smp.c
@@ -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(&regs, 0, sizeof(struct pt_regs));
-	p = copy_process(CLONE_VM|CLONE_IDLETASK, 0, &regs, 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);
Index: mm1-2.6.8-rc3/arch/sparc64/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc64/kernel/smp.c
+++ mm1-2.6.8-rc3/arch/sparc64/kernel/smp.c
@@ -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);
 
Index: mm1-2.6.8-rc3/arch/x86_64/kernel/smpboot.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/x86_64/kernel/smpboot.c
+++ mm1-2.6.8-rc3/arch/x86_64/kernel/smpboot.c
@@ -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, &regs, 0, NULL, NULL);
-}
-
 #if APIC_DEBUG
 static inline void inquire_remote_apic(int apicid)
 {
Index: mm1-2.6.8-rc3/arch/i386/mach-voyager/voyager_smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/i386/mach-voyager/voyager_smp.c
+++ mm1-2.6.8-rc3/arch/i386/mach-voyager/voyager_smp.c
@@ -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, &regs, 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.
Index: mm1-2.6.8-rc3/kernel/fork.c
===================================================================
--- mm1-2.6.8-rc3.orig/kernel/fork.c
+++ mm1-2.6.8-rc3/kernel/fork.c
@@ -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(&regs, 0, sizeof(struct pt_regs));
+	return copy_process(CLONE_VM|CLONE_IDLETASK, 0, &regs, 0, NULL, NULL);
+}
+
 static inline int fork_traceflag (unsigned clone_flags)
 {
 	if (clone_flags & (CLONE_UNTRACED | CLONE_IDLETASK))
Index: mm1-2.6.8-rc3/arch/parisc/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/parisc/kernel/smp.c
+++ mm1-2.6.8-rc3/arch/parisc/kernel/smp.c
@@ -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, &regs, 0, NULL, NULL);
-}
-
-
-/*
  * Bring one cpu online.
  */
 int __init smp_boot_one_cpu(int cpuid, int cpunum)
Index: mm1-2.6.8-rc3/arch/sh/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sh/kernel/smp.c
+++ mm1-2.6.8-rc3/arch/sh/kernel/smp.c
@@ -98,10 +98,8 @@
 int __cpu_up(unsigned int cpu)
 {
 	struct task_struct *tsk;
-	struct pt_regs regs;
 
-	memset(&regs, 0, sizeof(struct pt_regs));
-	tsk = copy_process(CLONE_VM | CLONE_IDLETASK, 0, &regs, 0, 0, 0);
+	tsk = fork_by_hand();
 
 	if (IS_ERR(tsk))
 		panic("Failed forking idle task for cpu %d\n", cpu);

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-06  3:34 ` 2.6.8-rc3-mm1 William Lee Irwin III
@ 2004-08-06  4:24   ` William Lee Irwin III
  2004-08-06  4:39     ` 2.6.8-rc3-mm1 William Lee Irwin III
  0 siblings, 1 reply; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-06  4:24 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel

On Thu, Aug 05, 2004 at 08:34:48PM -0700, William Lee Irwin III wrote:
> 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)
[...]

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(-)


Index: mm1-2.6.8-rc3/arch/alpha/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/alpha/kernel/smp.c	2004-08-05 05:30:43.000000000 -0700
+++ mm1-2.6.8-rc3/arch/alpha/kernel/smp.c	2004-08-05 20:42:56.581904632 -0700
@@ -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, &regs, 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));
 
Index: mm1-2.6.8-rc3/arch/i386/kernel/smpboot.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/i386/kernel/smpboot.c	2004-08-05 05:30:43.000000000 -0700
+++ mm1-2.6.8-rc3/arch/i386/kernel/smpboot.c	2004-08-05 20:43:33.993217248 -0700
@@ -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, &regs, 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();
 
Index: mm1-2.6.8-rc3/arch/i386/mach-voyager/voyager_smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/i386/mach-voyager/voyager_smp.c	2004-08-05 05:30:43.000000000 -0700
+++ mm1-2.6.8-rc3/arch/i386/mach-voyager/voyager_smp.c	2004-08-05 20:51:52.557423968 -0700
@@ -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, &regs, 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;
 
Index: mm1-2.6.8-rc3/arch/ia64/kernel/smpboot.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/ia64/kernel/smpboot.c	2004-08-05 05:30:37.000000000 -0700
+++ mm1-2.6.8-rc3/arch/ia64/kernel/smpboot.c	2004-08-05 20:48:49.420265048 -0700
@@ -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);
Index: mm1-2.6.8-rc3/arch/mips/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/mips/kernel/smp.c	2004-08-05 05:30:36.000000000 -0700
+++ mm1-2.6.8-rc3/arch/mips/kernel/smp.c	2004-08-05 20:50:52.425565400 -0700
@@ -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, &regs, 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 */
Index: mm1-2.6.8-rc3/arch/parisc/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/parisc/kernel/smp.c	2004-08-05 05:30:36.000000000 -0700
+++ mm1-2.6.8-rc3/arch/parisc/kernel/smp.c	2004-08-05 20:45:09.552690000 -0700
@@ -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, &regs, 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
Index: mm1-2.6.8-rc3/arch/ppc/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/ppc/kernel/smp.c	2004-08-05 05:30:36.000000000 -0700
+++ mm1-2.6.8-rc3/arch/ppc/kernel/smp.c	2004-08-05 20:51:11.882607480 -0700
@@ -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(&regs, 0, sizeof(struct pt_regs));
-	p = copy_process(CLONE_VM|CLONE_IDLETASK, 0, &regs, 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;
 
Index: mm1-2.6.8-rc3/arch/ppc64/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/ppc64/kernel/smp.c	2004-08-05 05:30:37.000000000 -0700
+++ mm1-2.6.8-rc3/arch/ppc64/kernel/smp.c	2004-08-05 20:45:36.135648776 -0700
@@ -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(&regs, 0, sizeof(struct pt_regs));
-	p = copy_process(CLONE_VM | CLONE_IDLETASK,
-			 0, &regs, 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;
 }
Index: mm1-2.6.8-rc3/arch/s390/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/s390/kernel/smp.c	2004-08-05 05:30:36.000000000 -0700
+++ mm1-2.6.8-rc3/arch/s390/kernel/smp.c	2004-08-05 20:44:04.400594624 -0700
@@ -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(&regs, 0, sizeof(struct pt_regs));
-	p = copy_process(CLONE_VM | CLONE_IDLETASK, 0, &regs, 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;
 }
 
Index: mm1-2.6.8-rc3/arch/sh/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sh/kernel/smp.c	2004-08-05 05:30:36.000000000 -0700
+++ mm1-2.6.8-rc3/arch/sh/kernel/smp.c	2004-08-05 20:50:24.947742664 -0700
@@ -98,17 +98,12 @@
 int __cpu_up(unsigned int cpu)
 {
 	struct task_struct *tsk;
-	struct pt_regs regs;
 
-	memset(&regs, 0, sizeof(struct pt_regs));
-	tsk = copy_process(CLONE_VM | CLONE_IDLETASK, 0, &regs, 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);
Index: mm1-2.6.8-rc3/arch/sparc/kernel/sun4d_smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc/kernel/sun4d_smp.c	2004-08-05 05:30:44.000000000 -0700
+++ mm1-2.6.8-rc3/arch/sparc/kernel/sun4d_smp.c	2004-08-05 20:42:08.015287880 -0700
@@ -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++) ;
 
Index: mm1-2.6.8-rc3/arch/sparc64/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc64/kernel/smp.c	2004-08-05 05:30:43.000000000 -0700
+++ mm1-2.6.8-rc3/arch/sparc64/kernel/smp.c	2004-08-05 20:41:23.502054920 -0700
@@ -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);
Index: mm1-2.6.8-rc3/arch/um/kernel/smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/um/kernel/smp.c	2004-08-05 05:30:39.000000000 -0700
+++ mm1-2.6.8-rc3/arch/um/kernel/smp.c	2004-08-05 20:49:33.637543000 -0700
@@ -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);
 }
 
Index: mm1-2.6.8-rc3/arch/x86_64/kernel/smpboot.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/x86_64/kernel/smpboot.c	2004-08-05 05:30:36.000000000 -0700
+++ mm1-2.6.8-rc3/arch/x86_64/kernel/smpboot.c	2004-08-05 20:44:34.780976104 -0700
@@ -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, &regs, 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();
Index: mm1-2.6.8-rc3/include/linux/sched.h
===================================================================
--- mm1-2.6.8-rc3.orig/include/linux/sched.h	2004-08-05 05:30:44.000000000 -0700
+++ mm1-2.6.8-rc3/include/linux/sched.h	2004-08-05 20:34:52.309525224 -0700
@@ -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);
Index: mm1-2.6.8-rc3/init/main.c
===================================================================
--- mm1-2.6.8-rc3.orig/init/main.c	2004-08-05 05:30:44.000000000 -0700
+++ mm1-2.6.8-rc3/init/main.c	2004-08-05 20:37:56.806477424 -0700
@@ -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();
Index: mm1-2.6.8-rc3/kernel/fork.c
===================================================================
--- mm1-2.6.8-rc3.orig/kernel/fork.c	2004-08-05 05:30:44.000000000 -0700
+++ mm1-2.6.8-rc3/kernel/fork.c	2004-08-05 20:37:17.587439624 -0700
@@ -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(&regs, 0, sizeof(struct pt_regs));
+	task = copy_process(CLONE_VM|CLONE_IDLETASK, 0, &regs, 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))
Index: mm1-2.6.8-rc3/kernel/sched.c
===================================================================
--- mm1-2.6.8-rc3.orig/kernel/sched.c	2004-08-05 05:30:43.000000000 -0700
+++ mm1-2.6.8-rc3/kernel/sched.c	2004-08-05 20:38:07.266887200 -0700
@@ -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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-06  4:24   ` 2.6.8-rc3-mm1 William Lee Irwin III
@ 2004-08-06  4:39     ` William Lee Irwin III
  2004-08-06  5:17       ` 2.6.8-rc3-mm1 Andrew Morton
  0 siblings, 1 reply; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-06  4:39 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel

On Thu, Aug 05, 2004 at 08:34:48PM -0700, William Lee Irwin III wrote:
>> 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)

On Thu, Aug 05, 2004 at 09:24:20PM -0700, William Lee Irwin III wrote:
> Atop the full 2.6.8-rc3-mm1 series:

Fix up sparc32 properly (incremental).

Index: mm1-2.6.8-rc3/arch/sparc/kernel/sun4d_smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc/kernel/sun4d_smp.c	2004-08-05 20:42:08.015287880 -0700
+++ mm1-2.6.8-rc3/arch/sparc/kernel/sun4d_smp.c	2004-08-05 21:29:42.301370440 -0700
@@ -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)
Index: mm1-2.6.8-rc3/arch/sparc/kernel/sun4m_smp.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/sparc/kernel/sun4m_smp.c	2004-08-05 05:30:44.000000000 -0700
+++ mm1-2.6.8-rc3/arch/sparc/kernel/sun4m_smp.c	2004-08-05 21:29:33.360729624 -0700
@@ -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);
 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-06  4:39     ` 2.6.8-rc3-mm1 William Lee Irwin III
@ 2004-08-06  5:17       ` Andrew Morton
  0 siblings, 0 replies; 35+ messages in thread
From: Andrew Morton @ 2004-08-06  5:17 UTC (permalink / raw)
  To: William Lee Irwin III; +Cc: linux-kernel

William Lee Irwin III <wli@holomorphy.com> wrote:
>
> On Thu, Aug 05, 2004 at 08:34:48PM -0700, William Lee Irwin III wrote:
>  >> 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)
> 
>  On Thu, Aug 05, 2004 at 09:24:20PM -0700, William Lee Irwin III wrote:
>  > 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.


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: alpha signal race fixes
       [not found] ` <20040806075219.GW17188@holomorphy.com>
@ 2004-08-06  8:11   ` William Lee Irwin III
  0 siblings, 0 replies; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-06  8:11 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel

On Fri, Aug 06, 2004 at 12:52:19AM -0700, William Lee Irwin III wrote:
> 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:


Index: mm1-2.6.8-rc3/arch/alpha/kernel/irq.c
===================================================================
--- mm1-2.6.8-rc3.orig/arch/alpha/kernel/irq.c	2004-08-05 07:09:23.000000000 -0700
+++ mm1-2.6.8-rc3/arch/alpha/kernel/irq.c	2004-08-05 23:41:24.000000000 -0700
@@ -329,9 +329,6 @@
 void
 init_irq_proc (void)
 {
-#ifdef CONFIG_SMP
-	struct proc_dir_entry *entry;
-#endif
 	int i;
 
 	/* create /proc/irq */

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (12 preceding siblings ...)
       [not found] ` <20040806075219.GW17188@holomorphy.com>
@ 2004-08-06 12:48 ` Mark Watts
  2004-08-06 19:58 ` 2.6.8-rc3-mm1: sk98lin/skge.c compile error with PROC_FS=n Adrian Bunk
  2004-08-06 19:58 ` 2.6.8-rc3-mm1: PROC_FS=n link errors Adrian Bunk
  15 siblings, 0 replies; 35+ messages in thread
From: Mark Watts @ 2004-08-06 12:48 UTC (permalink / raw)
  To: linux-kernel; +Cc: Andrew Morton

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


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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1
  2004-08-05 21:38   ` 2.6.8-rc3-mm1 Andrew Morton
@ 2004-08-06 15:25     ` William Lee Irwin III
  0 siblings, 0 replies; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-06 15:25 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

William Lee Irwin III <wli@holomorphy.com> wrote:
>> +#include <linux/config.h>
>> +#include <linux/device.h>
>>  #include <asm/machvec.h>

On Thu, Aug 05, 2004 at 02:38:48PM -0700, Andrew Morton wrote:
> 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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* 2.6.8-rc3-mm1: sk98lin/skge.c compile error with PROC_FS=n
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (13 preceding siblings ...)
  2004-08-06 12:48 ` 2.6.8-rc3-mm1 Mark Watts
@ 2004-08-06 19:58 ` Adrian Bunk
  2004-08-06 19:58 ` 2.6.8-rc3-mm1: PROC_FS=n link errors Adrian Bunk
  15 siblings, 0 replies; 35+ messages in thread
From: Adrian Bunk @ 2004-08-06 19:58 UTC (permalink / raw)
  To: Andrew Morton, jgarzik, hch; +Cc: linux-kernel, linux-net

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
>...
> All 450 patches
>...
> bk-netdev.patch
>...

This breaks compilation with CONFIG_PROC_FS=n:

<--  snip  -->

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

<--  snip  -->


cu
Adrian

-- 

       "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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* 2.6.8-rc3-mm1: PROC_FS=n link errors
  2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
                   ` (14 preceding siblings ...)
  2004-08-06 19:58 ` 2.6.8-rc3-mm1: sk98lin/skge.c compile error with PROC_FS=n Adrian Bunk
@ 2004-08-06 19:58 ` Adrian Bunk
  2004-08-06 20:24   ` William Lee Irwin III
  15 siblings, 1 reply; 35+ messages in thread
From: Adrian Bunk @ 2004-08-06 19:58 UTC (permalink / raw)
  To: Andrew Morton, William Lee Irwin III; +Cc: linux-kernel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.8-rc2-mm2:
>...
> +consolidate-prof_cpu_mask.patch
>...
> +profile_tick.patch
>...
> Consolidate 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

-- 

       "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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: PROC_FS=n link errors
  2004-08-06 19:58 ` 2.6.8-rc3-mm1: PROC_FS=n link errors Adrian Bunk
@ 2004-08-06 20:24   ` William Lee Irwin III
  2004-08-06 20:33     ` William Lee Irwin III
  0 siblings, 1 reply; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-06 20:24 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

On Thu, Aug 05, 2004 at 03:19:18AM -0700, Andrew Morton wrote:
>> Changes since 2.6.8-rc2-mm2:
>> +consolidate-prof_cpu_mask.patch
>> +profile_tick.patch
>> Consolidate a lot of the kernel profiling code.
>>...

On Fri, Aug 06, 2004 at 09:58:05PM +0200, Adrian Bunk wrote:
> 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().


Index: mm1-2.6.8-rc3/fs/proc/proc_misc.c
===================================================================
--- mm1-2.6.8-rc3.orig/fs/proc/proc_misc.c	2004-08-05 05:30:43.000000000 -0700
+++ mm1-2.6.8-rc3/fs/proc/proc_misc.c	2004-08-06 12:58:18.426562816 -0700
@@ -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)
Index: mm1-2.6.8-rc3/include/linux/profile.h
===================================================================
--- mm1-2.6.8-rc3.orig/include/linux/profile.h	2004-08-05 05:30:43.000000000 -0700
+++ mm1-2.6.8-rc3/include/linux/profile.h	2004-08-06 12:57:46.501416176 -0700
@@ -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,
Index: mm1-2.6.8-rc3/kernel/profile.c
===================================================================
--- mm1-2.6.8-rc3.orig/kernel/profile.c	2004-08-05 05:30:43.000000000 -0700
+++ mm1-2.6.8-rc3/kernel/profile.c	2004-08-06 13:12:19.567689928 -0700
@@ -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 */

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: PROC_FS=n link errors
  2004-08-06 20:24   ` William Lee Irwin III
@ 2004-08-06 20:33     ` William Lee Irwin III
  0 siblings, 0 replies; 35+ messages in thread
From: William Lee Irwin III @ 2004-08-06 20:33 UTC (permalink / raw)
  To: Adrian Bunk, Andrew Morton, linux-kernel

On Fri, Aug 06, 2004 at 09:58:05PM +0200, Adrian Bunk wrote:
>> 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'

On Fri, Aug 06, 2004 at 01:24:14PM -0700, William Lee Irwin III wrote:
> 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().

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

Index: mm1-2.6.8-rc3/kernel/profile.c
===================================================================
--- mm1-2.6.8-rc3.orig/kernel/profile.c	2004-08-06 13:12:19.567689928 -0700
+++ mm1-2.6.8-rc3/kernel/profile.c	2004-08-06 13:21:00.284528936 -0700
@@ -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 */

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
  2004-08-05 18:17       ` Rick Lindsley
  2004-08-05 18:20         ` Adrian Bunk
@ 2004-08-09 19:46         ` Bill Davidsen
  2004-08-09 19:51           ` Rick Lindsley
  1 sibling, 1 reply; 35+ messages in thread
From: Bill Davidsen @ 2004-08-09 19:46 UTC (permalink / raw)
  To: Rick Lindsley; +Cc: Adrian Bunk, Martin J. Bligh, Andrew Morton, linux-kernel

Rick Lindsley wrote:
> 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.

-- 
    -bill davidsen (davidsen@tmr.com)
"The secret to procrastination is to put things off until the
  last possible moment - but no longer"  -me

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: 2.6.8-rc3-mm1: SCHEDSTATS compile error
  2004-08-09 19:46         ` Bill Davidsen
@ 2004-08-09 19:51           ` Rick Lindsley
  0 siblings, 0 replies; 35+ messages in thread
From: Rick Lindsley @ 2004-08-09 19:51 UTC (permalink / raw)
  To: Bill Davidsen; +Cc: Adrian Bunk, Martin J. Bligh, Andrew Morton, linux-kernel

    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:

Signed-off-by: Rick Lindsley <ricklind@us.ibm.com>

diff -rup linux-2.6.8-rc3-mm1/Documentation/sched-stats.txt linux-2.6.8-rc3-mm1-ss/Documentation/sched-stats.txt
--- linux-2.6.8-rc3-mm1/Documentation/sched-stats.txt	Thu Aug  5 11:05:40 2004
+++ linux-2.6.8-rc3-mm1-ss/Documentation/sched-stats.txt	Thu Aug  5 11:37:53 2004
@@ -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
 
diff -rup linux-2.6.8-rc3-mm1/kernel/sched.c linux-2.6.8-rc3-mm1-ss/kernel/sched.c
--- linux-2.6.8-rc3-mm1/kernel/sched.c	Thu Aug  5 11:06:23 2004
+++ linux-2.6.8-rc3-mm1-ss/kernel/sched.c	Thu Aug  5 12:13:51 2004
@@ -342,10 +342,11 @@ static int show_schedstat(struct seq_fil
 	seq_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_fil
 
 		seq_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;
 }

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2004-08-09 19:58 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-05 10:19 2.6.8-rc3-mm1 Andrew Morton
2004-08-05 11:18 ` 2.6.8-rc3-mm1: SCHEDSTATS compile error Adrian Bunk
2004-08-05 15:25   ` Martin J. Bligh
2004-08-05 16:49     ` Adrian Bunk
2004-08-05 18:17       ` Rick Lindsley
2004-08-05 18:20         ` Adrian Bunk
2004-08-05 19:15           ` Rick Lindsley
2004-08-05 19:54             ` Luiz Fernando N. Capitulino
2004-08-05 20:20             ` Adrian Bunk
2004-08-09 19:46         ` Bill Davidsen
2004-08-09 19:51           ` Rick Lindsley
2004-08-05 11:20 ` 2.6.8-rc3-mm1 Sean Neakums
2004-08-05 11:49 ` 2.6.8-rc3-mm1: ALSA: vortex_asXtalkGainsAllChan multiple definitions Adrian Bunk
2004-08-05 12:38 ` 2.6.8-rc3-mm1: ip2mainc-add-missing-pci_enable_device breaks compilation Adrian Bunk
2004-08-05 15:45   ` Bjorn Helgaas
2004-08-05 12:50 ` 2.6.8-rc3-mm1 William Lee Irwin III
2004-08-05 13:03 ` 2.6.8-rc3-mm1 William Lee Irwin III
2004-08-05 21:38   ` 2.6.8-rc3-mm1 Andrew Morton
2004-08-06 15:25     ` 2.6.8-rc3-mm1 William Lee Irwin III
2004-08-05 13:24 ` 2.6.8-rc3-mm1 William Lee Irwin III
2004-08-05 13:36 ` 2.6.8-rc3-mm1 William Lee Irwin III
2004-08-05 16:13 ` 2.6.8-rc3-mm1 William Lee Irwin III
2004-08-05 16:42 ` 2.6.8-rc3-mm1 Christoph Hellwig
2004-08-05 20:24   ` 2.6.8-rc3-mm1 Alan Cox
2004-08-05 16:52 ` 2.6.8-rc3-mm1 (compile stats) John Cherry
2004-08-06  3:34 ` 2.6.8-rc3-mm1 William Lee Irwin III
2004-08-06  4:24   ` 2.6.8-rc3-mm1 William Lee Irwin III
2004-08-06  4:39     ` 2.6.8-rc3-mm1 William Lee Irwin III
2004-08-06  5:17       ` 2.6.8-rc3-mm1 Andrew Morton
     [not found] ` <20040806075219.GW17188@holomorphy.com>
2004-08-06  8:11   ` alpha signal race fixes William Lee Irwin III
2004-08-06 12:48 ` 2.6.8-rc3-mm1 Mark Watts
2004-08-06 19:58 ` 2.6.8-rc3-mm1: sk98lin/skge.c compile error with PROC_FS=n Adrian Bunk
2004-08-06 19:58 ` 2.6.8-rc3-mm1: PROC_FS=n link errors Adrian Bunk
2004-08-06 20:24   ` William Lee Irwin III
2004-08-06 20:33     ` William Lee Irwin III

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.