All of lore.kernel.org
 help / color / mirror / Atom feed
* 2.6.17-mm1
@ 2006-06-21 10:48 Andrew Morton
  2006-06-21 11:07 ` 2.6.17-mm1 Michal Piotrowski
                   ` (30 more replies)
  0 siblings, 31 replies; 158+ messages in thread
From: Andrew Morton @ 2006-06-21 10:48 UTC (permalink / raw)
  To: linux-kernel


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


- powerpc is bust (on g5, at least).  git-klibc is causing nash to fail on
  startup and some later patch is causing a big crash (I didn't bisect that
  one - later).

- ia64 doesn't compile for me, due to git-klibc problems (a truly ancient
  toolchain might be implicated).

- git-sas.patch has been dropped due to build failures.

- git-s390.patch has been dropped due to patching rejects





Boilerplate:

- See the `hot-fixes' directory for any important updates to this patchset.

- To fetch an -mm tree using git, use (for example)

  git fetch git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git v2.6.16-rc2-mm1

- -mm kernel commit activity can be reviewed by subscribing to the
  mm-commits mailing list.

        echo "subscribe mm-commits" | mail majordomo@vger.kernel.org

- If you hit a bug in -mm and it is not obvious which patch caused it, it is
  most valuable if you can perform a bisection search to identify which patch
  introduced the bug.  Instructions for this process are at

        http://www.zip.com.au/~akpm/linux/patches/stuff/bisecting-mm-trees.txt

  But beware that this process takes some time (around ten rebuilds and
  reboots), so consider reporting the bug first and if we cannot immediately
  identify the faulty patch, then perform the bisection search.

- When reporting bugs, please try to Cc: the relevant maintainer and mailing
  list on any email.




Changes since 2.6.17-rc6-mm2:


 origin.patch
 git-acpi.patch
 git-agpgart.patch
 git-alsa.patch
 git-block.patch
 git-cifs.patch
 git-cpufreq.patch
 git-dvb.patch
 git-gfs2.patch
 git-ia64.patch
 git-infiniband.patch
 git-input.patch
 git-jfs.patch
 git-kbuild.patch
 git-klibc.patch
 git-hdrinstall2.patch
 git-libata-all.patch
 git-netdev-all.patch
 git-nfs.patch
 git-ocfs2.patch
 git-powerpc.patch
 git-pcmcia.patch
 git-scsi-target.patch
 git-supertrak.patch
 git-watchdog.patch
 git-xfs.patch
 git-cryptodev.patch

 git trees

-further-alterations-for-memory-barrier-document.patch
-powernow-k8-crash-workaround.patch
-bugfixes-to-get-i2o-working-again.patch
-fix-possible-oops-in-cs4281-irq-handler.patch
-trivial-videodev2h-patch.patch
-zoran-strncpy-cleanup.patch
-scx200_acb-use-pci-i-o-resource-when-appropriate.patch
-i2c-pca954x-i2c-mux-driver.patch
-i2c-pca954x-fix-initial-access-to-first-mux-switch-port.patch
-ieee1394-video1394-be-quiet.patch
-ieee1394-ohci1394c-function-calls-without.patch
-ieee1394-sbp2-make-tsb42aa9-workaround-specific.patch
-ieee1394-semaphore-to-mutex-conversion.patch
-ieee1394-raw1394-fix-whitespace-after-x86_64.patch
-ieee1394-ieee1394-ohci1394-cycletoolong.patch
-ieee1394-ieee1394-support-for-slow-links-or-slow.patch
-ieee1394-ieee1394-save-ram-by-using-a-single.patch
-ieee1394-sbp2-remove-manipulation-of-inquiry.patch
-ieee1394-sbp2-log-number-of-supported-concurrent.patch
-ieee1394-ieee1394-extend-lowlevel-api-for.patch
-ieee1394-ohci1394-set-address-range-properties.patch
-ieee1394-ohci1394-make-phys_dma-parameter.patch
-ieee1394-sbp2-sbp2-remove-ohci1394-specific.patch
-ieee1394-sbp2-fix-s800-transfers-if-phys_dma-is.patch
-ieee1394-update-feature-removal-of-obsolete.patch
-ieee1394-sbp2-provide-helptext-for.patch
-ieee1394-sbp2-kconfig-fix.patch
-ieee1394-sbp2-use-__attribute__packed-for.patch
-ieee1394-speed-up-of-dma_region_sync_for_cpu.patch
-ieee1394-sbp2-fix-deregistration-of-status-fifo-address-space.patch
-ieee1394-add-preprocessor-constant-for-invalid-csr.patch
-fix-broken-suspend-resume-in-ohci1394-was-acpi-suspend.patch
-ieee1394_core-switch-to-kthread-api.patch
-eth1394-endian-fixes.patch
-ieee1394-hl_irqs_lock-is-taken-in-hardware.patch
-ieee1394-adjust-code-formatting-in.patch
-git-kbuild-modpost-build-fix.patch
-git-klibc-ia64-build-fix.patch
-git-hdrcleanup.patch
-git-hdrcleanup-fixup.patch
-libata-add-missing-data_xfer-for-pata_pdc2027x-and-pdc_adma.patch
-sata_sil24-endian-anotations.patch
-sdhci-truncated-pointer-fix.patch
-git-netdev-all-fixup.patch
-smc911x-Kconfig-fix.patch
-e1000-prevent-statistics-from-getting-garbled-during-reset.patch
-forcedeth-config-ring-sizes.patch
-forcedeth-config-flow-control.patch
-forcedeth-config-phy.patch
-forcedeth-config-wol.patch
-forcedeth-config-csum.patch
-forcedeth-config-statistics.patch
-forcedeth-config-diagnostics.patch
-forcedeth-config-module-parameters.patch
-forcedeth-config-version.patch
-forcedeth-new-device-ids.patch
-ipw2200-locking-fix.patch
-forcedeth-xmit_lock-went-away.patch
-client-side-nfsacl-caching-fix.patch
-nfs-really-return-status-from-decode_recall_args.patch
-gregkh-pci-pci-add-pci_cap_id_vndr.patch
-gregkh-pci-pci-fix-pciehp-compile-issue-when-config_acpi-is-not-enabled.patch
-remove-drivers-scsi-constantscscsi_print_req_sense.patch
-scsi-remove-documentation-scsi-cpqfctxt.patch
-mpt-fusion-driver-initialization-failure-fix.patch
-drivers-scsi-use-array_size-macro.patch
-hptiop-highpoint-rocketraid-3xxx-controller-driver.patch
-remove-the-scsi_request-interface-from-the-gdth-driver.patch
-git-scsi-target-warning-fix.patch
-mm-x86_64-mm-polling-thread-status-fix.patch
-x86_64-setupc-print-cmp-related-boottime-information.patch
-alpha-generic-hweight-build-fix.patch
-add-__iowrite64_copy.patch
-add-__iowrite64_copy-s390-fix.patch
-inotify-split-kernel-api-from-userspace-support.patch
-inotify-add-names-inode-to-event-handler.patch
-inotify-add-interfaces-to-kernel-api.patch
-inotify-allow-watch-removal-from-event-handler.patch
-inotify-update-kernel-documentation.patch
-sound-vxpocket-fix-printk-warning.patch

 Merged into mainline or a subsystem tree

+uml-fix-wall_to_monotonic-initialization.patch
+sparc-build-breakage.patch
+ntfs-critical-bug-fix-affects-mips-and-possibly-others.patch
+selinux-add-hooks-for-key-subsystem.patch
+keys-fix-race-between-two-instantiators-of-a-key.patch
+suspend_console-warning-fix.patch
+myri10ge-build-fix.patch

 to-merge-asap queue.

+git-acpi-pre.patch
+git-acpi-post.patch

 Things to make git-acpi easier to apply.

+git-acpi-fixup.patch

 Fix reject due to git-apci.

+git-acpi-ia64-build-fix.patch

 Fix git-acpi build error
 
+pnpacpi-reject-acpi_producer-resources.patch
+acpi-add-ibm-r60e-laptop-to-proc-idle-blacklist.patch
+acpi-c-states-accounting-of-sleep-states.patch
+acpi-c-states-bm_activity-improvements.patch
+acpi-c-states-only-demote-on-current-bus-mastering-activity.patch

 ACPI patches.

+acpi-sony-add-fn-hotkey-support.patch

 2.6-sony_acpi4.patch feature

+ati-agp-build-fix.patch

 Fix git-agpgart.patch

-git-cpufreq-fixup.patch

 Unneeded

+gregkh-driver-make_class_name-kobj.patch
+gregkh-driver-device-class.patch
+gregkh-driver-driver-core-add-generic-subsystem-link-to-all-devices.patch
+gregkh-driver-device-symlinks-for-classes.patch
+gregkh-driver-driver-core-make-dev_info-and-friends-print-the-bus-name-if-there-is-no-driver.patch
+gregkh-driver-driver-model-add-isa-bus.patch

 driver tree updates

+saa7134-card-lifeview3000-ntsc.patch
+tea575x-tuner-build-fix.patch
+git-dvb-versus-matroxfb.patch
+git-dvb-printk-warning-fix.patch

 Fix git-dvb.patch

+gregkh-i2c-i2c-opencores-cleanup.patch
+gregkh-i2c-i2c-mark-data-const-for-write-block.patch
+gregkh-i2c-i2c-scx200_acb-use-PCI-IO-resource-when-appropriate.patch
+gregkh-i2c-i2c-scx200_acb-mark-scx200_acb_probe-init.patch
+gregkh-i2c-i2c-scx200_acb-documentation-update.patch
+gregkh-i2c-i2c-i801-01-fix-block-transaction-poll-loops.patch
+gregkh-i2c-i2c-i801-02-remove-force_addr-parameter.patch
+gregkh-i2c-i2c-i801-03-remove-pci-function-check.patch
+gregkh-i2c-i2c-i801-04-cleanups.patch
+gregkh-i2c-i2c-i801-05-better-pci-subsystem-integration.patch
+gregkh-i2c-i2c-i801-06-merge-setup-function.patch
+gregkh-i2c-hwmon-kconfig-header-fix.patch
+gregkh-i2c-hwmon-lm70-new-driver.patch
+gregkh-i2c-hwmon-vid-add-core-and-conroe-support.patch
+gregkh-i2c-i2c-i2c-controllers-go-into-right-place-on-sysfs.patch

 I2C tree updates

+i2c-801-64bit-resource-fix.patch

 Fix it.

+git-infiniband-fixup.patch

 Fix reject in git-infiniband.patch

+input-mouse-sermouse-fix-memleak-and-potential-buffer-overflow.patch

 input fix

+revert-sparc-build-breakage.patch

 Make git-klibc.patch easier to apply.

+git-klibc-fixup.patch

 Fix rejects in git-klibc.patch

-git-hdrinstall.patch
+git-hdrinstall2.patch

 Renamed

-revert-sata_sil24-sii3124-sata-driver-endian-problem.patch

 Dropped

+git-libata-all-fixup.patch
+git-libata-all-data_xfer-fixes.patch
+git-libata-all-data_xfer-fixes-fixes.patch
+git-libata-pata_cs5535-is-bust.patch

 Fix git-libata-all.patch

+via-pata-fails-on-some-atapi-drives.patch
+via-pata-fails-on-some-atapi-drives-tidy.patch

 ATA fix

-git-mtd-fixup.patch

 Unneeded

+ni5010-netcard-cleanup.patch

 netdev cleanup

-git-net-git-klibc-fixup.patch

 Unneeded

+netpoll-dont-spin-forever-sending-to-blocked-queues.patch
+netpoll-break-recursive-loop-in-netpoll-rx-path.patch
+irda-add-some-ibm-think-pads.patch
+atm-mpcc-warning-fix.patch

 net fixes

+git-nfs-build-fixes.patch
+nfs-build-fix-99.patch

 Fix git-nfs.patch wreckage

+nfs-remove-nfs_put_link.patch

 nfs cleanup

-git-sas.patch

 Dropped

+serial-add-tsi108-8250-serial-support.patch
+8250_pnp-add-support-for-other-wacom-tablets.patch
+serial-8250-sysrq-deadlock-fix.patch

 Serial things

+gregkh-pci-64bit-resource-c99-changes-for-struct-resource-declarations.patch
+gregkh-pci-64bit-resource-fix-up-printks-for-resources-in-sound-drivers.patch
+gregkh-pci-64bit-resource-fix-up-printks-for-resources-in-networks-drivers.patch
+gregkh-pci-64bit-resource-fix-up-printks-for-resources-in-pci-core-and-hotplug-drivers.patch
+gregkh-pci-64bit-resource-fix-up-printks-for-resources-in-mtd-drivers.patch
+gregkh-pci-64bit-resource-fix-up-printks-for-resources-in-ide-drivers.patch
+gregkh-pci-64bit-resource-fix-up-printks-for-resources-in-video-drivers.patch
+gregkh-pci-64bit-resource-fix-up-printks-for-resources-in-pcmcia-drivers.patch
+gregkh-pci-64bit-resource-fix-up-printks-for-resources-in-arch-and-core-code.patch
+gregkh-pci-64bit-resource-fix-up-printks-for-resources-in-misc-drivers.patch
+gregkh-pci-64bit-resource-introduce-resource_size_t-for-the-start-and-end-of-struct-resource.patch
+gregkh-pci-64bit-resource-change-resource-core-to-use-resource_size_t.patch
+gregkh-pci-64bit-resource-change-pci-core-and-arch-code-to-use-resource_size_t.patch
+gregkh-pci-64bit-resource-change-pnp-core-to-use-resource_size_t.patch
+gregkh-pci-64bit-resource-convert-a-few-remaining-drivers-to-use-resource_size_t-where-needed.patch
+gregkh-pci-64bit-resource-finally-enable-64bit-resource-sizes.patch
+gregkh-pci-i386-export-memory-more-than-4g-through-proc-iomem.patch
-gregkh-pci-pci-legacy-i-o-port-free-driver-changes-to-generic-pci-code.patch
-gregkh-pci-pci-legacy-i-o-port-free-driver-update-documentation-pci_txt.patch
-gregkh-pci-pci-legacy-i-o-port-free-driver-make-intel-e1000-driver-legacy-i-o-port-free.patch
-gregkh-pci-pci-legacy-i-o-port-free-driver-make-emulex-lpfc-driver-legacy-i-o-port-free.patch
-gregkh-pci-pci-64-bit-resources-core-changes.patch
-gregkh-pci-pci-64-bit-resources-drivers-pci-changes.patch
-gregkh-pci-pci-64-bit-resources-drivers-ide-changes.patch
-gregkh-pci-pci-64-bit-resources-drivers-media-changes.patch
-gregkh-pci-pci-64-bit-resources-drivers-net-changes.patch
-gregkh-pci-pci-64-bit-resources-drivers-pcmcia-changes.patch
-gregkh-pci-pci-64-bit-resources-drivers-others-changes.patch
-gregkh-pci-pci-64-bit-resources-sound-changes.patch
-gregkh-pci-pci-64-bit-resources-arch-changes.patch
-gregkh-pci-pci-64-bit-resources-arch-powerpc-changes.patch
-gregkh-pci-pci-64-bit-resources-more-drivers-others-changes.patch
-gregkh-pci-pci-64-bit-resources-more-sound-changes.patch
-gregkh-pci-pci-64-bit-resources-drivers-pci-changes-sparc32-fix.patch
-gregkh-pci-pci-64-bit-resource-fixup-pci-resource-dbg-code-to-handle-size-change.patch
-gregkh-pci-pci-64-bit-resource-fix-amba-build-warning.patch
-gregkh-pci-pci-64-bit-resources-fix-pnp-sysfs-interface.patch
-gregkh-pci-pci-64-bit-resources-arch-powerpc-changes-update.patch
-gregkh-pci-pci-64-bit-resource-drivers-mips-changes.patch
-gregkh-pci-kconfigurable-resources-core-changes.patch
-gregkh-pci-kconfigurable-resources-driver-pci-changes.patch
-gregkh-pci-kconfigurable-resources-driver-others-changes.patch
-gregkh-pci-kconfigurable-resources-arch-dependent-changes.patch
-gregkh-pci-kconfigurable-resources-arch-dependent-changes-arch.patch
-gregkh-pci-kconfigurable-resources-arch-dependent-changes-arch-q-z.patch
-gregkh-pci-i386-export-memory-more-than-4g-through-proc-iomem.patch
-gregkh-pci-pci-msi-abstractions-and-support-for-altix.patch
-gregkh-pci-pci-per-platform-ia64_-first-last-_device_vector-definitions.patch
-gregkh-pci-pci-altix-msi-support.patch
-gregkh-pci-pci-error-handling-on-pci-device-resume.patch
+gregkh-pci-pci-hotplug-don-t-use-acpi_os_free.patch
-gregkh-pci-pci-improve-pci-config-space-writeback.patch
-gregkh-pci-pci-reverse-pci-config-space-restore-order.patch
-gregkh-pci-pci-add-pci_assign_resource_fixed-allow-fixed-address-assignments.patch
-gregkh-pci-pci-add-a-enable-sysfs-attribute-to-the-pci-devices-to-allow-userspace-to-enable-devices-without-doing-foul-direct-access.patch
-gregkh-pci-pci-don-t-enable-device-if-already-enabled.patch
-gregkh-pci-pci-acpi-rename-the-functions-to-avoid-multiple-instances.patch
-gregkh-pci-pci-ignore-pre-set-64-bit-bars-on-32-bit-platforms.patch
-gregkh-pci-pci-i386-x86_84-disable-pci-resource-decode-on-device-disable.patch
-gregkh-pci-pci-bus-parity-status-broken-hardware-attribute-edac-foundation.patch
-gregkh-pci-pci-hotplug-fix-recovery-path-from-errors-during-pcie_init.patch
+gregkh-pci-pci-hotplug-fake-null-pointer-dereferences-in-ibm-hot-plug-controller-driver.patch
+gregkh-pci-pci-hotplug-fix-recovery-path-from-errors-during-pcie_init.patch
+gregkh-pci-pci-add-pci_cap_id_vndr.patch
+gregkh-pci-pci-legacy-i-o-port-free-driver-changes-to-generic-pci-code.patch
+gregkh-pci-pci-legacy-i-o-port-free-driver-update-documentation-pci_txt.patch
+gregkh-pci-pci-legacy-i-o-port-free-driver-make-intel-e1000-driver-legacy-i-o-port-free.patch
+gregkh-pci-pci-legacy-i-o-port-free-driver-make-emulex-lpfc-driver-legacy-i-o-port-free.patch
+gregkh-pci-pci-msi-abstractions-and-support-for-altix.patch
+gregkh-pci-pci-per-platform-ia64_-first-last-_device_vector-definitions.patch
+gregkh-pci-pci-altix-msi-support.patch
+gregkh-pci-pci-ignore-pre-set-64-bit-bars-on-32-bit-platforms.patch
+gregkh-pci-pci-fix-to-pci-ignore-pre-set-64-bit-bars-on-32-bit-platforms.patch
+gregkh-pci-pci-add-pci_assign_resource_fixed-allow-fixed-address-assignments.patch
+gregkh-pci-pci-add-a-enable-sysfs-attribute-to-the-pci-devices-to-allow-userspace-to-enable-devices-without-doing-foul-direct-access.patch
+gregkh-pci-pci-don-t-enable-device-if-already-enabled.patch
+gregkh-pci-pci-acpi-rename-the-functions-to-avoid-multiple-instances.patch
+gregkh-pci-pci-i386-x86_84-disable-pci-resource-decode-on-device-disable.patch
+gregkh-pci-pci-bus-parity-status-broken-hardware-attribute-edac-foundation.patch
-gregkh-pci-pci-hotplug-fake-null-pointer-dereferences-in-ibm-hot-plug-controller-driver.patch
+gregkh-pci-pci-fix-memory-leak-in-mmconfig-error-path.patch
+gregkh-pci-pci-bus-parity-status-sysfs-interface.patch
+gregkh-pci-pci-fix-issues-with-extended-conf-space-when-mmconfig-disabled-because-of-e820.patch
+gregkh-pci-pci-nvidia-quirk-to-make-aer-pci-e-extended-capability-visible.patch

 PCI tree changes.  Some of it was merged, I think.
-mm-gregkh-pci-pci-ignore-pre-set-64-bit-bars-on-32-bit-platforms-fix.patch
+64-bit-resources-lose-some-ifdefs.patch

 Fix it.

+clear-abnormal-poweroff-flag-on-via-southbridges-fix-resume.patch
+clear-abnormal-poweroff-flag-on-via-southbridges-fix-resume-fix.patch

 VIA fix

-git-pcmcia-fixup.patch
-git-pcmcia-fixup-2.patch

 Unneeded

+com20020_cs-more-device-support.patch
+kill-open-coded-offsetof-in-cm4000_csc-zero_dev.patch

 PCMCIA work

-megaraid_sas-switch-fw_outstanding-to-an-atomic_t.patch
-megaraid_sas-add-support-for-zcr-controller.patch
-megaraid_sas-add-support-for-zcr-controller-fix.patch
+megaraid_sas-zcr-with-fix.patch

 Updated patch

+megaraid-dell-cerc-ata100-4ch-support.patch

 megaraid-old device support.

+gregkh-usb-airprime.c-add-kyocera-wireless-kpc650-passport-support.patch
+gregkh-usb-usb-io_edgeport-touch-up.patch
+gregkh-usb-usb-update-usbmon-fix-glued-lines.patch
+gregkh-usb-usb-implement-error-event-in-usbmon.patch
+gregkh-usb-usb-update-usbmontxt.patch
+gregkh-usb-usb-new-driver-for-cypress-cy7c63xxx-mirco-controllers.patch
+gregkh-usb-usb-trivial-debug-message-correction-in-gadget-ether-driver.patch
+gregkh-usb-usb-serial-clean-tty-fields-on-failed-device-open.patch
+gregkh-usb-usb-gadget-serial-fix-a-deadlock-when-closing-the-serial-device.patch
+gregkh-usb-usb-gadget-serial-do-not-save-restore-irq-flags-in-gs_close.patch
+gregkh-usb-usb-gadget-allow-drivers-support-speeds-higher-than-full-speed.patch
+gregkh-usb-usb-gadget-fix-compile-errors.patch
+gregkh-usb-usb-gadget-update-pxa2xx_udc.c-driver-to-fully-support-ixp4xx-platform.patch
+gregkh-usb-usbserial-fixes-wrong-return-values.patch
+gregkh-usb-usb-unusual_devs-entry-for-nokia-n80.patch
+gregkh-usb-usb-whitespace-removal-from-usb-gadget-ether.patch
+gregkh-usb-usb-move-linux-usb_cdc.h-to-linux-usb-cdc.h.patch
+gregkh-usb-usb-move-hardware-specific-linux-usb_-.h-to-linux-usb-.h.patch
+gregkh-usb-usb-move-linux-usb_input.h-to-linux-usb-input.h.patch
+gregkh-usb-usb-endpoint.patch
+gregkh-usb-usb-endpoint-pass-struct-device.patch
+gregkh-usb-usb-endpoint-mess.patch
+gregkh-usb-usb-devio-class-to-device.patch
+gregkh-usb-usb-class-device-to-device.patch
+gregkh-usb-usb-dynamic-usb-class.patch

 USB tree updates

+usb-move-linux-usb_input.h-to-linux-usb-input-fix.patch
+ehci-fix-bogus-alteration-of-a-local-variable.patch
+ipaqc-bugfixes.patch
+ipaqc-timing-parameters.patch
+ipaqc-timing-parameters-fix.patch

 USB things

+x86_64-mm-twofish-cipher---split-out-common-c-code.patch
+x86_64-mm-twofish-cipher---priority-fix.patch
+x86_64-mm-twofish-cipher---i586-assembler.patch
+x86_64-mm-twofish-cipher---x86_64-assembler.patch
+x86_64-mm-unify-cpu-boottime-output.patch

 x86_64 tree udpates

+revert-x86_64-mm-twofish-cipher---x86_64-assembler.patch
+revert-x86_64-mm-twofish-cipher---i586-assembler.patch
+revert-x86_64-mm-twofish-cipher---priority-fix.patch
+revert-x86_64-mm-twofish-cipher---split-out-common-c-code.patch

 Drop most of it again.

+xfs-remove-dir-check-in-xfs_link.patch
+xfs-use-container_of-in-vn_from_inode.patch
+xfs-pass-inode-to-xfs_ioc_space.patch
+xfs-remove-unused-behaviour-lock.patch

 XFS fixlets

-zone-init-check-and-report-unaligned-zone-boundaries.patch
-x86-align-highmem-zone-boundaries-with-numa.patch
-zone-allow-unaligned-zone-boundaries.patch
-zone-allow-unaligned-zone-boundaries-x86-add-zone-alignment-qualifier.patch
+zone-handle-unaligned-zone-boundaries.patch

 Updated patch

+pgdat-allocation-for-new-node-add-export-kswapd-start-func-fix.patch

 Fix pgdat-allocation-for-new-node-add-export-kswapd-start-func.patch

+add-page_mkwrite-vm_operations-method-fix.patch

 Fix add-page_mkwrite-vm_operations-method.patch

+slab-kmalloc-kzalloc-comments-cleanup-and-fix.patch
+kernel-doc-for-mm-filemapc.patch
+delete-unused-definitions-of-kvaddr_to_nid.patch
+printk-should-not-be-called-under-zone-lock.patch

 MM things

-page-migration-simplify-migrate_pages-tweaks.patch

 Foded into page-migration-simplify-migrate_pages.patch

-page-migration-detailed-status-for-moving-of-individual-pages.patch
-page-migration-support-moving-of-individual-pages-fixes.patch

 Folded into page-migration-support-moving-of-individual-pages.patch

-page-migration-support-moving-of-individual-pages-x86-support-fix.patch

 Folded into page-migration-support-moving-of-individual-pages-x86-support.patch

+radix-tree-rcu-lockless-readside.patch
+radix-tree-rcu-lockless-readside-wraning-fix.patch
+radix-tree-rcu-lockless-readside-fix.patch

 radix-tree work.

-zoned-vm-counters-per-zone-counter-functionality.patch
-zoned-vm-counters-per-zone-counter-functionality-tidy.patch
-zoned-vm-counters-per-zone-counter-functionality-fix.patch
-zoned-vm-counters-per-zone-counter-functionality-fix-fix.patch
-zoned-vm-counters-include-per-zone-counters-in-proc-vmstat.patch
-zoned-vm-counters-conversion-of-nr_mapped-to-per-zone-counter.patch
-zoned-vm-counters-conversion-of-nr_pagecache-to-per-zone-counter.patch
-zoned-vm-counters-conversion-of-nr_pagecache-to-per-zone-counter-fix.patch
-zoned-vm-counters-use-per-zone-counters-to-remove-zone_reclaim_interval.patch
-zoned-vm-counters-add-per-zone-counters-to-zone-node-and-global-vm-statistics.patch
-zoned-vm-counters-conversion-of-nr_slab-to-per-zone-counter.patch
-zoned-vm-counters-conversion-of-nr_pagetable-to-per-zone-counter.patch
-zoned-vm-counters-conversion-of-nr_dirty-to-per-zone-counter.patch
-zoned-vm-counters-conversion-of-nr_writeback-to-per-zone-counter.patch
-zoned-vm-counters-conversion-of-nr_unstable-to-per-zone-counter.patch
-zoned-vm-counters-remove-unused-get_page_stat-functions.patch
-zoned-vm-counters-conversion-of-nr_bounce-to-per-zone-counter.patch
-zoned-vm-counters-remove-useless-writeback-structure.patch
-zoned-vm-stats-remove-nr_mapped-from-zone-reclaim.patch
-zoned-vm-stats-add-nr_anon.patch
-light-weight-counters-framework.patch
-light-weight-counters-framework-warning-fixes.patch
-light-weight-counters-framework-fix.patch
-light-weight-counters-framework-s390-fix.patch
-light-weight-counters-framework-s390-fix-fix.patch
-light-weight-counters-framework-s390-fix-fix-fix.patch
-light-weight-counters-framework-arm-fix.patch
-light-weight-counters-framework-uml-fix.patch

 Dropped.

+selinux-add-security-hooks-to-getsetaffinity.patch
+selinux-add-security-hook-call-to-mediate-attach_task.patch

 Wire up SELinux hooks.

+frv-__user-infrastructure.patch
+frv-basic-__iomem-annotations.patch
+frv-signal-annotations.patch
+frv-sysctl-__user-annotations.patch
+frv-binfmt_elf_fdpic-__user-annotations.patch
+frv-misc-__user-annotations.patch
+frv-misc-sparse-annotations.patch
+frv-wrong-syscall.patch
+ext2-xip-wont-build-without-mmu.patch
+frv-initrd-is-grossly-broken-on-frv-never-built.patch
+frv-null-noise-removal-in-frv-xchg.patch
+frv-ieee1394-is-borken-on-frv.patch
+frv-add-missing-qualifier-to-memcpy_fromio-prototype.patch
+frv-trivial-cleanups-in-frv_ksymsc.patch
+frv-clean-frv-unistdh.patch

 FRV updates

+i386-use-c-code-for-current_thread_info.patch
+i386-extra-checks-in-show_registers.patch
+via-c7-cpu-flags.patch
+x86-compile-fix-for-asm-i386-alternativesh.patch
+clean-up-and-refactor-i386-sub-architecture-setup.patch

 x86 updates

+move-do_suspend_lowlevel-to-correct-segment.patch

 suspend fix

+m68k-typo-fix.patch
+m68k-trapsc-constraints.patch
+m68k-windfarm-is-powerpc-only-dont-do-it-on-m68k-macs.patch

 m68k updates

+s390-move-var-declarations-behind-ifdef.patch

 s390 fix

+ufs-missed-brelse-and-wrong-baseblk.patch
+ufs-one-way-to-access-super-block.patch
+ufs-fsync-implementation.patch
+ufs-make-fsck-f-happy.patch
+ufs-ubh_ll_rw_block-cleanup.patch

 More ufs fixes

+readahead-backoff-on-i-o-error.patch
+readahead-backoff-on-i-o-error-tweaks.patch
+rcu-documentation-self-limiting-updates-and-call_rcu.patch
+link-error-when-futexes-are-disabled-on-64bit-architectures.patch
+cyclades-cleanup.patch
+cyclades-cleanup-cleanup.patch
+cleanup-char-espc.patch
+autofs4-need-to-invalidate-children-on-tree-mount-expire.patch
+update-contact-information-in-credits.patch
+more-tty-cleanups-in-drivers-char.patch
+another-couple-of-alterations-to-the-memory-barrier-doc.patch
+fuse-use-misc_major.patch
+fuse-no-backgrounding-on-interrupt.patch
+fuse-add-control-filesystem.patch
+fuse-add-control-filesystem-printk-fix.patch
+fuse-add-posix-file-locking-support.patch
+fuse-ensure-flush-reaches-userspace.patch
+fuse-rename-the-interrupted-flag.patch
+fuse-add-request-interruption.patch
+mark-profile-notifier-blocks-__read_mostly.patch
+kernel-doc-warn-on-malformed-function-docs.patch
+ide-floppy-fix-debug-only-syntax-error.patch
+remove-needless-checks-in-fs-9p-vfs_inodec.patch
+kernel-doc-for-lib-bitmapc.patch
+kernel-doc-for-lib-cmdlinec.patch
+kernel-doc-for-lib-crcc.patch
+kthread-update-loopc-to-use-kthread.patch
+kthread-update-loopc-to-use-kthread-fix.patch
+kthread-convert-lock-to-use-kthread.patch
+kthread-convert-smbiod.patch
+kthread-convert-smbiod-tidy.patch
+kthread-convert-s390machc-from-kernel_thread.patch
+initramfs-docs-update.patch
+cciss-disable-device-when-returning-failure.patch
+cciss-request-all-pci-resources.patch
+cciss-announce-cciss%d-devices-with-pci-address-irq-dac-info.patch
+cciss-use-array_size-without-intermediates.patch
+cciss-fix-a-few-spelling-errors.patch
+cciss-remove-parens-around-return-values.patch
+cciss-run-through-lindent.patch
+cciss-tidy-up-product-table-indentation.patch
+i-force-joystick-remove-some-pointless-casts.patch
+affs_fill_super-%s-abuses-2.patch
+kthread-convert-stop_machine-into-a-kthread.patch
+fs-sys_poll-with-timeout-1-bug-fix.patch
+cpu-hotplug-fix-cpu_up_cancel-handling.patch
+add-select-gpio_vr41xx-for-tanbac_tb0229.patch
+#let-even-non-dumpable-tasks-access-proc-self-fd.patch
+#enable-oprofile-on-pentium-d.patch: Andi had issues
+enable-oprofile-on-pentium-d.patch
+implement-at_symlink_follow-flag-for-linkat.patch
+fix-memory-leak-in-rocketport-rp_do_receive.patch
+kernel-doc-dont-use-xml-escapes-in-text-or-man-output.patch
+kernel-doc-use-members-for-struct-fields-consistently.patch
+reed-solomon-fix-kernel-doc-comments.patch
+ktime-hrtimer-fix-kernel-doc-comments.patch
+stop-on-cpu-lost.patch
+stop-on-cpu-lost-tidy.patch
+led-add-led-heartbeat-trigger.patch
+fix-bounds-check-in-vsnprintf-to-allow-for-a-0-size-and.patch
+fix-bounds-check-in-vsnprintf-to-allow-for-a-0-size-and-tidy.patch
+implement-kasprintf.patch
+dmi-cleanup-kernel-doc-add-to-docbook.patch
+kthread-move-kernel-doc-and-put-it-into-docbook.patch
+irda-usb-printk-fix.patch
+autofs4-needs-to-force-fail-return-revalidate.patch

 Misc patches.

+keys-sort-out-key-quota-system.patch
+keys-discard-the-contents-of-a-key-on-revocation.patch
+keys-let-keyctl_chown-change-a-keys-owner.patch
+keys-allocate-key-serial-numbers-randomly.patch
+keys-restrict-contents-of-proc-keys-to-viewable-keys.patch
+keys-add-a-way-to-store-the-appropriate-context-for-newly-created-keys.patch

 Key management API updates

+reiserfs-remove-reiserfs_aio_write.patch
+reiserfs-fix-is_reusable-bitmap-check-to-not-traverse-the-bitmap-info-array.patch
+reiserfs-clean-up-bitmap-block-buffer-head-references.patch
+reiserfs-reorganize-bitmap-loading-functions.patch
+reiserfs-on-demand-bitmap-loading.patch
+reiserfs-on-demand-bitmap-loading-fix.patch
+reiserfs-use-generic_file_open-for-open-checks.patch

 reiser3 updates

+per-task-delay-accounting-taskstats-interface-fix-exit-race-in-per-task-delay-accounting.patch

 per-task delay accounting fix

+add-bcm43xx-hw-rng-support-locking-update.patch

 Fix add-bcm43xx-hw-rng-support.patch

+chardev-gpio-for-scx200-pc-8736x-whitespace.patch
+chardev-gpio-for-scx200-pc-8736x-modernize.patch
+chardev-gpio-for-scx200-pc-8736x-add-platforn_device.patch
+chardev-gpio-for-scx200-pc-8736x-device-minor.patch
+chardev-gpio-for-scx200-pc-8736x-put-gpio_dump.patch
+chardev-gpio-for-scx200-pc-8736x-add-v-command.patch
+chardev-gpio-for-scx200-pc-8736x-refactor-scx200_probe.patch
+chardev-gpio-for-scx200-pc-8736x-add-gpio-ops.patch
+chardev-gpio-for-scx200-pc-8736x-dispatch.patch
+chardev-gpio-for-scx200-pc-8736x-add-empty.patch
+chardev-gpio-for-scx200-pc-8736x-migrate-file-ops.patch
+chardev-gpio-for-scx200-pc-8736x-migrate-gpio_dump.patch
+chardev-gpio-for-scx200-pc-8736x-add-new-pc8736x_gpio.patch
+chardev-gpio-for-scx200-pc-8736x-add-platform_device.patch
+chardev-gpio-for-scx200-pc-8736x-use-dev_dbg.patch
+chardev-gpio-for-scx200-pc-8736x-fix-gpio_current.patch
+chardev-gpio-for-scx200-pc-8736x-replace-spinlocks.patch
+chardev-gpio-for-scx200-pc-8736x-display-pin.patch
+chardev-gpio-for-scx200-pc-8736x-add-proper.patch

 GPIO driver framework.

+isdn4linux-gigaset-base-driver-improve-error-recovery.patch
+isdn4linux-gigaset-driver-cleanup.patch
+i4l-gigaset-drivers-add-ioctls-to-compat_ioctlh.patch

 i4l driver updates

-mm-implement-swap-prefetching-fix.patch
-mm-implement-swap-prefetching-sched-batch.patch
-swap-prefetch-fix-lru_cache_add_tail.patch
-swap-prefetch-fix-lru_cache_add_tail-tidy.patch
-mm-swap-prefetch-fix-lowmem-reserve-calc.patch

 Folded into mm-implement-swap-prefetching.patch

-swap_prefetch-conversion-of-nr_mapped-to-per-zone-counter.patch
-swap_prefetch-conversion-of-nr_slab-to-per-zone-counter.patch
-swap_prefetch-conversion-of-nr_dirty-to-per-zone-counter.patch
-swap_prefetch-conversion-of-nr_writeback-to-per-zone-counter.patch
-swap_prefetch-conversion-of-nr_unstable-to-per-zone-counter.patch
-swap_prefetch-remove-unused-get_page_stat-functions.patch
-zoned-vm-stats-nr_slab-is-accurate-fix-comment.patch
-swap_prefetch-zoned-vm-stats-add-nr_anon.patch

 Dropped.

+pi-futex-futex_lock_pi-futex_unlock_pi-support-fix.patch

 Fix pi-futex-futex_lock_pi-futex_unlock_pi-support.patch

+ecryptfs-dont-muck-with-the-existing-nameidata-structures.patch
+ecryptfs-asm-scatterlisth-linux-scatterlisth.patch
+ecryptfs-support-for-larger-maximum-key-size.patch
+ecryptfs-add-codes-for-additional-ciphers.patch
+ecryptfs-unencrypted-key-size-based-on-encrypted-key-size.patch
+ecryptfs-packet-and-key-management-update-for-variable-key-size.patch
+ecryptfs-add-ecryptfs_-prefix-to-mount-options-key-size-parameter.patch
+ecryptfs-set-the-key-size-from-the-default-for-the-mount.patch
+ecryptfs-check-for-weak-keys.patch
+ecryptfs-add-define-values-for-cipher-codes-from-rfc2440-openpgp.patch
+ecryptfs-convert-bits-to-bytes.patch
+ecryptfs-more-elegant-aes-key-size-manipulation.patch
+ecryptfs-more-elegant-aes-key-size-manipulation-tidy.patch
+ecryptfs-more-intelligent-use-of-tfm-objects.patch

 ecryptfs updates

+ipc-namespace-core-unshare-fix.patch
+ipc-namespace-utils-compilation-fix.patch

 Update IPC namespace patches in -mm.

+task-watchers-task-watchers.patch
+task-watchers-task-watchers-tidy.patch
+task-watchers-register-process-events-task-watcher.patch
+task-watchers-refactor-process-events.patch
+task-watchers-make-process-events-configurable-as.patch
+task-watchers-allow-task-watchers-to-block.patch
+task-watchers-register-audit-task-watcher.patch
+task-watchers-register-per-task-delay-accounting.patch
+task-watchers-register-profile-as-a-task-watcher.patch
+task-watchers-add-support-for-per-task-watchers.patch
+task-watchers-add-support-for-per-task-watchers-warning-fix.patch
+task-watchers-register-semundo-task-watcher.patch
+task-watchers-register-per-task-semundo-watcher.patch

 API for registering against task lifecycle events.

+ipc-replace-kmalloc-and-memset-in-get_undo_list-with-kzalloc.patch

 Cleanup

-readahead-backoff-on-i-o-error.patch

 Dropped.

-reiser4-conversion-of-nr_dirty-to-per-zone-counter.patch

 Dropped.

+hpt370-clean-up-dma-timeout-handling.patch
+hpt370-clean-up-dma-timeout-handling-cleanup.patch
+pdc202xx_old-depends-on-config_blk_dev_idedma.patch
+remove-code-that-has-long-been-commented-out-from-pdc20265_old.patch
+enable-cdrom-dma-access-with-pdc20265_old.patch
+ide-fix-revision-comparison-in-ide_in_drive_list.patch

 IDE updates

+fbdev-fix-logo-rotation-if-width-=-height.patch
+macmodes-fix-section-warning.patch
+atyfb-fix-section-warnings.patch

 fbdev updates

-vt-binding-add-sysfs-support.patch

 Dropped.

+vt-binding-add-sysfs-control-to-the-vt-layer.patch
+vt-binding-add-sysfs-control-to-the-vt-layer-fix.patch
+vt-binding-make-vt-binding-a-kconfig-option.patch
+vt-binding-do-not-create-a-device-file-for-class-device.patch
+vt-binding-update-documentation.patch
+vt-binding-make-mdacon-support-binding.patch
+vt-binding-make-newport_con-support-binding.patch
+vt-binding-make-promcon-support-binding.patch
+vt-binding-make-sticon-support-binding.patch

 VT binding updates

+statistics-infrastructure-update-4.patch
+statistics-infrastructure-update-5.patch

 Update statistics patches in -mm.

+genirq-rename-desc-handler-to-desc-chip-terminate_irqs-fix.patch
+genirq-allow-usage-of-no_irq_chip.patch
+genirq-ia64-build-fix.patch

 genirq fixes

+lock-validator-core-provide-lockdep_off-lockdep_on-apis.patch
+lock-validator-core-provide-lockdep_reinit_key-api.patch
+lock-validator-core-print-info-not-bug.patch
+lock-validator-special-locking-af_unix-undo-af_unix-_bh-locking-changes-and-split-lock-type.patch
+lock-validator-special-locking-af_unix-undo-af_unix-_bh-locking-changes-and-split-lock-type-fix.patch
+lock-validator-annotate-ntfs-locking-rules.patch
+lock-validator-s390-stacktrace-interface.patch
+lock-validator-s390-config_frame_pointer-support.patch
+lock-validator-s390-rwsem-semaphore-changes.patch
+lock-validator-early_init_irq_lock_type--console_init.patch
+lock-validator-s390-irqtrace-support.patch
+lock-validator-__local_bh_enable-_local_bh_enable.patch
+lock-validator-s390-use-raw_spinlock-in-mcck-handler.patch
+lock-validator-add-s390-to-supported-options.patch
+lockdep-avoid-false-positive-illegal-lock-usage-message-in-qeth-driver.patch
+lockdep-hack-around-build-errors.patch

 lockdep fixes

-acpi-identify-which-device-is-not-power-manageable-fix.patch

 Folded into acpi-identify-which-device-is-not-power-manageable.patch



All 1738 patches:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/patch-list



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

* Re: 2.6.17-mm1
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
@ 2006-06-21 11:07 ` Michal Piotrowski
  2006-06-21 11:17   ` 2.6.17-mm1 Andrew Morton
  2006-06-21 11:28 ` 2.6.17-mm1 Andrew Morton
                   ` (29 subsequent siblings)
  30 siblings, 1 reply; 158+ messages in thread
From: Michal Piotrowski @ 2006-06-21 11:07 UTC (permalink / raw)
  To: Andrew Morton; +Cc: H. Peter Anvin, linux-kernel

Hi,

On 21/06/06, Andrew Morton <akpm@osdl.org> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/
>
>
> - powerpc is bust (on g5, at least).  git-klibc is causing nash to fail on
>   startup and some later patch is causing a big crash (I didn't bisect that
>   one - later).
>
> - ia64 doesn't compile for me, due to git-klibc problems (a truly ancient
>   toolchain might be implicated).
>

I have the similar problem here

usr/klibc/syscalls/typesize.c:1:23: error: syscommon.h: No such file
or directory
usr/klibc/syscalls/typesize.c:5: error: '__u32' undeclared here (not
in a function)
usr/klibc/syscalls/typesize.c:9: error: expected ')' before 'gid_t'
usr/klibc/syscalls/typesize.c:9: warning: type defaults to 'int' in
declaration of 'type name'
usr/klibc/syscalls/typesize.c:10: error: expected ')' before 'sigset_t'
usr/klibc/syscalls/typesize.c:10: warning: type defaults to 'int' in
declaration of 'type name'
usr/klibc/syscalls/typesize.c:21: error: 'dev_t' undeclared here (not
in a function)
usr/klibc/syscalls/typesize.c:22: error: 'fd_set' undeclared here (not
in a function)
usr/klibc/syscalls/typesize.c:22: error: expected expression before ')' token
make[4]: *** [usr/klibc/syscalls/typesize.o] Error 1
make[3]: *** [usr/klibc/syscalls] Error 2
make[2]: *** [_usr_klibc] Error 2
make[1]: *** [usr] Error 2
make: *** [_all] Error 2

Linux ltg01-fedora.pl 2.6.17-g25f42b6a #63 SMP PREEMPT Tue Jun 20
14:28:14 CEST 2006 i686 i686 i386 GNU/Linux

Gnu C                  4.1.1
Gnu make               3.80
binutils               2.16.91.0.6
util-linux             2.13-pre7
mount                  2.13-pre7
module-init-tools      3.2.2
e2fsprogs              1.38
jfsutils               1.1.10
reiserfsprogs          3.6.19
xfsprogs               2.7.3
PPP                    2.4.3
Linux C Library        > libc.2.4
Dynamic linker (ldd)   2.4
Procps                 3.2.6
Net-tools              1.60
Kbd                    1.12
Sh-utils               5.96
udev                   084

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

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

* Re: 2.6.17-mm1
  2006-06-21 11:07 ` 2.6.17-mm1 Michal Piotrowski
