2.6.13-rc3-mm3

0 views
Skip to first unread message

Andrew Morton

unread,
Jul 28, 2005, 6:10:12 AM7/28/05
to

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm3/

- Added the anonymous pagefault scalability enhancement patches.

I remain fairly dubious about this - it seems a fairly specific and
complex piece of work to speed up one extremely specific part of one type of
computer's one type of workload. Surely there's a better way :(

The patches at present spit warnings or don't compile on lots of
architectures. x86, x86_64, ppc64 and ia64 are OK.

- There's a pretty large x86_64 update here which naughty maintainer wants
in 2.6.13. Extra testing, please.

- Dropped git-net.patch (davem's net devel tree). I'm seeing weird TCP
hangs. I'm fairly sure they're present in mainline, but was unable to
reproduce it without git-net.patch when I was actually trying.

Changes since 2.6.13-rc3-mm2:


linus.patch
git-acpi.patch
git-cryptodev.patch
git-drm.patch
git-audit.patch
git-input.patch
git-kbuild.patch
git-libata-adma-mwi.patch
git-libata-chs-support.patch
git-libata-passthru.patch
git-libata-promise-sata-pata.patch
git-netdev-chelsio.patch
git-netdev-e100.patch
git-netdev-smc91x-eeprom.patch
git-netdev-ieee80211-wifi.patch
git-ocfs2.patch
git-serial.patch
git-scsi-block.patch
git-scsi-misc-drivers-scsi-chc-remove-devfs-stuff.patch

Subsystem trees

-i2c-mpc-restore-code-removed.patch
-really-__nocast-annotate-kmalloc_node.patch
-mips-fbdev-kconfig-fix.patch
-md-when-resizing-an-array-we-need-to-update-resync_max_sectors-as-well-as-size.patch
-uml-readd-missing-define-to-arch-um-makefile-i386.patch
-uml-add-dependency-to-arch-um-makefile-for-parallel-builds.patch
-uml-add-skas0-command-line-option.patch
-uml-update-module-interface.patch
-uml-fix-misdeclared-function.patch
-x86_64-fix-smp-boot-lockup-on-some-machines.patch
-try_to_freeze-call-fixes.patch
-add-missing-tvaudio-try_to_freeze.patch
-fix-missing-refrigerator-invocation-in-jffs2.patch
-as-ioched-tunable-encoding-fix.patch
-reiserfs-fix-deadlock-in-inode-creation-failure-path-w-default-acl.patch
-ext2-drop-quota-reference-before-releasing-inode.patch
-ext3-drop-quota-references-before-releasing-inode.patch
-pnp-build-fix.patch
-address-bug-using-smp_processor_id-in-preemptible.patch
-watchdog-add-missing-0x-in-alim1535_wdtc.patch
-itimer-fixes.patch
-add-pcibios_bus_to_resource-for-parisc.patch
-autofs4-fix-infamous-busy-inodes-after-umount-message.patch
-scsi_scan-check-return-code-from-scsi_sysfs_add_sdev.patch
-i4l-add-olitec-isdn-pci-card-in-hisax-gazel-driver.patch
-jsm-use-dynamic-major-number-allocation.patch
-jsm-warning-fixes.patch
-undo-mempolicy-shared-policy-rbtree-microoptimization.patch
-ub-fix-for-blank-cds.patch
-fix-xip-sparse-file-handling-in-ext2.patch
-check_user_page_readable-deadlock-fix.patch
-mpt-fusion-free-irq-in-suspend.patch
-eurotechwdt-build-fix.patch
-softdog-build-fix.patch
-x86_64-fsnotify-build-fix.patch
-fix-warning-in-powernow-k8c.patch
-speakup-build-fix.patch
-drm-via-fix-sparse-warnings.patch
-netfilter-build-fix.patch
-ipv6_netfilter_init-warning-fix.patch
-consolidate-config_watchdog_nowayout-handling.patch
-madvise-does-not-always-return-ebadf-on-non-file.patch
-remove-bogus-warning-in-page_allocc.patch
-ppc-ppc64-use-kconfighz.patch
-ppc32-update-defconfigs.patch
-ppc32-add-proper-prototype-for-cpm2_reset.patch
-ppc32-make-the-uarts-on-mpc824x-individual-platform-devices.patch
-ppc32-8xx-update-datatlbmiss-exception-comment.patch
-ppc-fix-compilation-error-with-config_pq2fads.patch
-ppc32-fix-typo-in-setup-of-2nd-pci-bus-on-85xx.patch
-ppc32-fix-building-of-prpmc750.patch
-ppc32-fix-building-of-radstone_ppc7d.patch
-ppc32-fix-dma_map_page-to-use-page_to_bus.patch
-ppc32-fix-440sp-mal-channels-count.patch
-ppc32-fix-building-of-tqm8260-board.patch
-ppc64-update-defconfigs.patch
-ppc64-hide-config_adb.patch
-ppc64-genrtc-build-fix.patch
-make-a-few-functions-static-in-pmac_setupc.patch
-ppc64-dynamically-allocate-segment-tables.patch
-ppc64-remove-another-fixed-address-constraint.patch
-mips-remove-obsolete-giu-driver-for-vr41xx.patch
-i386-add-missing-kconfig-help-text.patch
-m32r-add-missing-kconfig-help-text.patch
-cris-update-1-17-arch-split.patch
-cris-update-2-17-configuration-and-build.patch
-cris-update-3-17-console.patch
-cris-update-4-17-debug.patch
-cris-update-5-17-drivers.patch
-cris-update-6-17-i-o-and-dma-allocator.patch
-cris-update-7-17-irq.patch
-cris-update-8-17-misc-patches.patch
-cris-update-9-17-mm.patch
-cris-update-10-17-pci.patch
-cris-update-11-17-profiler.patch
-cris-update-12-17-serial-port-driver.patch # rmk said no
-cris-update-13-17-smp.patch
-cris-update-14-17-synchronous-serial-port-driver.patch
-cris-update-15-17-updates-for-2612.patch
-cris-update-17-17-new-subarchitecture-v32.patch
-cris-update-17-17-new-subarchitecture-v32-swapped-kmalloc-args.patch
-cris-ide-driver.patch
-v850-define-pfn_valid.patch
-v850-const-qualify-first-parameter-of-find_next_zero_bit.patch
-v850-add-defconfigs.patch
-v850-update-ioremap-return-type-and-add-ioread-iowrite-functions.patch
-v850-add-pte_file.patch
-v850-update-pci-support.patch
-v850-define-l1_cache_shift-and-l1_cache_shift_max.patch
-s390-spin-lock-retry.patch
-s390-find_next_zero_bit-fixes.patch
-s390-atomic64-inline-functions.patch
-s390-external-call-performance.patch
-s390-debug-data-for-ifcc-ccc.patch
-s390-resource-accessibility-event-handling.patch
-s390-fba-dasd-i-o-errors.patch
-s390-free-dasd-slab-cache.patch
-s390-channel-tape-fixes.patch
-s390-31-bit-memory-size-limit.patch
-s390-cpu-timer-reset-in-machine-check-handler.patch
-s390-use-__cpcmd-in-vmcp_write.patch
-fortuna-random-driver-fix.patch
-stale-posix-lock-handling.patch
-cciss-per-disk-queue.patch
-kernel-capabilityc-add-kerneldoc.patch
-kernel-cpusetc-add-kerneldoc-fix-typos.patch
-kernel-crash_dumpc-add-kerneldoc.patch
-tpm-support-for-infineon-tpm.patch
-ppc64-tpm_infineon-build-fix.patch
-mbcache-remove-unused-mb_cache_shrink-parameter.patch
-documentation-changes-document-the-required-udev-version.patch
-reiserfs-doesnt-use-mbcache.patch
-ia64-halt-hangup-fix.patch
-turn-many-if-undefined_string-into-ifdef-undefined_string.patch
-riva-wundef-fix.patch
-sys_get_thread_area-does-not-clear-the-returned-argument.patch
-serial_core-whitespace-fix.patch
-add-text-for-dealing-with-dot-releases-to-readme.patch
-ib-update-fmr-functions.patch
-ib-update-mad-client-api.patch
-ib-add-mad-helper-functions.patch
-ib-combine-some-mad-routines.patch
-ib-change-saving-of-users-send-wr_id-in-mad.patch
-ib-change-ib_mad_send_wr_private-struct.patch
-ib-fix-timeout-cancelled-mad-handling.patch
-ib-minor-cleanup-during-mad-startup-and-shutdown.patch
-ib-add-ib_coalesce_recv_mad-to-mad.patch
-ib-add-automatic-retries-to-mad-layer.patch
-ib-simplify-calling-of-list_del-in-mad.patch
-ib-eliminate-mad-cache-leak-associated-with-local.patch
-ib-add-ib_modify_mad-api-to-mad.patch
-ib-optimize-canceling-a-mad.patch
-ib-fix-a-couple-of-mad-code-paths.patch
-ib-add-ib_create_ah_from_wc-to-ib-verbs.patch
-ib-a-couple-of-ib-core-bug-fixes.patch
-ib-introduce-rmpp-apis.patch
-ib-add-rmpp-implementation.patch
-ib-add-service-record-support-to-sa-client.patch
-ib-add-the-header-file-for-kernel-cm-communications.patch
-ib-add-the-kernel-cm-implementation.patch
-ib-user-mad-abi-changes-to-support-rmpp.patch
-ib-implementation-for-rmpp-support-in-user-mad.patch
-ib-add-the-header-file-for-user-space-cm.patch
-ib-add-kernel-portion-of-user-cm-implementation.patch
-ib-add-kernel-portion-of-user-cm-implementation-fix.patch
-ib-hook-up-userspace-cm-to-the-make-system.patch
-ib-eliminate-sparse-warnings-in-sa-client.patch
-ib-add-core-locking-documentation-to-infiniband.patch
-dvico-fusion-dvb-t1-tuner-lg-z201-fix.patch
-drivers-media-video-tveepromc-possible-cleanups.patch
-video_saa7134-must-depend-on-sound.patch
-v4l-fix-regression-modprobe-bttv-freezes-the-computer.patch
-dvb-v4l-lgdt3302-isolate-tuner.patch
-dvb-v4l-rf-input-selection-fix.patch
-lgdt3302-warning-fix.patch
-dvb-v4l-cx88-cleanup.patch
-v4l-hybrid-dvb-fix-warnings-with-wundef.patch
-v4l-hybrid-dvb-move-defines-to-makefile.patch
-v4l-hybrid-dvb-rename-cflags-from-config_dvb_xxxx-back.patch
-v4l-fix-tuning-with-mxb-driver.patch
-dvb-rename-lgdt3302-frontend-module-to-lgdt330x.patch
-serial-mri-mri-pcids1-dual-port-serial-card.patch
-clean-up-the-old-digi-support-and-rescue-it.patch
-cpm_uart-use-dpram-for-early-console.patch
-fbmon-horizontal-frequency-rounding-fix.patch
-fbmem-use-unregister_chrdev-on-unload.patch
-radeonfb-clean-up-edid-sysfs-attribute.patch
-fbdev-colormap-fixes.patch
-dont-repaint-the-cursor-when-it-is-disabled.patch
-fbdev-update-info-cmap-when-setting-cmap-from-user-kernelspace.patch
-clean-up-inline-static-vs-static-inline.patch
-update-credits-entry-and-listings-in-source-files-for-jesper.patch

Merged

+bio_clone-fix.patch

Fix BIO cloning bug - might be the cause of data corruption on some MD
setups.

+x86_64-always-ack-ipis-even-on-errors.patch
+x86_64-update-defconfig.patch
+x86_64-use-for_each_cpu_mask-for-clustered-ipi-flush.patch
+x86_64-i386-x86_64-remove-prototypes-for-not-existing.patch
+x86_64-move-cpu_present-possible_map-parsing-earlier.patch
+x86_64-minor-clean-up-to-cpu-setup-use-smp_processor_id-instead-of-custom-hack.patch
+x86_64-clarify-booting-processor-message.patch
+x86_64-some-cleanup-in-setup64c.patch
+x86_64-remove-unused-variable-in-delayc.patch
+x86_64-improve-config_gart_iommu-description-and-make-it-default-y.patch
+x86_64-some-updates-for-boot-optionstxt.patch
+x86_64-fix-some-comments-in-tlbflushh.patch
+x86_64-remove-obsolete-eat_key-prototype.patch
+x86_64-fix-some-typos-in-systemh-comments.patch
+x86_64-fix-incorrectly-defined-msr_k8_syscfg.patch
+x86_64-fix-overflow-in-numa-hash-function-setup.patch
+x86_64-print-a-boot-message-for-hotplug-memory-zones.patch
+x86_64-create-per-cpu-machine-check-sysfs-directories.patch
+x86_64-remove-ia32_-build-tools-in-makefile.patch
+x86_64-remove-the-broadcast-options-that-were-added-for.patch
+x86_64-support-more-than-8-cores-on-amd-systems.patch
+x86_64-icecream-has-no-way-of-detecting-assembler-level.patch
+x86_64-turn-bug-data-into-valid-instruction.patch
+x86_64-when-running-cpuid4-need-to-run-on-the-correct.patch
+x86_64-remove-unnecessary-include-in-faultc.patch
+x86_64-small-assembly-improvements.patch
+x86_64-switch-to-the-interrupt-stack-when-running-a.patch
+x86_64-fix-srat-handling-on-non-dual-core-systems.patch
+x86_64-fix-gcc-4-warning-in-sched_find_first_bit.patch
+x86_64-use-msleep-in-smpbootc.patch
+x86_64-remove-unused-variable-in-k8-busc.patch
+x86_64-fix-cpu_to_node-setup-for-sparse-apic_ids.patch

x86_64 update

+cs89x0-collect-tx_bytes-statistics.patch

net driver stats fix

+ppc32-inotify-syscalls.patch
+ppc64-inotify-syscalls.patch

ppc32/ppc64 syscall table updates

+selinux-default-labeling-of-mls-field.patch

SELinux multilevel security feature work

+pcdp-if-pcdp-contains-parity-information-use-it.patch

pcdp driver fix

+qla2xxx-mark-dependency-on-fw_loader.patch

qlogic Kconfig fix

+alpha-fix-statement-with-no-effect-warnings.patch

Alpha warning fixes

+mm-ensure-proper-alignment-for-node_remap_start_pfn.patch

memory management initialisation fix

-move-truncate_inode_pages-into-delete_inode.patch

This is in git-ocfs2.patch

+mpt-fusion-free-irq-in-suspend.patch

mpt-fusion power management fix

+gregkh-driver-stable_api_nonsense.txt-fixes.patch
+gregkh-driver-speakup-kconfig-fix.patch
+gregkh-driver-speakup-kconfig-fix-2.patch
+gregkh-driver-speakup-build-fix.patch

Greg's driver core tree

+drivers-char-drm-drm_pcic-fix-warnings.patch

Warning fixes

+gregkh-i2c-w1-netlink-callbacks.patch

Greg's i2c tree

+git-net-gregkh-i2c-w1-netlink-callbacks-fix.patch

Fix incompatibility between git-net and Greg's i2c tree

+include-net-ieee80211h-must-include-linux-wirelessh.patch

net build fix

+gregkh-pci-pci-restore-bar-values.patch

Greg's PCI tree

-revert-gregkh-pci-pci-assign-unassigned-resources.patch

Hopefully no longer needed

+mpt-fusion-dv-fixes.patch

Try to fix some mpt-fusion domain validation problems (doesn't seem to work)

+gregkh-usb-usb-ftdi_sio-new-devices.patch
+gregkh-usb-usb-ftdi_sio-rts-dtr.patch
+gregkh-usb-usb-ftdi_sio-timeout-fix.patch
+gregkh-usb-usb-usbfs-dont-leak-data.patch
+gregkh-usb-usb-usbnet-remove-unused-vars.patch
+gregkh-usb-usb-dont-delete-unregistered-interfaces.patch
+gregkh-usb-usb-usbserial-remove-unneeded-casts.patch

Greg's USB tree

-proc-pid-numa_maps-to-show-on-which-nodes-pages-reside-tidy.patch

Folded into proc-pid-numa_maps-to-show-on-which-nodes-pages-reside.patch

+vm-add-capabilites-check-to-set_zone_reclaim.patch

Make sys_set_zone_reclaim() privileged

+page-fault-patches-introduce-pte_xchg-and-pte_cmpxchg.patch
+page-fault-patches-introduce-pte_xchg-and-pte_cmpxchg-fix.patch
+page-fault-patches-optional-page_lock-acquisition-in.patch
+page-fault-patches-optional-page_lock-acquisition-in-tidy.patch
+page-fault-patches-no-pagetable-lock-in-do_anon_page.patch

anonymous pagefault scalability enhancements.

-net-add-driver-for-the-nic-on-cell-blades-kconfig-fix.patch

Folded into net-add-driver-for-the-nic-on-cell-blades.patch

-sk98lin-basic-suspend-resume-support-fix.patch

Folded into sk98lin-basic-suspend-resume-support.patch

+ppc32-mark-boards-that-dont-build-as-broken.patch
+ppc32-add-440ep-support.patch
+ppc32-add-bamboo-platform.patch
+ppc32-add-bamboo-defconfig.patch
+ppc32-remove-board-support-for-adir.patch
+ppc32-remove-board-support-for-ash.patch
+ppc32-remove-board-support-for-beech.patch
+ppc32-remove-defconfig-for-cedar.patch
+ppc32-remove-board-support-for-k2.patch
+ppc32-remove-board-support-for-mcpn765.patch
+ppc32-remove-board-support-for-menf1.patch
+ppc32-remove-board-support-for-oak.patch
+ppc32-remove-board-support-for-rainier.patch
+ppc32-remove-board-support-for-redwood.patch
+ppc32-remove-board-support-for-sm850.patch
+ppc32-remove-board-support-for-spd823ts.patch
+ppc32-remove-board-support-for-ep405.patch
+ppc32-remove-board-support-for-pcore.patch

ppc32 work

+ppc64-remove-nested-feature-sections.patch

ppc64 cleanup

+ptrace-i386-fix-syscall-audit-interaction-with-singlestep.patch
+uml-support-ptrace-adds-the-host-sysemu-support-for-uml-and-general-usage.patch
+uml-support-reorganize-ptrace_sysemu-support.patch
+uml-support-add-ptrace_sysemu_singlestep-option-to-i386.patch
+sysemu-fix-sysaudit--singlestep-interaction.patch

UML feature work

-areca-raid-linux-scsi-driver-fix.patch

Folded into areca-raid-linux-scsi-driver.patch (will be dropped from next -mm)

-relayfs-cancel-work-on-close-reset.patch
-relayfs-add-private-data-to-channel-struct.patch
-relayfs-function-docfix.patch
-relayfs-add-relayfs-website-to-documentation.patch
-avoid-lookup_hash-usage-in-relayfs.patch

Folded into relayfs.patch

-add-skip_hangcheck_timer.patch

Dropped, but will come back.

-yealink-updates.patch
-yealink-updates-0701.patch

Folded into new-driver-for-yealink-usb-p1k-phone.patch

+support-powering-sharp-zaurus-sl-5500-lcd-up-and-down.patch

Make Pavel's Zausus happier

+radix_tag_get-differentiate-between-no-present-node-and-tag-unset-cases.patch
+radix_tag_get-differentiate-between-no-present-node-and-tag-unset-cases-fix.patch

radix_tree_tag_get() API enhancement.

+aio-fix-races-in-callback-path.patch

AIO race fix

+auxiliary-vector-cleanups.patch

SHuffle the AT_* auxiliary vector defines around

+pnp-consolidate-kmalloc-wrappers.patch

PNP cleanup

-fix-race-in-do_get_write_access-warning-fix.patch

Folded into fix-race-in-do_get_write_access.patch

-kprobes-prevent-possible-race-conditions-generic-fixes.patch

Folded into kprobes-prevent-possible-race-conditions-generic.patch

-kprobes-prevent-possible-race-conditions-ia64-changes-fixes.patch

Folded into kprobes-prevent-possible-race-conditions-ia64-changes.patch

-connector-exit-notifier-fix.patch
-connector-exit-notifier-remove-the-union-declaration.patch
-connector-exit-notifier-fix-missing-dependencies-in.patch

Folded into connector-exit-notifier.patch

-connector-add-a-fork-connector-use-after-free-fix.patch
-connector-add-a-fork-connector-remove-the-union-declaration-fork.patch
-connector-fork-notifier-fix-missing-dependencies-in.patch

Folded into connector-add-a-fork-connector.patch

-jbd-split-checkpoint-lists-tweaks.patch

Folded into jbd-split-checkpoint-lists.patch

-spinlock-consolidation-m32r-fix.patch
-spinlock-consolidation-up-spinlocks-gcc-29x-fix.patch
-page_uptodate-locking-scalability-fix.patch
-spinlock-consolidation-s390-fix.patch

Folded into spinlock-consolidation.patch

-revert-fix-broken-kmalloc_node-in-rc1-rc2.patch
-numa-aware-slab-allocator-v5-fix.patch
-numa-slab-allocator-cleanups.patch

Folded into numa-aware-slab-allocator-v5.patch

-iteraid-remove-ite_ioc_get_driver_version.patch

Folded into iteraid.patch (will be dropped from next -mm)

-page-owner-tracking-leak-detector-tidy.patch

Folded into page-owner-tracking-leak-detector.patch

-perfctr-handle-non-of-ppc32-platforms.patch
-perfctr-syscall-numbering-fixups.patch

Folded into perfctr.patch

+split-general-cache-manager-from-cachefs-fs-fscache-cleanups.patch

clean up split-general-cache-manager-from-cachefs.patch

-files-break-up-files-struct-warning-fix.patch

Folded into files-break-up-files-struct.patch

-asfs-filesystem-driver-fixes.patch

Folded into asfs-filesystem-driver.patch

-v9fs-documentation-makefiles-configuration-resend-take-2.patch

Folded into v9fs-documentation-makefiles-configuration.patch

-v9fs-vfs-file-dentry-and-directory-operations-fix-fsf-postal-address-in-source-headers.patch
-v9fs-vfs-file-dentry-and-directory-operations-resend-take-2.patch

Folded into v9fs-vfs-file-dentry-and-directory-operations.patch

-v9fs-vfs-inode-operations-fix-fsf-postal-address-in-source-headers.patch
-v9fs-vfs-inode-operations-resend-take-2.patch

Folded into v9fs-vfs-inode-operations.patch

-v9fs-vfs-superblock-operations-and-glue-fix-fsf-postal-address-in-source-headers.patch
-v9fs-vfs-superblock-operations-and-glue-resend-take-2.patch
-v9fs-vfs-superblock-operations-and-glue-replace-v9fs_block_bits-with-fls.patch

Folded into v9fs-vfs-superblock-operations-and-glue.patch

-v9fs-9p-protocol-implementation-fix-fsf-postal-address-in-source-headers.patch
-v9fs-9p-protocol-implementation-resend-take-2.patch

Folded into v9fs-9p-protocol-implementation.patch

-v9fs-transport-modules-fix-fsf-postal-address-in-source-headers.patch
-v9fs-transport-modules-fix-timeout-segfault-corner-case.patch
-v9fs-transport-modules-resend-take-2.patch

Folded into v9fs-transport-modules.patch

-v9fs-debug-and-support-routines-fix.patch
-v9fs-debug-and-support-routines-fix-fsf-postal-address-in-source-headers.patch
-v9fs-debug-and-support-routines-resend-take-2.patch

Folded into v9fs-debug-and-support-routines.patch

-v9fs-clean-up-vfs_inode-and-setattr-functions-2.patch

Folded into v9fs-clean-up-vfs_inode-and-setattr-functions.patch

+serial-add-mmio-support-to-8250_pnp.patch

Add MMIO support to the UART driver

-device-mapper-fix-deadlocks-in-core-prep-fix.patch

Folded into device-mapper-fix-deadlocks-in-core-prep.patch

-timer-initialization-cleanup-define_timer-pluto-fix.patch

Folded into timer-initialization-cleanup-define_timer.patch

All 633 patches:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm3/patch-list
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Adrian Bunk

unread,
Jul 28, 2005, 6:50:30 AM7/28/05
to
On Thu, Jul 28, 2005 at 02:58:40AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.13-rc3-mm2:
>...
> +alpha-fix-statement-with-no-effect-warnings.patch
>
> Alpha warning fixes
>...

This patch broke the compilation on i386 with CONFIG_SMP=n and
CONFIG_MTRR=y:

<-- snip -->

...
CC arch/i386/kernel/cpu/mtrr/main.o
arch/i386/kernel/cpu/mtrr/main.c: In function 'set_mtrr':
arch/i386/kernel/cpu/mtrr/main.c:225: error: 'ipi_handler' undeclared (first use in this function)
arch/i386/kernel/cpu/mtrr/main.c:225: error: (Each undeclared identifier is reported only once
arch/i386/kernel/cpu/mtrr/main.c:225: error: for each function it appears in.)
make[3]: *** [arch/i386/kernel/cpu/mtrr/main.o] Error 1

<-- snip -->


Signed-off-by: Adrian Bunk <bu...@stusta.de>

--- linux-2.6.13-rc3-mm3/arch/i386/kernel/cpu/mtrr/main.c.old 2005-07-28 12:36:09.000000000 +0200
+++ linux-2.6.13-rc3-mm3/arch/i386/kernel/cpu/mtrr/main.c 2005-07-28 12:39:35.000000000 +0200
@@ -221,9 +221,11 @@
atomic_set(&data.count, num_booting_cpus() - 1);
atomic_set(&data.gate,0);

+#ifdef CONFIG_SMP
/* Start the ball rolling on other CPUs */
if (smp_call_function(ipi_handler, &data, 1, 0) != 0)
panic("mtrr: timed out waiting for other CPUs\n");
+#endif /* CONFIG_SMP */

local_irq_save(flags);

Alexandre Buisse

unread,
Jul 28, 2005, 7:00:22 AM7/28/05
to
Sebastian Kaergel wrote:

> CC arch/i386/kernel/cpu/mtrr/main.o
>arch/i386/kernel/cpu/mtrr/main.c: In Funktion »set_mtrr«:


>arch/i386/kernel/cpu/mtrr/main.c:225: error: `ipi_handler' undeclared (first use in this function)
>arch/i386/kernel/cpu/mtrr/main.c:225: error: (Each undeclared identifier is reported only once
>arch/i386/kernel/cpu/mtrr/main.c:225: error: for each function it appears in.)

>make[3]: *** [arch/i386/kernel/cpu/mtrr/main.o] Fehler 1
>make[2]: *** [arch/i386/kernel/cpu/mtrr] Fehler 2
>make[1]: *** [arch/i386/kernel/cpu] Fehler 2
>make: *** [arch/i386/kernel] Fehler 2
>
>I'm in a hurry, so I got no time to see what's causing this. Config is attached.
>
>
I have the same error here (MTRR enabled and no SMP).
I solved it by adding #ifdef CONFIG_SMP around lines 224 to 226 in this
file, but I am not sure it is totally safe.
I don't see why smp specific operations are not protected this way in
this file.

Regards,
Alexandre

Rafael J. Wysocki

unread,
Jul 28, 2005, 3:20:12 PM7/28/05
to
On Thursday, 28 of July 2005 11:58, Andrew Morton wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm3/
>
> - Added the anonymous pagefault scalability enhancement patches.
>
> I remain fairly dubious about this - it seems a fairly specific and
> complex piece of work to speed up one extremely specific part of one type of
> computer's one type of workload. Surely there's a better way :(
>
> The patches at present spit warnings or don't compile on lots of
> architectures. x86, x86_64, ppc64 and ia64 are OK.
>
> - There's a pretty large x86_64 update here which naughty maintainer wants
> in 2.6.13. Extra testing, please.

There are two problems with the compilation of arch/x86_64/kernel/nmi.c.
The following patch fixes them.

Greets,
Rafael


Signed-off-by: Rafael J. Wysocki <r...@sisk.pl>

--- linux-2.6.13-rc3-mm3/arch/x86_64/kernel/nmi.c 2005-07-28 21:05:53.000000000 +0200
+++ patched/arch/x86_64/kernel/nmi.c 2005-07-28 18:58:02.000000000 +0200
@@ -152,8 +152,10 @@ int __init check_nmi_watchdog (void)

printk(KERN_INFO "testing NMI watchdog ... ");

+#ifdef CONFIG_SMP
if (nmi_watchdog == NMI_LOCAL_APIC)
smp_call_function(nmi_cpu_busy, (void *)&endflag, 0, 0);
+#endif

for (cpu = 0; cpu < NR_CPUS; cpu++)
counts[cpu] = cpu_pda[cpu].__nmi_count;
@@ -290,7 +292,7 @@ void enable_timer_nmi_watchdog(void)

static int nmi_pm_active; /* nmi_active before suspend */

-static int lapic_nmi_suspend(struct sys_device *dev, u32 state)
+static int lapic_nmi_suspend(struct sys_device *dev, pm_message_t state)
{
nmi_pm_active = nmi_active;
disable_lapic_nmi_watchdog();

Andrew Morton

unread,
Jul 28, 2005, 3:30:17 PM7/28/05
to

"Rafael J. Wysocki" <r...@sisk.pl> wrote:
>
> There are two problems with the compilation of arch/x86_64/kernel/nmi.c.

Thanks.

> --- linux-2.6.13-rc3-mm3/arch/x86_64/kernel/nmi.c 2005-07-28 21:05:53.000000000 +0200
> +++ patched/arch/x86_64/kernel/nmi.c 2005-07-28 18:58:02.000000000 +0200
> @@ -152,8 +152,10 @@ int __init check_nmi_watchdog (void)
>
> printk(KERN_INFO "testing NMI watchdog ... ");
>
> +#ifdef CONFIG_SMP
> if (nmi_watchdog == NMI_LOCAL_APIC)
> smp_call_function(nmi_cpu_busy, (void *)&endflag, 0, 0);
> +#endif
>
> for (cpu = 0; cpu < NR_CPUS; cpu++)
> counts[cpu] = cpu_pda[cpu].__nmi_count;

This bit is no longer needed, since
alpha-fix-statement-with-no-effect-warnings.patch got dropped.

Christoph Lameter

unread,
Jul 28, 2005, 3:40:10 PM7/28/05
to
On Thu, 28 Jul 2005, Andrew Morton wrote:

> I remain fairly dubious about this - it seems a fairly specific and
> complex piece of work to speed up one extremely specific part of one type of
> computer's one type of workload. Surely there's a better way :(

The patches provide the basis for more work on this issue. But we need to
start somewhere. The specific issue addresses in the initial patchset is
becoming a common case for multi-core applications.

> The patches at present spit warnings or don't compile on lots of
> architectures. x86, x86_64, ppc64 and ia64 are OK.

I have just sent a fix to you this morning when I got your messages.
Sadly I do not have access to the architectures that failed (arm, alpha
and ppc32) but the fix simply removes code that is not used for these
arches.

Russell King

unread,
Jul 28, 2005, 4:00:27 PM7/28/05
to
On Thu, Jul 28, 2005 at 10:11:18AM -0700, Christoph Lameter wrote:
> On Thu, 28 Jul 2005, Andrew Morton wrote:
> > The patches at present spit warnings or don't compile on lots of
> > architectures. x86, x86_64, ppc64 and ia64 are OK.
>
> I have just sent a fix to you this morning when I got your messages.
> Sadly I do not have access to the architectures that failed (arm, alpha
> and ppc32) but the fix simply removes code that is not used for these
> arches.

ARM can't support atomic page table operations as such - the Linux view
of the page table is separate from the hardware view, and there's some
CPU specific code which translates from the Linux view to the hardware
view.

Looking at the actual patches, particularly pte_xchg-and-pte_cmpxchg.patch
combined with the above, the ARM solution would be to go back to using
non-atomic operations here (since we can't do this atomically.) Also,
since the MMU will only ever read from the page tables, I don't think
we need to play any games with clearing out ptes before we replace the
value.

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

Michael Thonke

unread,
Jul 28, 2005, 4:20:11 PM7/28/05
to
Hello Andrew,

I have some questions :-)
Reiser4:

why there are undefined functions implemented that currently not in use?
This messages appeared first time in 2.6.13-rc3-mm2.

Any why it complains even CONFIG_REISER4_DEBUG is not set?
Please have a look at the -->snip

SCSI:

CONFIG_SCSI_QLA2XXX=y ? I haven't choose that one..I never did..and
where is the config located?
In the place where it is..is no option marked.

Thanks for help,

Greets
Michael


--> snip
fs/reiser4/plugin/item/static_stat.c:1158:5: warning:
"REISER4_DEBUG_OUTPUT" is not defined
fs/reiser4/plugin/item/static_stat.c:1176:5: warning:
"REISER4_DEBUG_OUTPUT" is not defined
fs/reiser4/plugin/item/static_stat.c:1194:5: warning:
"REISER4_DEBUG_OUTPUT" is not defined
fs/reiser4/plugin/item/static_stat.c:1213:5: warning:
"REISER4_DEBUG_OUTPUT" is not defined
CC fs/reiser4/plugin/item/sde.o
In file included from fs/reiser4/plugin/item/../plugin.h:26,
from fs/reiser4/plugin/item/sde.c:11:
fs/reiser4/plugin/item/../node/node40.h:83:5: warning: "GUESS_EXISTS" is
not defined
fs/reiser4/plugin/item/sde.c:21:5: warning: "REISER4_DEBUG_OUTPUT" is
not defined
CC fs/reiser4/plugin/item/cde.o
In file included from fs/reiser4/plugin/item/../plugin.h:26,
from fs/reiser4/plugin/item/cde.c:65:
fs/reiser4/plugin/item/../node/node40.h:83:5: warning: "GUESS_EXISTS" is
not def

Andrew Morton

unread,
Jul 28, 2005, 4:30:14 PM7/28/05
to
Michael Thonke <iogl...@gmail.com> wrote:
>
> Hello Andrew,
>
> I have some questions :-)
> Reiser4:
>
> why there are undefined functions implemented that currently not in use?
> This messages appeared first time in 2.6.13-rc3-mm2.
>
> Any why it complains even CONFIG_REISER4_DEBUG is not set?

That's due to the code using `#if CONFIG_xx' instead of `#ifdef'.

>
> SCSI:
>
> CONFIG_SCSI_QLA2XXX=y ? I haven't choose that one..I never did..and
> where is the config located?

Someone was doing wrong things in the Makefile. I think that has been
subsequently fixed.

Adrian Bunk

unread,
Jul 28, 2005, 4:40:20 PM7/28/05
to
On Thu, Jul 28, 2005 at 10:09:57PM +0000, Michael Thonke wrote:

> Hello Andrew,
>
> I have some questions :-)
> Reiser4:
>
> why there are undefined functions implemented that currently not in use?
> This messages appeared first time in 2.6.13-rc3-mm2.
>
> Any why it complains even CONFIG_REISER4_DEBUG is not set?
> Please have a look at the -->snip

These aren't functions, these are #if FOO where FOO isn't #define'd.
In most such cases, changing the #if ti #ifdef fixes the issue (and in
some rare cases these warnings fix bugs).

Since 2.6.13-rc3-mm2 the gcc Warning for such things was activated.

> SCSI:
>
> CONFIG_SCSI_QLA2XXX=y ? I haven't choose that one..I never did..and
> where is the config located?
> In the place where it is..is no option marked.

It's located in drivers/scsi/qla2xxx/Kconfig.

It shouldn't [1] activate any code, it's simply a helper option that
tells whether the QLA* options should be shown.

> Thanks for help,
>
> Greets
> Michael
>
>
> --> snip
> fs/reiser4/plugin/item/static_stat.c:1158:5: warning:
> "REISER4_DEBUG_OUTPUT" is not defined
> fs/reiser4/plugin/item/static_stat.c:1176:5: warning:
> "REISER4_DEBUG_OUTPUT" is not defined
> fs/reiser4/plugin/item/static_stat.c:1194:5: warning:
> "REISER4_DEBUG_OUTPUT" is not defined
> fs/reiser4/plugin/item/static_stat.c:1213:5: warning:
> "REISER4_DEBUG_OUTPUT" is not defined
> CC fs/reiser4/plugin/item/sde.o
> In file included from fs/reiser4/plugin/item/../plugin.h:26,
> from fs/reiser4/plugin/item/sde.c:11:
> fs/reiser4/plugin/item/../node/node40.h:83:5: warning: "GUESS_EXISTS" is
> not defined
> fs/reiser4/plugin/item/sde.c:21:5: warning: "REISER4_DEBUG_OUTPUT" is
> not defined
> CC fs/reiser4/plugin/item/cde.o
> In file included from fs/reiser4/plugin/item/../plugin.h:26,
> from fs/reiser4/plugin/item/cde.c:65:
> fs/reiser4/plugin/item/../node/node40.h:83:5: warning: "GUESS_EXISTS" is
> not def

cu
Adrian

[1] that's currently not completely true, but the problem will soon be
fixed

--

"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

Adrian Bunk

unread,
Jul 28, 2005, 4:50:10 PM7/28/05
to
On Thu, Jul 28, 2005 at 02:58:40AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.13-rc3-mm2:
>...
> +qla2xxx-mark-dependency-on-fw_loader.patch
>
> qlogic Kconfig fix
>...

This patch is wrong since it adds a select to SCSI_QLA2XXX.
Please drop it.

Andrew Vasquez had a better fix and is discussing it with James.

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

-

Christoph Lameter

unread,
Jul 28, 2005, 5:10:13 PM7/28/05
to
On Thu, 28 Jul 2005, Russell King wrote:

> ARM can't support atomic page table operations as such - the Linux view
> of the page table is separate from the hardware view, and there's some
> CPU specific code which translates from the Linux view to the hardware
> view.

Yes. The patches fall back to nonatomic operations for ARM.

> Looking at the actual patches, particularly pte_xchg-and-pte_cmpxchg.patch
> combined with the above, the ARM solution would be to go back to using
> non-atomic operations here (since we can't do this atomically.) Also,
> since the MMU will only ever read from the page tables, I don't think
> we need to play any games with clearing out ptes before we replace the
> value.

Ok. Then you can use a part of the patches. Define ptep_xchg and
ptep_cmpxchg for ARM so that you do can avoid intermittently clearing
ptes.

Here is the patch that I sent to Andrew in the morning:

Index: linux-2.6.13-rc3/mm/memory.c
===================================================================
--- linux-2.6.13-rc3.orig/mm/memory.c 2005-07-27 15:34:41.000000000 -0700
+++ linux-2.6.13-rc3/mm/memory.c 2005-07-28 09:24:05.000000000 -0700
@@ -2071,6 +2071,7 @@
*/
page_table_atomic_start(mm);
pgd = pgd_offset(mm, address);
+#ifndef __PAGETABLE_PUD_FOLDED
if (unlikely(pgd_none(*pgd))) {
pud_t *new;

@@ -2084,6 +2085,7 @@
if (!pgd_test_and_populate(mm, pgd, new))
pud_free(new);
}
+#endif

pud = pud_offset(pgd, address);
if (unlikely(pud_none(*pud))) {

Nick Sillik

unread,
Jul 28, 2005, 5:10:12 PM7/28/05
to
Andrew Morton wrote:
> Michael Thonke <iogl...@gmail.com> wrote:
>
>>Hello Andrew,
>>
>>I have some questions :-)
>>Reiser4:
>>
>>why there are undefined functions implemented that currently not in use?
>>This messages appeared first time in 2.6.13-rc3-mm2.
>>
>>Any why it complains even CONFIG_REISER4_DEBUG is not set?
>
>
> That's due to the code using `#if CONFIG_xx' instead of `#ifdef'.
>

I previously posted a patch that got rid of one of these, find it
attached again below.

Signed-off-by: Nick Sillik <n.si...@temple.edu>

reiser_node40_wundef.patch

Michael Thonke

unread,
Jul 28, 2005, 5:20:07 PM7/28/05
to
Nick Sillik schrieb:

>------------------------------------------------------------------------
>
>diff -urN a/fs/reiser4/plugin/node/node40.h b/fs/reiser4/plugin/node/node40.h
>--- a/fs/reiser4/plugin/node/node40.h 2005-07-27 18:14:04.000000000 -0400
>+++ b/fs/reiser4/plugin/node/node40.h 2005-07-27 18:14:53.000000000 -0400
>@@ -80,7 +80,7 @@
> int check_node40(const znode * node, __u32 flags, const char **error);
> int parse_node40(znode * node);
> int init_node40(znode * node);
>-#if GUESS_EXISTS
>+#ifdef GUESS_EXISTS
> int guess_node40(const znode * node);
> #endif
> void change_item_size_node40(coord_t * coord, int by);
>
>
Thanks, this fixed the complains on compiling kernel :-)

Michael Thonke

unread,
Jul 28, 2005, 5:40:09 PM7/28/05
to
Hello Andrew,

here again I have two problems. With 2.6.13-rc3-mm3 I have problems
using my SATA drives on Intel ICH6.
The kernel can't route there IRQs or can't discover them. the option
irqpoll got them to work now.
The problem is new because 2.6.13-rc3[-mm1,mm2] work without any problems.

The SATA drives are Samsung HD160JJ SATAII. The mainboard I use is a
ASUS P4GPL-X.

Second one is about Intel HD-Codec (snd-hda-intel) on modprobe when
loading the module it gives me

---> snip
hda_codec: Unknown model for ALC880, trying auto-probe from BIOS...
Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
f88713f4
*pde = 00000000
Oops: 0002 [#1]
PREEMPT
last sysfs file:
Modules linked in: snd_hda_intel snd_hda_codec nvidia
CPU: 0
EIP: 0060:[<f88713f4>] Tainted: P VLI
EFLAGS: 00010293 (2.6.13-rc3-mm3pm)
eax: fffffffe ebx: f3b33548 ecx: 00000000 edx: 00000000
esi: f3b33400 edi: 00000000 ebp: 00000006 esp: f0371ddc
ds: 007b es: 007b ss: 0068
Process modprobe (pid: 7398, threadinfo=f0370000 task=f4183560)
Stack: 00000000 00000000 00000000 00000000 f3b33400 f3b33548 f0f1d000
f8871933
f3b33400 f0f1d000 f8871bbd f8875478 f88748f6 00000001 f886d77e
00000f00
00000005 00000000 f0f1d000 f54d04c0 00000000 f886d984 00000f00
00000002
Call Trace:
[<f8871933>]
[<f8871bbd>]
[<f886d77e>]
[<f886d984>]
[<f886d592>]
[<c025b87e>]
[<f8f5c871>]
[<f8f5c100>]
[<f8f5c220>]
[<f8f5d533>]
[<c026866a>]
[<c02686be>]
[<c02686f6>]
[<c02bf763>]
[<c02bf899>]
[<c02bee1a>]
[<c02bf8b6>]
[<c02bf860>]
[<c02bf30c>]
[<c02bfc85>]
[<c0268958>]
[<c013b5c9>]
[<c0102fcb>]
Code: 31 c0 53 83 ec 10 89 d3 89 e7 f3 ab 8b 12 31 ff 83 fa 00 7e 45 89
f6 0f b7 44 7b 04 8d 48 ec 66 83 f9 03 77 13 8b 56 3c 83 e8 16 <66> 89
04 7a 8b 13 c7 04 8c 01 00 00 00 47 39 fa 7f da 31 ff 83
--> snip

I also attached the kernel-config and the lspci -vv output.

Thanks again for the patience and the help.

Best regards
Michael

Rafael J. Wysocki

unread,
Jul 28, 2005, 5:50:12 PM7/28/05
to
On Thursday, 28 of July 2005 21:16, Andrew Morton wrote:
>
> "Rafael J. Wysocki" <r...@sisk.pl> wrote:
> >
> > There are two problems with the compilation of arch/x86_64/kernel/nmi.c.
>
> Thanks.
>
> > --- linux-2.6.13-rc3-mm3/arch/x86_64/kernel/nmi.c 2005-07-28 21:05:53.000000000 +0200
> > +++ patched/arch/x86_64/kernel/nmi.c 2005-07-28 18:58:02.000000000 +0200
> > @@ -152,8 +152,10 @@ int __init check_nmi_watchdog (void)
> >
> > printk(KERN_INFO "testing NMI watchdog ... ");
> >
> > +#ifdef CONFIG_SMP
> > if (nmi_watchdog == NMI_LOCAL_APIC)
> > smp_call_function(nmi_cpu_busy, (void *)&endflag, 0, 0);
> > +#endif
> >
> > for (cpu = 0; cpu < NR_CPUS; cpu++)
> > counts[cpu] = cpu_pda[cpu].__nmi_count;
>
> This bit is no longer needed, since
> alpha-fix-statement-with-no-effect-warnings.patch got dropped.

OK

BTW, -mm3 works fine for me on two AMD64 boxes except for one thing:
On Asus L5D, if I resume the box from disk on battery power (ie the box is started
on battery power and resumes from disk), it hangs solid right after copying
the image (100% of the time). If it is resumed on AC power, everything is fine.

Well, -mm1[1-2] did the same thing so I think I'll create a Bugzilla entry and
start a binary search. :-( The -git[5-9] kernels are not affected by this issue.

Greets,
Rafael

PS
Could you please tell me how I can figure out the order in which the individual
patches in -mm have been applied?


--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"

Dirk

unread,
Jul 28, 2005, 6:10:10 PM7/28/05
to
Michael Thonke wrote:

> Hello Andrew,
>
> here again I have two problems. With 2.6.13-rc3-mm3 I have problems
> using my SATA drives on Intel ICH6.
> The kernel can't route there IRQs or can't discover them. the option
> irqpoll got them to work now.
> The problem is new because 2.6.13-rc3[-mm1,mm2] work without any
> problems.
>
> The SATA drives are Samsung HD160JJ SATAII. The mainboard I use is a
> ASUS P4GPL-X.
>
> Second one is about Intel HD-Codec (snd-hda-intel) on modprobe when
> loading the module it gives me
>
> ---> snip
> hda_codec: Unknown model for ALC880, trying auto-probe from BIOS...
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000000


Hi!
Sorry for interfering but I have the Asus P5RD1-VD with the Realtek
ALC861 (10b9:5461) and with 2.6.13.3 I've got the problem that he
doesn't find /dev/mixer or anything after modprobe snd-hda-intel...

After I attached
http://dlsvr01.asus.com/pub/ASUS/mb/socket775/P5RD1-V/Audio_Linux.zip
(which doesn't work) to a mail in alsa-devel they told me...

"[...]

It tries to access the ALi controller in the same way as the Intel
controller.

It may be possible that the ALi chip was designed to be compatible
with Intel's, but that they got some detail wrong. Or that the driver
gets some detail wrong. There's no way to know without docs[...]"

(not in the archive, yet...)


Dirk

Andrew Morton

unread,
Jul 28, 2005, 7:40:12 PM7/28/05
to
"Rafael J. Wysocki" <r...@sisk.pl> wrote:
>
> Could you please tell me how I can figure out the order in which the individual
> patches in -mm have been applied?

It's all in the series file:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm3/patch-series

The simplest way to do a binary search is to grab
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm3/2.6.13-rc3-mm3-broken-out.tar.bz2
and to place all the patches in ./patches/, place the series file in
./series, download and install https://savannah.nongnu.org/projects/quilt/
and do the binary search with `quilt push' and `quilt pop'.

It's pretty simple - it'll take ten minutes to get the hang of it. You
need to create a separate copy of the series file and edit it to record
where you're up to in the search. From experience ;)

Andrew Morton

unread,
Jul 28, 2005, 7:50:08 PM7/28/05
to
Michael Thonke <iogl...@gmail.com> wrote:
>
> here again I have two problems. With 2.6.13-rc3-mm3 I have problems
> using my SATA drives on Intel ICH6.
> The kernel can't route there IRQs or can't discover them. the option
> irqpoll got them to work now.
> The problem is new because 2.6.13-rc3[-mm1,mm2] work without any problems.

OK. Please generate the full dmesg output for -mm2 and for -mm3 and run
`diff -u dmesg.mm2 dmesg.mm3' and send it? And keep those files because we
may end up needing to add them to an acpi bugzilla entry ;)

> The SATA drives are Samsung HD160JJ SATAII. The mainboard I use is a
> ASUS P4GPL-X.
>
> Second one is about Intel HD-Codec (snd-hda-intel) on modprobe when
> loading the module it gives me
>
> ---> snip
> hda_codec: Unknown model for ALC880, trying auto-probe from BIOS...

Does -mm2 print that `unknown model' message?

> Unable to handle kernel NULL pointer dereference at virtual address 00000000
> printing eip:
> f88713f4
> *pde = 00000000
> Oops: 0002 [#1]
> PREEMPT
> last sysfs file:
> Modules linked in: snd_hda_intel snd_hda_codec nvidia
> CPU: 0
> EIP: 0060:[<f88713f4>] Tainted: P VLI

Please verify that it happens without the nvidia module loaded.

> EFLAGS: 00010293 (2.6.13-rc3-mm3pm)
> eax: fffffffe ebx: f3b33548 ecx: 00000000 edx: 00000000
> esi: f3b33400 edi: 00000000 ebp: 00000006 esp: f0371ddc
> ds: 007b es: 007b ss: 0068
> Process modprobe (pid: 7398, threadinfo=f0370000 task=f4183560)
> Stack: 00000000 00000000 00000000 00000000 f3b33400 f3b33548 f0f1d000
> f8871933
> f3b33400 f0f1d000 f8871bbd f8875478 f88748f6 00000001 f886d77e
> 00000f00
> 00000005 00000000 f0f1d000 f54d04c0 00000000 f886d984 00000f00
> 00000002
> Call Trace:
> [<f8871933>]
> [<f8871bbd>]

Odd trace. Do you have CONFIG_KALLSYMS enabled? If not, please turn it on.

Martin J. Bligh

unread,
Jul 29, 2005, 2:00:10 AM7/29/05
to

> - There's a pretty large x86_64 update here which naughty maintainer wants
> in 2.6.13. Extra testing, please.

Is still regressed as of 2.6.12 for me, at least. Crashes in TSC sync.
Talked to Andi about it at OLS, but then drank too much to remember the
conclusion ... however, it's still broken ;-)

Matrix is here (see left hand column).

http://test.kernel.org/

Example boot log is here:

http://test.kernel.org/9447/debug/console.log

Martin J. Bligh

unread,
Jul 29, 2005, 2:10:04 AM7/29/05
to
NUMA-Q boxes are still crashing on boot with -mm BTW. Is the thing we
identified earlier with the sched patches ...

http://test.kernel.org/9398/debug/console.log

Works with mainline still (including -rc4) ... hopefully those patches
aren't on their way upstream anytime soon ;-)

M.

Martin J. Bligh

unread,
Jul 29, 2005, 2:10:09 AM7/29/05
to
OK, and one last one ... on a more postitive note. rc3-mm3 does indeed fix
the problems crashing on boot I was having on PPC64 with -rc3-mm2. I'll
close the bugzilla bug.

Thanks!

M.

Andrew Morton

unread,
Jul 29, 2005, 2:20:06 AM7/29/05
to
"Martin J. Bligh" <mbl...@mbligh.org> wrote:
>
>
> > - There's a pretty large x86_64 update here which naughty maintainer wants
> > in 2.6.13. Extra testing, please.
>
> Is still regressed as of 2.6.12 for me, at least. Crashes in TSC sync.
> Talked to Andi about it at OLS, but then drank too much to remember the
> conclusion ... however, it's still broken ;-)
>
> Matrix is here (see left hand column).
>
> http://test.kernel.org/
>
> Example boot log is here:
>
> http://test.kernel.org/9447/debug/console.log

Does Eric's recent fix fix it?


From: Eric W. Biederman <ebie...@xmission.com>

sync_tsc was using smp_call_function to ask the boot processor to report
it's tsc value. smp_call_function performs an IPI_send_allbutself which is
a broadcast ipi. There is a window during processor startup during which
the target cpu has started and before it has initialized it's interrupt
vectors so it can properly process an interrupt. Receveing an interrupt
during that window will triple fault the cpu and do other nasty things.

Why cli does not protect us from that is beyond me.

The simple fix is to match ia64 and provide a smp_call_function_single.
Which avoids the broadcast and is more efficient.

This certainly fixes the problem of getting stuck on boot which was very
easy to trigger on my SMP Hyperthreaded Xeon, and I think it fixes it for
the right reasons.

I believe this patch suffers from apicid versus logical cpu number
confusion. I copied the basic logic from smp_send_reschedule and I can't
find where that translates from the logical cpuid to apicid. So it isn't
quite correct yet. It should be close enough that it shouldn't be too hard
to finish it up.

More bug fixes after I have slept but I figured I needed to get this
one out for review.

Signed-off-by: Eric W. Biederman <ebie...@xmission.com>
Signed-off-by: Andrew Morton <ak...@osdl.org>
---

arch/x86_64/kernel/smp.c | 65 +++++++++++++++++++++++++++++++++++++++++++
arch/x86_64/kernel/smpboot.c | 18 +++++++----
include/asm-x86_64/smp.h | 2 +
3 files changed, 79 insertions(+), 6 deletions(-)

diff -puN arch/x86_64/kernel/smpboot.c~x86_64-sync_tsc-fix-the-race-so-we-can-boot arch/x86_64/kernel/smpboot.c
--- devel/arch/x86_64/kernel/smpboot.c~x86_64-sync_tsc-fix-the-race-so-we-can-boot 2005-07-28 22:07:55.000000000 -0700
+++ devel-akpm/arch/x86_64/kernel/smpboot.c 2005-07-28 22:07:55.000000000 -0700
@@ -280,7 +280,7 @@ get_delta(long *rt, long *master)
return tcenter - best_tm;
}

-static __cpuinit void sync_tsc(void)
+static __cpuinit void sync_tsc(unsigned int master)
{
int i, done = 0;
long delta, adj, adjust_latency = 0;
@@ -294,9 +294,17 @@ static __cpuinit void sync_tsc(void)
} t[NUM_ROUNDS] __cpuinitdata;
#endif

+ printk(KERN_INFO "CPU %d: Syncing TSC to CPU %u.\n",
+ smp_processor_id(), master);
+
go[MASTER] = 1;

- smp_call_function(sync_master, NULL, 1, 0);
+ /* It is dangerous to broadcast IPI as cpus are coming up,
+ * as they may not be ready to accept them. So since
+ * we only need to send the ipi to the boot cpu direct
+ * the message, and avoid the race.
+ */
+ smp_call_function_single(master, sync_master, NULL, 1, 0);

while (go[MASTER]) /* wait for master to be ready */
no_cpu_relax();
@@ -340,16 +348,14 @@ static __cpuinit void sync_tsc(void)
printk(KERN_INFO
"CPU %d: synchronized TSC with CPU %u (last diff %ld cycles, "
"maxerr %lu cycles)\n",
- smp_processor_id(), boot_cpu_id, delta, rt);
+ smp_processor_id(), master, delta, rt);
}