@ 2006-06-21 11:17   ` Andrew Morton
  2006-06-21 11:29     ` 2.6.17-mm1 Michal Piotrowski
  0 siblings, 1 reply; 158+ messages in thread
From: Andrew Morton @ 2006-06-21 11:17 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: hpa, linux-kernel

On Wed, 21 Jun 2006 13:07:41 +0200
"Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:

> On 21/06/06, Andrew Morton <akpm@osdl.org> wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/
> >
> >
> > - powerpc is bust (on g5, at least).  git-klibc is causing nash to fail on
> >   startup and some later patch is causing a big crash (I didn't bisect that
> >   one - later).
> >
> > - ia64 doesn't compile for me, due to git-klibc problems (a truly ancient
> >   toolchain might be implicated).
> >
> 
> I have the similar problem here
> 
> usr/klibc/syscalls/typesize.c:1:23: error: syscommon.h: No such file
> or directory

That one's probably just a parallel kbuild race.  Type `make' again.

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

* Re: 2.6.17-mm1
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
  2006-06-21 11:07 ` 2.6.17-mm1 Michal Piotrowski
@ 2006-06-21 11:28 ` Andrew Morton
  2006-06-21 15:35   ` 2.6.17-mm1 Christoph Lameter
  2006-06-21 12:06 ` 2.6.17-mm1 Michal Piotrowski
                   ` (28 subsequent siblings)
  30 siblings, 1 reply; 158+ messages in thread
From: Andrew Morton @ 2006-06-21 11:28 UTC (permalink / raw)
  To: linux-kernel

On Wed, 21 Jun 2006 03:48:57 -0700
Andrew Morton <akpm@osdl.org> wrote:

> - ia64 doesn't compile for me, due to git-klibc problems (a truly ancient
>   toolchain might be implicated).

Actually I did do a full ia64 allmodconfig build on a recent distro.  So
it's "broken on RHAS 2.1".


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

* Re: 2.6.17-mm1
  2006-06-21 11:17   ` 2.6.17-mm1 Andrew Morton
@ 2006-06-21 11:29     ` Michal Piotrowski
  2006-06-21 13:53       ` 2.6.17-mm1 Cedric Le Goater
  0 siblings, 1 reply; 158+ messages in thread
From: Michal Piotrowski @ 2006-06-21 11:29 UTC (permalink / raw)
  To: Andrew Morton; +Cc: hpa, linux-kernel

On 21/06/06, Andrew Morton <akpm@osdl.org> wrote:
> On Wed, 21 Jun 2006 13:07:41 +0200
> "Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
>
> > On 21/06/06, Andrew Morton <akpm@osdl.org> wrote:
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/
> > >
> > >
> > > - powerpc is bust (on g5, at least).  git-klibc is causing nash to fail on
> > >   startup and some later patch is causing a big crash (I didn't bisect that
> > >   one - later).
> > >
> > > - ia64 doesn't compile for me, due to git-klibc problems (a truly ancient
> > >   toolchain might be implicated).
> > >
> >
> > I have the similar problem here
> >
> > usr/klibc/syscalls/typesize.c:1:23: error: syscommon.h: No such file
> > or directory
>
> That one's probably just a parallel kbuild race.  Type `make' again.
>

"make O=/dir" is culprit.

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

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

* Re: 2.6.17-mm1
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
  2006-06-21 11:07 ` 2.6.17-mm1 Michal Piotrowski
  2006-06-21 11:28 ` 2.6.17-mm1 Andrew Morton
@ 2006-06-21 12:06 ` Michal Piotrowski
  2006-06-21 15:10 ` [-mm patch] drivers/net/ni5010.c: fix compile error Adrian Bunk
                   ` (27 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Michal Piotrowski @ 2006-06-21 12:06 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Len Brown, linux-kernel, linux-acpi

Hi,

On 21/06/06, Andrew Morton <akpm@osdl.org> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/
>

It looks like an ACPI problem.

Setting up standard PCI resources
=============================================
[ INFO: possible recursive locking detected ]
---------------------------------------------
idle/1 is trying to acquire lock:
 (lock_ptr){....}, at: [<c021cbd2>] acpi_os_acquire_lock+0x8/0xa

but task is already holding lock:
 (lock_ptr){....}, at: [<c021cbd2>] acpi_os_acquire_lock+0x8/0xa

other info that might help us debug this:
1 lock held by idle/1:
 #0:  (lock_ptr){....}, at: [<c021cbd2>] acpi_os_acquire_lock+0x8/0xa

stack backtrace:
 [<c0103e89>] show_trace+0xd/0x10
 [<c0104483>] dump_stack+0x19/0x1b
 [<c01395fa>] __lock_acquire+0x7d9/0xa50
 [<c0139a98>] lock_acquire+0x71/0x91
 [<c02f0beb>] _spin_lock_irqsave+0x2c/0x3c
 [<c021cbd2>] acpi_os_acquire_lock+0x8/0xa
 [<c0222d95>] acpi_ev_gpe_detect+0x4d/0x10e
 [<c02215c3>] acpi_ev_sci_xrupt_handler+0x15/0x1d
 [<c021c8b1>] acpi_irq+0xe/0x18
 [<c014d36e>] request_irq+0xbe/0x10c
 [<c021cf33>] acpi_os_install_interrupt_handler+0x59/0x87
 [<c02215e7>] acpi_ev_install_sci_handler+0x1c/0x21
 [<c0220d41>] acpi_ev_install_xrupt_handlers+0x9/0x50
 [<c0231772>] acpi_enable_subsystem+0x7d/0x9a
 [<c0416656>] acpi_init+0x3f/0x170
 [<c01003ae>] _stext+0x116/0x26c
 [<c0101005>] kernel_thread_helper+0x5/0xb
ACPI: Interpreter enabled

Here is a dmesg log http://www.stardust.webpages.pl/files/mm/2.6.17-mm1/mm-dmesg
Here is a config file
http://www.stardust.webpages.pl/files/mm/2.6.17-mm1/mm-config

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

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

* Re: 2.6.17-mm1
  2006-06-21 11:29     ` 2.6.17-mm1 Michal Piotrowski
@ 2006-06-21 13:53       ` Cedric Le Goater
  2006-06-21 14:13         ` 2.6.17-mm1 Michal Piotrowski
  2006-06-21 16:44         ` 2.6.17-mm1 H. Peter Anvin
  0 siblings, 2 replies; 158+ messages in thread
From: Cedric Le Goater @ 2006-06-21 13:53 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: Andrew Morton, hpa, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 324 bytes --]

Michal Piotrowski wrote:

>> > usr/klibc/syscalls/typesize.c:1:23: error: syscommon.h: No such file
>> > or directory
>>
>> That one's probably just a parallel kbuild race.  Type `make' again.
>>
> 
> "make O=/dir" is culprit.
> 
> Regards,
> Michal
> 

That's how i fixed it. Is that the right way to do it ?

Thanks,

C.


[-- Attachment #2: klibc-fix-kbuild-output-issue.patch --]
[-- Type: text/x-patch, Size: 917 bytes --]

From: Cedric Le Goater <clg@fr.ibm.com>
Subject: [KLIBC] fix compile issue when KBUILD_OUTPUT is used

Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>

---
 scripts/Kbuild.klibc |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: 2.6.17-mm1/scripts/Kbuild.klibc
===================================================================
--- 2.6.17-mm1.orig/scripts/Kbuild.klibc
+++ 2.6.17-mm1/scripts/Kbuild.klibc
@@ -85,7 +85,7 @@ KLIBCCPPFLAGS    := -I$(KLIBCINC)/arch/$
 # kernel include paths
 KLIBCKERNELSRC	 ?= $(srctree)/
 KLIBCCPPFLAGS    += -I$(KLIBCKERNELSRC)include		\
-                     $(if $(KBUILD_SRC),-I$(KLIBCKERNELOBJ)include2 -I$(KLIBCKERNELOBJ)include -I$(srctree)/include)    \
+                     $(if $(KBUILD_SRC),-I$(KLIBCKERNELOBJ)include2 -I$(KLIBCKERNELOBJ)include -I$(srctree)/include -I$(srctree)/usr/klibc/syscalls)    \
 		     $(KLIBCARCHINCFLAGS)
 
 # klibc definitions

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

* Re: 2.6.17-mm1
  2006-06-21 13:53       ` 2.6.17-mm1 Cedric Le Goater
@ 2006-06-21 14:13         ` Michal Piotrowski
  2006-06-21 16:44         ` 2.6.17-mm1 H. Peter Anvin
  1 sibling, 0 replies; 158+ messages in thread
From: Michal Piotrowski @ 2006-06-21 14:13 UTC (permalink / raw)
  To: Cedric Le Goater; +Cc: Andrew Morton, hpa, linux-kernel

Hi Cedric,

On 21/06/06, Cedric Le Goater <clg@fr.ibm.com> wrote:
> Michal Piotrowski wrote:
>
> >> > usr/klibc/syscalls/typesize.c:1:23: error: syscommon.h: No such file
> >> > or directory
> >>
> >> That one's probably just a parallel kbuild race.  Type `make' again.
> >>
> >
> > "make O=/dir" is culprit.
> >
> > Regards,
> > Michal
> >
>
> That's how i fixed it.

Problem fixed, thanks.

> Is that the right way to do it ?
>
> Thanks,
>
> C.
>

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

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

* [-mm patch] drivers/net/ni5010.c: fix compile error
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (2 preceding siblings ...)
  2006-06-21 12:06 ` 2.6.17-mm1 Michal Piotrowski
@ 2006-06-21 15:10 ` Adrian Bunk
  2006-06-22  8:13   ` Andreas Mohr
  2006-06-21 18:22 ` [PATCH] pi-futex-rt-mutex-core-merge.patch (was Re: 2.6.17-mm1 Valdis.Kletnieks
                   ` (26 subsequent siblings)
  30 siblings, 1 reply; 158+ messages in thread
From: Adrian Bunk @ 2006-06-21 15:10 UTC (permalink / raw)
  To: Andrew Morton, Andreas Mohr; +Cc: linux-kernel, jgarzik, netdev

On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.17-rc6-mm2:
>...
> +ni5010-netcard-cleanup.patch
> 
>  netdev cleanup
>...

This patch fixes the following compile error with CONFIG_NI5010=y:

<--  snip  -->

...
  LD      .tmp_vmlinux1
drivers/built-in.o:(.init.data+0x2b280): undefined reference to `ni5010_probe'
make: *** [.tmp_vmlinux1] Error 1

<--  snip  -->

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

--- linux-2.6.17-mm1-full/drivers/net/ni5010.c.old	2006-06-21 16:21:26.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/net/ni5010.c	2006-06-21 16:21:46.000000000 +0200
@@ -117,7 +117,7 @@
 static int io;
 static int irq;
 
-static struct net_device * __init ni5010_probe(int unit)
+struct net_device * __init ni5010_probe(int unit)
 {
 	struct net_device *dev = alloc_etherdev(sizeof(struct ni5010_local));
 	int *port;


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

* Re: 2.6.17-mm1
  2006-06-21 11:28 ` 2.6.17-mm1 Andrew Morton
@ 2006-06-21 15:35   ` Christoph Lameter
  0 siblings, 0 replies; 158+ messages in thread
From: Christoph Lameter @ 2006-06-21 15:35 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Wed, 21 Jun 2006, Andrew Morton wrote:

> On Wed, 21 Jun 2006 03:48:57 -0700
> Andrew Morton <akpm@osdl.org> wrote:
> 
> > - ia64 doesn't compile for me, due to git-klibc problems (a truly ancient
> >   toolchain might be implicated).
> 
> Actually I did do a full ia64 allmodconfig build on a recent distro.  So
> it's "broken on RHAS 2.1".

Builds fine on SLES9.


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

* Re: 2.6.17-mm1
  2006-06-21 13:53       ` 2.6.17-mm1 Cedric Le Goater
  2006-06-21 14:13         ` 2.6.17-mm1 Michal Piotrowski
@ 2006-06-21 16:44         ` H. Peter Anvin
  2006-06-21 19:26           ` 2.6.17-mm1 Cedric Le Goater
  2006-06-21 21:46           ` 2.6.17-mm1 Michal Piotrowski
  1 sibling, 2 replies; 158+ messages in thread
From: H. Peter Anvin @ 2006-06-21 16:44 UTC (permalink / raw)
  To: Cedric Le Goater
  Cc: Michal Piotrowski, Andrew Morton, linux-kernel, Sam Ravnborg

[-- Attachment #1: Type: text/plain, Size: 448 bytes --]

Cedric Le Goater wrote:
> Michal Piotrowski wrote:
> 
>>>> usr/klibc/syscalls/typesize.c:1:23: error: syscommon.h: No such file
>>>> or directory
>>> That one's probably just a parallel kbuild race.  Type `make' again.
>>>
>> "make O=/dir" is culprit.
>>
>> Regards,
>> Michal
>>
> 
> That's how i fixed it. Is that the right way to do it ?
> 

Probably not.  I suspect what's needed is the same EXTRA_KLIBCCFLAGS as 
in socketcalls/Kbuild.

	-hpa

[-- Attachment #2: diff --]
[-- Type: text/plain, Size: 424 bytes --]

diff --git a/usr/klibc/syscalls/Kbuild b/usr/klibc/syscalls/Kbuild
index debcd16..e7ae1d2 100644
--- a/usr/klibc/syscalls/Kbuild
+++ b/usr/klibc/syscalls/Kbuild
@@ -28,6 +28,8 @@ clean-files += $(KLIBCINC)/klibc/havesys
 # All the syscall stubs
 clean-files += *.o *.S *.c *.list *.bin
 
+EXTRA_KLIBCCFLAGS := -I$(srctree)/$(src)
+
 quiet_cmd_makelist = LIST    $@
       cmd_makelist = echo '$(filter-out FORCE,$^)' > $@
 

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

* Re: 2.6.17-mm1
@ 2006-06-21 18:19 Martin Bligh
  2006-06-21 18:48 ` 2.6.17-mm1 Mattia Dongili
  0 siblings, 1 reply; 158+ messages in thread
From: Martin Bligh @ 2006-06-21 18:19 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux Kernel Mailing List, hpa

Seems to dive into an endless loop in compile.

http://test.kernel.org/abat/37068/debug/test.log.0

   CHK     include/linux/compile.h
   UPD     include/linux/compile.h
   CC      init/version.o
   CC      init/initramfs.o
   CC      init/calibrate.o
   LD      init/built-in.o
   HOSTCC  usr/gen_init_cpio
   SYMLINK usr/include/asm -> include/asm-x86_64
   GEN     usr/klibc/syscalls/SYSCALLS.i
   GEN     usr/klibc/syscalls/syscalls.nrs
   GEN     usr/klibc/syscalls/typesize.c
   KLIBCCC usr/klibc/syscalls/typesize.o
   OBJCOPY usr/klibc/syscalls/typesize.bin
   GEN     usr/klibc/syscalls/syscalls.mk
   GEN     usr/klibc/syscalls/typesize.c
   KLIBCCC usr/klibc/syscalls/typesize.o
   OBJCOPY usr/klibc/syscalls/typesize.bin
   GEN     usr/klibc/syscalls/syscalls.mk
   GEN     usr/klibc/syscalls/typesize.c
   KLIBCCC usr/klibc/syscalls/typesize.o
   OBJCOPY usr/klibc/syscalls/typesize.bin
   GEN     usr/klibc/syscalls/syscalls.mk
   GEN     usr/klibc/syscalls/typesize.c
   KLIBCCC usr/klibc/syscalls/typesize.o
   OBJCOPY usr/klibc/syscalls/typesize.bin
   GEN     usr/klibc/syscalls/syscalls.mk
   GEN     usr/klibc/syscalls/typesize.c
   KLIBCCC usr/klibc/syscalls/typesize.o
   OBJCOPY usr/klibc/syscalls/typesize.bin
   GEN     usr/klibc/syscalls/syscalls.mk

etc etc. for ever.

On both x86_64 and ppc64.

M.



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

* [PATCH] pi-futex-rt-mutex-core-merge.patch (was Re: 2.6.17-mm1
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (3 preceding siblings ...)
  2006-06-21 15:10 ` [-mm patch] drivers/net/ni5010.c: fix compile error Adrian Bunk
@ 2006-06-21 18:22 ` Valdis.Kletnieks
  2006-06-21 21:48   ` Jiri Slaby
                   ` (25 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Valdis.Kletnieks @ 2006-06-21 18:22 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 764 bytes --]

On Wed, 21 Jun 2006 03:48:57 PDT, Andrew Morton said:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/

pi-futex-rt-mutex-core.patch has what looks like a merge error in it.

Patch to clean it up attached.

Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>

--- linux-2.6.17-mm1/include/linux/sysctl.h.fix1	2006-06-21 13:24:32.000000000 -0400
+++ linux-2.6.17-mm1/include/linux/sysctl.h	2006-06-21 14:16:46.000000000 -0400
@@ -153,7 +153,7 @@ enum
 	KERN_NMI_WATCHDOG=74, /* int: enable/disable nmi watchdog */
 	KERN_PANIC_ON_NMI=75, /* int: whether we will panic on an unrecovered */
 	KERN_STOP_ON_CPU_LOST=76, /* int: SIGSTOP when a task losts its cpus */
-	KERN_MAX_LOCK_DEPTH=76,
+	KERN_MAX_LOCK_DEPTH=77,
 };
 
 



[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

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

* Re: 2.6.17-mm1
  2006-06-21 18:19 2.6.17-mm1 Martin Bligh
@ 2006-06-21 18:48 ` Mattia Dongili
  2006-06-21 19:19   ` 2.6.17-mm1 H. Peter Anvin
  0 siblings, 1 reply; 158+ messages in thread
From: Mattia Dongili @ 2006-06-21 18:48 UTC (permalink / raw)
  To: Martin Bligh; +Cc: Andrew Morton, Linux Kernel Mailing List, hpa

On Wed, Jun 21, 2006 at 11:19:55AM -0700, Martin Bligh wrote:
> Seems to dive into an endless loop in compile.
> 
> http://test.kernel.org/abat/37068/debug/test.log.0
> 
>   CHK     include/linux/compile.h
>   UPD     include/linux/compile.h
>   CC      init/version.o
>   CC      init/initramfs.o
>   CC      init/calibrate.o
>   LD      init/built-in.o
>   HOSTCC  usr/gen_init_cpio
>   SYMLINK usr/include/asm -> include/asm-x86_64
>   GEN     usr/klibc/syscalls/SYSCALLS.i
>   GEN     usr/klibc/syscalls/syscalls.nrs
>   GEN     usr/klibc/syscalls/typesize.c
>   KLIBCCC usr/klibc/syscalls/typesize.o
>   OBJCOPY usr/klibc/syscalls/typesize.bin
[...]
> etc etc. for ever.
> 
> On both x86_64 and ppc64.

me too, on 586

.config is here: http://oioio.altervista.org/linux/config-2.6.17-mm1
-- 
mattia
:wq!

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

* Re: 2.6.17-mm1
  2006-06-21 18:48 ` 2.6.17-mm1 Mattia Dongili
@ 2006-06-21 19:19   ` H. Peter Anvin
  0 siblings, 0 replies; 158+ messages in thread
From: H. Peter Anvin @ 2006-06-21 19:19 UTC (permalink / raw)
  To: Martin Bligh, Andrew Morton, Linux Kernel Mailing List, hpa

Mattia Dongili wrote:
> On Wed, Jun 21, 2006 at 11:19:55AM -0700, Martin Bligh wrote:
>> Seems to dive into an endless loop in compile.
>>
>> http://test.kernel.org/abat/37068/debug/test.log.0
>>
>>   CHK     include/linux/compile.h
>>   UPD     include/linux/compile.h
>>   CC      init/version.o
>>   CC      init/initramfs.o
>>   CC      init/calibrate.o
>>   LD      init/built-in.o
>>   HOSTCC  usr/gen_init_cpio
>>   SYMLINK usr/include/asm -> include/asm-x86_64
>>   GEN     usr/klibc/syscalls/SYSCALLS.i
>>   GEN     usr/klibc/syscalls/syscalls.nrs
>>   GEN     usr/klibc/syscalls/typesize.c
>>   KLIBCCC usr/klibc/syscalls/typesize.o
>>   OBJCOPY usr/klibc/syscalls/typesize.bin
> [...]
>> etc etc. for ever.
>>
>> On both x86_64 and ppc64.
> 
> me too, on 586
> 
> .config is here: http://oioio.altervista.org/linux/config-2.6.17-mm1

I've uploaded the patch for this to:

http://www.kernel.org/pub/linux/kernel/people/hpa/klibc-2.6.17-mm1-circdep.patch

The klibc tree has additional fixes in it.

	-hpa

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

* Re: 2.6.17-mm1
  2006-06-21 16:44         ` 2.6.17-mm1 H. Peter Anvin
@ 2006-06-21 19:26           ` Cedric Le Goater
  2006-06-21 21:46           ` 2.6.17-mm1 Michal Piotrowski
  1 sibling, 0 replies; 158+ messages in thread
From: Cedric Le Goater @ 2006-06-21 19:26 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Michal Piotrowski, Andrew Morton, linux-kernel, Sam Ravnborg

H. Peter Anvin wrote:

>> That's how i fixed it. Is that the right way to do it ?
> 
> Probably not.  I suspect what's needed is the same EXTRA_KLIBCCFLAGS as
> in socketcalls/Kbuild.

it works fine.

thanks !

C.

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

* Re: 2.6.17-mm1
  2006-06-21 16:44         ` 2.6.17-mm1 H. Peter Anvin
  2006-06-21 19:26           ` 2.6.17-mm1 Cedric Le Goater
@ 2006-06-21 21:46           ` Michal Piotrowski
  1 sibling, 0 replies; 158+ messages in thread
From: Michal Piotrowski @ 2006-06-21 21:46 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Cedric Le Goater, Andrew Morton, linux-kernel, Sam Ravnborg

Hi Peter,

On 21/06/06, H. Peter Anvin <hpa@zytor.com> wrote:
> Cedric Le Goater wrote:
> > Michal Piotrowski wrote:
> >
> >>>> usr/klibc/syscalls/typesize.c:1:23: error: syscommon.h: No such file
> >>>> or directory
> >>> That one's probably just a parallel kbuild race.  Type `make' again.
> >>>
> >> "make O=/dir" is culprit.
> >>
> >> Regards,
> >> Michal
> >>
> >
> > That's how i fixed it. Is that the right way to do it ?
> >
>
> Probably not.  I suspect what's needed is the same EXTRA_KLIBCCFLAGS as
> in socketcalls/Kbuild.

Thanks for fixing that.

>
>         -hpa
>
>

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)

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

* swsusp regression [Was: 2.6.17-mm1]
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
@ 2006-06-21 21:48   ` Jiri Slaby
  2006-06-21 11:28 ` 2.6.17-mm1 Andrew Morton
                     ` (29 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Jiri Slaby @ 2006-06-21 21:48 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-pm, pingc, linux-kernel

Andrew Morton napsal(a):
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/

[32512.214000] Suspending device usbdev3.2_ep81
[32512.214040] Suspending device 3-2:1.0
[32512.214081] wacom 3-2:1.0: no suspend for driver wacom?
[32512.214128] Suspending device usbdev3.2_ep00
[32512.214169] Suspending device 3-2
[32512.214209] suspend_device(): usb_generic_suspend+0x0/0x128() returns -16
[32512.214319] Could not suspend device 3-2: error -16
[32512.214361] wacom 3-2:1.0: no resume for driver wacom?
[32512.242552] Some devices failed to suspend

Bus 003 Device 002: ID 056a:0011 Wacom Co., Ltd Graphire 2

Wacom messages are not new, but it now causes not suspending.

2.6.17-rc6-mm2 was OK.

Is there any more info needed?

-- 
Jiri Slaby         www.fi.muni.cz/~xslaby
\_.-^-._   jirislaby@gmail.com   _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E

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

* swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-21 21:48   ` Jiri Slaby
  0 siblings, 0 replies; 158+ messages in thread
From: Jiri Slaby @ 2006-06-21 21:48 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, pavel, linux-pm, pingc

Andrew Morton napsal(a):
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/

[32512.214000] Suspending device usbdev3.2_ep81
[32512.214040] Suspending device 3-2:1.0
[32512.214081] wacom 3-2:1.0: no suspend for driver wacom?
[32512.214128] Suspending device usbdev3.2_ep00
[32512.214169] Suspending device 3-2
[32512.214209] suspend_device(): usb_generic_suspend+0x0/0x128() returns -16
[32512.214319] Could not suspend device 3-2: error -16
[32512.214361] wacom 3-2:1.0: no resume for driver wacom?
[32512.242552] Some devices failed to suspend

Bus 003 Device 002: ID 056a:0011 Wacom Co., Ltd Graphire 2

Wacom messages are not new, but it now causes not suspending.

2.6.17-rc6-mm2 was OK.

Is there any more info needed?

-- 
Jiri Slaby         www.fi.muni.cz/~xslaby
\_.-^-._   jirislaby@gmail.com   _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E

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

* [-mm patch] drivers/acpi/scan.c: make acpi_bus_type static
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (5 preceding siblings ...)
  2006-06-21 21:48   ` Jiri Slaby
@ 2006-06-21 21:57 ` Adrian Bunk
  2006-06-21 21:57 ` [-mm patch] drivers/ide/legacy/ide-cs.c: make 2 functions static Adrian Bunk
                   ` (23 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Adrian Bunk @ 2006-06-21 21:57 UTC (permalink / raw)
  To: Andrew Morton, len.brown; +Cc: linux-kernel, linux-acpi

On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.17-rc6-mm2:
>...
>  git-acpi.patch
>...
>  git trees
>...

This patch makes the needlessly global acpi_bus_type static.

I'd also suggest to rename this struct, since although it's named 
acpi_bus_type, it's of type "struct bus_type",
not "struct acpi_bus_type" as defined in include/acpi/acpi_bus.h .

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

--- linux-2.6.17-mm1-full/drivers/acpi/scan.c.old	2006-06-21 22:35:30.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/acpi/scan.c	2006-06-21 22:35:40.000000000 +0200
@@ -1450,7 +1450,7 @@
 }
 
 
-struct bus_type acpi_bus_type = {
+static struct bus_type acpi_bus_type = {
 	.name		= "acpi",
 	.suspend	= acpi_device_suspend,
 	.resume		= acpi_device_resume,


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

* [-mm patch] drivers/ide/legacy/ide-cs.c: make 2 functions static
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (6 preceding siblings ...)
  2006-06-21 21:57 ` [-mm patch] drivers/acpi/scan.c: make acpi_bus_type static Adrian Bunk
@ 2006-06-21 21:57 ` Adrian Bunk
  2006-06-21 21:57 ` [-mm patch] drivers/md/md.c: make code static Adrian Bunk
                   ` (22 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Adrian Bunk @ 2006-06-21 21:57 UTC (permalink / raw)
  To: Andrew Morton, Thomas Kleffel, Dominik Brodowski
  Cc: linux-kernel, B.Zolnierkiewicz, linux-ide

On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.17-rc6-mm2:
>...
>  git-pcmcia.patch
>...
>  git trees
>...

This patch makes two needlessly global functions static.
 
Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 drivers/ide/legacy/ide-cs.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.17-mm1-full/drivers/ide/legacy/ide-cs.c.old	2006-06-21 22:54:20.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/ide/legacy/ide-cs.c	2006-06-21 22:54:37.000000000 +0200
@@ -170,11 +170,11 @@
         return ide_register_hw_with_fixup(&hw, NULL, ide_undecoded_slave);
 }
 
-void outb_io(unsigned char value, unsigned long port) {
+static void outb_io(unsigned char value, unsigned long port) {
 	outb(value, port);
 }
 
-void outb_mem(unsigned char value, unsigned long port) {
+static void outb_mem(unsigned char value, unsigned long port) {
 	writeb(value, (void __iomem *) port);
 }
 

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

* [-mm patch] drivers/md/md.c: make code static
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (7 preceding siblings ...)
  2006-06-21 21:57 ` [-mm patch] drivers/ide/legacy/ide-cs.c: make 2 functions static Adrian Bunk
@ 2006-06-21 21:57 ` Adrian Bunk
  2006-06-21 21:57 ` [-mm patch] drivers/media/video/vivi.c: make 2 functions static Adrian Bunk
                   ` (21 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Adrian Bunk @ 2006-06-21 21:57 UTC (permalink / raw)
  To: Andrew Morton, mingo, neilb; +Cc: linux-kernel, linux-raid

This patch makes needlessly global code static.

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

---

 drivers/md/md.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.17-mm1-full/drivers/md/md.c.old	2006-06-21 22:59:44.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/md/md.c	2006-06-21 23:00:02.000000000 +0200
@@ -175,7 +175,7 @@
 /* Alternate version that can be called from interrupts
  * when calling sysfs_notify isn't needed.
  */
-void md_new_event_inintr(mddev_t *mddev)
+static void md_new_event_inintr(mddev_t *mddev)
 {
 	atomic_inc(&md_event_count);
 	wake_up(&md_event_waiters);
@@ -2309,7 +2309,7 @@
  */
 enum array_state { clear, inactive, suspended, readonly, read_auto, clean, active,
 		   write_pending, active_idle, bad_word};
-char *array_states[] = {
+static char *array_states[] = {
 	"clear", "inactive", "suspended", "readonly", "read-auto", "clean", "active",
 	"write-pending", "active-idle", NULL };
 

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

* [-mm patch] drivers/media/video/vivi.c: make 2 functions static
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (8 preceding siblings ...)
  2006-06-21 21:57 ` [-mm patch] drivers/md/md.c: make code static Adrian Bunk
@ 2006-06-21 21:57 ` Adrian Bunk
  2006-06-21 21:57 ` [-mm patch] gpio: make two mutexes static again Adrian Bunk
                   ` (20 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Adrian Bunk @ 2006-06-21 21:57 UTC (permalink / raw)
  To: Andrew Morton, v4l-dvb-maintainer; +Cc: linux-kernel

On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.17-rc6-mm2:
>...
>  git-dvb.patch
>...
>  git trees
>...

This patch makes two needlessly global functions static.

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

---

 drivers/media/video/vivi.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.17-mm1-full/drivers/media/video/vivi.c.old	2006-06-21 23:04:12.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/media/video/vivi.c	2006-06-21 23:04:31.000000000 +0200
@@ -1011,7 +1011,7 @@
 }
 #endif
 
-int vidioc_streamon (struct file *file, void *priv, enum v4l2_buf_type i)
+static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i)
 {
 	struct vivi_fh  *fh=priv;
 	struct vivi_dev *dev    = fh->dev;
@@ -1026,7 +1026,7 @@
 	return (videobuf_streamon(&fh->vb_vidq));
 }
 
-int vidioc_streamoff (struct file *file, void *priv, enum v4l2_buf_type i)
+static int vidioc_streamoff(struct file *file, void *priv, enum v4l2_buf_type i)
 {
 	struct vivi_fh  *fh=priv;
 	struct vivi_dev *dev    = fh->dev;


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

* [-mm patch] gpio: make two mutexes static again
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (9 preceding siblings ...)
  2006-06-21 21:57 ` [-mm patch] drivers/media/video/vivi.c: make 2 functions static Adrian Bunk
@ 2006-06-21 21:57 ` Adrian Bunk
  2006-06-21 22:54 ` [-mm patch] drivers/scsi/qla2xxx/: make some functions static Adrian Bunk
                   ` (19 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Adrian Bunk @ 2006-06-21 21:57 UTC (permalink / raw)
  To: Andrew Morton, Jim Cromie; +Cc: linux-kernel

On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.17-rc6-mm2:
>...
> +chardev-gpio-for-scx200-pc-8736x-replace-spinlocks.patch
>...
>  GPIO driver framework.
>...

scx200_gpio_config_lock and pc8736x_gpio_config_lock became global 
without a good reason.
 
Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 arch/i386/kernel/scx200.c   |    2 +-
 drivers/char/pc8736x_gpio.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.17-mm1-full/arch/i386/kernel/scx200.c.old	2006-06-21 22:32:23.000000000 +0200
+++ linux-2.6.17-mm1-full/arch/i386/kernel/scx200.c	2006-06-21 22:32:32.000000000 +0200
@@ -46,7 +46,7 @@
 	.probe = scx200_probe,
 };
 
-DEFINE_MUTEX(scx200_gpio_config_lock);
+static DEFINE_MUTEX(scx200_gpio_config_lock);
 
 static void __devinit scx200_init_shadow(void)
 {
--- linux-2.6.17-mm1-full/drivers/char/pc8736x_gpio.c.old	2006-06-21 22:46:56.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/char/pc8736x_gpio.c	2006-06-21 22:47:05.000000000 +0200
@@ -32,7 +32,7 @@
 module_param(major, int, 0);
 MODULE_PARM_DESC(major, "Major device number");
 
-DEFINE_MUTEX(pc8736x_gpio_config_lock);
+static DEFINE_MUTEX(pc8736x_gpio_config_lock);
 static unsigned pc8736x_gpio_base;
 static u8 pc8736x_gpio_shadow[4];
 


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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-21 21:48   ` Jiri Slaby
@ 2006-06-21 22:14     ` Mattia Dongili
  -1 siblings, 0 replies; 158+ messages in thread
From: Mattia Dongili @ 2006-06-21 22:14 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-pm

On Wed, Jun 21, 2006 at 11:47:46PM +0159, Jiri Slaby wrote:
> Andrew Morton napsal(a):
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/
> 
> [32512.214000] Suspending device usbdev3.2_ep81
> [32512.214040] Suspending device 3-2:1.0
> [32512.214081] wacom 3-2:1.0: no suspend for driver wacom?
> [32512.214128] Suspending device usbdev3.2_ep00
> [32512.214169] Suspending device 3-2
> [32512.214209] suspend_device(): usb_generic_suspend+0x0/0x128() returns -16
> [32512.214319] Could not suspend device 3-2: error -16
> [32512.214361] wacom 3-2:1.0: no resume for driver wacom?
> [32512.242552] Some devices failed to suspend
> 
> Bus 003 Device 002: ID 056a:0011 Wacom Co., Ltd Graphire 2
> 
> Wacom messages are not new, but it now causes not suspending.

me too (again!)

[   95.408000] Suspending device 3-1
[   95.408000] suspend_device(): usb_generic_suspend+0x0/0x144 [usbcore]() returns -16
[   95.408000] Could not suspend device 3-1: error -16
[   95.412000] Some devices failed to suspend
[   95.412000] Restarting tasks... done

rmmod-ing sd_mod usb_storage usbhid uhci_hcd can finally suspend to disk
and resume (s2ram).
usbcore tells it is in use (count=1) and can't remove it.
The device is a memory stick reader.

I have the same problems also with suspend to disk. BTW I can't resume
from disk since 2.6.17-rc5-mm1, but I'll try to be more precise
tomorrow, as it seems removing the usb stuff makes it do some more steps
toward resumimg (eg: with usb modules this laptop immediately reboots
after reading all pages, without them I can reach "resuming device.."
stage).

-- 
mattia
:wq!

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

* Re: swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-21 22:14     ` Mattia Dongili
  0 siblings, 0 replies; 158+ messages in thread
From: Mattia Dongili @ 2006-06-21 22:14 UTC (permalink / raw)
  To: linux-kernel; +Cc: Andrew Morton, pavel, linux-pm

On Wed, Jun 21, 2006 at 11:47:46PM +0159, Jiri Slaby wrote:
> Andrew Morton napsal(a):
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/
> 
> [32512.214000] Suspending device usbdev3.2_ep81
> [32512.214040] Suspending device 3-2:1.0
> [32512.214081] wacom 3-2:1.0: no suspend for driver wacom?
> [32512.214128] Suspending device usbdev3.2_ep00
> [32512.214169] Suspending device 3-2
> [32512.214209] suspend_device(): usb_generic_suspend+0x0/0x128() returns -16
> [32512.214319] Could not suspend device 3-2: error -16
> [32512.214361] wacom 3-2:1.0: no resume for driver wacom?
> [32512.242552] Some devices failed to suspend
> 
> Bus 003 Device 002: ID 056a:0011 Wacom Co., Ltd Graphire 2
> 
> Wacom messages are not new, but it now causes not suspending.

me too (again!)

[   95.408000] Suspending device 3-1
[   95.408000] suspend_device(): usb_generic_suspend+0x0/0x144 [usbcore]() returns -16
[   95.408000] Could not suspend device 3-1: error -16
[   95.412000] Some devices failed to suspend
[   95.412000] Restarting tasks... done

rmmod-ing sd_mod usb_storage usbhid uhci_hcd can finally suspend to disk
and resume (s2ram).
usbcore tells it is in use (count=1) and can't remove it.
The device is a memory stick reader.

I have the same problems also with suspend to disk. BTW I can't resume
from disk since 2.6.17-rc5-mm1, but I'll try to be more precise
tomorrow, as it seems removing the usb stuff makes it do some more steps
toward resumimg (eg: with usb modules this laptop immediately reboots
after reading all pages, without them I can reach "resuming device.."
stage).

-- 
mattia
:wq!

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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-21 22:14     ` Mattia Dongili
  (?)
@ 2006-06-21 22:18     ` Mattia Dongili
  -1 siblings, 0 replies; 158+ messages in thread
From: Mattia Dongili @ 2006-06-21 22:18 UTC (permalink / raw)
  To: linux-kernel, Andrew Morton, pavel, linux-pm

On Thu, Jun 22, 2006 at 12:14:45AM +0200, Mattia Dongili wrote:
[...]
> rmmod-ing sd_mod usb_storage usbhid uhci_hcd can finally suspend to disk
> and resume (s2ram).

doh, sorry. I meant "suspend to ram".

-- 
mattia
:wq!

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

* [-mm patch] drivers/scsi/qla2xxx/: make some functions static
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (10 preceding siblings ...)
  2006-06-21 21:57 ` [-mm patch] gpio: make two mutexes static again Adrian Bunk
@ 2006-06-21 22:54 ` Adrian Bunk
  2006-06-21 23:20 ` [-mm patch] make drivers/scsi/pata_pcmcia.c:pcmcia_remove_one() static Adrian Bunk
                   ` (18 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Adrian Bunk @ 2006-06-21 22:54 UTC (permalink / raw)
  To: Andrew Morton, rolandd, linux-driver
  Cc: linux-kernel, openib-general, linux-scsi

On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.17-rc6-mm2:
>...
>  git-infiniband.patch
>...
>  git trees
>...

This patch makes some needlessly global functions static.

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

---

 drivers/scsi/qla2xxx/qla_gbl.h  |    6 ------
 drivers/scsi/qla2xxx/qla_init.c |    8 +++++---
 drivers/scsi/qla2xxx/qla_iocb.c |    3 ++-
 3 files changed, 7 insertions(+), 10 deletions(-)

--- linux-2.6.17-mm1-full/drivers/scsi/qla2xxx/qla_gbl.h.old	2006-06-22 00:48:35.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/scsi/qla2xxx/qla_gbl.h	2006-06-22 00:50:32.000000000 +0200
@@ -31,13 +31,9 @@
 extern void qla24xx_update_fw_options(scsi_qla_host_t *);
 extern int qla2x00_load_risc(struct scsi_qla_host *, uint32_t *);
 extern int qla24xx_load_risc(scsi_qla_host_t *, uint32_t *);
-extern int qla24xx_load_risc_flash(scsi_qla_host_t *, uint32_t *);
-
-extern fc_port_t *qla2x00_alloc_fcport(scsi_qla_host_t *, gfp_t);
 
 extern int qla2x00_loop_resync(scsi_qla_host_t *);
 
-extern int qla2x00_find_new_loop_id(scsi_qla_host_t *, fc_port_t *);
 extern int qla2x00_fabric_login(scsi_qla_host_t *, fc_port_t *, uint16_t *);
 extern int qla2x00_local_device_login(scsi_qla_host_t *, fc_port_t *);
 
@@ -80,8 +76,6 @@
 /*
  * Global Function Prototypes in qla_iocb.c source file.
  */
-extern void qla2x00_isp_cmd(scsi_qla_host_t *);
-
 extern uint16_t qla2x00_calc_iocbs_32(uint16_t);
 extern uint16_t qla2x00_calc_iocbs_64(uint16_t);
 extern void qla2x00_build_scsi_iocbs_32(srb_t *, cmd_entry_t *, uint16_t);
--- linux-2.6.17-mm1-full/drivers/scsi/qla2xxx/qla_init.c.old	2006-06-22 00:48:58.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/scsi/qla2xxx/qla_init.c	2006-06-22 00:49:50.000000000 +0200
@@ -39,6 +39,8 @@
 
 static int qla2x00_restart_isp(scsi_qla_host_t *);
 
+static int qla2x00_find_new_loop_id(scsi_qla_host_t *ha, fc_port_t *dev);
+
 /****************************************************************************/
 /*                QLogic ISP2x00 Hardware Support Functions.                */
 /****************************************************************************/
@@ -1701,7 +1703,7 @@
  *
  * Returns a pointer to the allocated fcport, or NULL, if none available.
  */
-fc_port_t *
+static fc_port_t *
 qla2x00_alloc_fcport(scsi_qla_host_t *ha, gfp_t flags)
 {
 	fc_port_t *fcport;
@@ -2497,7 +2499,7 @@
  * Context:
  *	Kernel context.
  */
-int
+static int
 qla2x00_find_new_loop_id(scsi_qla_host_t *ha, fc_port_t *dev)
 {
 	int	rval;
@@ -3472,7 +3474,7 @@
 	return (rval);
 }
 
-int
+static int
 qla24xx_load_risc_flash(scsi_qla_host_t *ha, uint32_t *srisc_addr)
 {
 	int	rval;
--- linux-2.6.17-mm1-full/drivers/scsi/qla2xxx/qla_iocb.c.old	2006-06-22 00:50:42.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/scsi/qla2xxx/qla_iocb.c	2006-06-22 00:51:00.000000000 +0200
@@ -15,6 +15,7 @@
 static inline cont_entry_t *qla2x00_prep_cont_type0_iocb(scsi_qla_host_t *);
 static inline cont_a64_entry_t *qla2x00_prep_cont_type1_iocb(scsi_qla_host_t *);
 static request_t *qla2x00_req_pkt(scsi_qla_host_t *ha);
+static void qla2x00_isp_cmd(scsi_qla_host_t *ha);
 
 /**
  * qla2x00_get_cmd_direction() - Determine control_flag data direction.
@@ -574,7 +575,7 @@
  *
  * Note: The caller must hold the hardware lock before calling this routine.
  */
-void
+static void
 qla2x00_isp_cmd(scsi_qla_host_t *ha)
 {
 	device_reg_t __iomem *reg = ha->iobase;


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

* [-mm patch] make drivers/scsi/pata_pcmcia.c:pcmcia_remove_one() static
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (11 preceding siblings ...)
  2006-06-21 22:54 ` [-mm patch] drivers/scsi/qla2xxx/: make some functions static Adrian Bunk
@ 2006-06-21 23:20 ` Adrian Bunk
  2006-06-22 10:50   ` Alan Cox
  2006-06-21 23:37 ` [-mm patch] make drivers/usb/misc/cy7c63.c:vendor_command() static Adrian Bunk
                   ` (17 subsequent siblings)
  30 siblings, 1 reply; 158+ messages in thread
From: Adrian Bunk @ 2006-06-21 23:20 UTC (permalink / raw)
  To: Andrew Morton, alan; +Cc: linux-kernel, jgarzik, linux-ide

On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.17-rc6-mm2:
>...
>  git-libata-all.patch
>...
>  git trees
>...

This patch makes a needlessly global function static.

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

--- linux-2.6.17-mm1-full/drivers/scsi/pata_pcmcia.c.old	2006-06-22 00:43:23.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/scsi/pata_pcmcia.c	2006-06-22 00:43:33.000000000 +0200
@@ -294,7 +294,7 @@
  *	cleanup. Also called on module unload for any active devices.
  */
 
-void pcmcia_remove_one(struct pcmcia_device *pdev)
+static void pcmcia_remove_one(struct pcmcia_device *pdev)
 {
 	struct ata_pcmcia_info *info = pdev->priv;
 	struct device *dev = &pdev->dev;


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

* [-mm patch] make drivers/usb/misc/cy7c63.c:vendor_command() static
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (12 preceding siblings ...)
  2006-06-21 23:20 ` [-mm patch] make drivers/scsi/pata_pcmcia.c:pcmcia_remove_one() static Adrian Bunk
@ 2006-06-21 23:37 ` Adrian Bunk
  2006-06-21 23:39 ` 2.6.17-mm1 : two PF flags with the same value Peter Williams
                   ` (16 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Adrian Bunk @ 2006-06-21 23:37 UTC (permalink / raw)
  To: Andrew Morton, Oliver Bock
  Cc: linux-kernel, Greg Kroah-Hartman, linux-usb-devel

On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.17-rc6-mm2:
>...
> +gregkh-usb-usb-new-driver-for-cypress-cy7c63xxx-mirco-controllers.patch
>...
>  USB tree updates
>...

This patch makes the needlessly global vendor_command() static.

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

--- linux-2.6.17-mm1-full/drivers/usb/misc/cy7c63.c.old	2006-06-22 01:25:08.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/usb/misc/cy7c63.c	2006-06-22 01:25:57.000000000 +0200
@@ -63,8 +63,8 @@
 };
 
 /* used to send usb control messages to device */
-int vendor_command(struct cy7c63 *dev, unsigned char request,
-			 unsigned char address, unsigned char data) {
+static int vendor_command(struct cy7c63 *dev, unsigned char request,
+			  unsigned char address, unsigned char data) {
 
 	int retval = 0;
 	unsigned int pipe;


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

* Re: 2.6.17-mm1 : two PF flags with the same value
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (13 preceding siblings ...)
  2006-06-21 23:37 ` [-mm patch] make drivers/usb/misc/cy7c63.c:vendor_command() static Adrian Bunk
@ 2006-06-21 23:39 ` Peter Williams
  2006-06-21 23:44   ` Andrew Morton
  2006-06-22  0:12   ` Paul Jackson
  2006-06-22 10:03 ` [-mm patch] #if 0 drivers/usb/input/hid-core.c:hid_find_field_by_usage() Adrian Bunk
                   ` (15 subsequent siblings)
  30 siblings, 2 replies; 158+ messages in thread
From: Peter Williams @ 2006-06-21 23:39 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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

Doing my quick review of changes to bits of code that overlap where I 
wish to work I've noticed that PF_SPREAD_SLAB and PF_MUTEX_TESTER have 
the same value.

define PF_SPREAD_SLAB	0x02000000	/* Spread some slab caches over cpuset */
#define PF_MEMPOLICY	0x10000000	/* Non-default NUMA mempolicy */
#define PF_MUTEX_TESTER	0x02000000	/* Thread belongs to the rt mutex 
tester */

This will have interesting consequences in some circumstances, I imagine.

Peter
-- 
Peter Williams                                   pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
  -- Ambrose Bierce

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

* Re: 2.6.17-mm1 : two PF flags with the same value
  2006-06-21 23:39 ` 2.6.17-mm1 : two PF flags with the same value Peter Williams
@ 2006-06-21 23:44   ` Andrew Morton
  2006-06-22  0:12   ` Paul Jackson
  1 sibling, 0 replies; 158+ messages in thread
From: Andrew Morton @ 2006-06-21 23:44 UTC (permalink / raw)
  To: Peter Williams; +Cc: linux-kernel

On Thu, 22 Jun 2006 09:39:48 +1000
Peter Williams <pwil3058@bigpond.net.au> wrote:

> Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/
> 
> Doing my quick review of changes to bits of code that overlap where I 
> wish to work I've noticed that PF_SPREAD_SLAB and PF_MUTEX_TESTER have 
> the same value.
> 
> define PF_SPREAD_SLAB	0x02000000	/* Spread some slab caches over cpuset */
> #define PF_MEMPOLICY	0x10000000	/* Non-default NUMA mempolicy */
> #define PF_MUTEX_TESTER	0x02000000	/* Thread belongs to the rt mutex 
> tester */

ahem.   Will fix, thanks.

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

* Re: 2.6.17-mm1 : two PF flags with the same value
  2006-06-21 23:39 ` 2.6.17-mm1 : two PF flags with the same value Peter Williams
  2006-06-21 23:44   ` Andrew Morton
@ 2006-06-22  0:12   ` Paul Jackson
  1 sibling, 0 replies; 158+ messages in thread
From: Paul Jackson @ 2006-06-22  0:12 UTC (permalink / raw)
  To: Peter Williams; +Cc: akpm, linux-kernel

> #define PF_SPREAD_SLAB	0x02000000	/* Spread some slab caches over cpuset */
> ...
> #define PF_MUTEX_TESTER	0x02000000	/* Thread belongs to the rt mutex 

Thanks for noticing, Peter.

> ahem.   Will fix, thanks.

Good - thanks, Andrew.

-- 
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <pj@sgi.com> 1.925.600.0401

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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-21 22:14     ` Mattia Dongili
@ 2006-06-22  6:19       ` Greg KH
  -1 siblings, 0 replies; 158+ messages in thread
From: Greg KH @ 2006-06-22  6:19 UTC (permalink / raw)
  To: linux-kernel, Andrew Morton, pavel, linux-pm, Alan Stern

On Thu, Jun 22, 2006 at 12:14:45AM +0200, Mattia Dongili wrote:
> On Wed, Jun 21, 2006 at 11:47:46PM +0159, Jiri Slaby wrote:
> > Andrew Morton napsal(a):
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/
> > 
> > [32512.214000] Suspending device usbdev3.2_ep81
> > [32512.214040] Suspending device 3-2:1.0
> > [32512.214081] wacom 3-2:1.0: no suspend for driver wacom?
> > [32512.214128] Suspending device usbdev3.2_ep00
> > [32512.214169] Suspending device 3-2
> > [32512.214209] suspend_device(): usb_generic_suspend+0x0/0x128() returns -16
> > [32512.214319] Could not suspend device 3-2: error -16
> > [32512.214361] wacom 3-2:1.0: no resume for driver wacom?
> > [32512.242552] Some devices failed to suspend
> > 
> > Bus 003 Device 002: ID 056a:0011 Wacom Co., Ltd Graphire 2
> > 
> > Wacom messages are not new, but it now causes not suspending.
> 
> me too (again!)
> 
> [   95.408000] Suspending device 3-1
> [   95.408000] suspend_device(): usb_generic_suspend+0x0/0x144 [usbcore]() returns -16
> [   95.408000] Could not suspend device 3-1: error -16
> [   95.412000] Some devices failed to suspend
> [   95.412000] Restarting tasks... done
> 
> rmmod-ing sd_mod usb_storage usbhid uhci_hcd can finally suspend to disk
> and resume (s2ram).
> usbcore tells it is in use (count=1) and can't remove it.
> The device is a memory stick reader.
> 
> I have the same problems also with suspend to disk. BTW I can't resume
> from disk since 2.6.17-rc5-mm1, but I'll try to be more precise
> tomorrow, as it seems removing the usb stuff makes it do some more steps
> toward resumimg (eg: with usb modules this laptop immediately reboots
> after reading all pages, without them I can reach "resuming device.."
> stage).

Removing uhci-hcd causes all USB devices to be removed from the system.

Alan, you've been working in the "generic usb" section lately, any ideas
why we can't suspend that kind of device now?

thanks,

greg k-h

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-22  6:19       ` Greg KH
  0 siblings, 0 replies; 158+ messages in thread
From: Greg KH @ 2006-06-22  6:19 UTC (permalink / raw)
  To: linux-kernel, Andrew Morton, pavel, linux-pm, Alan Stern

On Thu, Jun 22, 2006 at 12:14:45AM +0200, Mattia Dongili wrote:
> On Wed, Jun 21, 2006 at 11:47:46PM +0159, Jiri Slaby wrote:
> > Andrew Morton napsal(a):
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/
> > 
> > [32512.214000] Suspending device usbdev3.2_ep81
> > [32512.214040] Suspending device 3-2:1.0
> > [32512.214081] wacom 3-2:1.0: no suspend for driver wacom?
> > [32512.214128] Suspending device usbdev3.2_ep00
> > [32512.214169] Suspending device 3-2
> > [32512.214209] suspend_device(): usb_generic_suspend+0x0/0x128() returns -16
> > [32512.214319] Could not suspend device 3-2: error -16
> > [32512.214361] wacom 3-2:1.0: no resume for driver wacom?
> > [32512.242552] Some devices failed to suspend
> > 
> > Bus 003 Device 002: ID 056a:0011 Wacom Co., Ltd Graphire 2
> > 
> > Wacom messages are not new, but it now causes not suspending.
> 
> me too (again!)
> 
> [   95.408000] Suspending device 3-1
> [   95.408000] suspend_device(): usb_generic_suspend+0x0/0x144 [usbcore]() returns -16
> [   95.408000] Could not suspend device 3-1: error -16
> [   95.412000] Some devices failed to suspend
> [   95.412000] Restarting tasks... done
> 
> rmmod-ing sd_mod usb_storage usbhid uhci_hcd can finally suspend to disk
> and resume (s2ram).
> usbcore tells it is in use (count=1) and can't remove it.
> The device is a memory stick reader.
> 
> I have the same problems also with suspend to disk. BTW I can't resume
> from disk since 2.6.17-rc5-mm1, but I'll try to be more precise
> tomorrow, as it seems removing the usb stuff makes it do some more steps
> toward resumimg (eg: with usb modules this laptop immediately reboots
> after reading all pages, without them I can reach "resuming device.."
> stage).

Removing uhci-hcd causes all USB devices to be removed from the system.

Alan, you've been working in the "generic usb" section lately, any ideas
why we can't suspend that kind of device now?

thanks,

greg k-h

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
  2006-06-22  6:19       ` [linux-pm] " Greg KH
  (?)
@ 2006-06-22  7:46       ` Andrew Morton
  2006-06-22  8:25         ` Jeremy Fitzhardinge
                           ` (2 more replies)
  -1 siblings, 3 replies; 158+ messages in thread
From: Andrew Morton @ 2006-06-22  7:46 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-kernel, pavel, linux-pm, stern

On Wed, 21 Jun 2006 23:19:05 -0700
Greg KH <greg@kroah.com> wrote:

> > I have the same problems also with suspend to disk. BTW I can't resume
> > from disk since 2.6.17-rc5-mm1, but I'll try to be more precise
> > tomorrow, as it seems removing the usb stuff makes it do some more steps
> > toward resumimg (eg: with usb modules this laptop immediately reboots
> > after reading all pages, without them I can reach "resuming device.."
> > stage).
> 
> Removing uhci-hcd causes all USB devices to be removed from the system.
> 
> Alan, you've been working in the "generic usb" section lately, any ideas
> why we can't suspend that kind of device now?

My laptop has the same problem.

This:

--- a/drivers/usb/core/usb.c~usb-more-suspend-debugging
+++ a/drivers/usb/core/usb.c
@@ -991,7 +991,11 @@ void usb_buffer_unmap_sg (struct usb_dev
 
 static int verify_suspended(struct device *dev, void *unused)
 {
-	return (dev->power.power_state.event == PM_EVENT_ON) ? -EBUSY : 0;
+	if (dev->power.power_state.event == PM_EVENT_ON) {
+		dev_printk(KERN_ERR, dev, "not suspended\n");
+		return -EBUSY;
+	}
+	return 0;
 }
 
 static int usb_generic_suspend(struct device *dev, pm_message_t message)
@@ -1005,13 +1009,18 @@ static int usb_generic_suspend(struct de
 	 * But those semantics are useless, so we equate the two (sigh).
 	 */
 	if (dev->driver == &usb_generic_driver) {
+		int ret;
+
 		if (dev->power.power_state.event == message.event)
 			return 0;
 		/* we need to rule out bogus requests through sysfs */
 		status = device_for_each_child(dev, NULL, verify_suspended);
+		suspend_report_result(verify_suspended, status);
 		if (status)
 			return status;
- 		return usb_suspend_device (to_usb_device(dev));
+		ret = usb_suspend_device(to_usb_device(dev));
+		suspend_report_result(usb_suspend_device, ret);
+		return ret;
 	}
 
 	if ((dev->driver == NULL) ||
@@ -1027,6 +1036,7 @@ static int usb_generic_suspend(struct de
 
 	if (driver->suspend && driver->resume) {
 		status = driver->suspend(intf, message);
+		suspend_report_result(driver->suspend, status);
 		if (status)
 			dev_err(dev, "%s error %d\n", "suspend", status);
 		else
diff -puN drivers/usb/core/hub.c~usb-more-suspend-debugging drivers/usb/core/hub.c
--- a/drivers/usb/core/hub.c~usb-more-suspend-debugging
+++ a/drivers/usb/core/hub.c
@@ -1638,6 +1638,7 @@ static int hub_port_suspend(struct usb_h
 				USB_DEVICE_REMOTE_WAKEUP, 0,
 				NULL, 0,
 				USB_CTRL_SET_TIMEOUT);
+		suspend_report_result(usb_control_msg, status);
 		if (status)
 			dev_dbg(&udev->dev,
 				"won't remote wakeup, status %d\n",
@@ -1646,6 +1647,7 @@ static int hub_port_suspend(struct usb_h
 
 	/* see 7.1.7.6 */
 	status = set_port_feature(hub->hdev, port1, USB_PORT_FEAT_SUSPEND);
+	suspend_report_result(set_port_feature, status);
 	if (status) {
 		dev_dbg(hub->intfdev,
 			"can't suspend port %d, status %d\n",
@@ -1706,6 +1708,8 @@ static int __usb_suspend_device (struct 
 			intf = udev->actconfig->interface[i];
 			if (is_active(intf)) {
 				dev_dbg(&intf->dev, "nyet suspended\n");
+				suspend_report_result(__usb_suspend_device,
+							-EBUSY);
 				return -EBUSY;
 			}
 		}
@@ -1714,9 +1718,11 @@ static int __usb_suspend_device (struct 
 	/* we only change a device's upstream USB link.
 	 * root hubs have no upstream USB link.
 	 */
-	if (udev->parent)
+	if (udev->parent) {
 		status = hub_port_suspend(hdev_to_hub(udev->parent), port1,
 				udev);
+		suspend_report_result(hub_port_suspend, status);
+	}
 
 	if (status == 0)
 		udev->dev.power.power_state = PMSG_SUSPEND;
_


Says:

Shrinking memory... done (0 pages freed)
hci_usb 3-1:1.1: no suspend for driver hci_usb?
hci_usb 3-1:1.0: no suspend for driver hci_usb?
 usbdev3.2_ep00: not suspended
usb_generic_suspend(): verify_suspended+0x0/0x3c() returns -16
suspend_device(): usb_generic_suspend+0x0/0x134() returns -16
Could not suspend device 3-1: error -16
hci_usb 3-1:1.0: no resume for driver hci_usb?
hci_usb 3-1:1.1: no resume for driver hci_usb?
Some devices failed to suspend
Restarting tasks... done


What's a usbdev3.2_ep00?

sony:/home/akpm> lsusb
Bus 005 Device 001: ID 0000:0000  
Bus 004 Device 001: ID 0000:0000  
Bus 003 Device 002: ID 044e:300c Alps Electric Co., Ltd 
Bus 003 Device 001: ID 0000:0000  
Bus 002 Device 003: ID 045e:00e1 Microsoft Corp. 
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 001: ID 0000:0000  

sony:/home/akpm> l /sys/bus/usb/devices
total 0
lrwxrwxrwx 1 root root 0 Jun 22 00:32 1-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0
lrwxrwxrwx 1 root root 0 Jun 22 00:32 2-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0
lrwxrwxrwx 1 root root 0 Jun 22 00:32 2-1 -> ../../../devices/pci0000:00/0000:00:1d.1/usb2/2-1
lrwxrwxrwx 1 root root 0 Jun 22 00:32 2-1:1.0 -> ../../../devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0
lrwxrwxrwx 1 root root 0 Jun 22 00:32 3-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0
lrwxrwxrwx 1 root root 0 Jun 22 00:32 3-1 -> ../../../devices/pci0000:00/0000:00:1d.2/usb3/3-1
lrwxrwxrwx 1 root root 0 Jun 22 00:32 3-1:1.0 -> ../../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0
lrwxrwxrwx 1 root root 0 Jun 22 00:32 3-1:1.1 -> ../../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.1
lrwxrwxrwx 1 root root 0 Jun 22 00:32 3-1:1.2 -> ../../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.2

Seems to be this:

00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03) (prog-if 00 [UHCI])
        Subsystem: Sony Corporation Unknown device 81b9
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin C routed to IRQ 16
        Region 4: I/O ports at 1860 [size=32]
00: 86 80 5a 26 05 00 80 02 03 00 03 0c 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 61 18 00 00 00 00 00 00 00 00 00 00 4d 10 b9 81
30: 00 00 00 00 00 00 00 00 00 00 00 00 0a 03 00 00

I don't see anything in this patchpile which would break the bluetooth driver,
and drivers/usb/core/usb.c is effectively unchanged.

I can bisect it if we're stuck, but that'll require beer or something.

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

* Re: [-mm patch] drivers/net/ni5010.c: fix compile error
  2006-06-21 15:10 ` [-mm patch] drivers/net/ni5010.c: fix compile error Adrian Bunk
@ 2006-06-22  8:13   ` Andreas Mohr
  2006-06-22  8:45     ` Adrian Bunk
  0 siblings, 1 reply; 158+ messages in thread
From: Andreas Mohr @ 2006-06-22  8:13 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel, jgarzik, netdev

Hi,

On Wed, Jun 21, 2006 at 05:10:57PM +0200, Adrian Bunk wrote:
> On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
> >...
> > Changes since 2.6.17-rc6-mm2:
> >...
> > +ni5010-netcard-cleanup.patch
> > 
> >  netdev cleanup
> >...
> 
> This patch fixes the following compile error with CONFIG_NI5010=y:

Doh, thanks!
(that should teach me to do non-module runs, too)

Andreas Mohr

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
  2006-06-22  7:46       ` Andrew Morton
@ 2006-06-22  8:25         ` Jeremy Fitzhardinge
  2006-06-22 15:51           ` Alan Stern
  2006-06-22 16:04         ` Frederik Deweerdt
  2 siblings, 0 replies; 158+ messages in thread
From: Jeremy Fitzhardinge @ 2006-06-22  8:25 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Greg KH, linux-kernel, pavel, linux-pm, stern

Andrew Morton wrote:
> My laptop has the same problem.
>   
Mine too.  I wonder if its related to the (apparently) bluetooth-caused 
oops I reported earlier today?

Though I'm seeing the suspend problem on a system with no bluetooth 
module loaded; the only USB device on the bus is the fingerprint-reader.

My suspend script removes the uhci_hcd module on suspend.  The device 
complaining EBUSY is the ehci hub, which has nothing hanging off it.

    J

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

* Re: [-mm patch] drivers/net/ni5010.c: fix compile error
  2006-06-22  8:13   ` Andreas Mohr
@ 2006-06-22  8:45     ` Adrian Bunk
  0 siblings, 0 replies; 158+ messages in thread
From: Adrian Bunk @ 2006-06-22  8:45 UTC (permalink / raw)
  To: Andreas Mohr; +Cc: Andrew Morton, linux-kernel, jgarzik, netdev

On Thu, Jun 22, 2006 at 10:13:16AM +0200, Andreas Mohr wrote:
> Hi,
> 
> On Wed, Jun 21, 2006 at 05:10:57PM +0200, Adrian Bunk wrote:
> > On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
> > >...
> > > Changes since 2.6.17-rc6-mm2:
> > >...
> > > +ni5010-netcard-cleanup.patch
> > > 
> > >  netdev cleanup
> > >...
> > 
> > This patch fixes the following compile error with CONFIG_NI5010=y:
> 
> Doh, thanks!
> (that should teach me to do non-module runs, too)

And change the driver to no longer use Space.c?  ;-)

> Andreas Mohr

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] 158+ messages in thread

* [-mm patch] #if 0 drivers/usb/input/hid-core.c:hid_find_field_by_usage()
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (14 preceding siblings ...)
  2006-06-21 23:39 ` 2.6.17-mm1 : two PF flags with the same value Peter Williams
@ 2006-06-22 10:03 ` Adrian Bunk
  2006-06-22 10:03 ` [-mm patch] fs/gfs2/: make code static Adrian Bunk
                   ` (14 subsequent siblings)
  30 siblings, 0 replies; 158+ messages in thread
From: Adrian Bunk @ 2006-06-22 10:03 UTC (permalink / raw)
  To: Andrew Morton, Anssi Hannula, Dmitry Torokhov; +Cc: linux-kernel, linux-input

This patch #if 0's the no longer used hid_find_field_by_usage().

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

---

 drivers/usb/input/hid-core.c |    3 ++-
 drivers/usb/input/hid.h      |    1 -
 2 files changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.17-mm1-full/drivers/usb/input/hid.h.old	2006-06-22 01:20:25.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/usb/input/hid.h	2006-06-22 01:20:33.000000000 +0200
@@ -519,7 +519,6 @@
 int hid_set_field(struct hid_field *, unsigned, __s32);
 void hid_submit_report(struct hid_device *, struct hid_report *, unsigned char dir);
 void hid_init_reports(struct hid_device *hid);
-struct hid_field *hid_find_field_by_usage(struct hid_device *hid, __u32 wanted_usage, int type);
 int hid_wait_io(struct hid_device* hid);
 
 
--- linux-2.6.17-mm1-full/drivers/usb/input/hid-core.c.old	2006-06-22 01:20:41.000000000 +0200
+++ linux-2.6.17-mm1-full/drivers/usb/input/hid-core.c	2006-06-22 01:21:00.000000000 +0200
@@ -1108,7 +1108,7 @@
 /*
  * Find a report field with a specified HID usage.
  */
-
+#if 0
 struct hid_field *hid_find_field_by_usage(struct hid_device *hid, __u32 wanted_usage, int type)
 {
 	struct hid_report *report;
@@ -1120,6 +1120,7 @@
 				return report->field[i];
 	return NULL;
 }
+#endif  /*  0  */
 
 static int hid_submit_out(struct hid_device *hid)
 {


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

* [-mm patch] fs/gfs2/: make code static
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (15 preceding siblings ...)
  2006-06-22 10:03 ` [-mm patch] #if 0 drivers/usb/input/hid-core.c:hid_find_field_by_usage() Adrian Bunk
@ 2006-06-22 10:03 ` Adrian Bunk
  2006-06-22 10:25   ` Steven Whitehouse
  2006-06-22 14:58 ` 2.6.17-mm1 Franck Bui-Huu
                   ` (13 subsequent siblings)
  30 siblings, 1 reply; 158+ messages in thread
From: Adrian Bunk @ 2006-06-22 10:03 UTC (permalink / raw)
  To: Andrew Morton, swhiteho; +Cc: linux-kernel, linux-cluster

On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.17-rc6-mm2:
>...
>  git-gfs2.patch
>...
>  git trees
>...

This patch makes the following needlessly global code static:
- eaops.c: struct gfs2_security_eaops
- rgrp.c: gfs2_free_uninit_di()

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

---

 fs/gfs2/eaops.c |    2 +-
 fs/gfs2/eaops.h |    2 --
 fs/gfs2/rgrp.c  |    2 +-
 fs/gfs2/rgrp.h  |    1 -
 4 files changed, 2 insertions(+), 5 deletions(-)

--- linux-2.6.17-mm1-full/fs/gfs2/eaops.h.old	2006-06-22 01:39:33.000000000 +0200
+++ linux-2.6.17-mm1-full/fs/gfs2/eaops.h	2006-06-22 01:39:45.000000000 +0200
@@ -23,8 +23,6 @@
 
 extern struct gfs2_eattr_operations gfs2_system_eaops;
 
-extern struct gfs2_eattr_operations gfs2_security_eaops;
-
 extern struct gfs2_eattr_operations *gfs2_ea_ops[];
 
 #endif /* __EAOPS_DOT_H__ */
--- linux-2.6.17-mm1-full/fs/gfs2/eaops.c.old	2006-06-22 01:39:05.000000000 +0200
+++ linux-2.6.17-mm1-full/fs/gfs2/eaops.c	2006-06-22 01:39:40.000000000 +0200
@@ -214,7 +214,7 @@
 	.eo_name = "system",
 };
 
-struct gfs2_eattr_operations gfs2_security_eaops = {
+static struct gfs2_eattr_operations gfs2_security_eaops = {
 	.eo_get = security_eo_get,
 	.eo_set = security_eo_set,
 	.eo_remove = security_eo_remove,
--- linux-2.6.17-mm1-full/fs/gfs2/rgrp.h.old	2006-06-22 01:39:52.000000000 +0200
+++ linux-2.6.17-mm1-full/fs/gfs2/rgrp.h	2006-06-22 01:40:07.000000000 +0200
@@ -43,7 +43,6 @@
 
 void gfs2_free_data(struct gfs2_inode *ip, uint64_t bstart, uint32_t blen);
 void gfs2_free_meta(struct gfs2_inode *ip, uint64_t bstart, uint32_t blen);
-void gfs2_free_uninit_di(struct gfs2_rgrpd *rgd, uint64_t blkno);
 void gfs2_free_di(struct gfs2_rgrpd *rgd, struct gfs2_inode *ip);
 void gfs2_unlink_di(struct inode *inode);
 
--- linux-2.6.17-mm1-full/fs/gfs2/rgrp.c.old	2006-06-22 01:40:15.000000000 +0200
+++ linux-2.6.17-mm1-full/fs/gfs2/rgrp.c	2006-06-22 01:40:20.000000000 +0200
@@ -1401,7 +1401,7 @@
 	gfs2_trans_add_rg(rgd);
 }
 
-void gfs2_free_uninit_di(struct gfs2_rgrpd *rgd, uint64_t blkno)
+static void gfs2_free_uninit_di(struct gfs2_rgrpd *rgd, uint64_t blkno)
 {
 	struct gfs2_sbd *sdp = rgd->rd_sbd;
 	struct gfs2_rgrpd *tmp_rgd;


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

* Re: [-mm patch] fs/gfs2/: make code static
  2006-06-22 10:03 ` [-mm patch] fs/gfs2/: make code static Adrian Bunk
@ 2006-06-22 10:25   ` Steven Whitehouse
  0 siblings, 0 replies; 158+ messages in thread
From: Steven Whitehouse @ 2006-06-22 10:25 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel, linux-cluster

Hi,

On Thu, 2006-06-22 at 12:03 +0200, Adrian Bunk wrote:
> On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
> >...
> > Changes since 2.6.17-rc6-mm2:
> >...
> >  git-gfs2.patch
> >...
> >  git trees
> >...
> 
> This patch makes the following needlessly global code static:
> - eaops.c: struct gfs2_security_eaops
> - rgrp.c: gfs2_free_uninit_di()
> 
> Signed-off-by: Adrian Bunk <bunk@stusta.de>
> 
Thanks for the patch. I've added it to the git tree:

git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6.git

Steve.



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

* Re: [-mm patch] make drivers/scsi/pata_pcmcia.c:pcmcia_remove_one() static
  2006-06-21 23:20 ` [-mm patch] make drivers/scsi/pata_pcmcia.c:pcmcia_remove_one() static Adrian Bunk
@ 2006-06-22 10:50   ` Alan Cox
  0 siblings, 0 replies; 158+ messages in thread
From: Alan Cox @ 2006-06-22 10:50 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, alan, linux-kernel, jgarzik, linux-ide

On Thu, Jun 22, 2006 at 01:20:12AM +0200, Adrian Bunk wrote:
> On Wed, Jun 21, 2006 at 03:48:57AM -0700, Andrew Morton wrote:
> >...
> > Changes since 2.6.17-rc6-mm2:
> >...
> >  git-libata-all.patch
> >...
> >  git trees
> >...
> 
> This patch makes a needlessly global function static.
> 
> Signed-off-by: Adrian Bunk <bunk@stusta.de>

Acked-by: Alan Cox <alan@redhat.com>

> 
> --- linux-2.6.17-mm1-full/drivers/scsi/pata_pcmcia.c.old	2006-06-22 00:43:23.000000000 +0200
> +++ linux-2.6.17-mm1-full/drivers/scsi/pata_pcmcia.c	2006-06-22 00:43:33.000000000 +0200
> @@ -294,7 +294,7 @@
>   *	cleanup. Also called on module unload for any active devices.
>   */
>  
> -void pcmcia_remove_one(struct pcmcia_device *pdev)
> +static void pcmcia_remove_one(struct pcmcia_device *pdev)
>  {
>  	struct ata_pcmcia_info *info = pdev->priv;
>  	struct device *dev = &pdev->dev;

-- 
--
	In Ximian did mad Miguel a mighty mail client decree
	Where Nat the crazy hacker ran
	Through sourcecode measureless to man
	And never coredump free


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

* Re: 2.6.17-mm1
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (16 preceding siblings ...)
  2006-06-22 10:03 ` [-mm patch] fs/gfs2/: make code static Adrian Bunk
@ 2006-06-22 14:58 ` Franck Bui-Huu
  2006-06-22 15:20   ` 2.6.17-mm1 Mel Gorman
  2006-06-22 15:52 ` 2.6.17-mm1: kernel/lockdep.c: write-only variables Adrian Bunk
                   ` (12 subsequent siblings)
  30 siblings, 1 reply; 158+ messages in thread
From: Franck Bui-Huu @ 2006-06-22 14:58 UTC (permalink / raw)
  To: Andrew Morton, mel; +Cc: linux-kernel, Franck

Andrew,

Andrew Morton wrote:
> 
> 
> All 1738 patches:
> 
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/patch-list
> 

Is the following patch really needed ?

flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch

"""
The FLATMEM memory model assumes that memory is in one contigious area
based at pfn 0.  If we initialise node 0 to start at any other offset we
will incorrectly map pfn's to the wrong struct page *.  The key to the
memory model is the contigious nature of the memory not the location of it.
Relax the requirement for the area to start at 0.
"""

Should ARCH_PFN_OFFSET macro be used instead in order to make pfn/page
convertions work when node 0 start offset do not start at 0 ?

My physical memory start at 0x20000000. So node 0 starts at an offset
different from 0. I setup ARCH_PFN_OFFSET this way

	#define ARCH_PFN_OFFSET    (0x20000000 << PAGE_SHIFT)

Until now (2.6.17), it works well, but this patch breaks my machine.

If you need more details about my memory mapping, feel free to ask.

Thanks

		Franck

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

* Re: 2.6.17-mm1
  2006-06-22 14:58 ` 2.6.17-mm1 Franck Bui-Huu
@ 2006-06-22 15:20   ` Mel Gorman
  2006-06-22 15:50     ` 2.6.17-mm1 Franck Bui-Huu
  0 siblings, 1 reply; 158+ messages in thread
From: Mel Gorman @ 2006-06-22 15:20 UTC (permalink / raw)
  To: Franck; +Cc: Andrew Morton, linux-kernel

On Thu, 22 Jun 2006, Franck Bui-Huu wrote:

> Andrew,
>
> Andrew Morton wrote:
>>
>>
>> All 1738 patches:
>>
>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/patch-list
>>
>
> Is the following patch really needed ?
>
> flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch
>
> """
> The FLATMEM memory model assumes that memory is in one contigious area
> based at pfn 0.  If we initialise node 0 to start at any other offset we
> will incorrectly map pfn's to the wrong struct page *.  The key to the
> memory model is the contigious nature of the memory not the location of it.
> Relax the requirement for the area to start at 0.
> """
>
> Should ARCH_PFN_OFFSET macro be used instead in order to make pfn/page
> convertions work when node 0 start offset do not start at 0 ?
>

What happens if you have ARCH_PFN_OFFSET as

#define ARCH_PFN_OFFSET (0UL)

?

What arch is this?

> My physical memory start at 0x20000000. So node 0 starts at an offset
> different from 0. I setup ARCH_PFN_OFFSET this way
>
> 	#define ARCH_PFN_OFFSET    (0x20000000 << PAGE_SHIFT)
>

If physical memory starts at 0x20000000, why is the PFN not
0x20000000 >> PAGE_SHIFT ?

> Until now (2.6.17), it works well, but this patch breaks my machine.
>
> If you need more details about my memory mapping, feel free to ask.
>
> Thanks
>
> 		Franck
>

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

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

* Re: 2.6.17-mm1
  2006-06-22 15:20   ` 2.6.17-mm1 Mel Gorman
@ 2006-06-22 15:50     ` Franck Bui-Huu
  2006-06-22 15:54       ` 2.6.17-mm1 Mel Gorman
  0 siblings, 1 reply; 158+ messages in thread
From: Franck Bui-Huu @ 2006-06-22 15:50 UTC (permalink / raw)
  To: Mel Gorman; +Cc: Franck, Andrew Morton, linux-kernel

Mel Gorman wrote:
> On Thu, 22 Jun 2006, Franck Bui-Huu wrote:
>>
>> Should ARCH_PFN_OFFSET macro be used instead in order to make pfn/page
>> convertions work when node 0 start offset do not start at 0 ?
>>
> 
> What happens if you have ARCH_PFN_OFFSET as
> 
> #define ARCH_PFN_OFFSET (0UL)
> 
> ?

It's the default value (see memory_model.h). It means that pfn start
for node 0 is 0, therefore your physical memory address starts at 0.

> 
> What arch is this?
> 

well I'm working on MIPS, but you can take a look at ARM that does the
same thing better...

>> My physical memory start at 0x20000000. So node 0 starts at an offset
>> different from 0. I setup ARCH_PFN_OFFSET this way
>>
>>     #define ARCH_PFN_OFFSET    (0x20000000 << PAGE_SHIFT)
>>
> 
> If physical memory starts at 0x20000000, why is the PFN not
> 0x20000000 >> PAGE_SHIFT ?
> 

It is a typo... 

		Franck


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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
  2006-06-22  7:46       ` Andrew Morton
@ 2006-06-22 15:51           ` Alan Stern
  2006-06-22 15:51           ` Alan Stern
  2006-06-22 16:04         ` Frederik Deweerdt
  2 siblings, 0 replies; 158+ messages in thread
From: Alan Stern @ 2006-06-22 15:51 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Greg KH, linux-kernel, pavel, linux-pm

On Thu, 22 Jun 2006, Andrew Morton wrote:

> On Wed, 21 Jun 2006 23:19:05 -0700
> Greg KH <greg@kroah.com> wrote:
> 
> > > I have the same problems also with suspend to disk. BTW I can't resume
> > > from disk since 2.6.17-rc5-mm1, but I'll try to be more precise
> > > tomorrow, as it seems removing the usb stuff makes it do some more steps
> > > toward resumimg (eg: with usb modules this laptop immediately reboots
> > > after reading all pages, without them I can reach "resuming device.."
> > > stage).
> > 
> > Removing uhci-hcd causes all USB devices to be removed from the system.
> > 
> > Alan, you've been working in the "generic usb" section lately, any ideas
> > why we can't suspend that kind of device now?

See below...

> My laptop has the same problem.

> Shrinking memory... done (0 pages freed)
> hci_usb 3-1:1.1: no suspend for driver hci_usb?
> hci_usb 3-1:1.0: no suspend for driver hci_usb?
>  usbdev3.2_ep00: not suspended
> usb_generic_suspend(): verify_suspended+0x0/0x3c() returns -16
> suspend_device(): usb_generic_suspend+0x0/0x134() returns -16
> Could not suspend device 3-1: error -16
> hci_usb 3-1:1.0: no resume for driver hci_usb?
> hci_usb 3-1:1.1: no resume for driver hci_usb?
> Some devices failed to suspend
> Restarting tasks... done
> 
> 
> What's a usbdev3.2_ep00?

Evidently the regression was caused by Greg's patch making endpoints into 
real struct devices.  usbdev3.2_ep00 is the device corresponding to 
endpoint 0 on device 2 of USB bus 3.

Is it really true that this patch has been sitting in -mm for several
months (as stated in the cover message to Linus for the new batch of
changes for 2.6.17 sent in yesterday)?

There are several possible ways to fix this.  One is to add suspend and 
resume routines to the endpoint-device driver.  Another is to change the 
code that checks for the children being suspended, to make it check only 
for child USB devices and not child endpoints.

Alan Stern

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-22 15:51           ` Alan Stern
  0 siblings, 0 replies; 158+ messages in thread
From: Alan Stern @ 2006-06-22 15:51 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Greg KH, linux-kernel, pavel, linux-pm

On Thu, 22 Jun 2006, Andrew Morton wrote:

> On Wed, 21 Jun 2006 23:19:05 -0700
> Greg KH <greg@kroah.com> wrote:
> 
> > > I have the same problems also with suspend to disk. BTW I can't resume
> > > from disk since 2.6.17-rc5-mm1, but I'll try to be more precise
> > > tomorrow, as it seems removing the usb stuff makes it do some more steps
> > > toward resumimg (eg: with usb modules this laptop immediately reboots
> > > after reading all pages, without them I can reach "resuming device.."
> > > stage).
> > 
> > Removing uhci-hcd causes all USB devices to be removed from the system.
> > 
> > Alan, you've been working in the "generic usb" section lately, any ideas
> > why we can't suspend that kind of device now?

See below...

> My laptop has the same problem.

> Shrinking memory... done (0 pages freed)
> hci_usb 3-1:1.1: no suspend for driver hci_usb?
> hci_usb 3-1:1.0: no suspend for driver hci_usb?
>  usbdev3.2_ep00: not suspended
> usb_generic_suspend(): verify_suspended+0x0/0x3c() returns -16
> suspend_device(): usb_generic_suspend+0x0/0x134() returns -16
> Could not suspend device 3-1: error -16
> hci_usb 3-1:1.0: no resume for driver hci_usb?
> hci_usb 3-1:1.1: no resume for driver hci_usb?
> Some devices failed to suspend
> Restarting tasks... done
> 
> 
> What's a usbdev3.2_ep00?

Evidently the regression was caused by Greg's patch making endpoints into 
real struct devices.  usbdev3.2_ep00 is the device corresponding to 
endpoint 0 on device 2 of USB bus 3.

Is it really true that this patch has been sitting in -mm for several
months (as stated in the cover message to Linus for the new batch of
changes for 2.6.17 sent in yesterday)?

There are several possible ways to fix this.  One is to add suspend and 
resume routines to the endpoint-device driver.  Another is to change the 
code that checks for the children being suspended, to make it check only 
for child USB devices and not child endpoints.

Alan Stern


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

* 2.6.17-mm1: kernel/lockdep.c: write-only variables
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (17 preceding siblings ...)
  2006-06-22 14:58 ` 2.6.17-mm1 Franck Bui-Huu
@ 2006-06-22 15:52 ` Adrian Bunk
  2006-06-23  7:26   ` Ingo Molnar
  2006-06-22 21:34 ` 2.6.17-mm1: UML failing w/o SKAS enabled Theodore Tso
                   ` (11 subsequent siblings)
  30 siblings, 1 reply; 158+ messages in thread
From: Adrian Bunk @ 2006-06-22 15:52 UTC (permalink / raw)
  To: Andrew Morton, Ingo Molnar; +Cc: linux-kernel

The following variables in kernel/lockdep.c are write-only:
  nr_hardirq_read_safe_locks
  nr_hardirq_read_unsafe_locks
  nr_hardirq_safe_locks
  nr_hardirq_unsafe_locks
  nr_softirq_read_safe_locks
  nr_softirq_read_unsafe_locks
  nr_softirq_safe_locks
  nr_softirq_unsafe_locks

Is a usage pending or should they be removed?

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] 158+ messages in thread

* Re: 2.6.17-mm1
  2006-06-22 15:50     ` 2.6.17-mm1 Franck Bui-Huu
@ 2006-06-22 15:54       ` Mel Gorman
  2006-06-22 16:14         ` 2.6.17-mm1 Russell King
  2006-06-22 17:25         ` 2.6.17-mm1 Franck Bui-Huu
  0 siblings, 2 replies; 158+ messages in thread
From: Mel Gorman @ 2006-06-22 15:54 UTC (permalink / raw)
  To: Franck; +Cc: Andrew Morton, linux-kernel

On Thu, 22 Jun 2006, Franck Bui-Huu wrote:

> Mel Gorman wrote:
>> On Thu, 22 Jun 2006, Franck Bui-Huu wrote:
>>>
>>> Should ARCH_PFN_OFFSET macro be used instead in order to make pfn/page
>>> convertions work when node 0 start offset do not start at 0 ?
>>>
>>
>> What happens if you have ARCH_PFN_OFFSET as
>>
>> #define ARCH_PFN_OFFSET (0UL)
>>
>> ?
>
> It's the default value (see memory_model.h). It means that pfn start
> for node 0 is 0, therefore your physical memory address starts at 0.
>

I know, but what I'm getting at is that ARCH_PFN_OFFSET may be unnecessary 
with flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch applied. 
ARCH_PFN_OFFSET is used as

#define page_to_pfn(page)       ((unsigned long)((page) - mem_map) + \
                                  ARCH_PFN_OFFSET)

because it knew that the map may not start at PFN 0. With 
flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch, the map will 
start at PFN 0 even if physical memory does not start until later.

>>
>> What arch is this?
>>
>
> well I'm working on MIPS, but you can take a look at ARM that does the
> same thing better...
>
>>> My physical memory start at 0x20000000. So node 0 starts at an offset
>>> different from 0. I setup ARCH_PFN_OFFSET this way
>>>
>>>     #define ARCH_PFN_OFFSET    (0x20000000 << PAGE_SHIFT)
>>>
>>
>> If physical memory starts at 0x20000000, why is the PFN not
>> 0x20000000 >> PAGE_SHIFT ?
>>
>
> It is a typo...
>

ok

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
  2006-06-22  7:46       ` Andrew Morton
  2006-06-22  8:25         ` Jeremy Fitzhardinge
  2006-06-22 15:51           ` Alan Stern
@ 2006-06-22 16:04         ` Frederik Deweerdt
  2006-06-22 16:25             ` [linux-pm] " Andrew Morton
  2 siblings, 1 reply; 158+ messages in thread
From: Frederik Deweerdt @ 2006-06-22 16:04 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Greg KH, linux-kernel, pavel, linux-pm, stern

Thu, Jun 22, 2006 at 12:46:48AM -0700, Andrew Morton wrote:
> I can bisect it if we're stuck, but that'll require beer or something.

FWIW, my laptop (Dell D610) gave the following results:
2.6.17-mm1: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16
2.6.17+origin.patch: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16
2.6.17: oops
2.6.17.1: oops

2.6.17-rc6-mm2: suspends correctly


Regards,
Frederik

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

* Re: 2.6.17-mm1
  2006-06-22 15:54       ` 2.6.17-mm1 Mel Gorman
@ 2006-06-22 16:14         ` Russell King
  2006-06-22 16:50           ` 2.6.17-mm1 Mel Gorman
  2006-06-22 17:25         ` 2.6.17-mm1 Franck Bui-Huu
  1 sibling, 1 reply; 158+ messages in thread
From: Russell King @ 2006-06-22 16:14 UTC (permalink / raw)
  To: Mel Gorman; +Cc: Franck, Andrew Morton, linux-kernel

On Thu, Jun 22, 2006 at 04:54:06PM +0100, Mel Gorman wrote:
> On Thu, 22 Jun 2006, Franck Bui-Huu wrote:
> >It's the default value (see memory_model.h). It means that pfn start
> >for node 0 is 0, therefore your physical memory address starts at 0.
> 
> I know, but what I'm getting at is that ARCH_PFN_OFFSET may be unnecessary 
> with flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch applied. 
> ARCH_PFN_OFFSET is used as
> 
> #define page_to_pfn(page)       ((unsigned long)((page) - mem_map) + \
>                                  ARCH_PFN_OFFSET)
> 
> because it knew that the map may not start at PFN 0. With 
> flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch, the map will 
> start at PFN 0 even if physical memory does not start until later.

Doesn't that result in a massive array of struct pages if your memory
starts a 3GB physical and has 4K pages?  If you have only 32MB in that
scenario, and that was correct, you'd gobble 25MB of that just to
store that array.  Ouch.

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

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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 16:04         ` Frederik Deweerdt
@ 2006-06-22 16:25             ` Andrew Morton
  0 siblings, 0 replies; 158+ messages in thread
From: Andrew Morton @ 2006-06-22 16:25 UTC (permalink / raw)
  To: Frederik Deweerdt; +Cc: linux-kernel, linux-pm

On Thu, 22 Jun 2006 18:04:03 +0200
Frederik Deweerdt <deweerdt@free.fr> wrote:

> Thu, Jun 22, 2006 at 12:46:48AM -0700, Andrew Morton wrote:
> > I can bisect it if we're stuck, but that'll require beer or something.
> 
> FWIW, my laptop (Dell D610) gave the following results:
> 2.6.17-mm1: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16
> 2.6.17+origin.patch: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16

So it's in mainline already - hence it's some recently-written thing which
was not tested in rc6-mm2.

> 2.6.17: oops
> 2.6.17.1: oops

2.6.17 wasn't supposed to oops.  Do you have details on this?

> 2.6.17-rc6-mm2: suspends correctly

Good kernel, that.

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-22 16:25             ` Andrew Morton
  0 siblings, 0 replies; 158+ messages in thread
From: Andrew Morton @ 2006-06-22 16:25 UTC (permalink / raw)
  To: Frederik Deweerdt; +Cc: greg, linux-kernel, pavel, linux-pm, stern

On Thu, 22 Jun 2006 18:04:03 +0200
Frederik Deweerdt <deweerdt@free.fr> wrote:

> Thu, Jun 22, 2006 at 12:46:48AM -0700, Andrew Morton wrote:
> > I can bisect it if we're stuck, but that'll require beer or something.
> 
> FWIW, my laptop (Dell D610) gave the following results:
> 2.6.17-mm1: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16
> 2.6.17+origin.patch: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16

So it's in mainline already - hence it's some recently-written thing which
was not tested in rc6-mm2.

> 2.6.17: oops
> 2.6.17.1: oops

2.6.17 wasn't supposed to oops.  Do you have details on this?

> 2.6.17-rc6-mm2: suspends correctly

Good kernel, that.

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

* Re: 2.6.17-mm1
  2006-06-22 16:14         ` 2.6.17-mm1 Russell King
@ 2006-06-22 16:50           ` Mel Gorman
  0 siblings, 0 replies; 158+ messages in thread
From: Mel Gorman @ 2006-06-22 16:50 UTC (permalink / raw)
  To: Russell King; +Cc: Franck, Andrew Morton, linux-kernel

On Thu, 22 Jun 2006, Russell King wrote:

> On Thu, Jun 22, 2006 at 04:54:06PM +0100, Mel Gorman wrote:
>> On Thu, 22 Jun 2006, Franck Bui-Huu wrote:
>>> It's the default value (see memory_model.h). It means that pfn start
>>> for node 0 is 0, therefore your physical memory address starts at 0.
>>
>> I know, but what I'm getting at is that ARCH_PFN_OFFSET may be unnecessary
>> with flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch applied.
>> ARCH_PFN_OFFSET is used as
>>
>> #define page_to_pfn(page)       ((unsigned long)((page) - mem_map) + \
>>                                  ARCH_PFN_OFFSET)
>>
>> because it knew that the map may not start at PFN 0. With
>> flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch, the map will
>> start at PFN 0 even if physical memory does not start until later.
>
> Doesn't that result in a massive array of struct pages if your memory
> starts a 3GB physical and has 4K pages?

No, I should have been clear. The size of the map remains the same but 
mem_map does not point directly to NODE_DATA(0)->node_mem_map when the PFN 
of node 0 is not 0. Instead mem_map points to

NODE_DATA(0)->node_mem_map - NODE_DATA(0)->node_start_pfn

The relevant bit of code is

 	map = alloc_remap(pgdat->node_id, size);
 	if (!map)
 		map = alloc_bootmem_node(pgdat, size);
 	pgdat->node_mem_map = map + (pgdat->node_start_pfn - start);

 	/*
 	 * With FLATMEM the global mem_map is used.  This is assumed
 	 * to be based at pfn 0 such that 'pfn = page* - mem_map'
 	 * is true. Adjust map relative to node_mem_map to
 	 * maintain this relationship.
 	 */
 	map -= pgdat->node_start_pfn;

and later

 	if (pgdat == NODE_DATA(0))
 		mem_map = map;

So memory is wasted and ARCH_PFN_OFFSET isn't needed in the case where it 
is working around NODE_DATA(0)->node_start_pfn != 0

> If you have only 32MB in that
> scenario, and that was correct, you'd gobble 25MB of that just to
> store that array.  Ouch.
>

It would be a kick in the shins all right if that was the case.

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 15:51           ` Alan Stern
  (?)
@ 2006-06-22 17:17           ` Jeremy Fitzhardinge
  -1 siblings, 0 replies; 158+ messages in thread
From: Jeremy Fitzhardinge @ 2006-06-22 17:17 UTC (permalink / raw)
  To: Alan Stern; +Cc: Andrew Morton, Greg KH, linux-kernel, pavel, linux-pm

Alan Stern wrote:
> Is it really true that this patch has been sitting in -mm for several
> months (as stated in the cover message to Linus for the new batch of
> changes for 2.6.17 sent in yesterday)?
>   
2.6.17-pre6-mm2 works perfectly for me.  17-mm1 has this problem.

    J

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

* Re: 2.6.17-mm1
  2006-06-22 15:54       ` 2.6.17-mm1 Mel Gorman
  2006-06-22 16:14         ` 2.6.17-mm1 Russell King
@ 2006-06-22 17:25         ` Franck Bui-Huu
  2006-06-23 10:20           ` 2.6.17-mm1 Mel Gorman
  1 sibling, 1 reply; 158+ messages in thread
From: Franck Bui-Huu @ 2006-06-22 17:25 UTC (permalink / raw)
  To: Mel Gorman; +Cc: Andrew Morton, linux-kernel

2006/6/22, Mel Gorman <mel@csn.ul.ie>:
> On Thu, 22 Jun 2006, Franck Bui-Huu wrote:
>
> > Mel Gorman wrote:
> >> On Thu, 22 Jun 2006, Franck Bui-Huu wrote:
> >>>
> >>> Should ARCH_PFN_OFFSET macro be used instead in order to make pfn/page
> >>> convertions work when node 0 start offset do not start at 0 ?
> >>>
> >>
> >> What happens if you have ARCH_PFN_OFFSET as
> >>
> >> #define ARCH_PFN_OFFSET (0UL)
> >>
> >> ?
> >
> > It's the default value (see memory_model.h). It means that pfn start
> > for node 0 is 0, therefore your physical memory address starts at 0.
> >
>
> I know, but what I'm getting at is that ARCH_PFN_OFFSET may be unnecessary
> with flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch applied.

yes it seems so. But ARCH_PFN_OFFSET has been used before your patch
has been sent. So your patch seems to be incomplete...

> ARCH_PFN_OFFSET is used as
>
> #define page_to_pfn(page)       ((unsigned long)((page) - mem_map) + \
>                                   ARCH_PFN_OFFSET)
>
> because it knew that the map may not start at PFN 0. With
> flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch, the map will
> start at PFN 0 even if physical memory does not start until later.
>

well your approach's trick is on the mem_map address whereas
ARCH_PFN_OFFSET's one is on the computation of the index. Your
solution may result in smaller kernel (when ARCH_PFN_OFFSET != 0)
because in your case page/pfn conversion is simpler.

Maybe in your patch instead of doing:

        map -= pgdat->node_start_pfn;

you could do:

        map -= ARCH_OFFSET_PFN;

-- 
               Franck

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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 15:51           ` Alan Stern
@ 2006-06-22 18:46             ` Greg KH
  -1 siblings, 0 replies; 158+ messages in thread
From: Greg KH @ 2006-06-22 18:46 UTC (permalink / raw)
  To: Alan Stern; +Cc: linux-pm, linux-kernel

On Thu, Jun 22, 2006 at 11:51:18AM -0400, Alan Stern wrote:
> On Thu, 22 Jun 2006, Andrew Morton wrote:
> 
> > On Wed, 21 Jun 2006 23:19:05 -0700
> > Greg KH <greg@kroah.com> wrote:
> > 
> > > > I have the same problems also with suspend to disk. BTW I can't resume
> > > > from disk since 2.6.17-rc5-mm1, but I'll try to be more precise
> > > > tomorrow, as it seems removing the usb stuff makes it do some more steps
> > > > toward resumimg (eg: with usb modules this laptop immediately reboots
> > > > after reading all pages, without them I can reach "resuming device.."
> > > > stage).
> > > 
> > > Removing uhci-hcd causes all USB devices to be removed from the system.
> > > 
> > > Alan, you've been working in the "generic usb" section lately, any ideas
> > > why we can't suspend that kind of device now?
> 
> See below...
> 
> > My laptop has the same problem.
> 
> > Shrinking memory... done (0 pages freed)
> > hci_usb 3-1:1.1: no suspend for driver hci_usb?
> > hci_usb 3-1:1.0: no suspend for driver hci_usb?
> >  usbdev3.2_ep00: not suspended
> > usb_generic_suspend(): verify_suspended+0x0/0x3c() returns -16
> > suspend_device(): usb_generic_suspend+0x0/0x134() returns -16
> > Could not suspend device 3-1: error -16
> > hci_usb 3-1:1.0: no resume for driver hci_usb?
> > hci_usb 3-1:1.1: no resume for driver hci_usb?
> > Some devices failed to suspend
> > Restarting tasks... done
> > 
> > 
> > What's a usbdev3.2_ep00?
> 
> Evidently the regression was caused by Greg's patch making endpoints into 
> real struct devices.  usbdev3.2_ep00 is the device corresponding to 
> endpoint 0 on device 2 of USB bus 3.
> 
> Is it really true that this patch has been sitting in -mm for several
> months (as stated in the cover message to Linus for the new batch of
> changes for 2.6.17 sent in yesterday)?

Ugh, no, you are right, the endpoint change was not in for that long,
sorry.  I thought it did make at least one -mm though.

> There are several possible ways to fix this.  One is to add suspend and 
> resume routines to the endpoint-device driver.  Another is to change the 
> code that checks for the children being suspended, to make it check only 
> for child USB devices and not child endpoints.

I think it needs to check for _USB_ devices, not just any old device
that could possibly be attached to the main USB device (as this one is.)
What's to stop any other struct device to bind here and cause the same
problem?

thanks,

greg k-h

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-22 18:46             ` Greg KH
  0 siblings, 0 replies; 158+ messages in thread
From: Greg KH @ 2006-06-22 18:46 UTC (permalink / raw)
  To: Alan Stern; +Cc: Andrew Morton, linux-kernel, pavel, linux-pm

On Thu, Jun 22, 2006 at 11:51:18AM -0400, Alan Stern wrote:
> On Thu, 22 Jun 2006, Andrew Morton wrote:
> 
> > On Wed, 21 Jun 2006 23:19:05 -0700
> > Greg KH <greg@kroah.com> wrote:
> > 
> > > > I have the same problems also with suspend to disk. BTW I can't resume
> > > > from disk since 2.6.17-rc5-mm1, but I'll try to be more precise
> > > > tomorrow, as it seems removing the usb stuff makes it do some more steps
> > > > toward resumimg (eg: with usb modules this laptop immediately reboots
> > > > after reading all pages, without them I can reach "resuming device.."
> > > > stage).
> > > 
> > > Removing uhci-hcd causes all USB devices to be removed from the system.
> > > 
> > > Alan, you've been working in the "generic usb" section lately, any ideas
> > > why we can't suspend that kind of device now?
> 
> See below...
> 
> > My laptop has the same problem.
> 
> > Shrinking memory... done (0 pages freed)
> > hci_usb 3-1:1.1: no suspend for driver hci_usb?
> > hci_usb 3-1:1.0: no suspend for driver hci_usb?
> >  usbdev3.2_ep00: not suspended
> > usb_generic_suspend(): verify_suspended+0x0/0x3c() returns -16
> > suspend_device(): usb_generic_suspend+0x0/0x134() returns -16
> > Could not suspend device 3-1: error -16
> > hci_usb 3-1:1.0: no resume for driver hci_usb?
> > hci_usb 3-1:1.1: no resume for driver hci_usb?
> > Some devices failed to suspend
> > Restarting tasks... done
> > 
> > 
> > What's a usbdev3.2_ep00?
> 
> Evidently the regression was caused by Greg's patch making endpoints into 
> real struct devices.  usbdev3.2_ep00 is the device corresponding to 
> endpoint 0 on device 2 of USB bus 3.
> 
> Is it really true that this patch has been sitting in -mm for several
> months (as stated in the cover message to Linus for the new batch of
> changes for 2.6.17 sent in yesterday)?

Ugh, no, you are right, the endpoint change was not in for that long,
sorry.  I thought it did make at least one -mm though.

> There are several possible ways to fix this.  One is to add suspend and 
> resume routines to the endpoint-device driver.  Another is to change the 
> code that checks for the children being suspended, to make it check only 
> for child USB devices and not child endpoints.

I think it needs to check for _USB_ devices, not just any old device
that could possibly be attached to the main USB device (as this one is.)
What's to stop any other struct device to bind here and cause the same
problem?

thanks,

greg k-h

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 18:46             ` [linux-pm] " Greg KH
  (?)
@ 2006-06-22 19:07             ` Greg KH
  -1 siblings, 0 replies; 158+ messages in thread
From: Greg KH @ 2006-06-22 19:07 UTC (permalink / raw)
  To: Alan Stern; +Cc: Andrew Morton, linux-kernel, pavel, linux-pm

On Thu, Jun 22, 2006 at 11:46:49AM -0700, Greg KH wrote:
> On Thu, Jun 22, 2006 at 11:51:18AM -0400, Alan Stern wrote:
> > On Thu, 22 Jun 2006, Andrew Morton wrote:
> > 
> > > On Wed, 21 Jun 2006 23:19:05 -0700
> > > Greg KH <greg@kroah.com> wrote:
> > > 
> > > > > I have the same problems also with suspend to disk. BTW I can't resume
> > > > > from disk since 2.6.17-rc5-mm1, but I'll try to be more precise
> > > > > tomorrow, as it seems removing the usb stuff makes it do some more steps
> > > > > toward resumimg (eg: with usb modules this laptop immediately reboots
> > > > > after reading all pages, without them I can reach "resuming device.."
> > > > > stage).
> > > > 
> > > > Removing uhci-hcd causes all USB devices to be removed from the system.
> > > > 
> > > > Alan, you've been working in the "generic usb" section lately, any ideas
> > > > why we can't suspend that kind of device now?
> > 
> > See below...
> > 
> > > My laptop has the same problem.
> > 
> > > Shrinking memory... done (0 pages freed)
> > > hci_usb 3-1:1.1: no suspend for driver hci_usb?
> > > hci_usb 3-1:1.0: no suspend for driver hci_usb?
> > >  usbdev3.2_ep00: not suspended
> > > usb_generic_suspend(): verify_suspended+0x0/0x3c() returns -16
> > > suspend_device(): usb_generic_suspend+0x0/0x134() returns -16
> > > Could not suspend device 3-1: error -16
> > > hci_usb 3-1:1.0: no resume for driver hci_usb?
> > > hci_usb 3-1:1.1: no resume for driver hci_usb?
> > > Some devices failed to suspend
> > > Restarting tasks... done
> > > 
> > > 
> > > What's a usbdev3.2_ep00?
> > 
> > Evidently the regression was caused by Greg's patch making endpoints into 
> > real struct devices.  usbdev3.2_ep00 is the device corresponding to 
> > endpoint 0 on device 2 of USB bus 3.
> > 
> > Is it really true that this patch has been sitting in -mm for several
> > months (as stated in the cover message to Linus for the new batch of
> > changes for 2.6.17 sent in yesterday)?
> 
> Ugh, no, you are right, the endpoint change was not in for that long,
> sorry.  I thought it did make at least one -mm though.
> 
> > There are several possible ways to fix this.  One is to add suspend and 
> > resume routines to the endpoint-device driver.  Another is to change the 
> > code that checks for the children being suspended, to make it check only 
> > for child USB devices and not child endpoints.
> 
> I think it needs to check for _USB_ devices, not just any old device
> that could possibly be attached to the main USB device (as this one is.)
> What's to stop any other struct device to bind here and cause the same
> problem?

Ok, the problem is in verify_suspended(), we are not detecting what type
of device this is.

Alan, what are you trying to check for here?  What "bogus requests" were
you seeing from sysfs that you are trying to filter out?

thanks,

greg k-h

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 16:25             ` [linux-pm] " Andrew Morton
  (?)
@ 2006-06-22 19:07             ` Frederik Deweerdt
  -1 siblings, 0 replies; 158+ messages in thread
From: Frederik Deweerdt @ 2006-06-22 19:07 UTC (permalink / raw)
  To: Andrew Morton; +Cc: greg, linux-kernel, pavel, linux-pm, stern

On Thu, Jun 22, 2006 at 09:25:06AM -0700, Andrew Morton wrote:
> On Thu, 22 Jun 2006 18:04:03 +0200
> Frederik Deweerdt <deweerdt@free.fr> wrote:
> > 2.6.17: oops
> > 2.6.17.1: oops
> 
> 2.6.17 wasn't supposed to oops.  Do you have details on this?
> 
No, sorry I didn't have a serial cable handy. I'll post the 
.config and the oops tomorrow.

Regards,
Frederik

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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 18:46             ` [linux-pm] " Greg KH
@ 2006-06-22 19:57               ` Alan Stern
  -1 siblings, 0 replies; 158+ messages in thread
From: Alan Stern @ 2006-06-22 19:57 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-pm, linux-kernel

On Thu, 22 Jun 2006, Greg KH wrote:

> > There are several possible ways to fix this.  One is to add suspend and 
> > resume routines to the endpoint-device driver.  Another is to change the 
> > code that checks for the children being suspended, to make it check only 
> > for child USB devices and not child endpoints.
> 
> I think it needs to check for _USB_ devices, not just any old device
> that could possibly be attached to the main USB device (as this one is.)
> What's to stop any other struct device to bind here and cause the same
> problem?

In my upcoming patches for USB core suspend improvements, one of the 
changes affects this very piece of code.  Instead of looping over all 
child devices in the driver-model sense, it loops over all interfaces in 
the active configuration, which is all we care about right here.

> Ok, the problem is in verify_suspended(), we are not detecting what type
> of device this is.
> 
> Alan, what are you trying to check for here?  What "bogus requests" were
> you seeing from sysfs that you are trying to filter out?

I didn't write that routine, Dave Brownell did.  It has been there for
ages.  The "bogus requests" are attempts by the user to suspend a USB
device (by writing to /sys/devices/.../power/state) without first
suspending all its children and interfaces.

(This can't happen when doing a global suspend because the PM core 
iterates through the entire device tree.  It matters only for "runtime" or 
"selective" suspend.)

The two easiest ways to fix the problem are:

	Change the code to look through the interfaces in the active
	configuration instead of using device_for_each_child;

or

	Revert your "endpoints are devices" patch until my upcoming
	changes are in place.

Alan Stern

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-22 19:57               ` Alan Stern
  0 siblings, 0 replies; 158+ messages in thread
From: Alan Stern @ 2006-06-22 19:57 UTC (permalink / raw)
  To: Greg KH; +Cc: Andrew Morton, linux-kernel, pavel, linux-pm

On Thu, 22 Jun 2006, Greg KH wrote:

> > There are several possible ways to fix this.  One is to add suspend and 
> > resume routines to the endpoint-device driver.  Another is to change the 
> > code that checks for the children being suspended, to make it check only 
> > for child USB devices and not child endpoints.
> 
> I think it needs to check for _USB_ devices, not just any old device
> that could possibly be attached to the main USB device (as this one is.)
> What's to stop any other struct device to bind here and cause the same
> problem?

In my upcoming patches for USB core suspend improvements, one of the 
changes affects this very piece of code.  Instead of looping over all 
child devices in the driver-model sense, it loops over all interfaces in 
the active configuration, which is all we care about right here.

> Ok, the problem is in verify_suspended(), we are not detecting what type
> of device this is.
> 
> Alan, what are you trying to check for here?  What "bogus requests" were
> you seeing from sysfs that you are trying to filter out?

I didn't write that routine, Dave Brownell did.  It has been there for
ages.  The "bogus requests" are attempts by the user to suspend a USB
device (by writing to /sys/devices/.../power/state) without first
suspending all its children and interfaces.

(This can't happen when doing a global suspend because the PM core 
iterates through the entire device tree.  It matters only for "runtime" or 
"selective" suspend.)

The two easiest ways to fix the problem are:

	Change the code to look through the interfaces in the active
	configuration instead of using device_for_each_child;

or

	Revert your "endpoints are devices" patch until my upcoming
	changes are in place.

Alan Stern


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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 19:57               ` [linux-pm] " Alan Stern
@ 2006-06-22 20:22                 ` Greg KH
  -1 siblings, 0 replies; 158+ messages in thread
From: Greg KH @ 2006-06-22 20:22 UTC (permalink / raw)
  To: Alan Stern; +Cc: linux-pm, linux-kernel

On Thu, Jun 22, 2006 at 03:57:24PM -0400, Alan Stern wrote:
> On Thu, 22 Jun 2006, Greg KH wrote:
> 
> > > There are several possible ways to fix this.  One is to add suspend and 
> > > resume routines to the endpoint-device driver.  Another is to change the 
> > > code that checks for the children being suspended, to make it check only 
> > > for child USB devices and not child endpoints.
> > 
> > I think it needs to check for _USB_ devices, not just any old device
> > that could possibly be attached to the main USB device (as this one is.)
> > What's to stop any other struct device to bind here and cause the same
> > problem?
> 
> In my upcoming patches for USB core suspend improvements, one of the 
> changes affects this very piece of code.  Instead of looping over all 
> child devices in the driver-model sense, it loops over all interfaces in 
> the active configuration, which is all we care about right here.
> 
> > Ok, the problem is in verify_suspended(), we are not detecting what type
> > of device this is.
> > 
> > Alan, what are you trying to check for here?  What "bogus requests" were
> > you seeing from sysfs that you are trying to filter out?
> 
> I didn't write that routine, Dave Brownell did.  It has been there for
> ages.

Sorry for the misattribution, I should have checked closer.

> The "bogus requests" are attempts by the user to suspend a USB
> device (by writing to /sys/devices/.../power/state) without first
> suspending all its children and interfaces.
> 
> (This can't happen when doing a global suspend because the PM core 
> iterates through the entire device tree.  It matters only for "runtime" or 
> "selective" suspend.)

Then why is people hitting this now?  I guess no one had hooked a struct
device to a struct usb_device before, only interfaces.

> The two easiest ways to fix the problem are:
> 
> 	Change the code to look through the interfaces in the active
> 	configuration instead of using device_for_each_child;

Or at least verify that they are looking at an interface, just blindly
poking at a child device isn't very nice :(

> or
> 
> 	Revert your "endpoints are devices" patch until my upcoming
> 	changes are in place.

I'll work on a fix-up patch based on the first option :)

thanks,

greg k-h

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-22 20:22                 ` Greg KH
  0 siblings, 0 replies; 158+ messages in thread
From: Greg KH @ 2006-06-22 20:22 UTC (permalink / raw)
  To: Alan Stern; +Cc: Andrew Morton, linux-kernel, pavel, linux-pm

On Thu, Jun 22, 2006 at 03:57:24PM -0400, Alan Stern wrote:
> On Thu, 22 Jun 2006, Greg KH wrote:
> 
> > > There are several possible ways to fix this.  One is to add suspend and 
> > > resume routines to the endpoint-device driver.  Another is to change the 
> > > code that checks for the children being suspended, to make it check only 
> > > for child USB devices and not child endpoints.
> > 
> > I think it needs to check for _USB_ devices, not just any old device
> > that could possibly be attached to the main USB device (as this one is.)
> > What's to stop any other struct device to bind here and cause the same
> > problem?
> 
> In my upcoming patches for USB core suspend improvements, one of the 
> changes affects this very piece of code.  Instead of looping over all 
> child devices in the driver-model sense, it loops over all interfaces in 
> the active configuration, which is all we care about right here.
> 
> > Ok, the problem is in verify_suspended(), we are not detecting what type
> > of device this is.
> > 
> > Alan, what are you trying to check for here?  What "bogus requests" were
> > you seeing from sysfs that you are trying to filter out?
> 
> I didn't write that routine, Dave Brownell did.  It has been there for
> ages.

Sorry for the misattribution, I should have checked closer.

> The "bogus requests" are attempts by the user to suspend a USB
> device (by writing to /sys/devices/.../power/state) without first
> suspending all its children and interfaces.
> 
> (This can't happen when doing a global suspend because the PM core 
> iterates through the entire device tree.  It matters only for "runtime" or 
> "selective" suspend.)

Then why is people hitting this now?  I guess no one had hooked a struct
device to a struct usb_device before, only interfaces.

> The two easiest ways to fix the problem are:
> 
> 	Change the code to look through the interfaces in the active
> 	configuration instead of using device_for_each_child;

Or at least verify that they are looking at an interface, just blindly
poking at a child device isn't very nice :(

> or
> 
> 	Revert your "endpoints are devices" patch until my upcoming
> 	changes are in place.

I'll work on a fix-up patch based on the first option :)

thanks,

greg k-h

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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 19:57               ` [linux-pm] " Alan Stern
@ 2006-06-22 20:38                 ` Jiri Slaby
  -1 siblings, 0 replies; 158+ messages in thread
From: Jiri Slaby @ 2006-06-22 20:38 UTC (permalink / raw)
  To: Alan Stern; +Cc: linux-kernel, linux-pm

Alan Stern napsal(a):
>> Ok, the problem is in verify_suspended(), we are not detecting what type
>> of device this is.
>>
>> Alan, what are you trying to check for here?  What "bogus requests" were
>> you seeing from sysfs that you are trying to filter out?
> 
> I didn't write that routine, Dave Brownell did.  It has been there for
> ages.  The "bogus requests" are attempts by the user to suspend a USB
> device (by writing to /sys/devices/.../power/state) without first
> suspending all its children and interfaces.
> 
> (This can't happen when doing a global suspend because the PM core 
> iterates through the entire device tree.  It matters only for "runtime" or 
> "selective" suspend.)

But everything I did is:
echo reboot > /sys/power/disk
echo disk > /sys/power/state

No writing anywhere else.

regards,
-- 
Jiri Slaby         www.fi.muni.cz/~xslaby
\_.-^-._   jirislaby@gmail.com   _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-22 20:38                 ` Jiri Slaby
  0 siblings, 0 replies; 158+ messages in thread
From: Jiri Slaby @ 2006-06-22 20:38 UTC (permalink / raw)
  To: Alan Stern; +Cc: Greg KH, Andrew Morton, linux-kernel, pavel, linux-pm

Alan Stern napsal(a):
>> Ok, the problem is in verify_suspended(), we are not detecting what type
>> of device this is.
>>
>> Alan, what are you trying to check for here?  What "bogus requests" were
>> you seeing from sysfs that you are trying to filter out?
> 
> I didn't write that routine, Dave Brownell did.  It has been there for
> ages.  The "bogus requests" are attempts by the user to suspend a USB
> device (by writing to /sys/devices/.../power/state) without first
> suspending all its children and interfaces.
> 
> (This can't happen when doing a global suspend because the PM core 
> iterates through the entire device tree.  It matters only for "runtime" or 
> "selective" suspend.)

But everything I did is:
echo reboot > /sys/power/disk
echo disk > /sys/power/state

No writing anywhere else.

regards,
-- 
Jiri Slaby         www.fi.muni.cz/~xslaby
\_.-^-._   jirislaby@gmail.com   _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E

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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 20:38                 ` [linux-pm] " Jiri Slaby
@ 2006-06-22 21:09                   ` Alan Stern
  -1 siblings, 0 replies; 158+ messages in thread
From: Alan Stern @ 2006-06-22 21:09 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: linux-kernel, linux-pm

On Thu, 22 Jun 2006, Jiri Slaby wrote:

> > ages.  The "bogus requests" are attempts by the user to suspend a USB
> > device (by writing to /sys/devices/.../power/state) without first
> > suspending all its children and interfaces.
> > 
> > (This can't happen when doing a global suspend because the PM core 
> > iterates through the entire device tree.  It matters only for "runtime" or 
> > "selective" suspend.)
> 
> But everything I did is:
> echo reboot > /sys/power/disk
> echo disk > /sys/power/state
> 
> No writing anywhere else.

You misunderstood.  I meant that attempts to suspend a USB device without 
first suspending all its children and interfaces can't happen when doing a 
global suspend.  That's still true.

Your problem occurred because even though the PM core did _attempt_ to 
suspend the new children added by Greg's patch, it didn't _succeed_ 
because the patch did not provide suspend or resume methods.

Alan Stern

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-22 21:09                   ` Alan Stern
  0 siblings, 0 replies; 158+ messages in thread
From: Alan Stern @ 2006-06-22 21:09 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: Greg KH, Andrew Morton, linux-kernel, pavel, linux-pm

On Thu, 22 Jun 2006, Jiri Slaby wrote:

> > ages.  The "bogus requests" are attempts by the user to suspend a USB
> > device (by writing to /sys/devices/.../power/state) without first
> > suspending all its children and interfaces.
> > 
> > (This can't happen when doing a global suspend because the PM core 
> > iterates through the entire device tree.  It matters only for "runtime" or 
> > "selective" suspend.)
> 
> But everything I did is:
> echo reboot > /sys/power/disk
> echo disk > /sys/power/state
> 
> No writing anywhere else.

You misunderstood.  I meant that attempts to suspend a USB device without 
first suspending all its children and interfaces can't happen when doing a 
global suspend.  That's still true.

Your problem occurred because even though the PM core did _attempt_ to 
suspend the new children added by Greg's patch, it didn't _succeed_ 
because the patch did not provide suspend or resume methods.

Alan Stern


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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 21:09                   ` [linux-pm] " Alan Stern
@ 2006-06-22 21:11                     ` Greg KH
  -1 siblings, 0 replies; 158+ messages in thread
From: Greg KH @ 2006-06-22 21:11 UTC (permalink / raw)
  To: Alan Stern; +Cc: linux-pm, Jiri Slaby, linux-kernel

On Thu, Jun 22, 2006 at 05:09:43PM -0400, Alan Stern wrote:
> On Thu, 22 Jun 2006, Jiri Slaby wrote:
> 
> > > ages.  The "bogus requests" are attempts by the user to suspend a USB
> > > device (by writing to /sys/devices/.../power/state) without first
> > > suspending all its children and interfaces.
> > > 
> > > (This can't happen when doing a global suspend because the PM core 
> > > iterates through the entire device tree.  It matters only for "runtime" or 
> > > "selective" suspend.)
> > 
> > But everything I did is:
> > echo reboot > /sys/power/disk
> > echo disk > /sys/power/state
> > 
> > No writing anywhere else.
> 
> You misunderstood.  I meant that attempts to suspend a USB device without 
> first suspending all its children and interfaces can't happen when doing a 
> global suspend.  That's still true.
> 
> Your problem occurred because even though the PM core did _attempt_ to 
> suspend the new children added by Greg's patch, it didn't _succeed_ 
> because the patch did not provide suspend or resume methods.

Which because they are virtual "devices" they do not need a suspend or
resume method, so not having any is just fine.  If we abort because of
something like this, the core logic is quite broken...

thanks,

greg k-h

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-22 21:11                     ` Greg KH
  0 siblings, 0 replies; 158+ messages in thread
From: Greg KH @ 2006-06-22 21:11 UTC (permalink / raw)
  To: Alan Stern; +Cc: Jiri Slaby, Andrew Morton, linux-kernel, pavel, linux-pm

On Thu, Jun 22, 2006 at 05:09:43PM -0400, Alan Stern wrote:
> On Thu, 22 Jun 2006, Jiri Slaby wrote:
> 
> > > ages.  The "bogus requests" are attempts by the user to suspend a USB
> > > device (by writing to /sys/devices/.../power/state) without first
> > > suspending all its children and interfaces.
> > > 
> > > (This can't happen when doing a global suspend because the PM core 
> > > iterates through the entire device tree.  It matters only for "runtime" or 
> > > "selective" suspend.)
> > 
> > But everything I did is:
> > echo reboot > /sys/power/disk
> > echo disk > /sys/power/state
> > 
> > No writing anywhere else.
> 
> You misunderstood.  I meant that attempts to suspend a USB device without 
> first suspending all its children and interfaces can't happen when doing a 
> global suspend.  That's still true.
> 
> Your problem occurred because even though the PM core did _attempt_ to 
> suspend the new children added by Greg's patch, it didn't _succeed_ 
> because the patch did not provide suspend or resume methods.

Which because they are virtual "devices" they do not need a suspend or
resume method, so not having any is just fine.  If we abort because of
something like this, the core logic is quite broken...

thanks,

greg k-h

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

* 2.6.17-mm1: UML failing w/o SKAS enabled
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (18 preceding siblings ...)
  2006-06-22 15:52 ` 2.6.17-mm1: kernel/lockdep.c: write-only variables Adrian Bunk
@ 2006-06-22 21:34 ` Theodore Tso
  2006-06-22 21:57   ` Andrew Morton
  2006-06-23  2:42   ` Jeff Dike
  2006-06-23 10:55 ` [-mm patch] fs/reiser4/: possible cleanups Adrian Bunk
                   ` (10 subsequent siblings)
  30 siblings, 2 replies; 158+ messages in thread
From: Theodore Tso @ 2006-06-22 21:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1028 bytes --]

When I tried compiling 2.6.17-mm1 without SKAS support, it failed to
link:

arch/um/sys-i386/built-in.o: In function `__setup_host_supports_tls':tls.c:(.init.text+0x14): undefined reference to `check_host_supports_tls'
collect2: ld returned 1 exit status

This can fixed be addressed with the attached patch, but it the
resulting kernel still doesn't boot:

<tytso@candygram>       {/usr/projects/uml/linux-2.6.17-mm1}
35% ./linux
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking for tmpfs mount on /dev/shm...OK
Checking PROT_EXEC mmap in /dev/shm/...OK
UML running in TT mode
tracing thread pid = 25812
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK

<tytso@candygram>       {/usr/projects/uml/linux-2.6.17-mm1}
36%

If anyone has any suggestions, I'd appreciate them.

							- Ted



[-- Attachment #2: fix-uml-no-skas --]
[-- Type: text/plain, Size: 489 bytes --]

Index: linux-2.6.17-mm1/arch/um/os-Linux/sys-i386/Makefile
===================================================================
--- linux-2.6.17-mm1.orig/arch/um/os-Linux/sys-i386/Makefile	2006-06-17 21:49:35.000000000 -0400
+++ linux-2.6.17-mm1/arch/um/os-Linux/sys-i386/Makefile	2006-06-22 17:28:59.000000000 -0400
@@ -3,7 +3,8 @@
 # Licensed under the GPL
 #
 
-obj-$(CONFIG_MODE_SKAS) = registers.o tls.o
+obj-$(CONFIG_MODE_SKAS) = registers.o
+obj-y = tls.o
 
 USER_OBJS := $(obj-y)
 

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

* Re: 2.6.17-mm1: UML failing w/o SKAS enabled
  2006-06-22 21:34 ` 2.6.17-mm1: UML failing w/o SKAS enabled Theodore Tso
@ 2006-06-22 21:57   ` Andrew Morton
  2006-06-23  2:54     ` Jeff Dike
  2006-06-23  2:42   ` Jeff Dike
  1 sibling, 1 reply; 158+ messages in thread
From: Andrew Morton @ 2006-06-22 21:57 UTC (permalink / raw)
  To: Theodore Tso; +Cc: linux-kernel, Jeff Dike

Theodore Tso <tytso@mit.edu> wrote:
>
> When I tried compiling 2.6.17-mm1 without SKAS support, it failed to
> link:
> 
> arch/um/sys-i386/built-in.o: In function `__setup_host_supports_tls':tls.c:(.init.text+0x14): undefined reference to `check_host_supports_tls'
> collect2: ld returned 1 exit status
> 
> This can fixed be addressed with the attached patch,

--- linux-2.6.17-mm1.orig/arch/um/os-Linux/sys-i386/Makefile	2006-06-17 21:49:35.000000000 -0400
+++ linux-2.6.17-mm1/arch/um/os-Linux/sys-i386/Makefile	2006-06-22 17:28:59.000000000 -0400
@@ -3,7 +3,8 @@
 # Licensed under the GPL
 #
 
-obj-$(CONFIG_MODE_SKAS) = registers.o tls.o
+obj-$(CONFIG_MODE_SKAS) = registers.o
+obj-y = tls.o
 
 USER_OBJS := $(obj-y)
 


hm, I don't see anything in -mm which could cause this.

> but it the
> resulting kernel still doesn't boot:
> 
> <tytso@candygram>       {/usr/projects/uml/linux-2.6.17-mm1}
> 35% ./linux
> Checking that ptrace can change system call numbers...OK
> Checking syscall emulation patch for ptrace...OK
> Checking advanced syscall emulation patch for ptrace...OK
> Checking for tmpfs mount on /dev/shm...OK
> Checking PROT_EXEC mmap in /dev/shm/...OK
> UML running in TT mode
> tracing thread pid = 25812
> Checking that ptrace can change system call numbers...OK
> Checking syscall emulation patch for ptrace...OK
> Checking advanced syscall emulation patch for ptrace...OK
> 
> <tytso@candygram>       {/usr/projects/uml/linux-2.6.17-mm1}
> 36%
> 
> If anyone has any suggestions, I'd appreciate them.
> 

It's not clear what actually happened - did it quietly exit, or what?

I haven't run UML in several years, alas.  I should work out how to do it
(again).   Links to any uml-for-dummies site would be appreciated ;)


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

* Re: 2.6.17-mm1: UML failing w/o SKAS enabled
  2006-06-22 21:34 ` 2.6.17-mm1: UML failing w/o SKAS enabled Theodore Tso
  2006-06-22 21:57   ` Andrew Morton
@ 2006-06-23  2:42   ` Jeff Dike
  2006-06-23 21:07     ` Theodore Tso
  1 sibling, 1 reply; 158+ messages in thread
From: Jeff Dike @ 2006-06-23  2:42 UTC (permalink / raw)
  To: Theodore Tso, Andrew Morton, linux-kernel

On Thu, Jun 22, 2006 at 05:34:43PM -0400, Theodore Tso wrote:
> When I tried compiling 2.6.17-mm1 without SKAS support, it failed to
> link:

Why are you trying to do that?  tt mode is bitrotting - the only
reason it is still there is that skas mode doesn't fully support SMP
yet.  If SMP is the reason, then I'll add the necessary support and
send in the patch.

				Jeff

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

* Re: 2.6.17-mm1: UML failing w/o SKAS enabled
  2006-06-22 21:57   ` Andrew Morton
@ 2006-06-23  2:54     ` Jeff Dike
  2006-06-23 10:10       ` Roman Zippel
  0 siblings, 1 reply; 158+ messages in thread
From: Jeff Dike @ 2006-06-23  2:54 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Theodore Tso, linux-kernel

On Thu, Jun 22, 2006 at 02:57:43PM -0700, Andrew Morton wrote:
> I haven't run UML in several years, alas.  I should work out how to do it
> (again).   Links to any uml-for-dummies site would be appreciated ;)

http://user-mode-linux.sourceforge.net/new/index.html

Scroll down to the "Getting Started" section.  You download two files,
uncompress them, and run UML.  The only way I can think to make it
easier would be to make it one file by sticking the filesystem in an
initramfs :-)

For building UML, see
	http://user-mode-linux.sourceforge.net/new/source.html

The important thing is to start with a defconfig in order to avoid
config grabbing the host's config from /boot.

				Jeff

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

* Re: 2.6.17-mm1: kernel/lockdep.c: write-only variables
  2006-06-22 15:52 ` 2.6.17-mm1: kernel/lockdep.c: write-only variables Adrian Bunk
@ 2006-06-23  7:26   ` Ingo Molnar
  2006-06-23  7:49     ` Ingo Molnar
  0 siblings, 1 reply; 158+ messages in thread
From: Ingo Molnar @ 2006-06-23  7:26 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel


* Adrian Bunk <bunk@stusta.de> wrote:

> The following variables in kernel/lockdep.c are write-only:
>   nr_hardirq_read_safe_locks
>   nr_hardirq_read_unsafe_locks
>   nr_hardirq_safe_locks
>   nr_hardirq_unsafe_locks
>   nr_softirq_read_safe_locks
>   nr_softirq_read_unsafe_locks
>   nr_softirq_safe_locks
>   nr_softirq_unsafe_locks
> 
> Is a usage pending or should they be removed?

they are stale - i'll remove them. (there's a new calculation method for 
them)

	Ingo

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

* Re: 2.6.17-mm1: kernel/lockdep.c: write-only variables
  2006-06-23  7:26   ` Ingo Molnar
@ 2006-06-23  7:49     ` Ingo Molnar
  0 siblings, 0 replies; 158+ messages in thread
From: Ingo Molnar @ 2006-06-23  7:49 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel


* Ingo Molnar <mingo@elte.hu> wrote:

> 
> * Adrian Bunk <bunk@stusta.de> wrote:
> 
> > The following variables in kernel/lockdep.c are write-only:
> >   nr_hardirq_read_safe_locks
> >   nr_hardirq_read_unsafe_locks
> >   nr_hardirq_safe_locks
> >   nr_hardirq_unsafe_locks
> >   nr_softirq_read_safe_locks
> >   nr_softirq_read_unsafe_locks
> >   nr_softirq_safe_locks
> >   nr_softirq_unsafe_locks
> > 
> > Is a usage pending or should they be removed?
> 
> they are stale - i'll remove them. (there's a new calculation method 
> for them)

the patch is below. (Andrew, please dont apply this one - will be part 
of another patchset)

	Ingo

---
 kernel/lockdep.c           |   16 ----------------
 kernel/lockdep_internals.h |    8 --------
 2 files changed, 24 deletions(-)

Index: linux/kernel/lockdep.c
===================================================================
--- linux.orig/kernel/lockdep.c
+++ linux/kernel/lockdep.c
@@ -271,14 +271,6 @@ atomic_t softirqs_off_events;
 atomic_t redundant_softirqs_on;
 atomic_t redundant_softirqs_off;
 atomic_t nr_unused_locks;
-atomic_t nr_hardirq_safe_locks;
-atomic_t nr_softirq_safe_locks;
-atomic_t nr_hardirq_unsafe_locks;
-atomic_t nr_softirq_unsafe_locks;
-atomic_t nr_hardirq_read_safe_locks;
-atomic_t nr_softirq_read_safe_locks;
-atomic_t nr_hardirq_read_unsafe_locks;
-atomic_t nr_softirq_read_unsafe_locks;
 atomic_t nr_cyclic_checks;
 atomic_t nr_cyclic_check_recursions;
 atomic_t nr_find_usage_forwards_checks;
@@ -1640,7 +1632,6 @@ static int mark_lock(struct task_struct 
 				LOCK_ENABLED_HARDIRQS_READ, "hard-read"))
 			return 0;
 #endif
-		debug_atomic_inc(&nr_hardirq_safe_locks);
 		if (hardirq_verbose(this->type))
 			ret = 2;
 		break;
@@ -1666,7 +1657,6 @@ static int mark_lock(struct task_struct 
 				LOCK_ENABLED_SOFTIRQS_READ, "soft-read"))
 			return 0;
 #endif
-		debug_atomic_inc(&nr_softirq_safe_locks);
 		if (softirq_verbose(this->type))
 			ret = 2;
 		break;
@@ -1680,7 +1670,6 @@ static int mark_lock(struct task_struct 
 		if (!check_usage_forwards(curr, this,
 					  LOCK_ENABLED_HARDIRQS, "hard"))
 			return 0;
-		debug_atomic_inc(&nr_hardirq_read_safe_locks);
 		if (hardirq_verbose(this->type))
 			ret = 2;
 		break;
@@ -1694,7 +1683,6 @@ static int mark_lock(struct task_struct 
 		if (!check_usage_forwards(curr, this,
 					  LOCK_ENABLED_SOFTIRQS, "soft"))
 			return 0;
-		debug_atomic_inc(&nr_softirq_read_safe_locks);
 		if (softirq_verbose(this->type))
 			ret = 2;
 		break;
@@ -1721,7 +1709,6 @@ static int mark_lock(struct task_struct 
 				   LOCK_USED_IN_HARDIRQ_READ, "hard-read"))
 			return 0;
 #endif
-		debug_atomic_inc(&nr_hardirq_unsafe_locks);
 		if (hardirq_verbose(this->type))
 			ret = 2;
 		break;
@@ -1748,7 +1735,6 @@ static int mark_lock(struct task_struct 
 				   LOCK_USED_IN_SOFTIRQ_READ, "soft-read"))
 			return 0;
 #endif
-		debug_atomic_inc(&nr_softirq_unsafe_locks);
 		if (softirq_verbose(this->type))
 			ret = 2;
 		break;
@@ -1764,7 +1750,6 @@ static int mark_lock(struct task_struct 
 					   LOCK_USED_IN_HARDIRQ, "hard"))
 			return 0;
 #endif
-		debug_atomic_inc(&nr_hardirq_read_unsafe_locks);
 		if (hardirq_verbose(this->type))
 			ret = 2;
 		break;
@@ -1780,7 +1765,6 @@ static int mark_lock(struct task_struct 
 					   LOCK_USED_IN_SOFTIRQ, "soft"))
 			return 0;
 #endif
-		debug_atomic_inc(&nr_softirq_read_unsafe_locks);
 		if (softirq_verbose(this->type))
 			ret = 2;
 		break;
Index: linux/kernel/lockdep_internals.h
===================================================================
--- linux.orig/kernel/lockdep_internals.h
+++ linux/kernel/lockdep_internals.h
@@ -69,14 +69,6 @@ extern atomic_t softirqs_off_events;
 extern atomic_t redundant_softirqs_on;
 extern atomic_t redundant_softirqs_off;
 extern atomic_t nr_unused_locks;
-extern atomic_t nr_hardirq_safe_locks;
-extern atomic_t nr_softirq_safe_locks;
-extern atomic_t nr_hardirq_unsafe_locks;
-extern atomic_t nr_softirq_unsafe_locks;
-extern atomic_t nr_hardirq_read_safe_locks;
-extern atomic_t nr_softirq_read_safe_locks;
-extern atomic_t nr_hardirq_read_unsafe_locks;
-extern atomic_t nr_softirq_read_unsafe_locks;
 extern atomic_t nr_cyclic_checks;
 extern atomic_t nr_cyclic_check_recursions;
 extern atomic_t nr_find_usage_forwards_checks;

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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-22 16:25             ` [linux-pm] " Andrew Morton
@ 2006-06-23  9:02               ` Frederik Deweerdt
  -1 siblings, 0 replies; 158+ messages in thread
From: Frederik Deweerdt @ 2006-06-23  9:02 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-pm

On Thu, Jun 22, 2006 at 09:25:06AM -0700, Andrew Morton wrote:
> On Thu, 22 Jun 2006 18:04:03 +0200
> Frederik Deweerdt <deweerdt@free.fr> wrote:
> 
> > Thu, Jun 22, 2006 at 12:46:48AM -0700, Andrew Morton wrote:
> > > I can bisect it if we're stuck, but that'll require beer or something.
> > 
> > FWIW, my laptop (Dell D610) gave the following results:
> > 2.6.17-mm1: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16
> > 2.6.17+origin.patch: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16
> 
> So it's in mainline already - hence it's some recently-written thing which
> was not tested in rc6-mm2.
> 
> > 2.6.17: oops
> > 2.6.17.1: oops
> 
> 2.6.17 wasn't supposed to oops.  Do you have details on this?
> 
For some reason, unknown to me, the oops won't display on the serial link :(.

Here's what I could hand copy (I've suppressed printk timing information):
x1b9/0x1be
<c0166e6b> sys_write+0x4b/0x75  <c010300f> sysenter_past_esp+0x54/0x75
Code: 05 c4 52 43 c0 31 53 43 c0 c3 8b 2d 68 6e 54 c0 8b 1d 60
6e 54 c0 8b 35 6c 6e 54 c0 8b 3d 70 6e 54 c0 ff 35 74 6e 54 c0 9d c3 90 <e8>
9d 2c ea ff e8 a2 ff ff ff 6a 03 e8 4c ab de ff 83 c4 04 c3
EIP: [<c043531c>] do_suspend_lowlevel+0x0/0x15 SS:ESP 0068:f7a0fea4
<3>BUG: sleeping function called from invalid context at include/linux/rwsem.h:43
in_atomic():0, irqs_disabled():1
 <c0103e56> show_trace+0x20/0x22  <c0103f5b> dump_stack+0x1e/0x20
 <c011aec7> __might_sleep+0x9e/0xa6  <c012b0cf> blocking_notifier_call_chain+0x1e/0x5b
 <c011f091> profile_task_exit+0x21/0x23  <c0120946> do_exit+0x1d/0x483
 <c0104432> do_divide_error+0x0/0xbf  <c0362c76> do_page_fault+0x3c4/0x752
 <c0103b2f> error_code+0x4f/0x54  <c013b33a> suspend_enter+0x2f/0x52
 <c013b3e0> enter_state+0x4b/0x8d  <c013b579> state_store+0xa0/0xa2
 <c01a54f1> subsys_attr_store+0x37/0x41  <c01a5772> flush_write_buffer+0x3c/046
 <c01a57e3> sysfs_write_file+0x67/0x8b  <c0166da6> vfs_write+0x1b9/0x1be
 <c0166e6b> sys_write+0x4b/0x75  <c010300f> sysenter_past_esp+0x54/0x75