static void __cpuinit tsc_sync_wait(void)
{
if (notscsync || !cpu_has_tsc)
return;
- printk(KERN_INFO "CPU %d: Syncing TSC to CPU %u.\n", smp_processor_id(),
- boot_cpu_id);
- sync_tsc();
+ sync_tsc(boot_cpu_id);
}

static __init int notscsync_setup(char *s)
diff -puN arch/x86_64/kernel/smp.c~x86_64-sync_tsc-fix-the-race-so-we-can-boot arch/x86_64/kernel/smp.c
--- devel/arch/x86_64/kernel/smp.c~x86_64-sync_tsc-fix-the-race-so-we-can-boot 2005-07-28 22:07:55.000000000 -0700
+++ devel-akpm/arch/x86_64/kernel/smp.c 2005-07-28 22:07:55.000000000 -0700
@@ -294,6 +294,71 @@ void unlock_ipi_call_lock(void)
}

/*
+ * this function sends a 'generic call function' IPI to one other CPU
+ * in the system.
+ */
+static void __smp_call_function_single (int cpu, void (*func) (void *info), void *info,
+ int nonatomic, int wait)
+{
+ struct call_data_struct data;
+ int cpus = 1;
+
+ data.func = func;
+ data.info = info;
+ atomic_set(&data.started, 0);
+ data.wait = wait;
+ if (wait)
+ atomic_set(&data.finished, 0);
+
+ call_data = &data;
+ wmb();
+ /* Send a message to all other CPUs and wait for them to respond */
+ send_IPI_mask(cpumask_of_cpu(cpu), CALL_FUNCTION_VECTOR);
+
+ /* Wait for response */
+ while (atomic_read(&data.started) != cpus)
+ cpu_relax();
+
+ if (!wait)
+ return;
+
+ while (atomic_read(&data.finished) != cpus)
+ cpu_relax();
+}
+
+/*
+ * Run a function on another CPU
+ * <func> The function to run. This must be fast and non-blocking.
+ * <info> An arbitrary pointer to pass to the function.
+ * <nonatomic> Currently unused.
+ * <wait> If true, wait until function has completed on other CPUs.
+ * [RETURNS] 0 on success, else a negative status code.
+ *
+ * Does not return until the remote CPU is nearly ready to execute <func>
+ * or is or has executed.
+ */
+
+int smp_call_function_single (int cpu, void (*func) (void *info), void *info,
+ int nonatomic, int wait)
+{
+
+ int me = get_cpu(); /* prevent preemption and reschedule on another processor */
+
+ if (cpu == me) {
+ printk("%s: trying to call self\n", __func__);
+ put_cpu();
+ return -EBUSY;
+ }
+ spin_lock_bh(&call_lock);
+
+ __smp_call_function_single(cpu, func,info,nonatomic,wait);
+
+ spin_unlock_bh(&call_lock);
+ put_cpu();
+ return 0;
+}
+
+/*
* this function sends a 'generic call function' IPI to all other CPUs
* in the system.
*/
diff -puN include/asm-x86_64/smp.h~x86_64-sync_tsc-fix-the-race-so-we-can-boot include/asm-x86_64/smp.h
--- devel/include/asm-x86_64/smp.h~x86_64-sync_tsc-fix-the-race-so-we-can-boot 2005-07-28 22:07:55.000000000 -0700
+++ devel-akpm/include/asm-x86_64/smp.h 2005-07-28 22:07:55.000000000 -0700
@@ -48,6 +48,8 @@ extern void unlock_ipi_call_lock(void);
extern int smp_num_siblings;
extern void smp_flush_tlb(void);
extern void smp_message_irq(int cpl, void *dev_id, struct pt_regs *regs);
+extern int smp_call_function_single (int cpuid, void (*func) (void *info), void *info,
+ int retry, int wait);
extern void smp_send_reschedule(int cpu);
extern void smp_invalidate_rcv(void); /* Process an NMI */
extern void zap_low_mappings(void);
_