This is triggered on a 2.6.17.1 kernel by:
echo mem > /sys/power/state

.config and dmesg are here:
http://fdeweerdt.free.fr/suspend_oops/

Regards,
Frederik

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-23  9:02               ` Frederik Deweerdt
  0 siblings, 0 replies; 158+ messages in thread
From: Frederik Deweerdt @ 2006-06-23  9:02 UTC (permalink / raw)
  To: Andrew Morton; +Cc: greg, linux-kernel, pavel, linux-pm, stern

On Thu, Jun 22, 2006 at 09:25:06AM -0700, Andrew Morton wrote:
> On Thu, 22 Jun 2006 18:04:03 +0200
> Frederik Deweerdt <deweerdt@free.fr> wrote:
> 
> > Thu, Jun 22, 2006 at 12:46:48AM -0700, Andrew Morton wrote:
> > > I can bisect it if we're stuck, but that'll require beer or something.
> > 
> > FWIW, my laptop (Dell D610) gave the following results:
> > 2.6.17-mm1: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16
> > 2.6.17+origin.patch: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16
> 
> So it's in mainline already - hence it's some recently-written thing which
> was not tested in rc6-mm2.
> 
> > 2.6.17: oops
> > 2.6.17.1: oops
> 
> 2.6.17 wasn't supposed to oops.  Do you have details on this?
> 
For some reason, unknown to me, the oops won't display on the serial link :(.

Here's what I could hand copy (I've suppressed printk timing information):
x1b9/0x1be
<c0166e6b> sys_write+0x4b/0x75  <c010300f> sysenter_past_esp+0x54/0x75
Code: 05 c4 52 43 c0 31 53 43 c0 c3 8b 2d 68 6e 54 c0 8b 1d 60
6e 54 c0 8b 35 6c 6e 54 c0 8b 3d 70 6e 54 c0 ff 35 74 6e 54 c0 9d c3 90 <e8>
9d 2c ea ff e8 a2 ff ff ff 6a 03 e8 4c ab de ff 83 c4 04 c3
EIP: [<c043531c>] do_suspend_lowlevel+0x0/0x15 SS:ESP 0068:f7a0fea4
<3>BUG: sleeping function called from invalid context at include/linux/rwsem.h:43
in_atomic():0, irqs_disabled():1
 <c0103e56> show_trace+0x20/0x22  <c0103f5b> dump_stack+0x1e/0x20
 <c011aec7> __might_sleep+0x9e/0xa6  <c012b0cf> blocking_notifier_call_chain+0x1e/0x5b
 <c011f091> profile_task_exit+0x21/0x23  <c0120946> do_exit+0x1d/0x483
 <c0104432> do_divide_error+0x0/0xbf  <c0362c76> do_page_fault+0x3c4/0x752
 <c0103b2f> error_code+0x4f/0x54  <c013b33a> suspend_enter+0x2f/0x52
 <c013b3e0> enter_state+0x4b/0x8d  <c013b579> state_store+0xa0/0xa2
 <c01a54f1> subsys_attr_store+0x37/0x41  <c01a5772> flush_write_buffer+0x3c/046
 <c01a57e3> sysfs_write_file+0x67/0x8b  <c0166da6> vfs_write+0x1b9/0x1be
 <c0166e6b> sys_write+0x4b/0x75  <c010300f> sysenter_past_esp+0x54/0x75

This is triggered on a 2.6.17.1 kernel by:
echo mem > /sys/power/state

.config and dmesg are here:
http://fdeweerdt.free.fr/suspend_oops/

Regards,
Frederik

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
  2006-06-23  9:02               ` [linux-pm] " Frederik Deweerdt
  (?)