Andrew Morton

unread,
Jul 29, 2005, 2:20:08 AM7/29/05
to
"Martin J. Bligh" <mbl...@mbligh.org> wrote:
>
> NUMA-Q boxes are still crashing on boot with -mm BTW. Is the thing we
> identified earlier with the sched patches ...
>
> http://test.kernel.org/9398/debug/console.log

Oh, thanks. That's about 8,349 bugs ago and I'd forgotten.

> Works with mainline still (including -rc4) ... hopefully those patches
> aren't on their way upstream anytime soon ;-)

Well can you identify the offending patch(es)? If so, I'll exterminate them.

Matthias Urlichs

unread,
Jul 29, 2005, 3:20:09 AM7/29/05
to
Hi, Rafael J. Wysocki wrote:

> start a binary search

Note that if you work from my git import, git has a nice tree bisection
option.

That tree may be very helpful if the regression is hidden in one of the
git trees imported into -mm, as it allows you to pinpoint the exact change
-- as opposed to "it happened somewhere in git-large-foobar-update.patch".

--
Matthias Urlichs | {M:U} IT Design @ m-u-it.de | sm...@smurf.noris.de
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
- -
British education is probably the best in the world, if you can survive
it. If you can't there is nothing left for you but the diplomatic corps.
-- Peter Ustinov