@ 2006-06-23  9:10               ` Pavel Machek
  2006-06-23  9:31                   ` [linux-pm] " Andrew Morton
                                   ` (2 more replies)
  -1 siblings, 3 replies; 158+ messages in thread
From: Pavel Machek @ 2006-06-23  9:10 UTC (permalink / raw)
  To: Frederik Deweerdt; +Cc: Andrew Morton, greg, linux-kernel, linux-pm, stern

Hi!

> > Frederik Deweerdt <deweerdt@free.fr> wrote:
> > 
> > > Thu, Jun 22, 2006 at 12:46:48AM -0700, Andrew Morton wrote:
> > > > I can bisect it if we're stuck, but that'll require beer or something.
> > > 
> > > FWIW, my laptop (Dell D610) gave the following results:
> > > 2.6.17-mm1: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16
> > > 2.6.17+origin.patch: suspend_device(): usb_generic_suspend+0x0/0x135 [usbcore]() returns -16
> > 
> > So it's in mainline already - hence it's some recently-written thing which
> > was not tested in rc6-mm2.
> > 
> > > 2.6.17: oops
> > > 2.6.17.1: oops
> > 
> > 2.6.17 wasn't supposed to oops.  Do you have details on this?
> > 
> For some reason, unknown to me, the oops won't display on the serial
> link :(.

Serial console is currently broken by suspend, resume. _But_ I have a
patch I'd like you to try.... pretty please?

> Here's what I could hand copy (I've suppressed printk timing information):
> x1b9/0x1be
> <c0166e6b> sys_write+0x4b/0x75  <c010300f> sysenter_past_esp+0x54/0x75
> Code: 05 c4 52 43 c0 31 53 43 c0 c3 8b 2d 68 6e 54 c0 8b 1d 60
> 6e 54 c0 8b 35 6c 6e 54 c0 8b 3d 70 6e 54 c0 ff 35 74 6e 54 c0 9d c3 90 <e8>
> 9d 2c ea ff e8 a2 ff ff ff 6a 03 e8 4c ab de ff 83 c4 04 c3
> EIP: [<c043531c>] do_suspend_lowlevel+0x0/0x15 SS:ESP 0068:f7a0fea4
> <3>BUG: sleeping function called from invalid context at include/linux/rwsem.h:43
> in_atomic():0, irqs_disabled():1
>  <c0103e56> show_trace+0x20/0x22  <c0103f5b> dump_stack+0x1e/0x20
>  <c011aec7> __might_sleep+0x9e/0xa6  <c012b0cf> blocking_notifier_call_chain+0x1e/0x5b
>  <c011f091> profile_task_exit+0x21/0x23  <c0120946> do_exit+0x1d/0x483
>  <c0104432> do_divide_error+0x0/0xbf  <c0362c76> do_page_fault+0x3c4/0x752
>  <c0103b2f> error_code+0x4f/0x54  <c013b33a> suspend_enter+0x2f/0x52
>  <c013b3e0> enter_state+0x4b/0x8d  <c013b579> state_store+0xa0/0xa2
>  <c01a54f1> subsys_attr_store+0x37/0x41  <c01a5772> flush_write_buffer+0x3c/046
>  <c01a57e3> sysfs_write_file+0x67/0x8b  <c0166da6> vfs_write+0x1b9/0x1be
>  <c0166e6b> sys_write+0x4b/0x75  <c010300f> sysenter_past_esp+0x54/0x75

That is not an oops, rather a kernel BUG(). Can you just remove
might_sleep line and see what happens?

Unfortunately, backtrace does not tell me which notifier chain did
that :-(. Are you using audit or something like that?

/*
 * lock for reading
 */
static inline void down_read(struct rw_semaphore *sem)
{
        might_sleep();
~~~~~~~~~~~~~~~~~~~~~~
        rwsemtrace(sem,"Entering down_read");
        __down_read(sem);
        rwsemtrace(sem,"Leaving down_read");
}

										Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

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

* Re: swsusp regression [Was: 2.6.17-mm1]
  2006-06-23  9:10               ` Pavel Machek
@ 2006-06-23  9:31                   ` Andrew Morton
  2006-06-23 12:12                   ` [linux-pm] " Frederik Deweerdt
  2006-06-23 19:41                 ` Russell King
  2 siblings, 0 replies; 158+ messages in thread
From: Andrew Morton @ 2006-06-23  9:31 UTC (permalink / raw)
  To: Pavel Machek; +Cc: deweerdt, linux-kernel, linux-pm

On Fri, 23 Jun 2006 11:10:21 +0200
Pavel Machek <pavel@ucw.cz> wrote:

> > Here's what I could hand copy (I've suppressed printk timing information):
> > x1b9/0x1be
> > <c0166e6b> sys_write+0x4b/0x75  <c010300f> sysenter_past_esp+0x54/0x75
> > Code: 05 c4 52 43 c0 31 53 43 c0 c3 8b 2d 68 6e 54 c0 8b 1d 60
> > 6e 54 c0 8b 35 6c 6e 54 c0 8b 3d 70 6e 54 c0 ff 35 74 6e 54 c0 9d c3 90 <e8>
> > 9d 2c ea ff e8 a2 ff ff ff 6a 03 e8 4c ab de ff 83 c4 04 c3
> > EIP: [<c043531c>] do_suspend_lowlevel+0x0/0x15 SS:ESP 0068:f7a0fea4
> > <3>BUG: sleeping function called from invalid context at include/linux/rwsem.h:43
> > in_atomic():0, irqs_disabled():1
> >  <c0103e56> show_trace+0x20/0x22  <c0103f5b> dump_stack+0x1e/0x20
> >  <c011aec7> __might_sleep+0x9e/0xa6  <c012b0cf> blocking_notifier_call_chain+0x1e/0x5b
> >  <c011f091> profile_task_exit+0x21/0x23  <c0120946> do_exit+0x1d/0x483
> >  <c0104432> do_divide_error+0x0/0xbf  <c0362c76> do_page_fault+0x3c4/0x752
> >  <c0103b2f> error_code+0x4f/0x54  <c013b33a> suspend_enter+0x2f/0x52
> >  <c013b3e0> enter_state+0x4b/0x8d  <c013b579> state_store+0xa0/0xa2
> >  <c01a54f1> subsys_attr_store+0x37/0x41  <c01a5772> flush_write_buffer+0x3c/046
> >  <c01a57e3> sysfs_write_file+0x67/0x8b  <c0166da6> vfs_write+0x1b9/0x1be
> >  <c0166e6b> sys_write+0x4b/0x75  <c010300f> sysenter_past_esp+0x54/0x75
> 
> That is not an oops, rather a kernel BUG().

It's not a BUG().  It's a BUG.

IOW, it's just a WARN_ON().  Ingo decided all the scary messages should
start with the text "BUG".  That doesn't correlate with BUG().  Confused
yet?

That trace is odd.  It kinda looks like we got a segfault when entering the
do_suspend_lowlevel() assembly.  Or something.

> Can you just remove
> might_sleep line and see what happens?
> 
> Unfortunately, backtrace does not tell me which notifier chain did
> that :-(. Are you using audit or something like that?

No, that's all a consequence of something which happened earlier.

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

* Re: [linux-pm] swsusp regression [Was: 2.6.17-mm1]
@ 2006-06-23  9:31                   ` Andrew Morton
  0 siblings, 0 replies; 158+ messages in thread