Andrew Morton

unread,
Jul 29, 2005, 5:40:15 AM7/29/05
to
Matthias Urlichs <sm...@smurf.noris.de> wrote:
>
> Hi, Rafael J. Wysocki wrote:
>
> > start a binary search
>
> Note that if you work from my git import, git has a nice tree bisection
> option.

Is that documented anywhere?

Matthias Urlichs

unread,
Jul 29, 2005, 8:30:19 AM7/29/05
to
Hi,

Andrew Morton:


> Matthias Urlichs <sm...@smurf.noris.de> wrote:
> > Note that if you work from my git import, git has a nice tree bisection
> > option.
>
> Is that documented anywhere?

*checking* Apparently not, not unless you count the git list's archive.
(It's git-rev-list.)

I'll fix that.

--
Matthias Urlichs | {M:U} IT Design @ m-u-it.de | sm...@smurf.noris.de
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
- -

The makers may make
and the users may use,
but the fixers must fix
with but minimal clues

signature.asc

Matthias Urlichs

unread,
Jul 29, 2005, 10:21:43 AM7/29/05
to
Hi,

Andrew Morton:


> > Note that if you work from my git import, git has a nice tree bisection
> > option.
>
> Is that documented anywhere?

http://lkml.org/lkml/2005/6/24/234


Basically, you do this:

$ set -o noclobber
$ git-rev-tree --bisect ^good1 ^good2 bad > .git/refs/heads/tryN
$ git checkout tryN

(Initially, "good" is v2.6.12 or whatever version last worked for you;
"bad" is "master", thus:
$ git-rev-tree --bisect ^v2.6.12 master > .git/refs/heads/tryN
)

Build kernel, test. If good, add tryN to the list of good kernels, above;
if bad, replace "bad" with "tryN". N += 1. Repeat.

--
Matthias Urlichs | {M:U} IT Design @ m-u-it.de | sm...@smurf.noris.de
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
- -

IT'S HERE AT LAST: Rush job; nobody knew it was coming

signature.asc

Martin J. Bligh

unread,
Jul 29, 2005, 11:31:17 AM7/29/05
to
>> > - There's a pretty large x86_64 update here which naughty maintainer wants
>> > in 2.6.13. Extra testing, please.
>>
>> Is still regressed as of 2.6.12 for me, at least. Crashes in TSC sync.
>> Talked to Andi about it at OLS, but then drank too much to remember the
>> conclusion ... however, it's still broken ;-)
>>
>> Matrix is here (see left hand column).
>>
>> http://test.kernel.org/
>>
>> Example boot log is here:
>>
>> http://test.kernel.org/9447/debug/console.log
>
> Does Eric's recent fix fix it?
>
>
> From: Eric W. Biederman <ebie...@xmission.com>
>
> sync_tsc was using smp_call_function to ask the boot processor to report
> it's tsc value. smp_call_function performs an IPI_send_allbutself which is
> a broadcast ipi. There is a window during processor startup during which
> the target cpu has started and before it has initialized it's interrupt
> vectors so it can properly process an interrupt. Receveing an interrupt
> during that window will triple fault the cpu and do other nasty things.

Wheeeeeeee! that does indeed seem to work. Nice job.

> I believe this patch suffers from apicid versus logical cpu number
> confusion. I copied the basic logic from smp_send_reschedule and I can't
> find where that translates from the logical cpuid to apicid. So it isn't
> quite correct yet. It should be close enough that it shouldn't be too hard
> to finish it up.
>
> More bug fixes after I have slept but I figured I needed to get this
> one out for review.

Eric, when you have a final version, throw it over to me, and I'll give
that one a spin-test too ...

Thanks!

M.

Eric W. Biederman

unread,
Jul 29, 2005, 12:20:25 PM7/29/05
to
"Martin J. Bligh" <mbl...@mbligh.org> writes:

>> From: Eric W. Biederman <ebie...@xmission.com>
>>
>> sync_tsc was using smp_call_function to ask the boot processor to report
>> it's tsc value. smp_call_function performs an IPI_send_allbutself which is
>> a broadcast ipi. There is a window during processor startup during which
>> the target cpu has started and before it has initialized it's interrupt
>> vectors so it can properly process an interrupt. Receveing an interrupt
>> during that window will triple fault the cpu and do other nasty things.
>
> Wheeeeeeee! that does indeed seem to work. Nice job.

Welcome. I hadn't how many people were tracking this.

>> I believe this patch suffers from apicid versus logical cpu number
>> confusion. I copied the basic logic from smp_send_reschedule and I can't
>> find where that translates from the logical cpuid to apicid. So it isn't
>> quite correct yet. It should be close enough that it shouldn't be too hard
>> to finish it up.
>>
>> More bug fixes after I have slept but I figured I needed to get this
>> one out for review.
>
> Eric, when you have a final version, throw it over to me, and I'll give
> that one a spin-test too ...

With respect to the fix that is final. The rest of the bug
fixes in my queue are for other problems.

Mostly my concerns are with respect to apicid vs logical cpu
numbers that I'm not certain are handled properly in the code.
genapic_flat doesn't seem to do any translation. And I don't
recall if boot_cpu_id is an apic_id or a logical cpu number.
On most hardware it is 0 in either case so it doesn't matter.

Eric

Andrew Morton

unread,
Jul 29, 2005, 3:50:10 PM7/29/05