From: Andrew Morton @ 2006-06-23  9:31 UTC (permalink / raw)
  To: Pavel Machek; +Cc: deweerdt, greg, linux-kernel, linux-pm, stern

On Fri, 23 Jun 2006 11:10:21 +0200
Pavel Machek <pavel@ucw.cz> wrote:

> > Here's what I could hand copy (I've suppressed printk timing information):
> > x1b9/0x1be
> > <c0166e6b> sys_write+0x4b/0x75  <c010300f> sysenter_past_esp+0x54/0x75
> > Code: 05 c4 52 43 c0 31 53 43 c0 c3 8b 2d 68 6e 54 c0 8b 1d 60
> > 6e 54 c0 8b 35 6c 6e 54 c0 8b 3d 70 6e 54 c0 ff 35 74 6e 54 c0 9d c3 90 <e8>
> > 9d 2c ea ff e8 a2 ff ff ff 6a 03 e8 4c ab de ff 83 c4 04 c3
> > EIP: [<c043531c>] do_suspend_lowlevel+0x0/0x15 SS:ESP 0068:f7a0fea4
> > <3>BUG: sleeping function called from invalid context at include/linux/rwsem.h:43
> > in_atomic():0, irqs_disabled():1
> >  <c0103e56> show_trace+0x20/0x22  <c0103f5b> dump_stack+0x1e/0x20
> >  <c011aec7> __might_sleep+0x9e/0xa6  <c012b0cf> blocking_notifier_call_chain+0x1e/0x5b
> >  <c011f091> profile_task_exit+0x21/0x23  <c0120946> do_exit+0x1d/0x483
> >  <c0104432> do_divide_error+0x0/0xbf  <c0362c76> do_page_fault+0x3c4/0x752
> >  <c0103b2f> error_code+0x4f/0x54  <c013b33a> suspend_enter+0x2f/0x52
> >  <c013b3e0> enter_state+0x4b/0x8d  <c013b579> state_store+0xa0/0xa2
> >  <c01a54f1> subsys_attr_store+0x37/0x41  <c01a5772> flush_write_buffer+0x3c/046
> >  <c01a57e3> sysfs_write_file+0x67/0x8b  <c0166da6> vfs_write+0x1b9/0x1be
> >  <c0166e6b> sys_write+0x4b/0x75  <c010300f> sysenter_past_esp+0x54/0x75
> 
> That is not an oops, rather a kernel BUG().

It's not a BUG().  It's a BUG.

IOW, it's just a WARN_ON().  Ingo decided all the scary messages should
start with the text "BUG".  That doesn't correlate with BUG().  Confused
yet?

That trace is odd.  It kinda looks like we got a segfault when entering the
do_suspend_lowlevel() assembly.  Or something.

> Can you just remove
> might_sleep line and see what happens?
> 
> Unfortunately, backtrace does not tell me which notifier chain did
> that :-(. Are you using audit or something like that?

No, that's all a consequence of something which happened earlier.

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

* Re: 2.6.17-mm1: UML failing w/o SKAS enabled
  2006-06-23  2:54     ` Jeff Dike
@ 2006-06-23 10:10       ` Roman Zippel
  2006-06-23 14:28         ` Jeff Dike
  0 siblings, 1 reply; 158+ messages in thread
From: Roman Zippel @ 2006-06-23 10:10 UTC (permalink / raw)
  To: Jeff Dike; +Cc: Andrew Morton, Theodore Tso, linux-kernel

Hi,

On Thu, 22 Jun 2006, Jeff Dike wrote:

> The important thing is to start with a defconfig in order to avoid
> config grabbing the host's config from /boot.

BTW this can be now configured. Check DEFCONFIG_LIST in init/Kconfig in 
-mm.

bye, Roman

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

* Re: 2.6.17-mm1
  2006-06-22 17:25         ` 2.6.17-mm1 Franck Bui-Huu
@ 2006-06-23 10:20           ` Mel Gorman
  2006-06-23 12:22             ` 2.6.17-mm1 Franck Bui-Huu
  0 siblings, 1 reply; 158+ messages in thread
From: Mel Gorman @ 2006-06-23 10:20 UTC (permalink / raw)
  To: Franck Bui-Huu; +Cc: Andrew Morton, linux-kernel

On (22/06/06 19:25), Franck Bui-Huu didst pronounce:
> 2006/6/22, Mel Gorman <mel@csn.ul.ie>:
> >On Thu, 22 Jun 2006, Franck Bui-Huu wrote:
> >
> >> Mel Gorman wrote:
> >>> On Thu, 22 Jun 2006, Franck Bui-Huu wrote:
> >>>>
> >>>> Should ARCH_PFN_OFFSET macro be used instead in order to make pfn/page
> >>>> convertions work when node 0 start offset do not start at 0 ?
> >>>>
> >>>
> >>> What happens if you have ARCH_PFN_OFFSET as
> >>>
> >>> #define ARCH_PFN_OFFSET (0UL)
> >>>
> >>> ?
> >>
> >> It's the default value (see memory_model.h). It means that pfn start
> >> for node 0 is 0, therefore your physical memory address starts at 0.
> >>
> >
> >I know, but what I'm getting at is that ARCH_PFN_OFFSET may be unnecessary
> >with flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch applied.
> 
> yes it seems so. But ARCH_PFN_OFFSET has been used before your patch
> has been sent. So your patch seems to be incomplete...

Difficult to argue with that logic.

> 
> >ARCH_PFN_OFFSET is used as
> >
> >#define page_to_pfn(page)       ((unsigned long)((page) - mem_map) + \
> >                                  ARCH_PFN_OFFSET)
> >
> >because it knew that the map may not start at PFN 0. With
> >flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch, the map will
> >start at PFN 0 even if physical memory does not start until later.
> >
> 
> well your approach's trick is on the mem_map address whereas
> ARCH_PFN_OFFSET's one is on the computation of the index. Your
> solution may result in smaller kernel (when ARCH_PFN_OFFSET != 0)
> because in your case page/pfn conversion is simpler.
> 
> Maybe in your patch instead of doing:
> 
>        map -= pgdat->node_start_pfn;
> 
> you could do:
> 
>        map -= ARCH_OFFSET_PFN;
> 

That will assume that ARCH_OFFSET_PFN is always equal to
NODE_DATA(0)->node_start_pfn which may cause other breakage further down
the line. How about something like this? (boot tested on x86 only)


>>> Begin patch

The FLATMEM memory model assumes that memory is
on contiguous area starting from PFN 0.  The patch
flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch relaxed
this assumption by offsetting mem_map from NODE_DATA(0)->node_mem_map
by NODE_DATA(0)->node_start_pfn. However, some architectures are using
ARCH_OFFSET_PFN to do a similar job at a runtime cost which causes the map
to get offset twice.

This patch catches the situation where ARCH_OFFSET_PFN was being used to
workaround NODE_DATA(0)->node_start_pfn != 0 and prints a message letting
the arch maintainer know that ARCH_OFFSET_PFN may be safe to remove.
Once the message appears on no architectures, it may be safe to remove
ARCH_OFFSET_PFN totally.

diff -rup -X /usr/src/patchset-0.6/bin//dontdiff linux-2.6.17-mm1-clean/include/asm-generic/memory_model.h linux-2.6.17-mm1-archpfnfix/include/asm-generic/memory_model.h
--- linux-2.6.17-mm1-clean/include/asm-generic/memory_model.h	2006-06-23 09:26:15.000000000 +0100
+++ linux-2.6.17-mm1-archpfnfix/include/asm-generic/memory_model.h	2006-06-23 10:44:18.000000000 +0100
@@ -28,9 +28,8 @@
  */
 #if defined(CONFIG_FLATMEM)
 
-#define __pfn_to_page(pfn)	(mem_map + ((pfn) - ARCH_PFN_OFFSET))
-#define __page_to_pfn(page)	((unsigned long)((page) - mem_map) + \
-				 ARCH_PFN_OFFSET)
+#define __pfn_to_page(pfn)	(mem_map + (pfn))
+#define __page_to_pfn(page)	((unsigned long)((page) - mem_map))
 #elif defined(CONFIG_DISCONTIGMEM)
 
 #define __pfn_to_page(pfn)			\
diff -rup -X /usr/src/patchset-0.6/bin//dontdiff linux-2.6.17-mm1-clean/mm/page_alloc.c linux-2.6.17-mm1-archpfnfix/mm/page_alloc.c
--- linux-2.6.17-mm1-clean/mm/page_alloc.c	2006-06-23 09:26:15.000000000 +0100
+++ linux-2.6.17-mm1-archpfnfix/mm/page_alloc.c	2006-06-23 10:49:01.000000000 +0100
@@ -2316,7 +2316,22 @@ static void __init alloc_node_mem_map(st
 		 * is true. Adjust map relative to node_mem_map to
 		 * maintain this relationship.
 		 */
-		map -= pgdat->node_start_pfn;
+		if (ARCH_PFN_OFFSET == 0)
+			map -= pgdat->node_start_pfn;
+		else {
+			/*
+			 * If ARCH_PFN_OFFSET is being used to to workaround
+			 * old assumptions of the FLATMEM memory model, print
+			 * a message so that ARCH_PFN_OFFSET can be safely
+			 * removed. If there are no remaining users of
+			 * ARCH_PFN_OFFSET after this message no longer
+			 * shows up, it'll be safe to remove this else block
+			 */
+			if (ARCH_PFN_OFFSET == pgdat->node_start_pfn)
+				printk("ARCH_PFN_OFFSET not necessary\n");
+
+			map -= ARCH_PFN_OFFSET;
+		}
 	}
 #ifdef CONFIG_FLATMEM
 	/*

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

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

* [-mm patch] fs/reiser4/: possible cleanups
  2006-06-21 10:48 2.6.17-mm1 Andrew Morton
                   ` (19 preceding siblings ...)
  2006-06-22 21:34 ` 2.6.17-mm1: UML failing w/o SKAS enabled Theodore Tso
@ 2006-06-23 10:55 ` Adrian Bunk
  2006-06-23 15:54   ` Hans Reiser
  2006-06-23 10:55 ` [-mm patch] fs/ufs/inode.c: make 2 functions static Adrian Bunk
                   ` (9 subsequent siblings)
  30 siblings, 1 reply; 158+ messages in thread
From: Adrian Bunk @ 2006-06-23 10:55 UTC (permalink / raw)
  To: Andrew Morton, reiserfs-dev; +Cc: linux-kernel

This patch contains the following possible cleanups:
- make needlessly global code static
- proper prototype for the following function:
  - plugin/file/file.c: init_uf_coord()
- "extern inline" -> "static inline"
- #if 0/comment out the following unused functions:
  - plugin/file/cryptcompress.c: jnode_of_cluster()
  - plugin/plugin.c: force_plugin()
  - plugin/plugin_set.c: plugin_set_compression()
- remove the following unused variable:
  - plugin/file/file.c: xversion

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

---

 fs/reiser4/block_alloc.c                 |   10 +++++-----
 fs/reiser4/flush_queue.c                 |    2 +-
 fs/reiser4/jnode.c                       |    7 ++++---
 fs/reiser4/jnode.h                       |    4 ----
 fs/reiser4/plugin/cluster.h              |    1 -
 fs/reiser4/plugin/file/cryptcompress.c   |    6 ++++--
 fs/reiser4/plugin/file/cryptcompress.h   |    2 --
 fs/reiser4/plugin/file/file.c            |    4 +---
 fs/reiser4/plugin/file/file.h            |    4 ++--
 fs/reiser4/plugin/item/extent_file_ops.c |    2 --
 fs/reiser4/plugin/plugin.c               |    2 ++
 fs/reiser4/plugin/plugin.h               |    1 -
 fs/reiser4/plugin/plugin_set.c           |    2 +-
 fs/reiser4/plugin/plugin_set.h           |    1 -
 fs/reiser4/super.h                       |    1 -
 fs/reiser4/super_ops.c                   |    4 ++--
 fs/reiser4/txnmgr.h                      |    1 -
 17 files changed, 22 insertions(+), 32 deletions(-)

--- linux-2.6.17-mm1-full/fs/reiser4/block_alloc.c.old	2006-06-22 16:00:18.000000000 +0200
+++ linux-2.6.17-mm1-full/fs/reiser4/block_alloc.c	2006-06-22 16:02:35.000000000 +0200
@@ -554,8 +554,8 @@
 
 /* adjust sb block counters, if real (on-disk) block allocation immediately
    follows grabbing of free disk space. */
-void grabbed2used(reiser4_context *ctx, reiser4_super_info_data *sbinfo,
-		  __u64 count)
+static void grabbed2used(reiser4_context *ctx, reiser4_super_info_data *sbinfo,
+			 __u64 count)
 {
 	sub_from_ctx_grabbed(ctx, count);
 
@@ -570,8 +570,8 @@
 }
 
 /* adjust sb block counters when @count unallocated blocks get mapped to disk */
-void fake_allocated2used(reiser4_super_info_data *sbinfo, __u64 count,
-			 reiser4_ba_flags_t flags)
+static void fake_allocated2used(reiser4_super_info_data *sbinfo, __u64 count,
+				reiser4_ba_flags_t flags)
 {
 	spin_lock_reiser4_super(sbinfo);
 
@@ -583,7 +583,7 @@
 	spin_unlock_reiser4_super(sbinfo);
 }
 
-void flush_reserved2used(txn_atom * atom, __u64 count)
+static void flush_reserved2used(txn_atom * atom, __u64 count)
 {
 	reiser4_super_info_data *sbinfo;
 
--- linux-2.6.17-mm1-full/fs/reiser4/txnmgr.h.old	2006-06-22 16:02:59.000000000 +0200
+++ linux-2.6.17-mm1-full/fs/reiser4/txnmgr.h	2006-06-22 16:03:04.000000000 +0200
@@ -661,7 +661,6 @@
 extern void fq_put(flush_queue_t *);
 extern void fuse_fq(txn_atom * to, txn_atom * from);
 extern void queue_jnode(flush_queue_t *, jnode *);
-extern void mark_jnode_queued(flush_queue_t *, jnode *);
 
 extern int write_fq(flush_queue_t *, long *, int);
 extern int current_atom_finish_all_fq(void);
--- linux-2.6.17-mm1-full/fs/reiser4/flush_queue.c.old	2006-06-22 16:03:13.000000000 +0200
+++ linux-2.6.17-mm1-full/fs/reiser4/flush_queue.c	2006-06-22 16:03:20.000000000 +0200
@@ -191,7 +191,7 @@
 }
 
 /* */
-void mark_jnode_queued(flush_queue_t * fq, jnode * node)
+static void mark_jnode_queued(flush_queue_t * fq, jnode * node)
 {
 	JF_SET(node, JNODE_FLUSH_QUEUED);
 	count_enqueued_node(fq);
--- linux-2.6.17-mm1-full/fs/reiser4/jnode.h.old	2006-06-22 16:04:24.000000000 +0200
+++ linux-2.6.17-mm1-full/fs/reiser4/jnode.h	2006-06-22 16:05:25.000000000 +0200
@@ -349,12 +349,8 @@
 extern jnode *jnode_by_page(struct page *pg) NONNULL;
 extern jnode *jnode_of_page(struct page *pg) NONNULL;
 void jnode_attach_page(jnode * node, struct page *pg);
-jnode *find_get_jnode(reiser4_tree * tree,
-		      struct address_space *mapping, oid_t oid,
-		      unsigned long index);
 
 void unhash_unformatted_jnode(jnode *);
-struct page *jnode_get_page_locked(jnode *, gfp_t gfp_flags);
 extern jnode *page_next_jnode(jnode * node) NONNULL;
 extern void jnode_init(jnode * node, reiser4_tree * tree, jnode_type) NONNULL;
 extern void jnode_make_dirty(jnode * node) NONNULL;
--- linux-2.6.17-mm1-full/fs/reiser4/jnode.c.old	2006-06-22 16:04:40.000000000 +0200
+++ linux-2.6.17-mm1-full/fs/reiser4/jnode.c	2006-06-22 16:05:34.000000000 +0200
@@ -537,8 +537,9 @@
  * allocate new jnode, insert it,