All of lore.kernel.org
 help / color / mirror / Atom feed
* 2.6.22-rc2-mm1
@ 2007-05-23  7:42 Andrew Morton
  2007-05-23  7:48 ` 2.6.22-rc2-mm1 Andrew Morton
                   ` (13 more replies)
  0 siblings, 14 replies; 104+ messages in thread
From: Andrew Morton @ 2007-05-23  7:42 UTC (permalink / raw)
  To: linux-kernel


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

- A new readahead patch series.  This needs serious review and performance
  testing please.

- Added Ingo's CFS CPU scheduler

- Xen dom-U support is now in the x86 tree.



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 tag v2.6.16-rc2-mm1
  git-checkout -b local-v2.6.16-rc2-mm1 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.

- When reporting bugs in this kernel via email, please also rewrite the
  email Subject: in some manner to reflect the nature of the bug.  Some
  developers filter by Subject: when looking for messages to read.

- Occasional snapshots of the -mm lineup are uploaded to
  ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/mm/ and are announced on
  the mm-commits list.




Changes since 2.6.22-rc1-mm1:


 origin.patch
 git-acpi.patch
 git-acpi-export-acpi_set_cstate_limit.patch
 git-alsa.patch
 git-alsa-fixup.patch
 git-cpufreq.patch
 git-cpufreq-fix.patch
 git-dvb.patch
 git-gfs2-nmw.patch
 git-hid.patch
 git-ia64.patch
 git-ieee1394.patch
 git-input.patch
 git-kvm.patch
 git-leds.patch
 git-leds-fixup.patch
 git-libata-all.patch
 git-md-accel.patch
 git-md-accel-build-fix.patch
 git-mips.patch
 git-mips-fixup.patch
 git-mmc.patch
 git-mtd.patch
 git-ubi.patch
 git-netdev-all.patch
 git-battery.patch
 git-ioat.patch
 git-ioat-vs-git-md-accel.patch
 git-nfs.patch
 git-nfs-server-cluster-locking-api.patch
 git-nfs-server-cluster-locking-api-fixup.patch
 git-parisc.patch
 git-r8169.patch
 git-selinux.patch
 git-pciseg.patch
 git-sh.patch
 git-scsi-misc.patch
 git-scsi-rc-fixes.patch
 git-scsi-target.patch
 git-unionfs.patch
 git-watchdog.patch
 git-wireless.patch
 git-ipwireless_cs.patch
 git-newsetup.patch
 git-xfs.patch
 git-cryptodev.patch
 git-xtensa.patch
 git-gccbug.patch

 git trees

-afs-write-back-dirty-data-on-unmount.patch
-slub-it-is-legit-to-allocate-a-slab-of-the-maximum-permitted-size.patch
-slub-dont-confuse-ctor-and-dtor.patch
-afs-fix-afs_prepare_write.patch
-spi-fix-spidev-for-sizeoflong-32-devices.patch
-parport_pc-needs-dma-mappingh.patch
-acpi-driver-model-flags-and-platform_enable_wake.patch
-alsa-fix-isa_bus-conversion.patch
-arm-fix-hard_smp_processor_id-compile-error.patch
-fix-agk-dm-dm-io-fix-panic-on-large-request.patch
-update-documentation-driver-model-platformtxt.patch
-tuner-simplec-add-suport-for-secam-bg-with-fi1216mf.patch
-jdelvare-hwmon-hwmon-maintainer-position-open.patch
-wistron_btns-add-led-support.patch
-add-support-for-reading-stdin-with-gen_init_cpio.patch
-add-support-for-squashing-uid-gid-in-gen_initramfs_listsh.patch
-time-locale-in-gen_initramfs_listsh.patch
-powerpc64-symbols-start-with.patch
-drivers-ata-remove-the-wildcard-from-sata_nv-driver.patch
-libata-fix-shutdown-warning-message-printing.patch
-drivers-ata-correct-a-wrong-free-function-for-sata_nv-driver.patch
-drivers-ata-correct-a-wrong-free-function-for-sata_nv-driver-fix.patch
-ide-alim15x3-use-ide-tune-dma.patch
-ide-pdc202xx_new-use-ide-tune-dma.patch
-ide-pdc202xx_old-rewrite-mode-programming-v2.patch
-ide-serverworks-pio-mode-setup-fixes.patch
-ide-sis5513-pio-mode-setup-fixes.patch
-ide-ide-dma-off-quietly-fix.patch
-ide-ide-no-mdma-udma-sharing-filter.patch
-ide-ide-tune-dma-2.patch
-ide-cs5530-sc1200-dma-cleanup.patch
-ide-cs5530-sc1200-add-speedproc.patch
-ide-sl82c105-add-speedproc-method-and-mwdma01-support.patch
-ide-ide-dma-enable.patch
-ide-ide-check-dma-words-validity.patch
-ide-ide-remove-ide-use-dma.patch
-ide-ide-use-mutex-instead-of-semaphore-in-ide-driver.patch
-sl82c105-switch-to-ref-counting-api.patch
-use-menuconfig-objects-ide.patch
-use-mutex-instead-of-semaphore-in-ide-driver.patch
-nommu-generalise-the-handling-of-mtd-specific-superblocks.patch
-dont-force-uclinux-mtd-map-to-be-root-dev.patch
-fix-race-condition-about-network-device-name-allocation.patch
-nf_conntrack-fix-use-after-free-in-helper-destroy-callback.patch
-git-battery-warning-fix.patch
-ds2760_battery-warning-fix.patch
-ocfs2-fix-type-borkage.patch
-fix-gregkh-pci-pci-remove-the-broken-pci_multithread_probe-option.patch
-pci-x-pci-express-read-control-interfaces.patch
-scsi-lpfc-lpfc_initc-remove-unused-variable.patch
 scsi-fix-ambiguous-gdthtable-definition.patch
-update-maintainer-email-id-for-megaraid-scsi-drivers.patch
-aacraid-fix.patch
-cxacru-add-documentation-file.patch
-cxacru-cleanup-sysfs-attribute-code.patch
-cxacru-create-sysfs-attributes-in-atm_start-instead-of-bind.patch
-cxacru-ignore-error-trying-to-start-adsl-in-atm_start.patch
-use-menuconfig-objects-ii-usb.patch
-auerswald-fix-file-release-handler.patch
-usb-dont-try-to-kzalloc-0-bytes.patch
-x86_64-mm-build-tar-files.patch
-x86_64-mm-various-cleanups.patch
-x86-use-elfnoteh-to-generate-vsyscall-notes.patch
-i386-fix-machine-rebooting-fix.patch
-use-menuconfig-objects-crypto.patch
-slob-implement-rcu-freeing.patch
-i386-x86-64-fix-section-mismatch.patch
-slab-allocators-drop-support-for-destructors.patch
-remove-slab_ctor_constructor.patch
-remove-constructor-from-buffer_head.patch
-remove-slab_ctor_constructor-fix.patch
-make-__vunmap-static.patch
-simplify-compat_sys_timerfd.patch
-let-smp_call_function_single-return-ebusy-on-up.patch
-let-smp_call_function_single-return-ebusy-on-up-fix.patch
-refine-screen_info-sanity-check-for-vgacon-initialization.patch
-slub-remove-depends-on-experimental-and-arch_uses_slab_page_struct.patch
-make-freezeable-workqueues-singlethread.patch
-slab-move-two-remaining-slab-specific-definitions-to-slab_defh.patch
-slub-define-functions-for-cpu-slab-handling-instead-of-using.patch
-slub-define-functions-for-cpu-slab-handling-instead-of-using-fix.patch
-parport-mailing-list-is-subscribers-only.patch
-docbook-make-kernel-locking-table-readable.patch
-gpio-interface-loosens-call-restrictions.patch
-rtc-omap-build-fix.patch
-rtc-kconfig-clarification.patch
-icom-add-new-sub-device-id-to-support-new-adapter.patch
-make-sysctl-kernel-core_pattern-and-fs-execc-agree-on-maximum-core-filename-size.patch
-ecryptfs-use-zero_user_page.patch
-slab-warn-on-zero-length-allocations.patch
-i386-dont-check_pgt_cache-in-flush_tlb_mm.patch
-circular-locking-dependency-found-in-quota-off.patch
-swsusp-fix-sysfs-interface.patch
-slub-fix-handling-of-oversized-slabs.patch
-compat_core_sys_select-avoid-kmalloc0.patch
-mm-more-rmap-checking.patch
-mm-more-rmap-checking-tidy.patch
-add-kstrndup.patch
-add-argv_split.patch
-split-usermodehelper-setup-from-execution.patch
-add-common-orderly_poweroff.patch
-tidy-up-usermode-helper-waiting-a-bit.patch

 Merged into mainline or a subsystem tree

+powerpc-fix.patch
+ignore-bogus-acpi-info-for-offline-cpus.patch
+slub-debug-fix-object-size-calculation.patch
+fuse-fix-mknod-of-regular-file.patch
+mpc52xx_psc_spi-fix-it-for-config_ppc_merge.patch
+spi-doc-update-describe-clock-mode-bits.patch
+nohz-rate-limit-the-local-softirq-pending-warning-output.patch
+capabilityh-warning-fix.patch

 2.6.22 queue

+invalidate_mapping_pages-add-cond_resched.patch
+make-common-helpers-for-seq_files-that-work-with-list_head-s.patch

 Probably 2.6.22 queue

+acpi-bay-send-envp-with-uevent.patch

 ACPI thing

+git-alsa-fixup.patch

 Fix rejects in git-alsa.patch

+avr32-ratelimit-segfault-reporting-rate.patch

 avr32 tweak

+cifs-oops-fix.patch

 Might fix CIFS oopses

+git-cpufreq-fix.patch

 Fix git-cpufreq.patch

+gregkh-driver-debugfs-add-rename-for-debugfs-files.patch
+gregkh-driver-update-documentation-driver-model-platformtxt.patch
+gregkh-driver-driver-core-keep-physdev-for-old-struct-class_device.patch
+gregkh-driver-driver-core-kill-unused-code.patch
+gregkh-driver-howto-removing-duplicated-entry.patch
+gregkh-driver-dmi-based-module-autoloading.patch

 Driver tree updates

+driver-core-check-return-code-of-sysfs_create_link.patch
+driver-core-check-return-code-of-sysfs_create_link-fix.patch
+driver-core-coding-style-cleanup.patch
+remove-odd-and-misleading-comments-from-uioh.patch

 Driver tree things

+jdelvare-i2c-i2c-legacy-drivers-shouldnt-issue-uevents.patch
+jdelvare-i2c-i2c-usb-tiny-fix-name-length.patch
+jdelvare-i2c-i2c-piix4-add-ati-sb700-support.patch

 I2C tree updates

+jdelvare-hwmon-hwmon-ds1621-swapped-limits.patch
+jdelvare-hwmon-hwmon-new-maintainer.patch
+jdelvare-hwmon-hwmon-w83627hf-quiet-when-no-chip.patch
+jdelvare-hwmon-hwmon-ds1621-cleanups.patch
+jdelvare-hwmon-hwmon-ds1621-dynamic-attributes.patch
+jdelvare-hwmon-hwmon-ds1621-individual-alarm-files.patch
+jdelvare-hwmon-hwmon-dme1737-new-driver.patch
+jdelvare-hwmon-hwmon-dme1737-documentation.patch

 hwmon tree updates

+dave-broke-gfs2-26-nmwgit.patch

 gfs2 fix

+make-input-layer-use-seq_list_xxx-helpers.patch
+touchscreen-fujitsu-touchscreen-driver.patch

 Input things

+libata-implement-ata_wait_after_reset.patch
+drivers-ata-add-sw-ncq-support-to-sata_nv-for-mcp51-mcp55-mcp61.patch
+drivers-ata-add-sw-ncq-support-to-sata_nv-for-mcp51-mcp55-mcp61-fix.patch
+drivers-ata-add-sw-ncq-support-to-sata_nv-for-mcp51-mcp55-mcp61-fix-tidy.patch
+cleanup-libata-hpa-support.patch
+cleanup-libata-hpa-support-fix.patch
+hpt3x2n-correct-revision-boundary.patch
+pata_sis-fix-and-clean-up-some-timing-setups.patch

 ATA/PATA things

+ide-ide-use-mutex-instead-of-ide_cfg_sem-semaphore.patch
+ide-cmd64x-init-code-cleanup.patch
+ide-aec62xx-rework-init_setup_aec6x80.patch
+ide-aec62xx-remove-init_dma-method.patch
+ide-aec62xx-kill-speedproc-method-wrapper.patch
+ide-ide-use-mutex-instead-of-ide_setting_sem-semaphore.patch

 IDE tree updates

+ide-warning-fixes.patch
+ide-add-seagate-stt20000a-to-dma-blacklist.patch

 IDE fixes

+git-md-accel-build-fix.patch

 Fix git-md-accel.patch

+nommu-make-it-possible-for-romfs-to-use-mtd-devices-fix.patch

 Fix nommu-make-it-possible-for-romfs-to-use-mtd-devices.patch

-git-ubi-fixup.patch

 Unneeded

+fix-compiler-warning-in-fixedc.patch
+forcedeth-add-vitesse-phy.patch
+forcedeth-fix-power-management-support.patch
+forcedeth-fix-cpu-irq-mask.patch
+forcedeth-version-bump.patch

 netdev things

+make-atm-driver-use-seq_list_xxx-helpers.patch
+make-some-network-related-proc-files-use-seq_list_xxx.patch
+make-some-netfilter-related-proc-files-use-seq_list_xxx.patch
+xfrm_algo-warning-fixes.patch

 net things

+nfs-refactor-ip-address-sanity-checks-in-nfs-client.patch
+sunrpc-rename-rpcb_getport_external-routine.patch
+sunrpc-rename-rpcb_getport-to-be-consistent-with-new-rpcb_getport_sync-name.patch
+nfs-remake-nfsroot_mount-as-a-permanent-part-of-nfs-client.patch
+nfs-clean-up-in-kernel-nfs-mount.patch
+nfs-improve-debugging-output-in-nfs-in-kernel-mount-client.patch
+nfs-new-infrastructure-for-nfs-client-in-kernel-mount-option-parsing.patch
+nfs-add-functions-to-parse-nfs-mount-options-to-fs-nfs-superc.patch
+nfs-implement-nfsv2-3-in-kernel-mount-option-parsing.patch
+nfs-add-functions-to-parse-nfs4-mount-options-to-fs-nfs-superc.patch
+nfs-move-nfs_copy_user_string.patch
+nfs-more-nfs4-in-kernel-mount-option-parsing-infrastructure.patch
+nfs-integrate-support-for-processing-nfs4-mount-options-in-fs-nfs-superc.patch

 NFS cleanups

+serial-set-dtr-in-uart-for-kernel-serial-console.patch

 Serial fix

+gregkh-pci-pci-add-pci-x-pci-express-read-control-interfaces.patch
+gregkh-pci-pci-use-a-weak-symbol-for-the-empty-version-of-pcibios_add_platform_entries.patch
+gregkh-pci-pci-make-pcibios_add_platform_entries-return-errors.patch
+gregkh-pci-pci-pci_find_slot-mark-deprecated.patch

 PCI tree updates

+sh-support-older-gccs.patch

 Make sh compile for me.

+aic94xx-asd_clear_nexus-should-fail-if-the-cleared-task-does-not-complete.patch
+scsi-megaraid_sas-intercepts-cmd-timeout-and-throttle-io.patch
+scsi-remove-__gfp_dma.patch
+ncr5380-warning-fixes.patch

 scsi stuff

-git-block-fixup.patch

 Unneeded

-git-sas.patch

 Dropped

+gregkh-usb-usb-ehci-support-for-big-endian-descriptors.patch
+gregkh-usb-usb-auerswald-fix-file-release-handler.patch
+gregkh-usb-usb-cxacru-add-documentation-file.patch
+gregkh-usb-usb-cxacru-cleanup-sysfs-attribute-code.patch
+gregkh-usb-usb-cxacru-create-sysfs-attributes-in-atm_start-instead-of-bind.patch
+gregkh-usb-usb-cxacru-ignore-error-trying-to-start-adsl-in-atm_start.patch
+gregkh-usb-usb-serial-keyspan-add-support-for-usa-49wg-usa-28xg.patch
+gregkh-usb-usb-remove-duplicate-ids-from-option-card-driver.patch
+gregkh-usb-usb-deref-urb-after-usbmon-is-done-with-it.patch
+gregkh-usb-usb-remove-short-initial-timeout-for-device-descriptor-fetch.patch
+gregkh-usb-usb-don-t-try-to-kzalloc-0-bytes.patch
+gregkh-usb-usb-onetouch-switch-to-using-input_dev-devparent.patch
+gregkh-usb-usb-fix-debug-output-of-ark3116.patch
+gregkh-usb-usb-usblp-use-correct-dma-address-in-case-of-probe-error.patch
+gregkh-usb-usb-fix-usb-ohci-subvendor-for-toshiba-portege-4000.patch
+gregkh-usb-usb-handle-errors-in-power-level-attribute.patch
+gregkh-usb-usb-fix-ratelimit-call-semantics.patch
+gregkh-usb-usb-m66592-udc-peripheral-controller-driver-for-m66592.patch
+gregkh-usb-usb-r8a66597-hcd-host-controller-driver-for-r8a66597.patch
+gregkh-usb-usb-interface-pm-state.patch
+gregkh-usb-usb-implement-pm-freeze-and-prethaw.patch
+gregkh-usb-usb-move-bus_suspend-and-bus_resume-method-calls.patch
+gregkh-usb-usb-don-t-unsuspend-for-a-new-connection.patch
+gregkh-usb-usb-fix-race-between-autosuspend-and-unregister-for-root-hubs.patch
+gregkh-usb-usb-remove-references-to-devpowerpower_state.patch
+gregkh-usb-usb-remove-locktree-routine-from-the-hub-driver.patch
+gregkh-usb-usb-make-hub-driver-s-release-more-robust.patch
+gregkh-usb-ohci-fix-machine-check-in-ohci_hub_status_data.patch
+gregkh-usb-usb-use-menuconfig-objects.patch
+gregkh-usb-usb-ehci-refcounts-work-on-ppc7448.patch

 USB updates

+fix-gregkh-usb-usb-r8a66597-hcd-host-controller-driver-for-r8a66597.patch

 USB fix

+drivers-net-wireless-libertas-rxc-fix.patch

 wireless fix

+x86_64-mm-stack-align.patch
+x86_64-mm-apic-id.patch
+x86_64-mm-acpi-various-cleanups.patch
+x86_64-mm-fam10-string.patch
+x86_64-mm-gcc43-memcpy.patch
+x86_64-mm-remove-size-of-apicid_to_node-from-header.patch
+x86_64-mm-tsc-unstable.patch
+x86_64-mm-verify-cpu-rename.patch
+x86_64-mm-xencleanup-use-elfnote_h-to-generate-vsyscall-notes.patch
+x86_64-mm-xencleanup-add-kstrndup.patch
+x86_64-mm-xencleanup-add-argv_split.patch
+x86_64-mm-xencleanup-split-usermodehelper-setup-from-execution.patch
+x86_64-mm-add-common-orderly_poweroff.patch
+x86_64-mm-xencleanup-tidy-up-usermode-helper-waiting-a-bit.patch
+x86_64-mm-xen-allocate-and-free-vmalloc-areas.patch
+x86_64-mm-xen-add-nosegneg-capability-to-the-vsyscall-page-notes.patch
+x86_64-mm-xen-add-xen-interface-header-files.patch
+x86_64-mm-core-xen-implementation.patch
+x86_64-mm-xen-xen-virtual-mmu.patch
+x86_64-mm-xen-event-channels.patch
+x86_64-mm-xen-xen-time-implementation.patch
+x86_64-mm-xen-xen-configuration.patch
+x86_64-mm-xen-complete-pagetable-pinning-for-xen.patch
+x86_64-mm-xen-ignore-rw-mapping-of-ro-pages-in-pagetable_init.patch
+x86_64-mm-xen-fix-multicall-batching.patch
+x86_64-mm-xen-account-for-time-stolen-by-xen.patch
+x86_64-mm-xen-implement-xen_sched_clock.patch
+x86_64-mm-xen-xen-smp-guest-support.patch
+x86_64-mm-xen-add-support-for-preemption.patch
+x86_64-mm-xen-lazy-mmu-operations.patch
+x86_64-mm-xen-deal-with-negative-stolen-time.patch
+x86_64-mm-xen-use-the-hvc-console-infrastructure-for-xen-console.patch
+x86_64-mm-xen-add-early-printk-support-via-hvc-console.patch
+x86_64-mm-xen-add-xen-grant-table-support.patch
+x86_64-mm-xen-add-the-xenbus-sysfs-and-virtual-device-hotplug-driver.patch
+x86_64-mm-xen-add-xen-virtual-block-device-driver.patch
+x86_64-mm-xen-rename-xen-netif_-structures-to-xen_netif.patch
+x86_64-mm-xen-add-the-xen-virtual-network-device-driver.patch
+x86_64-mm-xen-xen-machine-operations.patch
+x86_64-mm-xen-handle-external-requests-for-shutdown-reboot-and-sysrq.patch
+x86_64-mm-xen-place-vcpu_info-structure-into-per-cpu-memory-if-possible.patch
+x86_64-mm-xen-attempt-to-patch-inline-versions-of-common-operations.patch

 x86 tree updates

+arch-x86_64-vdso-vmac-needs-schedh.patch
+xen-build-fix.patch
+fix-x86_64-numa-fake-apicid_to_node-mapping-for-fake-numa-2.patch
+fix-x86_64-mm-sched-clock-share.patch

 Fix it.

+x86_64-mcelog-tolerant-level-cleanup.patch
+x86_64-mce-poll-at-idle_start-and-printk-fix.patch

 MCE fixes

+x86-fix-section-mismatch-warnings-in-mtrr.patch
+bug-in-i386-mtrr-initialization.patch
+x86_64-ratelimit-segfault-reporting-rate.patch

 x86 updates

-git-newsetup-fixup.patch

 Unneeded

+prohibit-rcutorture-from-being-compiled-into-the-kernel.patch
+documentation-fix-the-explanation-of-kconfig-files.patch
+avoid-zero-size-allocation-in-cache_k8_northbridges.patch
+recalc_sigpending_tsk-fixes.patch
+optimize-compat_core_sys_select-by-a-using-stack-space-for-small-fd-sets.patch
+spi-potential-memleak-in-spidev_ioctl.patch
+fbdev-cleanup-of-sparc-fb-options.patch
+pm2fb-rdac_wr-barriers-clean-up.patch
+pm3fb-various-fixes.patch
+w100fb-fix-compile-warnings.patch
+ps3fb-use-fb_sys_-instead-of-fb_cfb_.patch
+imxfb-remove-ifdefs.patch
+imxfb-fix-memory-hole.patch
+missing-const-from-reiserfs-min_key-declaration.patch
+uselib-add-missing-mnt_noexec-check.patch
+x86_64-allocate-sparsemem-memmap-above-4g.patch
+x86_64-allocate-sparsemem-memmap-above-4g-fix.patch
+fuse-generic_write_checks-for-direct_io.patch
+fuse-delete-inode-on-drop.patch
+fix-unused-setup_nr_node_ids.patch
+slub-debug-fix-check-for-super-sized-slabs-512k-64bit-256k.patch
+char-cyclades-fix-deadlock.patch
+simplify-cleanup_workqueue_thread.patch
+simplify-cleanup_workqueue_thread-fix.patch
+simplify-cleanup_workqueue_thread-fix2.patch
+misc-phantom-move-to-unlocked_ioctl.patch
+misc-misc-phantom-move-to-unlocked_ioctl-fix.patch
+misc-phantom-take-care-of-pci-posting.patch
+power-fix-sizeofpage_size-typo.patch
+update-dontdiff-file.patch
+procfs-directory-entry-cleanup.patch
+procfs-directory-entry-cleanup-fix.patch
+signalfd-retrieve-multiple-signals-with-one-read-call.patch
+signalfd-retrieve-multiple-signals-with-one-read-call-tidy.patch
+i2o-destroy-event-queue-only-when-drv-event-is-set.patch
+i2o-fix-notifiers-when-max_drivers-is-configured.patch
+i2o-eliminate-a-peculiar-constraint-on-i2o_max_drivers.patch
+i386-x86-64-show-that-config_hotplug_cpu-is-required-for-suspend-on-smp.patch
+md-avoid-overflow-in-raid0-calculation-with-large-components.patch
+md-dont-write-more-than-is-required-of-the-last-page-of-a-bitmap.patch
+md-fix-bug-with-linear-hot-add-and-elsewhere.patch
+documentation-documentation-initrdtxt.patch
+hisax-fix-error-checking-for-hisax_register.patch
+loop-preallocate-eight-loop-devices.patch
+sch_htb-fix-event-cache-time-calculation.patch
+applesmc-sensors-patch-missing-from-2622-rc2.patch
+off-by-one-in-floppyc.patch
+ecryptfs-delay-writing-0s-after-llseek-until-write.patch
+doc-clocksources.patch
+ehci-fsl-fix-cache-coherency-problem-on-system-with-large-memory.patch
+prevent-going-idle-with-softirq-pending.patch
+fix-crash-with-irqpoll-due-to-the-irqf_irqpoll-flag.patch
+i386-fix-early-usage-of-atomic_add_return-and.patch
+documentation-memory-barrierstxt-various-fixes.patch
+omap_uwire-spi_cpha-mode-bugfix.patch
+ads7846-spi_cpha-mode-bugfix.patch
+capifunc-warning-fixes.patch
+hardware-eicon-messagec-warning-fixes.patch

 Probable 2.6.22 material

+change-zonelist-order-zonelist-order-selection-logic-add-check_highest_zone-to-build_zonelists_in_zone_order.patch

 Fix change-zonelist-order-zonelist-order-selection-logic.patch

+hugetlb-remove-unnecessary-nid-initialization.patch
+mm-use-div_round_up-in-mm-memoryc.patch
+make-proc-slabinfo-use-seq_list_xxx-helpers.patch
+mm-alloc_large_system_hash-can-free-some-memory-for.patch
+remove-the-deprecated-kmem_cache_t-typedef-from-slabh.patch
+slub-use-ilog2-instead-of-series-of-constant-comparisons.patch
+move-three-functions-that-are-only-needed-for.patch
+slob-rework-freelist-handling.patch
+slob-remove-bigblock-tracking.patch
+slob-improved-alignment-handling.patch

 MM things

+add-__gfp_movable-for-callers-to-flag-allocations-from-high-memory-that-may-be-migrated-mark-bio_alloc-allocations-correctly.patch
+add-__gfp_movable-for-callers-to-flag-allocations-from-high-memory-that-may-be-migrated-rename-gfp_high_movable-to-gfp_highuser_movable.patch
+add-__gfp_movable-for-callers-to-flag-allocations-from-high-memory-that-may-be-migrated-mark-page-cache-pages-as-__gfp_pagecache-instead-of-__gfp_movable.patchh
+group-short-lived-and-reclaimable-kernel-allocations-do-not-annotate-shmem-allocations-explicitly.patch
+group-short-lived-and-reclaimable-kernel-allocations-add-__gfp_temporary-to-identify-allocations-that-are-short-lived.patch

 Update the MM patches in -mm.

+create-the-zone_movable-zone-fix.patch

 Fix create-the-zone_movable-zone.patch

+allow-huge-page-allocations-to-use-gfp_high_movable-fix.patch
+allow-huge-page-allocations-to-use-gfp_high_movable-fix-2.patch

 Fix allow-huge-page-allocations-to-use-gfp_high_movable.patch

-mm-merge-populate-and-nopage-into-fault-fixes-nonlinear-doc-fix.patch
-mm-merge-populate-and-nopage-into-fault-fixes-nonlinear-fix.patch

 Folded into pther patches

+maps2-move-the-page-walker-code-to-lib-fix.patch

 Fix maps2-move-the-page-walker-code-to-lib.patch

+nfs-invariant-fix.patch
+fs-introduce-some-page-buffer-invariants-obnoxiousness.patch

 NFS things

+fix-rmmod-read-write-races-in-proc-entries-fix.patch

 Fix fix-rmmod-read-write-races-in-proc-entries.patch

+add-lzo1x-compression-support-to-the-kernel-tidy.patch

 Clena up add-lzo1x-compression-support-to-the-kernel.patch

+udf-check-for-allocated-memory-for-data-of-new-inodes-fix.patch

 UDF fixlet

+fuse-warning-fix.patch
+vxfs-warning-fixes.patch
+percpu_counters-use-cpu-notifiers.patch
+percpu_counters-use-for_each_online_cpu.patch
+make-afs-use-seq_list_xxx-helpers.patch
+make-crypto-api-use-seq_list_xxx-helpers.patch
+make-proc-misc-use-seq_list_xxx-helpers.patch
+make-proc-modules-use-seq_list_xxx-helpers.patch
+make-proc-tty-drivers-use-seq_list_xxx-helpers.patch
+make-proc-self-mountstats-use-seq_list_xxx-helpers.patch
+make-nfs-client-use-seq_list_xxx-helpers.patch
+fat-gcc-43-warning-fix.patch
+remove-unnecessary-includes-of-spinlockh-under-include-linux.patch
+drivers-block-z2ram-remove-true-false-defines.patch
+fix-compiler-warnings-in-acornc.patch
+update-zilog-timeout.patch
+edd-switch-to-pci_get-based-api.patch
+fix-up-codingstyle-in-isofs.patch
+define-config_bounce-to-avoid-useless-inclusion-of-bounce-buffer.patch
+preserve-the-dirty-bit-in-init_page_buffers.patch
+rd-mark-ramdisk-buffer-heads-dirty-in-ramdisk_set_page_dirty.patch
+rd-mark-ramdisk-buffer-heads-dirty-in-ramdisk_set_page_dirty-fix.patch
+rd-simplify-by-using-the-same-helper-functions-in-libfs.patch
+delete-every-useless-reference-to-noret_type-in-the-tree.patch
+add-notime-boot-option.patch
+mpu401-warning-fixes.patch

 Misc

+spi-controller-drivers-check-for-unsupported-modes.patch
+spi-add-3wire-mode-flag.patch

 SPI udpates

+mismatching-declarations-of-revision-strings-in-hisax.patch
+make-isdn-capi-use-seq_list_xxx-helpers.patch

 ISDN updates

+nfsd-warning-fix.patch

 NFSD fix

+revoke-core-code-fix-zero-length-kmalloc.patch

 Fix revoke-core-code.patch

+lguest-the-guest-code-update-for-mm-disable-tsc-dont-set-pge-bit.patch
+lguest-the-host-code-update-for-mm-simplify-boot_params.patch

 lguest updates

+char-cyclades-add-firmware-loading.patch
+char-cyclades-fix-sparse-warning.patch
+char-isicom-cleanup-locking.patch
+char-isicom-del_timer-at-exit.patch
+char-isicom-proper-variables-types.patch

 char driver cleanups

+fbcon-smart-blitter-usage-for-scrolling.patch
+nvidiafb-adjust-flags-to-take-advantage-of-new-scroll-method.patch

 fbdev updates

+md-improve-message-about-invalid-superblock-during-autodetect.patch
+md-improve-the-is_mddev_idle-test-fix.patch
+md-check-that-internal-bitmap-does-not-overlap-other-data.patch
+md-change-bitmap_unplug-and-others-to-void-functions.patch

 RAID updates

+readahead-introduce-pg_readahead.patch
+readahead-add-look-ahead-support-to-__do_page_cache_readahead.patch
+readahead-min_ra_pages-max_ra_pages-macros.patch
+readahead-data-structure-and-routines.patch
+readahead-on-demand-readahead-logic.patch
+readahead-convert-filemap-invocations.patch
+readahead-convert-splice-invocations.patch
+readahead-convert-ext3-ext4-invocations.patch
+readahead-remove-the-old-algorithm.patch
+mm-share-pg_readahead-and-pg_reclaim.patch
+mm-share-pg_readahead-and-pg_reclaim-fix.patch
+mm-share-pg_readahead-and-pg_reclaim-fix-2.patch

 New, simplified readahead patchset

+fallocate-implementation-on-i86-x86_64-and-powerpc.patch
+fallocate-on-s390.patch
+fallocate-on-ia64.patch
+fallocate-on-ia64-fix.patch

 fallocate() support

+cfs-scheduler.patch
+cfs-scheduler-vs-detach-schedh-from-mmh.patch
+cfs-scheduler-warning-fixes.patch

 CFS CPU scheduler

+rename-gfp_high_movable-to-gfp_highuser_movable-prefetch.patch

 Fix prefetch patches for other changes in -mm,

+reiser4-use-lzo-library-functions.patch

 Teach reiser4 to use new generic LZO code

-mprotect-patch-for-use-by-slim.patch
-integrity-service-api-and-dummy-provider.patch
-slim-main-patch.patch
-slim-secfs-patch.patch
-slim-make-and-config-stuff.patch
-slim-debug-output.patch
-slim-integrity-patch.patch
-slim-documentation.patch
-integrity-new-hooks.patch
-integrity-fs-hook-placement.patch
-integrity-evm-as-an-integrity-service-provider.patch
-integrity-ima-integrity_measure-support.patch
-integrity-ima-identifiers.patch
-integrity-ima-cleanup.patch
-integrity-tpm-internal-kernel-interface.patch
-ibac-patch.patch

 Dropped

-vdso-improve-print_fatal_signals-support-by-adding-memory-maps.patch
-vdso-print-fatal-signals-use-ctl_unnumbered.patch
-vdso-print-fatal-signals-fix-compiling-error-bug-in.patch

 Dropped

+vdso-print-fatal-signals-fix.patch

 Fix vdso-print-fatal-signals.patch

-git-gccbug-fixup.patch

 Unneeded



All 901 patches:


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




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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-23  7:48 ` Andrew Morton
  2007-05-23  9:22   ` 2.6.22-rc2-mm1 Rafael J. Wysocki
  2007-05-23  9:47 ` 2.6.22-rc2-mm1 Michal Piotrowski
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 104+ messages in thread
From: Andrew Morton @ 2007-05-23  7:48 UTC (permalink / raw)
  To: Pavel Machek, Rafael J. Wysocki, linux-usb-devel, Oleg Nesterov
  Cc: linux-kernel

On Wed, 23 May 2007 00:42:33 -0700 Andrew Morton <akpm@linux-foundation.org> wrote:

> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/

This is intermittently getting resume-from-RAM failures.  It is not
sufficiently repeatable to be able to bisect.

[ 1381.119362] PM: Preparing system for mem sleep
[ 2331.798452] Stopping tasks ... 
[ 2351.760431] Stopping kernel threads timed out after 20 seconds (2 tasks refusing to freeze):
[ 2351.762385]  ksuspend_usbd
[ 2351.764374]  khubd
[ 2351.766338] Restarting tasks ... done.

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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:48 ` 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-23  9:22   ` Rafael J. Wysocki
  2007-05-23 14:47     ` 2.6.22-rc2-mm1 Alan Stern
  0 siblings, 1 reply; 104+ messages in thread
From: Rafael J. Wysocki @ 2007-05-23  9:22 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Pavel Machek, linux-usb-devel, Oleg Nesterov, linux-kernel, Alan Stern

On Wednesday, 23 May 2007 09:48, Andrew Morton wrote:
> On Wed, 23 May 2007 00:42:33 -0700 Andrew Morton <akpm@linux-foundation.org> wrote:
> 
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> 
> This is intermittently getting resume-from-RAM failures.  It is not
> sufficiently repeatable to be able to bisect.
> 
> [ 1381.119362] PM: Preparing system for mem sleep
> [ 2331.798452] Stopping tasks ... 
> [ 2351.760431] Stopping kernel threads timed out after 20 seconds (2 tasks refusing to freeze):
> [ 2351.762385]  ksuspend_usbd
> [ 2351.764374]  khubd
> [ 2351.766338] Restarting tasks ... done.

Hmm, that seems to be related to usb-fix-suspend-to-ram.patch (probably one of
the threads is waiting for a completion by some other thread that has been
frozen already).

Greetings,
Rafael

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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
  2007-05-23  7:48 ` 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-23  9:47 ` Michal Piotrowski
  2007-05-23 17:18   ` 2.6.22-rc2-mm1 Christoph Lameter
  2007-05-23 12:01 ` 2.6.22-rc2-mm1 Gabriel C
                   ` (11 subsequent siblings)
  13 siblings, 1 reply; 104+ messages in thread
From: Michal Piotrowski @ 2007-05-23  9:47 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Christoph Lameter

Hi,

Andrew Morton napisał(a):
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> 

Christoph, this looks like a bug in SLUB.

[   16.232377] PM: Adding info for No Bus:vcs1
[   16.237588] PM: Adding info for No Bus:vcsa1
[   18.683210] PM: Adding info for No Bus:rtc
[   18.687454] Real Time Clock Driver v1.12ac
[   21.338686] BUG: unable to handle kernel paging request at virtual address 666d6172
[   21.346626]  printing eip:
[   21.349451] c0180a78
[   21.351731] *pde = 00000000
[   21.354658] Oops: 0000 [#1]
[   21.357618] PREEMPT SMP 
[   21.360280] Modules linked in: rtc unix
[   21.364364] CPU:    0
[   21.364366] EIP:    0060:[<c0180a78>]    Not tainted VLI
[   21.364369] EFLAGS: 00010046   (2.6.22-rc2-mm1 #7)
[   21.377114] EIP is at __kmalloc_track_caller+0x72/0x9a

l *0xc0180a78
0xc0180a78 is in __kmalloc_track_caller (/home/devel/linux-mm/mm/slub.c:1509).
1504
1505                    object = __slab_alloc(s, gfpflags, node, addr, page);
1506
1507            else {
1508                    object = page->lockless_freelist;
1509                    page->lockless_freelist = object[page->offset];
1510            }
1511            local_irq_restore(flags);
1512            return object;
1513    }

[   21.382388] eax: 00000000   ebx: c5250ae8   ecx: c04a7078   edx: 00000000
[   21.389363] esi: 666d6172   edi: 00000282   ebp: c7b9bd84   esp: c7b9bd68
[   21.396346] ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
[   21.402372] Process modprobe (pid: 635, ti=c7b9b000 task=c7ba8000 task.ti=c7b9b000)
[   21.409994] Stack: c04e5580 c7b9bd78 c01bfd0f 000000d0 c7ae5ea4 00000000 c7ae5eac c7b9bda0 
[   21.418973]        c016c583 00000008 c7ddd8c0 c7ae5ea4 00000000 c7ae5ea4 c7b9bdbc c01bfd0f 
[   21.427869]        00000002 41eddd90 c7ae5ea4 c7ddd8c0 c7ae5eac c7b9bde0 c01bfe9e 00000000 
[   21.436762] Call Trace:
[   21.439527]  [<c016c583>] kstrdup+0x2a/0x4b
[   21.443922]  [<c01bfd0f>] sysfs_new_dirent+0x23/0xb0
[   21.449065]  [<c01bfe9e>] create_dir+0x8a/0x189
[   21.453789]  [<c01bfffd>] sysfs_create_dir+0x60/0x7b
[   21.458966]  [<c020494c>] kobject_shadow_add+0xd7/0x189
[   21.464454]  [<c0204a08>] kobject_add+0xa/0xc
[   21.469031]  [<c0204b33>] kobject_register+0x1c/0x34
[   21.474247]  [<c0204c99>] kobject_kset_add_dir+0x4c/0x7b
[   21.479806]  [<c0204cd6>] kobject_add_dir+0xe/0x10
[   21.484797]  [<c014c40e>] mod_sysfs_setup+0x2d/0x93
[   21.489918]  [<c014d8c3>] load_module+0x1253/0x1485
[   21.494977]  [<c014db37>] sys_init_module+0x42/0x160
[   21.500199]  [<c0104112>] sysenter_past_esp+0x5f/0x99
[   21.505458]  [<b7fd0410>] 0xb7fd0410
[   21.509231]  =======================
[   21.512980] INFO: lockdep is turned off.
[   21.517062] Code: e8 de 64 09 00 85 c0 74 1b 89 5c 24 04 8b 45 ec 89 04 24 83 c9 ff 8b 55 f0 89 f0 e8 21 e2 ff ff 89 c6 eb 0d 8b 73 0c 0f b7 43 0a <8b> 04 86 89 43 0c f7 c7 00 02 00 00 75 09 57 9d e8 f7 17 fc ff 
[   21.538679] EIP: [<c0180a78>] __kmalloc_track_caller+0x72/0x9a SS:ESP 0068:c7b9bd68
[   21.546678] BUG: sleeping function called from invalid context at /home/devel/linux-mm/kernel/rwsem.c:20
[   21.556496] in_atomic():0, irqs_disabled():1
[   21.560940] INFO: lockdep is turned off.
[   21.565044] irq event stamp: 0
[   21.568216] hardirqs last  enabled at (0): [<00000000>] 0x0
[   21.574035] hardirqs last disabled at (0): [<c012421f>] copy_process+0x52b/0x13f5
[   21.581790] softirqs last  enabled at (0): [<c012423d>] copy_process+0x549/0x13f5
[   21.589613] softirqs last disabled at (0): [<00000000>] 0x0
[   21.595445]  [<c010523d>] dump_trace+0x63/0x1eb
[   21.600197]  [<c01053df>] show_trace_log_lvl+0x1a/0x2f
[   21.605528]  [<c010601d>] show_trace+0x12/0x14
[   21.610152]  [<c0106035>] dump_stack+0x16/0x18
[   21.614827]  [<c011f440>] __might_sleep+0xc9/0xcf
[   21.619754]  [<c013c019>] down_read+0x18/0x4c
[   21.624329]  [<c0155574>] acct_collect+0x3b/0x143
[   21.629248]  [<c0129281>] do_exit+0x26c/0x8ed
[   21.633811]  [<c01059ed>] die+0x201/0x227
[   21.638014]  [<c011ab7e>] do_page_fault+0x47c/0x55e
[   21.643158]  [<c03454ba>] error_code+0x72/0x78
[   21.647814]  [<c0180a78>] __kmalloc_track_caller+0x72/0x9a
[   21.653492]  [<c016c583>] kstrdup+0x2a/0x4b
[   21.657912]  [<c01bfd0f>] sysfs_new_dirent+0x23/0xb0
[   21.663115]  [<c01bfe9e>] create_dir+0x8a/0x189
[   21.667868]  [<c01bfffd>] sysfs_create_dir+0x60/0x7b
[   21.673051]  [<c020494c>] kobject_shadow_add+0xd7/0x189
[   21.678500]  [<c0204a08>] kobject_add+0xa/0xc
[   21.683104]  [<c0204b33>] kobject_register+0x1c/0x34
[   21.688306]  [<c0204c99>] kobject_kset_add_dir+0x4c/0x7b
[   21.693851]  [<c0204cd6>] kobject_add_dir+0xe/0x10
[   21.698839]  [<c014c40e>] mod_sysfs_setup+0x2d/0x93
[   21.703911]  [<c014d8c3>] load_module+0x1253/0x1485
[   21.708990]  [<c014db37>] sys_init_module+0x42/0x160
[   21.714149]  [<c0104112>] sysenter_past_esp+0x5f/0x99
[   21.719400]  [<b7fd0410>] 0xb7fd0410
[   21.723145]  =======================
[   22.358839] eth0 renamed to eth1

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.22-rc2-mm1
# Wed May 23 10:31:49 2007
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SWAP_PREFETCH=y
CONFIG_SYSVIPC=y
# CONFIG_IPC_NS is not set
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
# CONFIG_TASK_XACCT is not set
# CONFIG_UTS_NS is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=20
# CONFIG_CPUSETS is not set
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROC_SMAPS=y
CONFIG_PROC_CLEAR_REFS=y
CONFIG_PROC_PAGEMAP=y
CONFIG_PROC_KPAGEMAP=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=m
CONFIG_IOSCHED_DEADLINE=m
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_SMP=y
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_PARAVIRT is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MCORE2 is not set
CONFIG_MPENTIUM4=y
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_XADD=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
# CONFIG_HPET_TIMER is not set
CONFIG_NR_CPUS=2
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_MC is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=m
CONFIG_X86_MCE_P4THERMAL=y
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
CONFIG_MICROCODE=m
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_NR_QUICK=1
# CONFIG_HIGHPTE is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_IRQBALANCE=y
# CONFIG_SECCOMP is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x100000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x100000
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_PM_LEGACY is not set
CONFIG_PM_DEBUG=y
# CONFIG_DISABLE_CONSOLE_SUSPEND is not set
CONFIG_PM_TRACE=y
# CONFIG_PM_SYSFS_DEPRECATED is not set
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION="/dev/sda2"
CONFIG_SUSPEND_SMP=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
# CONFIG_ACPI_BUTTON is not set
# CONFIG_ACPI_VIDEO is not set
CONFIG_ACPI_FAN=m
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=m
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=m
# CONFIG_ACPI_SBS is not set
# CONFIG_APM is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_DEBUG=y
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

#
# CPUFreq processor drivers
#
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
CONFIG_X86_P4_CLOCKMOD=m
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
# CONFIG_X86_E_POWERSAVER is not set

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=m

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_DEBUG is not set
# CONFIG_HT_IRQ is not set
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=m

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=m
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=m
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IP_VS is not set
CONFIG_IPV6=m
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
# CONFIG_INET6_XFRM_MODE_BEET is not set
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
# CONFIG_IPV6_SIT is not set
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_NETLABEL is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK_ENABLED=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
# CONFIG_NF_CONNTRACK_SECMARK is not set
# CONFIG_NF_CONNTRACK_EVENTS is not set
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m

#
# IP: Netfilter Configuration
#
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m

#
# IPv6: Netfilter Configuration (EXPERIMENTAL)
#
CONFIG_NF_CONNTRACK_IPV6=m
# CONFIG_IP6_NF_QUEUE is not set
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_OWNER=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_RAW=m
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set

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

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set

#
# Wireless
#
# CONFIG_CFG80211 is not set
# CONFIG_WIRELESS_EXT is not set
# CONFIG_MAC80211 is not set
# CONFIG_IEEE80211 is not set
# CONFIG_RFKILL is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT_1284=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_RAM is not set
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_WCACHE=y
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_MISC_STRANGE_DEV is not set
CONFIG_TIFM_CORE=m
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

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

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

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
CONFIG_SCSI_PROC_FS=y

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

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

#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_LOWLEVEL is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_SVW is not set
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIL24 is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
# CONFIG_MD_LINEAR is not set
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID456 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
# CONFIG_BLK_DEV_DM is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_SPI is not set
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set
# CONFIG_IEEE1394_SUPPORT is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
# CONFIG_PHYLIB is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_SC92031 is not set
# CONFIG_NET_POCKET is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
CONFIG_SKGE=y
# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_RTL818X is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET_MII is not set
# CONFIG_USB_USBNET is not set
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=y
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set

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

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set

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

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_PRINTER=y
CONFIG_LP_CONSOLE=y
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set
# CONFIG_IPMI_HANDLER is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_INTEL=y
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_GEODE is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_NVRAM=m
CONFIG_RTC=m
CONFIG_GEN_RTC=m
CONFIG_GEN_RTC_X=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
CONFIG_AGP=m
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=m
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
# CONFIG_CS5535_GPIO is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not set
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_TINY_USB is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set

#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_DS1682 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83L785TS is not set
CONFIG_SENSORS_W83627HF=y
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_DAB is not set

#
# Graphics support
#
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_LCD_CLASS_DEVICE is not set
# CONFIG_BACKLIGHT_PROGEAR is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
CONFIG_VGASTATE=y
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_SYS_FOPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_VESA is not set
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_NVIDIA=y
CONFIG_FB_NVIDIA_I2C=y
# CONFIG_FB_NVIDIA_DEBUG is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_VIDEO_SELECT=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=m
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_GENERIC_DRIVERS=y
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PORTMAN2X4 is not set
CONFIG_SND_PCI_DRIVERS=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5535AUDIO is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDA_INTEL is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
CONFIG_SND_INTEL8X0=m
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_AC97_POWER_SAVE is not set
# CONFIG_SND_USB_DRIVERS is not set
# CONFIG_SND_SOC_DRIVERS is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m

#
# HID Devices
#
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
# CONFIG_HIDRAW is not set

#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
# CONFIG_HID_FF is not set
# CONFIG_USB_HIDDEV is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set

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

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_SPLIT_ISO is not set
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
# CONFIG_USB_EHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
# CONFIG_USB_STORAGE_KARMA is not set
CONFIG_USB_LIBUSUAL=y

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

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set

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

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGET is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_GOTEMP is not set

#
# USB DSL modem support
#

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
# CONFIG_MMC_PASSWORDS is not set

#
# MMC/SD Card Drivers
#
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_BOUNCE=y

#
# MMC/SD Host Controller Drivers
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
# CONFIG_NEW_LEDS is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set

#
# Real Time Clock
#
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
CONFIG_RTC_DRV_TEST=y

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_CMOS is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_V3020 is not set

#
# on-CPU RTC drivers
#

#
# DMA Engine support
#
# CONFIG_DMA_ENGINE is not set

#
# DMA Clients
#

#
# DMA Devices
#
# CONFIG_AUXDISPLAY is not set
# CONFIG_VIRTUALIZATION is not set

#
# Userspace I/O
#
# CONFIG_UIO is not set

#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_FS_XIP=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4DEV_FS=m
CONFIG_EXT4DEV_FS_XATTR=y
CONFIG_EXT4DEV_FS_POSIX_ACL=y
CONFIG_EXT4DEV_FS_SECURITY=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
CONFIG_JBD2_DEBUG=y
CONFIG_FS_MBCACHE=y
CONFIG_REISER4_FS=m
# CONFIG_REISER4_DEBUG is not set
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
CONFIG_JFS_STATISTICS=y
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_SECURITY=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_GENERIC_ACL=y

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

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
CONFIG_CONFIGFS_FS=m

#
# Layered filesystems
#
CONFIG_ECRYPT_FS=m
CONFIG_UNION_FS=m
CONFIG_UNION_FS_XATTR=y

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

#
# Network File Systems
#
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
# CONFIG_NFSD_V4 is not set
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
# CONFIG_SUNRPC_BIND34 is not set
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set

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

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

#
# Distributed Lock Manager
#
# CONFIG_DLM is not set
CONFIG_INSTRUMENTATION=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=m
# CONFIG_KPROBES is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_PAGE_OWNER=y
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
CONFIG_DEBUG_PREEMPT=y
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_PI_LIST=y
CONFIG_RT_MUTEX_TESTER=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_DEBUG_LOCKDEP=y
CONFIG_TRACE_IRQFLAGS=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_HIGHMEM=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_LIST=y
CONFIG_FRAME_POINTER=y
CONFIG_UNWIND_INFO=y
CONFIG_STACK_UNWIND=y
CONFIG_PROFILE_LIKELY=y
CONFIG_FORCED_INLINING=y
CONFIG_DEBUG_SYNCHRO_TEST=m
CONFIG_RCU_TORTURE_TEST=m
# CONFIG_FAULT_INJECTION is not set
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y

#
# Page alloc debug is incompatible with Software Suspend on i386
#
CONFIG_DEBUG_RODATA=y
CONFIG_4KSTACKS=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
CONFIG_DOUBLEFAULT=y

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
CONFIG_SECURITY_CAPABILITIES=y
CONFIG_SECURITY_FILE_CAPABILITIES=y
# CONFIG_SECURITY_ROOTPLUG is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT is not set
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=m
CONFIG_CRYPTO_ABLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_MANAGER=m
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_586=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_586=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_PADLOCK is not set
# CONFIG_CRYPTO_DEV_GEODE is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_AUDIT_GENERIC=y
CONFIG_LZO=m
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
# CONFIG_ASYNC_CORE is not set
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_KTIME_SCALAR=y

Regards,
Michal

-- 
Michal K. K. Piotrowski
Kernel Monkeys
(http://kernel.wikidot.com/start)

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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
  2007-05-23  7:48 ` 2.6.22-rc2-mm1 Andrew Morton
  2007-05-23  9:47 ` 2.6.22-rc2-mm1 Michal Piotrowski
@ 2007-05-23 12:01 ` Gabriel C
  2007-05-23 16:01   ` 2.6.22-rc2-mm1 Andrew Morton
  2007-05-23 15:02 ` 2.6.22-rc2-mm1 William Lee Irwin III
                   ` (10 subsequent siblings)
  13 siblings, 1 reply; 104+ messages in thread
From: Gabriel C @ 2007-05-23 12:01 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Christoph Lameter

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

I get this on boot :

[ 0.333581] BUG: at include/linux/slub_def.h:83 kmalloc_index()
[ 0.333587] [<c0104eb7>] show_trace_log_lvl+0x1a/0x2f
[ 0.333601] [<c0105a76>] show_trace+0x12/0x14
[ 0.333606] [<c0105a8e>] dump_stack+0x16/0x18
[ 0.333611] [<c0170d1c>] get_slab+0x48/0x138
[ 0.333621] [<c0170e8d>] __kmalloc+0x11/0x66
[ 0.333626] [<c0283c66>] get_modalias+0x5e/0xee
[ 0.333635] [<c0283d3f>] dmi_dev_uevent+0x2a/0x3f
[ 0.333641] [<c0241a7b>] dev_uevent+0x1ad/0x1da
[ 0.333650] [<c01d11fe>] kobject_uevent_env+0x200/0x3ff
[ 0.333658] [<c01d1407>] kobject_uevent+0xa/0xf
[ 0.333664] [<c02416fc>] device_add+0x283/0x440
[ 0.333669] [<c02418cb>] device_register+0x12/0x15
[ 0.333675] [<c0424558>] dmi_id_init+0x256/0x26c
[ 0.333684] [<c0409516>] kernel_init+0x156/0x2c1
[ 0.333692] [<c0104b33>] kernel_thread_helper+0x7/0x10
[ 0.333698] =======================


http://crazy.dev.frugalware.org/2.6.22-rc2-mm1/config-2.6.22-rc2-mm1
http://crazy.dev.frugalware.org/2.6.22-rc2-mm1/dmesg

Regards,

Gabriel

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

* Re: 2.6.22-rc2-mm1
  2007-05-23  9:22   ` 2.6.22-rc2-mm1 Rafael J. Wysocki
@ 2007-05-23 14:47     ` Alan Stern
  2007-05-23 15:54       ` 2.6.22-rc2-mm1 Andrew Morton
  0 siblings, 1 reply; 104+ messages in thread
From: Alan Stern @ 2007-05-23 14:47 UTC (permalink / raw)
  To: Andrew Morton, Rafael J. Wysocki
  Cc: Pavel Machek, USB development list, Oleg Nesterov,
	Kernel development list

On Wed, 23 May 2007, Rafael J. Wysocki wrote:

> On Wednesday, 23 May 2007 09:48, Andrew Morton wrote:
> > On Wed, 23 May 2007 00:42:33 -0700 Andrew Morton <akpm@linux-foundation.org> wrote:
> > 
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> > 
> > This is intermittently getting resume-from-RAM failures.  It is not
> > sufficiently repeatable to be able to bisect.
> > 
> > [ 1381.119362] PM: Preparing system for mem sleep
> > [ 2331.798452] Stopping tasks ... 
> > [ 2351.760431] Stopping kernel threads timed out after 20 seconds (2 tasks refusing to freeze):
> > [ 2351.762385]  ksuspend_usbd
> > [ 2351.764374]  khubd
> > [ 2351.766338] Restarting tasks ... done.
> 
> Hmm, that seems to be related to usb-fix-suspend-to-ram.patch (probably one of
> the threads is waiting for a completion by some other thread that has been
> frozen already).

Is it possible to get an Alt-SysRq-T stack trace during those 20 
seconds?  Knowing what those threads are waiting for would be a big 
help.

Alan Stern


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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (2 preceding siblings ...)
  2007-05-23 12:01 ` 2.6.22-rc2-mm1 Gabriel C
@ 2007-05-23 15:02 ` William Lee Irwin III
  2007-05-23 15:28 ` 2.6.22-rc2-mm1 William Lee Irwin III
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 104+ messages in thread
From: William Lee Irwin III @ 2007-05-23 15:02 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Wed, May 23, 2007 at 12:42:33AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> - A new readahead patch series.  This needs serious review and performance
>   testing please.
> - Added Ingo's CFS CPU scheduler
> - Xen dom-U support is now in the x86 tree.

The build fails with the following error when CONFIG_X86_MCE is not set:
arch/x86_64/kernel/built-in.o: In function `do_notify_resume':
/mnt/g/mm-2.6.22-rc2/arch/x86_64/kernel/signal.c:478: undefined reference to `mce_notify_user'
The following patch #ifdef's the offending call as a minimal fix.

Signed-off-by: William Irwin <bill.irwin@oracle.com>

Index: mm-2.6.22-rc2/arch/x86_64/kernel/signal.c
===================================================================
--- mm-2.6.22-rc2.orig/arch/x86_64/kernel/signal.c	2007-05-23 07:41:49.741705813 -0700
+++ mm-2.6.22-rc2/arch/x86_64/kernel/signal.c	2007-05-23 07:44:35.339142673 -0700
@@ -473,9 +473,11 @@
 		clear_thread_flag(TIF_SINGLESTEP);
 	}
 
+#ifdef CONFIG_X86_MCE
 	/* notify userspace of pending MCEs */
 	if (thread_info_flags & _TIF_MCE_NOTIFY)
 		mce_notify_user();
+#endif /* CONFIG_X86_MCE */
 
 	/* deal with pending signal delivery */
 	if (thread_info_flags & (_TIF_SIGPENDING|_TIF_RESTORE_SIGMASK))

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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (3 preceding siblings ...)
  2007-05-23 15:02 ` 2.6.22-rc2-mm1 William Lee Irwin III
@ 2007-05-23 15:28 ` William Lee Irwin III
  2007-05-23 16:08 ` 2.6.22-rc2-mm1 William Lee Irwin III
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 104+ messages in thread
From: William Lee Irwin III @ 2007-05-23 15:28 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Wed, May 23, 2007 at 12:42:33AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> - A new readahead patch series.  This needs serious review and performance
>   testing please.
> - Added Ingo's CFS CPU scheduler
> - Xen dom-U support is now in the x86 tree.

CONFIG_SPARSEMEM sans CONFIG_MEMORY_HOTPLUG trips the following warning:
mm/sparse.c:254: warning: '__kmalloc_section_usemap' defined but not used
The following patch silences it.

Signed-off-by: William Irwin <bill.irwin@oracle.com>

Index: mm-2.6.22-rc2/mm/sparse.c
===================================================================
--- mm-2.6.22-rc2.orig/mm/sparse.c	2007-05-23 08:11:48.788227631 -0700
+++ mm-2.6.22-rc2/mm/sparse.c	2007-05-23 08:12:29.274534814 -0700
@@ -250,10 +250,12 @@
 	return size_bytes;
 }
 
+#ifdef CONFIG_MEMORY_HOTPLUG
 static unsigned long *__kmalloc_section_usemap(void)
 {
 	return kmalloc(usemap_size(), GFP_KERNEL);
 }
+#endif /* CONFIG_MEMORY_HOTPLUG */
 
 static unsigned long *sparse_early_usemap_alloc(unsigned long pnum)
 {

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 14:47     ` 2.6.22-rc2-mm1 Alan Stern
@ 2007-05-23 15:54       ` Andrew Morton
  2007-05-23 16:09         ` 2.6.22-rc2-mm1 Oleg Nesterov
  2007-05-23 17:00         ` 2.6.22-rc2-mm1 Alan Stern
  0 siblings, 2 replies; 104+ messages in thread
From: Andrew Morton @ 2007-05-23 15:54 UTC (permalink / raw)
  To: Alan Stern
  Cc: Rafael J. Wysocki, Pavel Machek, USB development list,
	Oleg Nesterov, Kernel development list

On Wed, 23 May 2007 10:47:04 -0400 (EDT) Alan Stern <stern@rowland.harvard.edu> wrote:

> On Wed, 23 May 2007, Rafael J. Wysocki wrote:
> 
> > On Wednesday, 23 May 2007 09:48, Andrew Morton wrote:
> > > On Wed, 23 May 2007 00:42:33 -0700 Andrew Morton <akpm@linux-foundation.org> wrote:
> > > 
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> > > 
> > > This is intermittently getting resume-from-RAM failures.  It is not
> > > sufficiently repeatable to be able to bisect.
> > > 
> > > [ 1381.119362] PM: Preparing system for mem sleep
> > > [ 2331.798452] Stopping tasks ... 
> > > [ 2351.760431] Stopping kernel threads timed out after 20 seconds (2 tasks refusing to freeze):
> > > [ 2351.762385]  ksuspend_usbd
> > > [ 2351.764374]  khubd
> > > [ 2351.766338] Restarting tasks ... done.
> > 
> > Hmm, that seems to be related to usb-fix-suspend-to-ram.patch (probably one of
> > the threads is waiting for a completion by some other thread that has been
> > frozen already).
> 
> Is it possible to get an Alt-SysRq-T stack trace during those 20 
> seconds?  Knowing what those threads are waiting for would be a big 
> help.
> 

We can do this?

--- a/kernel/power/process.c~freezer-run-show_state-when-freezing-times-out
+++ a/kernel/power/process.c
@@ -157,6 +157,7 @@ static unsigned int try_to_freeze_tasks(
 				freeze_user_space ? "user space processes" :
 					"kernel threads",
 				TIMEOUT / HZ, todo);
+		show_state();
 		read_lock(&tasklist_lock);
 		do_each_thread(g, p) {
 			if (freeze_user_space && !is_user_space(p))
_

but it generates an awful lot of output.

The trace is at http://userweb.kernel.org/~akpm/tasks.txt.  Interesting
bits are

[  144.201264] khubd         D 00400005     0   160      2 (L-TLB)
[  144.204358]        c207fe78 00000046 90399a85 00400005 00000246 c207fe60 c25b0cc4 c206f4cc 
[  144.204539]        00000286 00000000 769e4cea 0040000a 90399a85 00400005 c32713c0 c207fed4 
[  144.207754]        00000001 c207fe94 c207febc c02e8e1b 00000000 00000000 00000000 00000000 
[  144.210934] Call Trace:
[  144.217012]  [<c02e8e1b>] wait_for_completion+0x68/0x91
[  144.220090]  [<c011824f>] default_wake_function+0x0/0x9
[  144.223158]  [<c0127a41>] flush_cpu_workqueue+0x4d/0x55
[  144.226223]  [<c0127a69>] wq_barrier_func+0x0/0x8
[  144.229269]  [<c026343d>] usb_release_dev+0x28/0x63
[  144.232340]  [<c0233011>] device_release+0x37/0x7c
[  144.235431]  [<c01cb6c7>] kobject_cleanup+0x3d/0x54
[  144.238520]  [<c01cb6de>] kobject_release+0x0/0x8
[  144.241631]  [<c01cc2a7>] kref_put+0x75/0x82
[  144.244699]  [<c0265482>] hub_thread+0x376/0xa74
[  144.247768]  [<c01180c2>] pick_next_task_fair+0xf2/0x12a
[  144.250815]  [<c0116af1>] __wake_up_common+0x31/0x4f
[  144.253864]  [<c012a259>] autoremove_wake_function+0x0/0x35
[  144.256902]  [<c026510c>] hub_thread+0x0/0xa74
[  144.259944]  [<c012a102>] kthread+0x36/0x5c
[  144.262891]  [<c012a0cc>] kthread+0x0/0x5c
[  144.265757]  [<c010464b>] kernel_thread_helper+0x7/0x10
[  144.268716]  =======================


[  144.137704] ksuspend_usbd D 00400005     0   157      2 (L-TLB)
[  144.140830]        c2085f18 00000046 9072767a 00400005 c20626f0 c010449b c3182118 c206288c 
[  144.141011]        c3182120 c3182120 76d728df 0040000a 9072767a 00400005 c3271200 c3182118 
[  144.144263]        c3182120 00000246 c20626f0 c02ea1c9 00000000 00000000 00000000 00000000 
[  144.147576] Call Trace:
[  144.153929]  [<c010449b>] common_interrupt+0x23/0x28
[  144.157245]  [<c02ea1c9>] __down+0xba/0xc6
[  144.160528]  [<c011824f>] default_wake_function+0x0/0x9
[  144.163832]  [<c02664fc>] hcd_resume_work+0x0/0x43
[  144.167126]  [<c02e9fd3>] __down_failed+0x7/0xc
[  144.170372]  [<c0266518>] hcd_resume_work+0x1c/0x43
[  144.173603]  [<c01278cf>] run_workqueue+0x6d/0xdf
[  144.176780]  [<c0127b4c>] worker_thread+0x0/0xd0
[  144.179885]  [<c0127b4c>] worker_thread+0x0/0xd0
[  144.182930]  [<c0127c12>] worker_thread+0xc6/0xd0
[  144.185964]  [<c012a259>] autoremove_wake_function+0x0/0x35
[  144.189056]  [<c012a102>] kthread+0x36/0x5c
[  144.192118]  [<c012a0cc>] kthread+0x0/0x5c
[  144.195153]  [<c010464b>] kernel_thread_helper+0x7/0x10


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

* Re: 2.6.22-rc2-mm1
  2007-05-23 12:01 ` 2.6.22-rc2-mm1 Gabriel C
@ 2007-05-23 16:01   ` Andrew Morton
  0 siblings, 0 replies; 104+ messages in thread
From: Andrew Morton @ 2007-05-23 16:01 UTC (permalink / raw)
  To: Gabriel C; +Cc: linux-kernel, Christoph Lameter

On Wed, 23 May 2007 14:01:09 +0200 Gabriel C <nix.or.die@googlemail.com> wrote:

> Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> >   
> 
> I get this on boot :
> 
> [ 0.333581] BUG: at include/linux/slub_def.h:83 kmalloc_index()
> [ 0.333587] [<c0104eb7>] show_trace_log_lvl+0x1a/0x2f
> [ 0.333601] [<c0105a76>] show_trace+0x12/0x14
> [ 0.333606] [<c0105a8e>] dump_stack+0x16/0x18
> [ 0.333611] [<c0170d1c>] get_slab+0x48/0x138
> [ 0.333621] [<c0170e8d>] __kmalloc+0x11/0x66
> [ 0.333626] [<c0283c66>] get_modalias+0x5e/0xee
> [ 0.333635] [<c0283d3f>] dmi_dev_uevent+0x2a/0x3f
> [ 0.333641] [<c0241a7b>] dev_uevent+0x1ad/0x1da
> [ 0.333650] [<c01d11fe>] kobject_uevent_env+0x200/0x3ff
> [ 0.333658] [<c01d1407>] kobject_uevent+0xa/0xf
> [ 0.333664] [<c02416fc>] device_add+0x283/0x440
> [ 0.333669] [<c02418cb>] device_register+0x12/0x15
> [ 0.333675] [<c0424558>] dmi_id_init+0x256/0x26c
> [ 0.333684] [<c0409516>] kernel_init+0x156/0x2c1
> [ 0.333692] [<c0104b33>] kernel_thread_helper+0x7/0x10
> [ 0.333698] =======================
> 
> 
> http://crazy.dev.frugalware.org/2.6.22-rc2-mm1/config-2.6.22-rc2-mm1
> http://crazy.dev.frugalware.org/2.6.22-rc2-mm1/dmesg
> 

yup, thanks.  David Airlie has said he'll look into this soon.  It is
a harmless warning.

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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (4 preceding siblings ...)
  2007-05-23 15:28 ` 2.6.22-rc2-mm1 William Lee Irwin III
@ 2007-05-23 16:08 ` William Lee Irwin III
  2007-05-23 16:29 ` 2.6.22-rc2-mm1 William Lee Irwin III
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 104+ messages in thread
From: William Lee Irwin III @ 2007-05-23 16:08 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Wed, May 23, 2007 at 12:42:33AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> - A new readahead patch series.  This needs serious review and performance
>   testing please.
> - Added Ingo's CFS CPU scheduler
> - Xen dom-U support is now in the x86 tree.

WARNING: arch/i386/mach-generic/built-in.o(.data+0xc4): Section mismatch: reference to .init.text: (between 'apic_bigsmp' and 'cpu.4905')
This appears to be resolvable by removing all the __init and __initdata
qualifiers from arch/i386/mach-generic/bigsmp.c

Signed-off-by: William Irwin <bill.irwin@oracle.com>

Index: mm-2.6.22-rc2/arch/i386/mach-generic/bigsmp.c
===================================================================
--- mm-2.6.22-rc2.orig/arch/i386/mach-generic/bigsmp.c	2007-05-23 08:53:25.122485613 -0700
+++ mm-2.6.22-rc2/arch/i386/mach-generic/bigsmp.c	2007-05-23 09:06:21.998757269 -0700
@@ -21,7 +21,7 @@
 
 static int dmi_bigsmp; /* can be set by dmi scanners */
 
-static __init int hp_ht_bigsmp(struct dmi_system_id *d)
+static int hp_ht_bigsmp(struct dmi_system_id *d)
 {
 #ifdef CONFIG_X86_GENERICARCH
 	printk(KERN_NOTICE "%s detected: force use of apic=bigsmp\n", d->ident);
@@ -31,7 +31,7 @@
 }
 
 
-static struct dmi_system_id __initdata bigsmp_dmi_table[] = {
+static struct dmi_system_id bigsmp_dmi_table[] = {
 	{ hp_ht_bigsmp, "HP ProLiant DL760 G2", {
 		DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
 		DMI_MATCH(DMI_BIOS_VERSION, "P44-"),
@@ -45,7 +45,7 @@
 };
 
 
-static int __init probe_bigsmp(void)
+static int probe_bigsmp(void)
 { 
 	if (def_to_bigsmp)
         	dmi_bigsmp = 1;

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 15:54       ` 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-23 16:09         ` Oleg Nesterov
  2007-05-23 17:00         ` 2.6.22-rc2-mm1 Alan Stern
  1 sibling, 0 replies; 104+ messages in thread
From: Oleg Nesterov @ 2007-05-23 16:09 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Alan Stern, Rafael J. Wysocki, Pavel Machek,
	USB development list, Kernel development list

On 05/23, Andrew Morton wrote:
>
> On Wed, 23 May 2007 10:47:04 -0400 (EDT) Alan Stern <stern@rowland.harvard.edu> wrote:
> 
> > Is it possible to get an Alt-SysRq-T stack trace during those 20 
> > seconds?  Knowing what those threads are waiting for would be a big 
> > help.
>
> [  144.201264] khubd         D 00400005     0   160      2 (L-TLB)
> [  144.204358]        c207fe78 00000046 90399a85 00400005 00000246 c207fe60 c25b0cc4 c206f4cc 
> [  144.204539]        00000286 00000000 769e4cea 0040000a 90399a85 00400005 c32713c0 c207fed4 
> [  144.207754]        00000001 c207fe94 c207febc c02e8e1b 00000000 00000000 00000000 00000000 
> [  144.210934] Call Trace:
> [  144.217012]  [<c02e8e1b>] wait_for_completion+0x68/0x91
> [  144.220090]  [<c011824f>] default_wake_function+0x0/0x9
> [  144.223158]  [<c0127a41>] flush_cpu_workqueue+0x4d/0x55
> [  144.226223]  [<c0127a69>] wq_barrier_func+0x0/0x8
> [  144.229269]  [<c026343d>] usb_release_dev+0x28/0x63
> [  144.232340]  [<c0233011>] device_release+0x37/0x7c
> [  144.235431]  [<c01cb6c7>] kobject_cleanup+0x3d/0x54
> [  144.238520]  [<c01cb6de>] kobject_release+0x0/0x8
> [  144.241631]  [<c01cc2a7>] kref_put+0x75/0x82
> [  144.244699]  [<c0265482>] hub_thread+0x376/0xa74
> [  144.247768]  [<c01180c2>] pick_next_task_fair+0xf2/0x12a
> [  144.250815]  [<c0116af1>] __wake_up_common+0x31/0x4f
> [  144.253864]  [<c012a259>] autoremove_wake_function+0x0/0x35
> [  144.256902]  [<c026510c>] hub_thread+0x0/0xa74
> [  144.259944]  [<c012a102>] kthread+0x36/0x5c
> [  144.262891]  [<c012a0cc>] kthread+0x0/0x5c
> [  144.265757]  [<c010464b>] kernel_thread_helper+0x7/0x10
> [  144.268716]  =======================

Looks like usb_release_dev() does flush_workqueue() under usb_lock_device().

Is it possible? If yes, flush_workqueue() stalls because this lock is need
to finish the execution of ->wakeup_work (below).

	usb_release_dev:

		#ifdef  CONFIG_USB_SUSPEND
			cancel_delayed_work(&udev->autosuspend);
			flush_workqueue(ksuspend_usb_wq);
		#endif

What is the reason for flush_workqueue() here? _IF_ it is only needed to flush
->autosuspend, we can use cancel_rearming_delayed_work(&udev->autosuspend).

> [  144.137704] ksuspend_usbd D 00400005     0   157      2 (L-TLB)
> [  144.140830]        c2085f18 00000046 9072767a 00400005 c20626f0 c010449b c3182118 c206288c 
> [  144.141011]        c3182120 c3182120 76d728df 0040000a 9072767a 00400005 c3271200 c3182118 
> [  144.144263]        c3182120 00000246 c20626f0 c02ea1c9 00000000 00000000 00000000 00000000 
> [  144.147576] Call Trace:
> [  144.153929]  [<c010449b>] common_interrupt+0x23/0x28
> [  144.157245]  [<c02ea1c9>] __down+0xba/0xc6
> [  144.160528]  [<c011824f>] default_wake_function+0x0/0x9
> [  144.163832]  [<c02664fc>] hcd_resume_work+0x0/0x43
> [  144.167126]  [<c02e9fd3>] __down_failed+0x7/0xc
> [  144.170372]  [<c0266518>] hcd_resume_work+0x1c/0x43
> [  144.173603]  [<c01278cf>] run_workqueue+0x6d/0xdf
> [  144.176780]  [<c0127b4c>] worker_thread+0x0/0xd0
> [  144.179885]  [<c0127b4c>] worker_thread+0x0/0xd0
> [  144.182930]  [<c0127c12>] worker_thread+0xc6/0xd0
> [  144.185964]  [<c012a259>] autoremove_wake_function+0x0/0x35
> [  144.189056]  [<c012a102>] kthread+0x36/0x5c
> [  144.192118]  [<c012a0cc>] kthread+0x0/0x5c
> [  144.195153]  [<c010464b>] kernel_thread_helper+0x7/0x10

Oleg.


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

* Re: 2.6.22-rc2-mm1
  2007-05-23 17:00         ` 2.6.22-rc2-mm1 Alan Stern
@ 2007-05-23 16:21           ` Oleg Nesterov
  2007-05-23 18:41             ` 2.6.22-rc2-mm1 Alan Stern
  0 siblings, 1 reply; 104+ messages in thread
From: Oleg Nesterov @ 2007-05-23 16:21 UTC (permalink / raw)
  To: Alan Stern
  Cc: Andrew Morton, Rafael J. Wysocki, Pavel Machek,
	USB development list, Kernel development list

On 05/23, Alan Stern wrote:
>
> Okay, it's clear that the two threads are in deadlock.  It's not clear 
> how the deadlock arose to begin with -- apparently there was a remote 
> wakeup request for a root hub at the same time as a device below that 
> root hub was disconnected, which doesn't make much sense.

Please note that this flush_workqueue() was not safe anyway. We are freezing
tasks, and ksuspend_usb_wq is freezeable. So, it could be frozen before
"khubd" task, and we have another deadlock.

> Anyway, this looks like a good place to use cancel_work_sync().  The

Could you use cancel_rearming_delayed_work() ? (It should be renamed to
cancel_delayed_work_sync()).

Oleg.


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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (5 preceding siblings ...)
  2007-05-23 16:08 ` 2.6.22-rc2-mm1 William Lee Irwin III
@ 2007-05-23 16:29 ` William Lee Irwin III
  2007-05-23 17:27 ` 2.6.22-rc2-mm1 William Lee Irwin III
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 104+ messages in thread
From: William Lee Irwin III @ 2007-05-23 16:29 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Wed, May 23, 2007 at 12:42:33AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> - A new readahead patch series.  This needs serious review and performance
>   testing please.
> - Added Ingo's CFS CPU scheduler
> - Xen dom-U support is now in the x86 tree.

This patch silences the following warning:
WARNING: arch/i386/kernel/built-in.o(.text+0xdba6): Section mismatch: reference to .init.data:cpu_llc_id (between 'set_cpu_sibling_map' and 'initialize_secondary')
Marking set_cpu_sibling_map() as __cpuinit resolves the section conflict
with the __cpuinitdata cpu_llc_id[] variable.

Signed-off-by: William Irwin <bill.irwin@oracle.com>

Index: mm-2.6.22-rc2/arch/i386/kernel/smpboot.c
===================================================================
--- mm-2.6.22-rc2.orig/arch/i386/kernel/smpboot.c	2007-05-23 09:15:29.377950632 -0700
+++ mm-2.6.22-rc2/arch/i386/kernel/smpboot.c	2007-05-23 09:16:27.089239410 -0700
@@ -308,7 +308,7 @@
 /* representing cpus for which sibling maps can be computed */
 static cpumask_t cpu_sibling_setup_map;
 
-void set_cpu_sibling_map(int cpu)
+void __cpuinit set_cpu_sibling_map(int cpu)
 {
 	int i;
 	struct cpuinfo_x86 *c = cpu_data;

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 15:54       ` 2.6.22-rc2-mm1 Andrew Morton
  2007-05-23 16:09         ` 2.6.22-rc2-mm1 Oleg Nesterov
@ 2007-05-23 17:00         ` Alan Stern
  2007-05-23 16:21           ` 2.6.22-rc2-mm1 Oleg Nesterov
  1 sibling, 1 reply; 104+ messages in thread
From: Alan Stern @ 2007-05-23 17:00 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Rafael J. Wysocki, Pavel Machek, USB development list,
	Oleg Nesterov, Kernel development list

On Wed, 23 May 2007, Andrew Morton wrote:

> > > > This is intermittently getting resume-from-RAM failures.  It is not
> > > > sufficiently repeatable to be able to bisect.
> > > > 
> > > > [ 1381.119362] PM: Preparing system for mem sleep
> > > > [ 2331.798452] Stopping tasks ... 
> > > > [ 2351.760431] Stopping kernel threads timed out after 20 seconds (2 tasks refusing to freeze):
> > > > [ 2351.762385]  ksuspend_usbd
> > > > [ 2351.764374]  khubd
> > > > [ 2351.766338] Restarting tasks ... done.
> > > 
> > > Hmm, that seems to be related to usb-fix-suspend-to-ram.patch (probably one of
> > > the threads is waiting for a completion by some other thread that has been
> > > frozen already).
> > 
> > Is it possible to get an Alt-SysRq-T stack trace during those 20 
> > seconds?  Knowing what those threads are waiting for would be a big 
> > help.

> The trace is at http://userweb.kernel.org/~akpm/tasks.txt.  Interesting
> bits are
> 
> [  144.201264] khubd         D 00400005     0   160      2 (L-TLB)
> [  144.204358]        c207fe78 00000046 90399a85 00400005 00000246 c207fe60 c25b0cc4 c206f4cc 
> [  144.204539]        00000286 00000000 769e4cea 0040000a 90399a85 00400005 c32713c0 c207fed4 
> [  144.207754]        00000001 c207fe94 c207febc c02e8e1b 00000000 00000000 00000000 00000000 
> [  144.210934] Call Trace:
> [  144.217012]  [<c02e8e1b>] wait_for_completion+0x68/0x91
> [  144.220090]  [<c011824f>] default_wake_function+0x0/0x9
> [  144.223158]  [<c0127a41>] flush_cpu_workqueue+0x4d/0x55
> [  144.226223]  [<c0127a69>] wq_barrier_func+0x0/0x8
> [  144.229269]  [<c026343d>] usb_release_dev+0x28/0x63
> [  144.232340]  [<c0233011>] device_release+0x37/0x7c
> [  144.235431]  [<c01cb6c7>] kobject_cleanup+0x3d/0x54
> [  144.238520]  [<c01cb6de>] kobject_release+0x0/0x8
> [  144.241631]  [<c01cc2a7>] kref_put+0x75/0x82
> [  144.244699]  [<c0265482>] hub_thread+0x376/0xa74
> [  144.247768]  [<c01180c2>] pick_next_task_fair+0xf2/0x12a
> [  144.250815]  [<c0116af1>] __wake_up_common+0x31/0x4f
> [  144.253864]  [<c012a259>] autoremove_wake_function+0x0/0x35
> [  144.256902]  [<c026510c>] hub_thread+0x0/0xa74
> [  144.259944]  [<c012a102>] kthread+0x36/0x5c
> [  144.262891]  [<c012a0cc>] kthread+0x0/0x5c
> [  144.265757]  [<c010464b>] kernel_thread_helper+0x7/0x10
> [  144.268716]  =======================
> 
> 
> [  144.137704] ksuspend_usbd D 00400005     0   157      2 (L-TLB)
> [  144.140830]        c2085f18 00000046 9072767a 00400005 c20626f0 c010449b c3182118 c206288c 
> [  144.141011]        c3182120 c3182120 76d728df 0040000a 9072767a 00400005 c3271200 c3182118 
> [  144.144263]        c3182120 00000246 c20626f0 c02ea1c9 00000000 00000000 00000000 00000000 
> [  144.147576] Call Trace:
> [  144.153929]  [<c010449b>] common_interrupt+0x23/0x28
> [  144.157245]  [<c02ea1c9>] __down+0xba/0xc6
> [  144.160528]  [<c011824f>] default_wake_function+0x0/0x9
> [  144.163832]  [<c02664fc>] hcd_resume_work+0x0/0x43
> [  144.167126]  [<c02e9fd3>] __down_failed+0x7/0xc
> [  144.170372]  [<c0266518>] hcd_resume_work+0x1c/0x43
> [  144.173603]  [<c01278cf>] run_workqueue+0x6d/0xdf
> [  144.176780]  [<c0127b4c>] worker_thread+0x0/0xd0
> [  144.179885]  [<c0127b4c>] worker_thread+0x0/0xd0
> [  144.182930]  [<c0127c12>] worker_thread+0xc6/0xd0
> [  144.185964]  [<c012a259>] autoremove_wake_function+0x0/0x35
> [  144.189056]  [<c012a102>] kthread+0x36/0x5c
> [  144.192118]  [<c012a0cc>] kthread+0x0/0x5c
> [  144.195153]  [<c010464b>] kernel_thread_helper+0x7/0x10


Okay, it's clear that the two threads are in deadlock.  It's not clear 
how the deadlock arose to begin with -- apparently there was a remote 
wakeup request for a root hub at the same time as a device below that 
root hub was disconnected, which doesn't make much sense.

Anyway, this looks like a good place to use cancel_work_sync().  The 
patch below is highly untested, so Andrew, you're the guinea pig.  :-)
If it seems to help, I'll submit it with a proper Changelog entry.

Alan Stern


Index: usb-2.6/drivers/usb/core/hub.c
===================================================================
--- usb-2.6.orig/drivers/usb/core/hub.c
+++ usb-2.6/drivers/usb/core/hub.c
@@ -1294,6 +1294,7 @@ void usb_disconnect(struct usb_device **
 	*pdev = NULL;
 	spin_unlock_irq(&device_state_lock);
 
+#ifdef	CONFIG_USB_SUSPEND
 	/* Synchronize with the ksuspend thread to prevent any more
 	 * autosuspend requests from being submitted, and decrement
 	 * the parent's count of unsuspended children.
@@ -1303,6 +1304,10 @@ void usb_disconnect(struct usb_device **
 		usb_autosuspend_device(udev->parent);
 	usb_pm_unlock(udev);
 
+	cancel_delayed_work(&udev->autosuspend);
+	cancel_work_sync(&udev->autosuspend.work);
+#endif
+
 	put_device(&udev->dev);
 }
 
Index: usb-2.6/drivers/usb/core/usb.c
===================================================================
--- usb-2.6.orig/drivers/usb/core/usb.c
+++ usb-2.6/drivers/usb/core/usb.c
@@ -184,10 +184,6 @@ static void usb_release_dev(struct devic
 
 	udev = to_usb_device(dev);
 
-#ifdef	CONFIG_USB_SUSPEND
-	cancel_delayed_work(&udev->autosuspend);
-	flush_workqueue(ksuspend_usb_wq);
-#endif
 	usb_destroy_configuration(udev);
 	usb_put_hcd(bus_to_hcd(udev->bus));
 	kfree(udev->product);


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

* Re: 2.6.22-rc2-mm1
  2007-05-23  9:47 ` 2.6.22-rc2-mm1 Michal Piotrowski
@ 2007-05-23 17:18   ` Christoph Lameter
  2007-05-23 21:05     ` 2.6.22-rc2-mm1 Michal Piotrowski
  0 siblings, 1 reply; 104+ messages in thread
From: Christoph Lameter @ 2007-05-23 17:18 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: Andrew Morton, linux-kernel

On Wed, 23 May 2007, Michal Piotrowski wrote:

> Christoph, this looks like a bug in SLUB.

Please boot with slub_debug to find the bad code that overwrites a slab 
object after it was freed.


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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (6 preceding siblings ...)
  2007-05-23 16:29 ` 2.6.22-rc2-mm1 William Lee Irwin III
@ 2007-05-23 17:27 ` William Lee Irwin III
  2007-05-23 23:17 ` 2.6.22-rc2-mm1 Zan Lynx
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 104+ messages in thread
From: William Lee Irwin III @ 2007-05-23 17:27 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Wed, May 23, 2007 at 12:42:33AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> - A new readahead patch series.  This needs serious review and performance
>   testing please.
> - Added Ingo's CFS CPU scheduler
> - Xen dom-U support is now in the x86 tree.

This patch silences the following warning:
WARNING: drivers/built-in.o(.text+0x500fd): Section mismatch: reference to .init.data: (between 'pxm_to_node' and 'node_to_pxm')
WARNING: drivers/built-in.o(.text+0x50112): Section mismatch: reference to .init.data: (between 'node_to_pxm' and 'acpi_get_pxm')
pxm_to_node() and node_to_pxm() reference node_to_pxm_map[] and
pxm_to_node_map[], which are __cpuinitdata. This patch marks pxm_to_node()
and node_to_pxm() __cpuinit accordingly.

Signed-off-by: William Irwin <bill.irwin@oracle.com>

Index: mm-2.6.22-rc2/drivers/acpi/numa.c
===================================================================
--- mm-2.6.22-rc2.orig/drivers/acpi/numa.c	2007-05-23 09:35:02.932827713 -0700
+++ mm-2.6.22-rc2/drivers/acpi/numa.c	2007-05-23 09:35:48.919448341 -0700
@@ -43,14 +43,14 @@
 static int __cpuinitdata node_to_pxm_map[MAX_NUMNODES]
 				= { [0 ... MAX_NUMNODES - 1] = PXM_INVAL };
 
-int pxm_to_node(int pxm)
+int __cpuinit pxm_to_node(int pxm)
 {
 	if (pxm < 0)
 		return NID_INVAL;
 	return pxm_to_node_map[pxm];
 }
 
-int node_to_pxm(int node)
+int __cpuinit node_to_pxm(int node)
 {
 	if (node < 0)
 		return PXM_INVAL;

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 16:21           ` 2.6.22-rc2-mm1 Oleg Nesterov
@ 2007-05-23 18:41             ` Alan Stern
  0 siblings, 0 replies; 104+ messages in thread
From: Alan Stern @ 2007-05-23 18:41 UTC (permalink / raw)
  To: Oleg Nesterov
  Cc: Andrew Morton, Rafael J. Wysocki, Pavel Machek,
	USB development list, Kernel development list

On Wed, 23 May 2007, Oleg Nesterov wrote:

> On 05/23, Alan Stern wrote:
> >
> > Okay, it's clear that the two threads are in deadlock.  It's not clear 
> > how the deadlock arose to begin with -- apparently there was a remote 
> > wakeup request for a root hub at the same time as a device below that 
> > root hub was disconnected, which doesn't make much sense.
> 
> Please note that this flush_workqueue() was not safe anyway. We are freezing
> tasks, and ksuspend_usb_wq is freezeable. So, it could be frozen before
> "khubd" task, and we have another deadlock.

Correct.  I was planning to replace the flush_workqueue() anyway for 
that very reason; this is a good excuse to do it.

> > Anyway, this looks like a good place to use cancel_work_sync().  The
> 
> Could you use cancel_rearming_delayed_work() ? (It should be renamed to
> cancel_delayed_work_sync()).

Good idea.  Here's a revised patch.

Alan Stern


Index: usb-2.6/drivers/usb/core/hub.c
===================================================================
--- usb-2.6.orig/drivers/usb/core/hub.c
+++ usb-2.6/drivers/usb/core/hub.c
@@ -1228,6 +1228,30 @@ static void release_address(struct usb_d
 	}
 }
 
+#ifdef	CONFIG_USB_SUSPEND
+
+static void usb_stop_pm(struct usb_device *udev)
+{
+	/* Synchronize with the ksuspend thread to prevent any more
+	 * autosuspend requests from being submitted, and decrement
+	 * the parent's count of unsuspended children.
+	 */
+	usb_pm_lock(udev);
+	if (udev->parent && !udev->discon_suspended)
+		usb_autosuspend_device(udev->parent);
+	usb_pm_unlock(udev);
+
+	/* Stop any autosuspend requests already submitted */
+	cancel_rearming_delayed_work(&udev->autosuspend);
+}
+
+#else
+
+static inline void usb_stop_pm(struct usb_device *udev)
+{ }
+
+#endif
+
 /**
  * usb_disconnect - disconnect a device (usbcore-internal)
  * @pdev: pointer to device being disconnected
@@ -1294,14 +1318,7 @@ void usb_disconnect(struct usb_device **
 	*pdev = NULL;
 	spin_unlock_irq(&device_state_lock);
 
-	/* Synchronize with the ksuspend thread to prevent any more
-	 * autosuspend requests from being submitted, and decrement
-	 * the parent's count of unsuspended children.
-	 */
-	usb_pm_lock(udev);
-	if (udev->parent && !udev->discon_suspended)
-		usb_autosuspend_device(udev->parent);
-	usb_pm_unlock(udev);
+	usb_stop_pm(udev);
 
 	put_device(&udev->dev);
 }
Index: usb-2.6/drivers/usb/core/usb.c
===================================================================
--- usb-2.6.orig/drivers/usb/core/usb.c
+++ usb-2.6/drivers/usb/core/usb.c
@@ -184,10 +184,6 @@ static void usb_release_dev(struct devic
 
 	udev = to_usb_device(dev);
 
-#ifdef	CONFIG_USB_SUSPEND
-	cancel_delayed_work(&udev->autosuspend);
-	flush_workqueue(ksuspend_usb_wq);
-#endif
 	usb_destroy_configuration(udev);
 	usb_put_hcd(bus_to_hcd(udev->bus));
 	kfree(udev->product);
Index: usb-2.6/drivers/usb/core/hcd.c
===================================================================
--- usb-2.6.orig/drivers/usb/core/hcd.c
+++ usb-2.6/drivers/usb/core/hcd.c
@@ -1683,7 +1683,7 @@ void usb_remove_hcd(struct usb_hcd *hcd)
 	spin_unlock_irq (&hcd_root_hub_lock);
 
 #ifdef CONFIG_PM
-	flush_workqueue(ksuspend_usb_wq);
+	cancel_work_sync(&hcd->wakeup_work);
 #endif
 
 	mutex_lock(&usb_bus_list_lock);


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

* Re: 2.6.22-rc2-mm1
  2007-05-23 17:18   ` 2.6.22-rc2-mm1 Christoph Lameter
@ 2007-05-23 21:05     ` Michal Piotrowski
  2007-05-23 22:01       ` 2.6.22-rc2-mm1 Andrew Morton
  2007-05-23 22:24       ` 2.6.22-rc2-mm1 Christoph Lameter
  0 siblings, 2 replies; 104+ messages in thread
From: Michal Piotrowski @ 2007-05-23 21:05 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Michal Piotrowski, Andrew Morton, linux-kernel

Christoph Lameter napisał(a):
> On Wed, 23 May 2007, Michal Piotrowski wrote:
> 
>> Christoph, this looks like a bug in SLUB.
> 
> Please boot with slub_debug to find the bad code that overwrites a slab 
> object after it was freed.
> 
> 

[   19.096577] Real Time Clock Driver v1.12ac
[   21.650315] *** SLUB kmalloc-8: Redzone Active@0xc90f6d20 slab 0xc528c530
[   21.657365]     offset=3360 flags=0x400000c3 inuse=61 freelist=0xc90f6d58
[   21.664349]   Bytes b4 0xc90f6d10:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
[   21.674305]     Object 0xc90f6d20:  31 30 31 39 2e 30 30 35                         1019.005        
[   21.684259]    Redzone 0xc90f6d28:  00 cc cc cc                                     .ллл            
[   21.694265] FreePointer 0xc90f6d2c -> 0xc90f6d58
[   21.699061] Last alloc: get_modalias+0x61/0xf5 jiffies_ago=53 cpu=1 pid=554
[   21.706362]     Filler 0xc90f6d50:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ        
[   21.716364]  [<c010523d>] dump_trace+0x63/0x1eb
[   21.721117]  [<c01053df>] show_trace_log_lvl+0x1a/0x2f
[   21.726466]  [<c010601d>] show_trace+0x12/0x14
[   21.731096]  [<c0106035>] dump_stack+0x16/0x18
[   21.735790]  [<c017e0fa>] object_err+0x143/0x14b
[   21.740575]  [<c017e2cc>] check_object+0x66/0x234
[   21.745582]  [<c017eb43>] __slab_free+0x239/0x384
[   21.750503]  [<c017f446>] kfree+0xa6/0xc6
[   21.754706]  [<c02e2335>] get_modalias+0xb9/0xf5
[   21.759517]  [<c02e23b7>] dmi_dev_uevent+0x27/0x3c
[   21.764537]  [<c027866a>] dev_uevent+0x1ad/0x1da
[   21.769429]  [<c0205024>] kobject_uevent_env+0x20a/0x45b
[   21.774970]  [<c020527f>] kobject_uevent+0xa/0xf
[   21.779834]  [<c02779f1>] store_uevent+0x4f/0x58
[   21.784678]  [<c027758e>] dev_attr_store+0x29/0x2f
[   21.789688]  [<c01bec4f>] sysfs_write_file+0x16e/0x19c
[   21.795022]  [<c0183ba7>] vfs_write+0xd1/0x15a
[   21.799673]  [<c01841d7>] sys_write+0x3d/0x72
[   21.804284]  [<c0104112>] sysenter_past_esp+0x5f/0x99
[   21.809606]  [<b7f7b410>] 0xb7f7b410
[   21.813379]  =======================
[   21.817083] @@@ SLUB kmalloc-8: Restoring redzone (0xcc) from 0xc90f6d28-0xc90f6d2b

Here is another one

[    0.182216] PM: Adding info for No Bus:id
[    0.182333] *** SLUB kmalloc-8: Redzone Active@0xc7838188 slab 0xc521cfc0
[    0.182395]     offset=392 flags=0x400000c3 inuse=8 freelist=0xc78381c0
[    0.182455]   Bytes b4 0xc7838178:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
[    0.183299]     Object 0xc7838188:  31 30 31 39 2e 30 30 35                         1019.005        
[    0.184141]    Redzone 0xc7838190:  00 cc cc cc                                     .ллл            
[    0.184980] FreePointer 0xc7838194 -> 0xc78381c0
[    0.185038] Last alloc: get_modalias+0x61/0xf5 jiffies_ago=0 cpu=0 pid=1
[    0.185196]     Filler 0xc78381b8:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ        
[    0.186043]  [<c010523d>] dump_trace+0x63/0x1eb
[    0.186155]  [<c01053df>] show_trace_log_lvl+0x1a/0x2f
[    0.186262]  [<c010601d>] show_trace+0x12/0x14
[    0.186368]  [<c0106035>] dump_stack+0x16/0x18
[    0.187567]  [<c017e0fa>] object_err+0x143/0x14b
[    0.187677]  [<c017e2cc>] check_object+0x66/0x234
[    0.187788]  [<c017eb43>] __slab_free+0x239/0x384
[    0.187895]  [<c017f446>] kfree+0xa6/0xc6
[    0.188001]  [<c02e2335>] get_modalias+0xb9/0xf5
[    0.188111]  [<c02e23b7>] dmi_dev_uevent+0x27/0x3c
[    0.188219]  [<c027866a>] dev_uevent+0x1ad/0x1da
[    0.188328]  [<c0205024>] kobject_uevent_env+0x20a/0x45b
[    0.188438]  [<c020527f>] kobject_uevent+0xa/0xf
[    0.188544]  [<c02782bd>] device_add+0x274/0x45f
[    0.188650]  [<c02784ba>] device_register+0x12/0x15
[    0.188761]  [<c0504d25>] dmi_id_init+0x256/0x26c
[    0.188869]  [<c04ec505>] kernel_init+0x14e/0x2bf
[    0.188976]  [<c0104e0b>] kernel_thread_helper+0x7/0x10
[    0.189083]  =======================
[    0.189143] @@@ SLUB kmalloc-8: Restoring redzone (0xcc) from 0xc7838190-0xc7838193

http://www.stardust.webpages.pl/files/tbf/bitis-gabonica/2.6.22-rc2-mm1/mm-dmesg
http://www.stardust.webpages.pl/files/tbf/bitis-gabonica/2.6.22-rc2-mm1/mm-config

Regards,
Michal

-- 
Michal K. K. Piotrowski
Kernel Monkeys
(http://kernel.wikidot.com/start)

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 21:05     ` 2.6.22-rc2-mm1 Michal Piotrowski
@ 2007-05-23 22:01       ` Andrew Morton
  2007-05-23 22:18         ` 2.6.22-rc2-mm1 Michal Piotrowski
  2007-05-23 22:27         ` 2.6.22-rc2-mm1 Christoph Lameter
  2007-05-23 22:24       ` 2.6.22-rc2-mm1 Christoph Lameter
  1 sibling, 2 replies; 104+ messages in thread
From: Andrew Morton @ 2007-05-23 22:01 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: Christoph Lameter, linux-kernel

On Wed, 23 May 2007 23:05:24 +0200
Michal Piotrowski <michal.k.k.piotrowski@gmail.com> wrote:

> Christoph Lameter napisa__(a):
> > On Wed, 23 May 2007, Michal Piotrowski wrote:
> > 
> >> Christoph, this looks like a bug in SLUB.
> > 
> > Please boot with slub_debug to find the bad code that overwrites a slab 
> > object after it was freed.
> > 
> > 
> 
> [   19.096577] Real Time Clock Driver v1.12ac
> [   21.650315] *** SLUB kmalloc-8: Redzone Active@0xc90f6d20 slab 0xc528c530
> [   21.657365]     offset=3360 flags=0x400000c3 inuse=61 freelist=0xc90f6d58
> [   21.664349]   Bytes b4 0xc90f6d10:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
> [   21.674305]     Object 0xc90f6d20:  31 30 31 39 2e 30 30 35                         1019.005        
> [   21.684259]    Redzone 0xc90f6d28:  00 cc cc cc                                     .______            
> [   21.694265] FreePointer 0xc90f6d2c -> 0xc90f6d58
> [   21.699061] Last alloc: get_modalias+0x61/0xf5 jiffies_ago=53 cpu=1 pid=554
> [   21.706362]     Filler 0xc90f6d50:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ        

argh, I never 100% understood the slab gobbledygook, and now we have slub
gobbledygook.  I _hope_ what that's saying is that the 00 at 0xc90f6d28
wasn't supposed to be there.

Obvious bug:

--- a/drivers/firmware/dmi-id.c~a
+++ a/drivers/firmware/dmi-id.c
@@ -94,7 +94,7 @@ static ssize_t get_modalias(char *buffer
 		if (!c)
 			continue;
 
-		t = kmalloc(strlen(c), GFP_KERNEL);
+		t = kmalloc(strlen(c) + 1, GFP_KERNEL);
 		if (!t)
 			break;
 		ascii_filter(t, c);
_


> Here is another one

Same deal.


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

* Re: 2.6.22-rc2-mm1
  2007-05-23 22:01       ` 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-23 22:18         ` Michal Piotrowski
  2007-05-23 22:27         ` 2.6.22-rc2-mm1 Christoph Lameter
  1 sibling, 0 replies; 104+ messages in thread
From: Michal Piotrowski @ 2007-05-23 22:18 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Christoph Lameter, linux-kernel

On 24/05/07, Andrew Morton <akpm@linux-foundation.org> wrote:
> On Wed, 23 May 2007 23:05:24 +0200
> Michal Piotrowski <michal.k.k.piotrowski@gmail.com> wrote:
>
> > Christoph Lameter napisa__(a):
> > > On Wed, 23 May 2007, Michal Piotrowski wrote:
> > >
> > >> Christoph, this looks like a bug in SLUB.
> > >
> > > Please boot with slub_debug to find the bad code that overwrites a slab
> > > object after it was freed.
> > >
> > >
> >
> > [   19.096577] Real Time Clock Driver v1.12ac
> > [   21.650315] *** SLUB kmalloc-8: Redzone Active@0xc90f6d20 slab 0xc528c530
> > [   21.657365]     offset=3360 flags=0x400000c3 inuse=61 freelist=0xc90f6d58
> > [   21.664349]   Bytes b4 0xc90f6d10:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
> > [   21.674305]     Object 0xc90f6d20:  31 30 31 39 2e 30 30 35                         1019.005
> > [   21.684259]    Redzone 0xc90f6d28:  00 cc cc cc                                     .______
> > [   21.694265] FreePointer 0xc90f6d2c -> 0xc90f6d58
> > [   21.699061] Last alloc: get_modalias+0x61/0xf5 jiffies_ago=53 cpu=1 pid=554
> > [   21.706362]     Filler 0xc90f6d50:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ
>
> argh, I never 100% understood the slab gobbledygook, and now we have slub
> gobbledygook.  I _hope_ what that's saying is that the 00 at 0xc90f6d28
> wasn't supposed to be there.
>
> Obvious bug:
>
> --- a/drivers/firmware/dmi-id.c~a
> +++ a/drivers/firmware/dmi-id.c

Problem fixed. Thanks!

Regards,
Michal

-- 
Michal K. K. Piotrowski
Kernel Monkeys
(http://kernel.wikidot.com/start)

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 21:05     ` 2.6.22-rc2-mm1 Michal Piotrowski
  2007-05-23 22:01       ` 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-23 22:24       ` Christoph Lameter
  1 sibling, 0 replies; 104+ messages in thread
From: Christoph Lameter @ 2007-05-23 22:24 UTC (permalink / raw)
  To: Michal Piotrowski; +Cc: Andrew Morton, linux-kernel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 785 bytes --]

On Wed, 23 May 2007, Michal Piotrowski wrote:

> [   19.096577] Real Time Clock Driver v1.12ac
> [   21.650315] *** SLUB kmalloc-8: Redzone Active@0xc90f6d20 slab 0xc528c530
> [   21.657365]     offset=3360 flags=0x400000c3 inuse=61 freelist=0xc90f6d58
> [   21.664349]   Bytes b4 0xc90f6d10:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
> [   21.674305]     Object 0xc90f6d20:  31 30 31 39 2e 30 30 35                         1019.005        
> [   21.684259]    Redzone 0xc90f6d28:  00 cc cc cc                                     .ÿÿÿÿÿÿ            

Ok. We are writing a string of length 8 to an object allocated via 
kmalloc(8). A string of 8 bytes needs a 0x00 at the end though. This makes 
it 9 bytes. The kmalloc should have been for 9 bytes!

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 22:01       ` 2.6.22-rc2-mm1 Andrew Morton
  2007-05-23 22:18         ` 2.6.22-rc2-mm1 Michal Piotrowski
@ 2007-05-23 22:27         ` Christoph Lameter
  2007-05-23 22:37           ` 2.6.22-rc2-mm1 Andrew Morton
  1 sibling, 1 reply; 104+ messages in thread
From: Christoph Lameter @ 2007-05-23 22:27 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Michal Piotrowski, linux-kernel

On Wed, 23 May 2007, Andrew Morton wrote:

> argh, I never 100% understood the slab gobbledygook, and now we have slub
> gobbledygook.  I _hope_ what that's saying is that the 00 at 0xc90f6d28
> wasn't supposed to be there.

Exactly. I tried to make the SLUB gobbledygook better. Any other ideas on 
how to improve it?


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

* Re: 2.6.22-rc2-mm1
  2007-05-23 22:27         ` 2.6.22-rc2-mm1 Christoph Lameter
@ 2007-05-23 22:37           ` Andrew Morton
  2007-05-23 23:36             ` 2.6.22-rc2-mm1 Christoph Lameter
  0 siblings, 1 reply; 104+ messages in thread
From: Andrew Morton @ 2007-05-23 22:37 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Michal Piotrowski, linux-kernel

On Wed, 23 May 2007 15:27:28 -0700 (PDT)
Christoph Lameter <clameter@sgi.com> wrote:

> On Wed, 23 May 2007, Andrew Morton wrote:
> 
> > argh, I never 100% understood the slab gobbledygook, and now we have slub
> > gobbledygook.  I _hope_ what that's saying is that the 00 at 0xc90f6d28
> > wasn't supposed to be there.
> 
> Exactly. I tried to make the SLUB gobbledygook better.

Actually now I look at it and work out what "b4" meant, it's not all that
gobbledygooky.  It's unclear what "Filler" means though.

> Any other ideas on 
> how to improve it?

A few words in slub.txt, perhaps?

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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (7 preceding siblings ...)
  2007-05-23 17:27 ` 2.6.22-rc2-mm1 William Lee Irwin III
@ 2007-05-23 23:17 ` Zan Lynx
  2007-05-23 23:27   ` 2.6.22-rc2-mm1 Andrew Morton
                     ` (2 more replies)
  2007-05-24 10:36 ` rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1) Jeremy Fitzhardinge
                   ` (4 subsequent siblings)
  13 siblings, 3 replies; 104+ messages in thread
From: Zan Lynx @ 2007-05-23 23:17 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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

On Wed, 2007-05-23 at 00:42 -0700, Andrew Morton wrote: 
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> 
> - A new readahead patch series.  This needs serious review and performance
>   testing please.
> 
> - Added Ingo's CFS CPU scheduler
> 
> - Xen dom-U support is now in the x86 tree.

I am having weird problems with USB keyboard and mouse.  The USB
keyboard will drop keystrokes, but not all of them.  The mouse seems to
move fine but drops clicks.  Could be that an occasional missed move
event isn't noticeable.  Nothing is logged when a key is dropped.

However, I did have some of this when it was first booting:

BUG: at drivers/hid/hid-core.c:778 implement()

Call Trace:
[<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
[<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
[<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
[<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
[<ffffffff8053523e>] do_page_fault+0x42e/0x880
[<ffffffff802b486d>] do_ioctl+0x7d/0xa0
[<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
[<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
[<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
[<ffffffff8020a16e>] system_call+0x7e/0x83

Here's the entire dmesg:
Linux version 2.6.22-rc2-mm1 (root@zephyr) (gcc version 4.2.0 (Gentoo 4.2.0)) #1 SMP PREEMPT Wed May 23 14:06:56 MDT 2007
Command line: root=/dev/sda2 rootfstype=reiser4 ro i8042.nomux elevator=cfq resume=/dev/sda3 panic=5 nmi_watchdog=1,panic debug kernelcore=512M
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000d0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003ff70000 (usable)
 BIOS-e820: 000000003ff70000 - 000000003ff7f000 (ACPI data)
 BIOS-e820: 000000003ff7f000 - 000000003ff80000 (ACPI NVS)
 BIOS-e820: 000000003ff80000 - 0000000040000000 (reserved)
 BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
Entering add_active_range(0, 0, 159) 0 entries of 256 used
Entering add_active_range(0, 256, 262000) 1 entries of 256 used
end_pfn_map = 1048576
DMI present.
ACPI: RSDP 000F7240, 0014 (r0 PTLTD )
ACPI: RSDT 3FF7A87E, 0034 (r1 PTLTD    RSDT    6040000  LTP        0)
ACPI: FACP 3FF7EE13, 0074 (r1 NVIDIA CK8       6040000 PTL_    F4240)
ACPI: DSDT 3FF7A8B2, 4561 (r1 NVIDIA      CK8  6040000 MSFT  100000E)
ACPI: FACS 3FF7FFC0, 0040
ACPI: APIC 3FF7EE87, 005A (r1 NVIDIA NV_APIC_  6040000  LTP        0)
ACPI: BOOT 3FF7EEE1, 0028 (r1 PTLTD  $SBFTBL$  6040000  LTP        1)
ACPI: SSDT 3FF7EF09, 00F7 (r1 PTLTD  POWERNOW  6040000  LTP        1)
Entering add_active_range(0, 0, 159) 0 entries of 256 used
Entering add_active_range(0, 256, 262000) 1 entries of 256 used
No mptable found.
sizeof(struct page) = 88
Zone PFN ranges:
  DMA             0 ->     4096
  DMA32        4096 ->  1048576
  Normal    1048576 ->  1048576
Movable zone start PFN for each node
  Node 0: 132096
early_node_map[2] active PFN ranges
    0:        0 ->      159
    0:      256 ->   262000
On node 0 totalpages: 261903
Node 0 memmap at 0xffff810001000000 size 23068672 first pfn 0xffff810001000000
  DMA zone: 88 pages used for memmap
  DMA zone: 2778 pages reserved
  DMA zone: 1133 pages, LIFO batch:0
  DMA32 zone: 2750 pages used for memmap
  DMA32 zone: 125250 pages, LIFO batch:31
  Normal zone: 0 pages used for memmap
  Movable zone: 2790 pages used for memmap
  Movable zone: 127114 pages, LIFO batch:31
Nvidia board detected. Ignoring ACPI timer override.
If you got timer trouble try acpi_use_timer_override
ACPI: PM-Timer IO Port: 0x8008
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 (Bootup-CPU)
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: BIOS IRQ0 pin2 override ignored.
ACPI: IRQ9 used by override.
Setting APIC routing to flat
Using ACPI (MADT) for SMP configuration information
swsusp: Registered nosave memory region: 000000000009f000 - 00000000000a0000
swsusp: Registered nosave memory region: 00000000000a0000 - 00000000000d0000
swsusp: Registered nosave memory region: 00000000000d0000 - 0000000000100000
Allocating PCI resources starting at 50000000 (gap: 40000000:bff80000)
SMP: Allowing 1 CPUs, 0 hotplug CPUs
PERCPU: Allocating 32392 bytes of per cpu data
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 253497
Kernel command line: root=/dev/sda2 rootfstype=reiser4 ro i8042.nomux elevator=cfq resume=/dev/sda3 panic=5 nmi_watchdog=1,panic debug kernelcore=512M
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 32768 bytes)
time.c: Detected 2194.363 MHz processor.
Console: colour VGA+ 80x25
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES:    8
... MAX_LOCK_DEPTH:          30
... MAX_LOCKDEP_KEYS:        2048
... CLASSHASH_SIZE:           1024
... MAX_LOCKDEP_ENTRIES:     8192
... MAX_LOCKDEP_CHAINS:      16384
... CHAINHASH_SIZE:          8192
 memory used by lock dependency info: 1648 kB
 per task-struct memory footprint: 1680 bytes
------------------------
| Locking API testsuite:
----------------------------------------------------------------------------
                                 | spin |wlock |rlock |mutex | wsem | rsem |
  --------------------------------------------------------------------------
                     A-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                 A-B-B-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
             A-B-B-C-C-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
             A-B-C-A-B-C deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
         A-B-B-C-C-D-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
         A-B-C-D-B-D-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
         A-B-C-D-B-C-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                    double unlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                  initialize held:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                 bad unlock order:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
  --------------------------------------------------------------------------
              recursive read-lock:             |  ok  |             |  ok  |
           recursive read-lock #2:             |  ok  |             |  ok  |
            mixed read-write-lock:             |  ok  |             |  ok  |
            mixed write-read-lock:             |  ok  |             |  ok  |
  --------------------------------------------------------------------------
     hard-irqs-on + irq-safe-A/12:  ok  |  ok  |  ok  |
     soft-irqs-on + irq-safe-A/12:  ok  |  ok  |  ok  |
     hard-irqs-on + irq-safe-A/21:  ok  |  ok  |  ok  |
     soft-irqs-on + irq-safe-A/21:  ok  |  ok  |  ok  |
       sirq-safe-A => hirqs-on/12:  ok  |  ok  |  ok  |
       sirq-safe-A => hirqs-on/21:  ok  |  ok  |  ok  |
         hard-safe-A + irqs-on/12:  ok  |  ok  |  ok  |
         soft-safe-A + irqs-on/12:  ok  |  ok  |  ok  |
         hard-safe-A + irqs-on/21:  ok  |  ok  |  ok  |
         soft-safe-A + irqs-on/21:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/123:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/123:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/132:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/132:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/213:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/213:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/231:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/231:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/312:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/312:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/321:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/321:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/123:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/123:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/132:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/132:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/213:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/213:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/231:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/231:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/312:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/312:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/321:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/321:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/123:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/123:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/132:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/132:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/213:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/213:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/231:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/231:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/312:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/312:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/321:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/321:  ok  |  ok  |  ok  |
      hard-irq read-recursion/123:  ok  |
      soft-irq read-recursion/123:  ok  |
      hard-irq read-recursion/132:  ok  |
      soft-irq read-recursion/132:  ok  |
      hard-irq read-recursion/213:  ok  |
      soft-irq read-recursion/213:  ok  |
      hard-irq read-recursion/231:  ok  |
      soft-irq read-recursion/231:  ok  |
      hard-irq read-recursion/312:  ok  |
      soft-irq read-recursion/312:  ok  |
      hard-irq read-recursion/321:  ok  |
      soft-irq read-recursion/321:  ok  |
-------------------------------------------------------
Good, all 218 testcases passed! |
---------------------------------
Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
Checking aperture...
CPU 0: aperture @ e8000000 size 128 MB
Memory: 1011976k/1048000k available (3300k kernel code, 35344k reserved, 2176k data, 1100k init)
SLUB: Genslabs=23, HWalign=64, Order=0-3, MinObjects=16, Processors=1, Nodes=1
Calibrating delay using timer specific routine.. 4390.50 BogoMIPS (lpj=2195251)
kswapd reclaim order set to 3
Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)
SMP alternatives: switching to UP code
Freeing SMP alternatives: 25k freed
ACPI: Core revision 20070126
Parsing all Control Methods:
Table [DSDT](id 0001) - 650 Objects with 66 Devices 205 Methods 24 Regions
Parsing all Control Methods:
Table [SSDT](id 0002) - 3 Objects with 0 Devices 1 Methods 0 Regions
 tbxface-0587 [02] tb_load_namespace     : ACPI Tables successfully acquired
evxfevnt-0091 [02] enable                : Transition to ACPI mode successful
activating NMI Watchdog ... done.
Using local APIC timer interrupts.
result 12467973
Detected 12.467 MHz APIC timer.
Brought up 1 CPUs
testing NMI watchdog ... CPU#0: NMI appears to be stuck (0->0)!
PM: Adding info for No Bus:platform
NET: Registered protocol family 16
No dock devices found.
PM: Adding info for No Bus:vtcon0
ACPI: bus type pci registered
PM: Adding info for No Bus:id
BUG: at include/linux/slub_def.h:83 kmalloc_index()

Call Trace:
 [<ffffffff802a2e09>] get_slab+0xb9/0x180
 [<ffffffff802a2965>] kfree+0xc5/0x110
 [<ffffffff802a2fd4>] __kmalloc+0x24/0xc0
 [<ffffffff8049ab18>] get_modalias+0x68/0x120
 [<ffffffff8049ac07>] dmi_dev_uevent+0x37/0x60
 [<ffffffff80443b63>] dev_uevent+0x163/0x220
 [<ffffffff803bcc97>] kobject_uevent_env+0x2b7/0x500
 [<ffffffff80444f50>] bus_add_device+0x20/0x140
 [<ffffffff804438d2>] device_add+0x4a2/0x5b0
 [<ffffffff807a0a1b>] dmi_id_init+0x2cb/0x2f0
 [<ffffffff807866e6>] kernel_init+0x156/0x330
 [<ffffffff80531f5c>] trace_hardirqs_on_thunk+0x35/0x37
 [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
 [<ffffffff8020b028>] child_rip+0xa/0x12
 [<ffffffff8020a710>] restore_args+0x0/0x30
 [<ffffffff803e6c10>] vgacon_cursor+0x0/0x1f0
 [<ffffffff8023ad5b>] release_console_sem+0x4b/0x230
 [<ffffffff80786590>] kernel_init+0x0/0x330
 [<ffffffff8020b01e>] child_rip+0x0/0x12

PCI: Using configuration type 1
evgpeblk-0952 [04] ev_create_gpe_block   : GPE 00 to 1F [_GPE] 4 regs on int 0x9
PM: Adding info for acpi:device:0e
PM: Adding info for acpi:device:10
PM: Adding info for acpi:device:11
PM: Adding info for acpi:device:12
PM: Adding info for acpi:device:13
PM: Adding info for acpi:device:14
PM: Adding info for acpi:device:15
PM: Adding info for acpi:ACPI0003:00
PM: Adding info for acpi:PNP0C02:00
PM: Adding info for acpi:PNP0C01:00
PM: Adding info for acpi:PNP0C09:00
PM: Adding info for acpi:PNP0C0A:00
PM: Adding info for acpi:PNP0C02:01
PM: Adding info for acpi:PNP0000:00
PM: Adding info for acpi:PNP0100:00
PM: Adding info for acpi:PNP0200:00
PM: Adding info for acpi:PNP0800:00
PM: Adding info for acpi:PNP0B00:00
PM: Adding info for acpi:PNP0C04:00
PM: Adding info for acpi:PNP0303:00
PM: Adding info for acpi:PNP0F13:00
PM: Adding info for acpi:PNP0A05:00
PM: Adding info for acpi:PNP0700:00
PM: Adding info for acpi:PNP0401:00
PM: Adding info for acpi:device:16
PM: Adding info for acpi:device:17
PM: Adding info for acpi:device:18
PM: Adding info for acpi:video:00
PM: Adding info for acpi:device:19
PM: Adding info for acpi:device:1a
PM: Adding info for acpi:device:1b
PM: Adding info for acpi:PNP0C0F:00
PM: Adding info for acpi:PNP0C0F:01
PM: Adding info for acpi:PNP0C0F:02
PM: Adding info for acpi:PNP0C0F:03
PM: Adding info for acpi:PNP0C0F:04
PM: Adding info for acpi:PNP0C0F:05
PM: Adding info for acpi:PNP0C0F:06
PM: Adding info for acpi:PNP0C0F:07
PM: Adding info for acpi:PNP0C0F:08
PM: Adding info for acpi:PNP0C0F:09
PM: Adding info for acpi:PNP0C0F:0a
PM: Adding info for acpi:PNP0C0F:0b
PM: Adding info for acpi:PNP0C0F:0c
PM: Adding info for acpi:PNP0C0F:0d
PM: Adding info for acpi:thermal:00
PM: Adding info for acpi:thermal:01
ACPI: PCI Root Bridge [PCI0] (0000:00)
PM: Adding info for No Bus:pci0000:00
PCI: Bus #03 (-#06) is hidden behind  bridge #02 (-#02) (try 'pci=assign-busses')
Please report the result to linux-kernel to fix this permanently
PCI: Bus #07 (-#0a) is hidden behind  bridge #02 (-#02) (try 'pci=assign-busses')
Please report the result to linux-kernel to fix this permanently
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P2P0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP0._PRT]
PM: Adding info for pci:0000:00:00.0
PM: Adding info for pci:0000:00:01.0
PM: Adding info for pci:0000:00:01.1
PM: Adding info for pci:0000:00:02.0
PM: Adding info for pci:0000:00:02.1
PM: Adding info for pci:0000:00:02.2
PM: Adding info for pci:0000:00:06.0
PM: Adding info for pci:0000:00:06.1
PM: Adding info for pci:0000:00:08.0
PM: Adding info for pci:0000:00:0a.0
PM: Adding info for pci:0000:00:0b.0
PM: Adding info for pci:0000:00:18.0
PM: Adding info for pci:0000:00:18.1
PM: Adding info for pci:0000:00:18.2
PM: Adding info for pci:0000:00:18.3
PM: Adding info for pci:0000:02:00.0
PM: Adding info for pci:0000:02:01.0
PM: Adding info for pci:0000:02:02.0
PM: Adding info for pci:0000:02:04.0
PM: Adding info for pci:0000:02:04.1
PM: Adding info for pci:0000:02:04.2
PM: Adding info for pci:0000:01:00.0
ACPI: PCI Interrupt Link [LNK1] (IRQs 16 18 19) *0
ACPI: PCI Interrupt Link [LNK2] (IRQs 16 18 19) *0
ACPI: PCI Interrupt Link [LNK3] (IRQs 17) *0
ACPI: PCI Interrupt Link [LNK4] (IRQs 16 18 19) *0, disabled.
ACPI: PCI Interrupt Link [LNK5] (IRQs 16 18 19) *0
ACPI: PCI Interrupt Link [LSMB] (IRQs 20 21 22) *0
ACPI: PCI Interrupt Link [LUS0] (IRQs 20 21 22) *0
ACPI: PCI Interrupt Link [LUS1] (IRQs 20 21 22) *0
ACPI: PCI Interrupt Link [LUS2] (IRQs 20 21 22) *0
ACPI: PCI Interrupt Link [LMAC] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [LACI] (IRQs 20 21 22) *0
ACPI: PCI Interrupt Link [LMCI] (IRQs 20 21 22) *0
ACPI: PCI Interrupt Link [LPID] (IRQs 20 21 22) *0, disabled.
ACPI: PCI Interrupt Link [LTID] (IRQs 20 21 22) *0, disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
PM: Adding info for No Bus:pnp0
ACPI: bus type pnp registered
PM: Adding info for pnp:00:00
PM: Adding info for pnp:00:01
PM: Adding info for pnp:00:02
PM: Adding info for pnp:00:03
PM: Adding info for pnp:00:04
PM: Adding info for pnp:00:05
PM: Adding info for pnp:00:06
PM: Adding info for pnp:00:07
PM: Adding info for pnp:00:08
PM: Adding info for pnp:00:09
PM: Adding info for pnp:00:0a
PM: Adding info for pnp:00:0b
pnp: PnP ACPI: found 12 devices
ACPI: ACPI bus type pnp unregistered
Generic PHY: Registered new driver
SCSI subsystem initialized
libata version 2.21 loaded.
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
PCI: Cannot allocate resource region 0 of device 0000:00:00.0
agpgart: Detected AGP bridge 0
agpgart: Setting up Nforce3 AGP.
PM: Adding info for No Bus:agpgart
agpgart: AGP aperture is 128M @ 0xe8000000
pnp: 00:01: ioport range 0x8000-0x807f has been reserved
pnp: 00:01: ioport range 0x8080-0x80ff has been reserved
pnp: 00:01: ioport range 0x8400-0x847f has been reserved
pnp: 00:01: ioport range 0x8480-0x84ff has been reserved
pnp: 00:01: ioport range 0x8800-0x887f has been reserved
pnp: 00:01: ioport range 0x8880-0x88ff has been reserved
pnp: 00:01: ioport range 0x2040-0x207f has been reserved
Time: tsc clocksource has been installed.
pnp: 00:01: ioport range 0x2000-0x203f has been reserved
pnp: 00:02: iomem range 0xfff80000-0xffffffff could not be reserved
pnp: 00:02: iomem range 0xfec00000-0xfec00fff has been reserved
pnp: 00:02: iomem range 0xfee00000-0xfeefffff could not be reserved
pnp: 00:02: iomem range 0xfed00000-0xfed00fff has been reserved
PM: Adding info for No Bus:mem
PM: Adding info for No Bus:kmem
PM: Adding info for No Bus:null
PM: Adding info for No Bus:port
PM: Adding info for No Bus:zero
PM: Adding info for No Bus:full
PM: Adding info for No Bus:random
PM: Adding info for No Bus:urandom
PM: Adding info for No Bus:kmsg
PCI: Failed to allocate mem resource #10:4000000@e4000000 for 0000:02:04.0
PCI: Failed to allocate mem resource #10:4000000@e4000000 for 0000:02:04.1
PCI: Bus 3, cardbus bridge: 0000:02:04.0
  IO window: 00003000-000030ff
  IO window: 00003400-000034ff
  PREFETCH window: 50000000-53ffffff
PCI: Bus 7, cardbus bridge: 0000:02:04.1
  IO window: 00003800-000038ff
  IO window: 00003c00-00003cff
  PREFETCH window: 54000000-57ffffff
PCI: Bridge: 0000:00:0a.0
  IO window: 3000-7fff
  MEM window: e0100000-e17fffff
  PREFETCH window: 50000000-57ffffff
PCI: Bridge: 0000:00:0b.0
  IO window: disabled.
  MEM window: e2000000-e2ffffff
  PREFETCH window: f0000000-f80fffff
PCI: Setting latency timer of device 0000:00:0a.0 to 64
ACPI: PCI Interrupt Link [LNK1] enabled at IRQ 19
ACPI: PCI Interrupt 0000:02:04.0[A] -> Link [LNK1] -> GSI 19 (level, low) -> IRQ 19
ACPI: PCI Interrupt Link [LNK2] enabled at IRQ 18
ACPI: PCI Interrupt 0000:02:04.1[B] -> Link [LNK2] -> GSI 18 (level, low) -> IRQ 18
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 6, 262144 bytes)
TCP established hash table entries: 65536 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 9, 3670016 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
TCP reno registered
Simple Boot Flag at 0x37 set to 0x1
PM: Adding info for No Bus:mcelog
PM: Adding info for No Bus:msr0
PM: Adding info for No Bus:cpu0
PM: Adding info for No Bus:tty33
PM: Adding info for No Bus:tty34
PM: Adding info for No Bus:tty35
PM: Adding info for No Bus:tty36
PM: Adding info for No Bus:tty37
PM: Adding info for No Bus:tty38
PM: Adding info for No Bus:tty39
PM: Adding info for No Bus:tty40
PM: Adding info for No Bus:tty41
PM: Adding info for No Bus:tty42
PM: Adding info for No Bus:tty43
PM: Adding info for No Bus:tty44
PM: Adding info for No Bus:tty45
PM: Adding info for No Bus:tty46
PM: Adding info for No Bus:tty47
PM: Adding info for No Bus:tty48
PM: Adding info for No Bus:tty49
PM: Adding info for No Bus:tty50
PM: Adding info for No Bus:tty51
PM: Adding info for No Bus:tty52
PM: Adding info for No Bus:tty53
PM: Adding info for No Bus:tty54
PM: Adding info for No Bus:tty55
PM: Adding info for No Bus:tty56
PM: Adding info for No Bus:tty57
PM: Adding info for No Bus:tty58
PM: Adding info for No Bus:tty59
PM: Adding info for No Bus:tty60
PM: Adding info for No Bus:tty61
PM: Adding info for No Bus:tty62
PM: Adding info for No Bus:tty63
PM: Adding info for No Bus:rtc
Real Time Clock Driver v1.12ac
PM: Adding info for No Bus:hpet
Linux agpgart interface v0.102 (c) Dave Jones
Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using get_cycles().
loop: module loaded
Marvell 88E1101: Registered new driver
Marvell 88E1111: Registered new driver
Marvell 88E1145: Registered new driver
Davicom DM9161E: Registered new driver
Davicom DM9161A: Registered new driver
Davicom DM9131: Registered new driver
Cicada Cis8204: Registered new driver
Cicada Cis8201: Registered new driver
LXT970: Registered new driver
LXT971: Registered new driver
QS6612: Registered new driver
SMSC LAN83C185: Registered new driver
Vitesse VSC8244: Registered new driver
Broadcom BCM5411: Registered new driver
Broadcom BCM5421: Registered new driver
Broadcom BCM5461: Registered new driver
ICPlus IP175C: Registered new driver
PM: Adding info for No Bus:lo
8139too Fast Ethernet driver 0.9.28
ACPI: PCI Interrupt 0000:02:01.0[A] -> Link [LNK2] -> GSI 18 (level, low) -> IRQ 18
PM: Adding info for No Bus:eth0
eth0: RealTek RTL8139 at 0xffffc2000001a800, 00:0f:b0:07:dc:49, IRQ 18
eth0:  Identified 8139 chip type 'RTL-8101'
pata_amd 0000:00:08.0: version 0.3.8
PCI: Setting latency timer of device 0000:00:08.0 to 64
scsi0 : pata_amd
PM: Adding info for No Bus:host0
scsi1 : pata_amd
PM: Adding info for No Bus:host1
ata1: PATA max UDMA/133 cmd 0x00000000000101f0 ctl 0x00000000000103f6 bmdma 0x0000000000012080 irq 14
ata2: PATA max UDMA/133 cmd 0x0000000000010170 ctl 0x0000000000010376 bmdma 0x0000000000012088 irq 15
ata1.00: ata_hpa_resize: sectors = 195371568, hpa_sectors = 195371568
ata1.00: ATA-6: HTS721010G9AT00, MCZOA51A, max UDMA/100
ata1.00: 195371568 sectors, multi 16: LBA48 
ata1.00: ata_hpa_resize: sectors = 195371568, hpa_sectors = 195371568
ata1.00: configured for UDMA/100
ata2.00: ATAPI, max MWDMA2
ata2.00: configured for MWDMA2
PM: Adding info for No Bus:target0:0:0
scsi 0:0:0:0: Direct-Access     ATA      HTS721010G9AT00  MCZO PQ: 0 ANSI: 5
PM: Adding info for scsi:0:0:0:0
sd 0:0:0:0: [sda] 195371568 512-byte hardware sectors (100030 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 0:0:0:0: [sda] 195371568 512-byte hardware sectors (100030 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sda: sda1 sda2 sda3
sd 0:0:0:0: [sda] Attached SCSI disk
PM: Adding info for No Bus:target1:0:0
scsi 1:0:0:0: CD-ROM            HL-DT-ST DVD+RW GCA-4040N 1.19 PQ: 0 ANSI: 5
PM: Adding info for scsi:1:0:0:0
sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 1:0:0:0: Attached scsi CD-ROM sr0
Yenta: CardBus bridge found at 0000:02:04.0 [103c:006d]
PCI: Bus 3, cardbus bridge: 0000:02:04.0
  IO window: 00003000-000030ff
  IO window: 00003400-000034ff
  PREFETCH window: 50000000-53ffffff
  MEM window: e0400000-e07fffff
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:04.0, mfunc 0x01111d22, devctl 0x64
Yenta: ISA IRQ mask 0x0cf8, PCI irq 19
Socket status: 30000086
Yenta: Raising subordinate bus# of parent bus (#02) from #02 to #06
pcmcia: parent PCI bridge I/O window: 0x3000 - 0x7fff
pcmcia: parent PCI bridge Memory window: 0xe0100000 - 0xe17fffff
pcmcia: parent PCI bridge Memory window: 0x50000000 - 0x57ffffff
PM: Adding info for No Bus:pcmcia_socket0
Yenta: CardBus bridge found at 0000:02:04.1 [103c:006d]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:04.1, mfunc 0x01111d22, devctl 0x64
Yenta: ISA IRQ mask 0x0cf8, PCI irq 18
Socket status: 30000006
Yenta: Raising subordinate bus# of parent bus (#02) from #06 to #0a
pcmcia: parent PCI bridge I/O window: 0x3000 - 0x7fff
pcmcia: parent PCI bridge Memory window: 0xe0100000 - 0xe17fffff
pcmcia: parent PCI bridge Memory window: 0x50000000 - 0x57ffffff
PM: Adding info for No Bus:pcmcia_socket1
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
PM: Adding info for platform:i8042
serio: i8042 KBD port at 0x60,0x64 irq 1
PM: Adding info for serio:serio0
serio: i8042 AUX port at 0x60,0x64 irq 12
PM: Adding info for serio:serio1
PM: Adding info for No Bus:psaux
mice: PS/2 mouse device common for all mice
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
powernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3400+ processors (1 cpu cores) (version 2.00.00)
powernow-k8:    0 : fid 0xe (2200 MHz), vid 0x2
powernow-k8:    1 : fid 0xa (1800 MHz), vid 0xa
powernow-k8:    2 : fid 0x0 (800 MHz), vid 0x12
swsusp: Resume From Partition /dev/sda3
PM: Checking swsusp image.
input: AT Translated Set 2 keyboard as /class/input/input3
PM: Resume from disk failed.
Freeing unused kernel memory: 1100k freed
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
reiser4: sda2: found disk format 4.0.0.
PM: Removing info for No Bus:vcs1
PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
PM: Removing info for No Bus:vcs1
PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
PM: Removing info for No Bus:vcs1
PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
PM: Removing info for No Bus:vcs1
PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
PM: Removing info for No Bus:vcs1
PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
sd 0:0:0:0: Attached scsi generic sg0 type 0
sr 1:0:0:0: Attached scsi generic sg1 type 5
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
PCI: Enabling device 0000:00:02.0 (0004 -> 0006)
ACPI: PCI Interrupt Link [LUS0] enabled at IRQ 22
ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LUS0] -> GSI 22 (level, low) -> IRQ 22
PCI: Setting latency timer of device 0000:00:02.0 to 64
ohci_hcd 0000:00:02.0: OHCI Host Controller
ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:02.0: irq 22, io mem 0xe0000000
usb usb1: new device found, idVendor=0000, idProduct=0000
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: OHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.22-rc2-mm1 ohci_hcd
usb usb1: SerialNumber: 0000:00:02.0
PM: Adding info for usb:usb1
PM: Adding info for No Bus:usbdev1.1_ep00
usb usb1: configuration #1 chosen from 1 choice
PM: Adding info for usb:1-0:1.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
PM: Adding info for No Bus:timer
PM: Adding info for No Bus:usbdev1.1_ep81
PCI: Enabling device 0000:00:02.1 (0004 -> 0006)
ACPI: PCI Interrupt Link [LUS1] enabled at IRQ 21
ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [LUS1] -> GSI 21 (level, low) -> IRQ 21
PCI: Setting latency timer of device 0000:00:02.1 to 64
ohci_hcd 0000:00:02.1: OHCI Host Controller
ohci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:02.1: irq 21, io mem 0xe0001000
usb usb2: new device found, idVendor=0000, idProduct=0000
usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: OHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.22-rc2-mm1 ohci_hcd
usb usb2: SerialNumber: 0000:00:02.1
PM: Adding info for usb:usb2
PM: Adding info for No Bus:usbdev2.1_ep00
usb usb2: configuration #1 chosen from 1 choice
PM: Adding info for usb:2-0:1.0
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
PM: Adding info for No Bus:usbdev2.1_ep81
ACPI: PCI Interrupt Link [LUS2] enabled at IRQ 20
PM: Adding info for usb:3-0:1.0
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 6 ports detected
PM: Adding info for No Bus:usbdev3.1_ep81
ACPI: PCI Interrupt Link [LACI] enabled at IRQ 22
ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [LACI] -> GSI 22 (level, low) -> IRQ 22
PCI: Setting latency timer of device 0000:00:06.0 to 64
input: PS/2 Mouse as /class/input/input4
input: AlpsPS/2 ALPS GlidePoint as /class/input/input5
AC'97 0 analog subsections not ready
usb 3-2: new high speed USB device using ehci_hcd and address 2
usb 3-2: new device found, idVendor=050d, idProduct=0237
usb 3-2: new device strings: Mfr=0, Product=0, SerialNumber=0
PM: Adding info for usb:3-2
PM: Adding info for No Bus:usbdev3.2_ep00
usb 3-2: configuration #1 chosen from 1 choice
PM: Adding info for usb:3-2:1.0
hub 3-2:1.0: USB hub found
hub 3-2:1.0: 7 ports detected
PM: Adding info for No Bus:usbdev3.2_ep81
intel8x0_measure_ac97_clock: measured 50207 usecs
intel8x0: clocking to 47409
PM: Adding info for No Bus:card0
PM: Adding info for No Bus:pcmC0D2p
PM: Adding info for No Bus:pcmC0D1c
PM: Adding info for No Bus:pcmC0D0p
PM: Adding info for No Bus:pcmC0D0c
PM: Adding info for ac97:0-0:AD1981B
PM: Adding info for No Bus:controlC0
usb 3-2.1: new low speed USB device using ehci_hcd and address 4
usb 3-2.1: new device found, idVendor=045e, idProduct=0059
usb 3-2.1: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-2.1: Product: Microsoft Wireless Intellimouse Explorer� 1.0A
usb 3-2.1: Manufacturer: Microsoft
PM: Adding info for usb:3-2.1
PM: Adding info for No Bus:usbdev3.4_ep00
usb 3-2.1: configuration #1 chosen from 1 choice
PM: Adding info for usb:3-2.1:1.0
PM: Adding info for No Bus:usbdev3.4_ep81
usb 3-2.2: new full speed USB device using ehci_hcd and address 5
usb 3-2.2: new device found, idVendor=0451, idProduct=2036
usb 3-2.2: new device strings: Mfr=0, Product=1, SerialNumber=0
usb 3-2.2: Product: General Purpose USB Hub
PM: Adding info for usb:3-2.2
PM: Adding info for No Bus:usbdev3.5_ep00
usb 3-2.2: configuration #1 chosen from 1 choice
PM: Adding info for usb:3-2.2:1.0
hub 3-2.2:1.0: USB hub found
hub 3-2.2:1.0: 2 ports detected
PM: Adding info for No Bus:usbdev3.5_ep81
usb 3-2.3: new high speed USB device using ehci_hcd and address 6
usb 3-2.3: new device found, idVendor=0781, idProduct=b4b5
usb 3-2.3: new device strings: Mfr=3, Product=4, SerialNumber=5
usb 3-2.3: Product: ImageMate 14 in 1 Reader/Writer 
usb 3-2.3: Manufacturer: SanDisk 
usb 3-2.3: SerialNumber: 0304237855
PM: Adding info for usb:3-2.3
PM: Adding info for No Bus:usbdev3.6_ep00
usb 3-2.3: configuration #1 chosen from 1 choice
PM: Adding info for usb:3-2.3:1.0
PM: Adding info for No Bus:usbdev3.6_ep81
PM: Adding info for No Bus:usbdev3.6_ep02
usbcore: registered new interface driver hiddev
Initializing USB Mass Storage driver...
usb 2-2: new full speed USB device using ohci_hcd and address 2
usb 2-2: new device found, idVendor=049f, idProduct=0086
usb 2-2: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-2: Product: Bluetooth by hp
usb 2-2: Manufacturer: ACTIONTEC
PM: Adding info for usb:2-2
PM: Adding info for No Bus:usbdev2.2_ep00
PM: Adding info for No Bus:usbdev2.2_ep83
PM: Adding info for bluetooth:hci0
input: Logitech USB Receiver as /class/input/input8
PM: Adding info for No Bus:hiddev0
PM: Adding info for No Bus:hidraw2
input,hiddev0,hidraw2: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:02.2-2.2.1
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
usbcore: registered new interface driver hci_usb
NET: Registered protocol family 10
ReiserFS: sda1: found reiserfs format "3.6" with standard journal
ReiserFS: sda1: using ordered data mode
ReiserFS: sda1: journal params: device sda1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: sda1: checking transaction log (sda1)
ReiserFS: sda1: Using r5 hash to sort names
Adding 2843496k swap on /dev/disk/by-uuid/fd35277a-8dc7-4afe-8257-fda61b757344.  Priority:100 extents:1 across:2843496k
PM: Adding info for No Bus:target2:0:0
scsi 2:0:0:0: Direct-Access     Generic  STORAGE DEVICE   9339 PQ: 0 ANSI: 0
PM: Adding info for scsi:2:0:0:0
sd 2:0:0:0: [sdb] 8018640 512-byte hardware sectors (4106 MB)
sd 2:0:0:0: [sdb] Write Protect is off
sd 2:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 2:0:0:0: [sdb] Assuming drive cache: write through
sd 2:0:0:0: [sdb] 8018640 512-byte hardware sectors (4106 MB)
sd 2:0:0:0: [sdb] Write Protect is off
sd 2:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 2:0:0:0: [sdb] Assuming drive cache: write through
 sdb: sdb1
sd 2:0:0:0: [sdb] Attached SCSI removable disk
sd 2:0:0:0: Attached scsi generic sg2 type 0
PM: Adding info for No Bus:target2:0:1
PM: Removing info for No Bus:target2:0:1
PM: Adding info for No Bus:target2:0:2
PM: Removing info for No Bus:target2:0:2
PM: Adding info for No Bus:target2:0:3
PM: Removing info for No Bus:target2:0:3
PM: Adding info for No Bus:target2:0:4
PM: Removing info for No Bus:target2:0:4
PM: Adding info for No Bus:target2:0:5
PM: Removing info for No Bus:target2:0:5
PM: Adding info for No Bus:target2:0:6
PM: Removing info for No Bus:target2:0:6
PM: Adding info for No Bus:target2:0:7
PM: Removing info for No Bus:target2:0:7
usb-storage: device scan complete
PM: Removing info for No Bus:vcs1
PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
PM: Adding info for No Bus:vcs2
PM: Adding info for No Bus:vcsa2
PM: Removing info for No Bus:vcs2
PM: Removing info for No Bus:vcsa2
PM: Adding info for No Bus:vcs3
PM: Adding info for No Bus:vcsa3
PM: Removing info for No Bus:vcs3
PM: Removing info for No Bus:vcsa3
PM: Adding info for No Bus:vcs4
PM: Adding info for No Bus:vcsa4
PM: Removing info for No Bus:vcs4
PM: Removing info for No Bus:vcsa4
PM: Adding info for No Bus:vcs5
PM: Adding info for No Bus:vcsa5
PM: Removing info for No Bus:vcs5
PM: Removing info for No Bus:vcsa5
PM: Adding info for No Bus:vcs6
PM: Adding info for No Bus:vcsa6
PM: Removing info for No Bus:vcs6
PM: Removing info for No Bus:vcsa6
PM: Adding info for No Bus:vcs7
PM: Adding info for No Bus:vcsa7
PM: Removing info for No Bus:vcs7
PM: Removing info for No Bus:vcsa7
PM: Adding info for No Bus:vcs8
PM: Adding info for No Bus:vcsa8
PM: Removing info for No Bus:vcs8
PM: Removing info for No Bus:vcsa8
PM: Adding info for No Bus:vcs9
PM: Adding info for No Bus:vcsa9
PM: Removing info for No Bus:vcs9
PM: Removing info for No Bus:vcsa9
PM: Adding info for No Bus:vcs10
PM: Adding info for No Bus:vcsa10
PM: Removing info for No Bus:vcs10
PM: Removing info for No Bus:vcsa10
PM: Adding info for No Bus:vcs11
PM: Adding info for No Bus:vcsa11
PM: Removing info for No Bus:vcs11
PM: Removing info for No Bus:vcsa11
PM: Adding info for No Bus:vcs2
PM: Adding info for No Bus:vcsa2
PM: Removing info for No Bus:vcs2
PM: Removing info for No Bus:vcsa2
PM: Adding info for No Bus:vcs3
PM: Adding info for No Bus:vcsa3
PM: Removing info for No Bus:vcs3
PM: Removing info for No Bus:vcsa3
PM: Adding info for No Bus:vcs4
PM: Adding info for No Bus:vcsa4
PM: Removing info for No Bus:vcs4
PM: Removing info for No Bus:vcsa4
PM: Adding info for No Bus:vcs5
PM: Adding info for No Bus:vcsa5
PM: Removing info for No Bus:vcs5
PM: Removing info for No Bus:vcsa5
PM: Adding info for No Bus:vcs6
PM: Adding info for No Bus:vcsa6
PM: Removing info for No Bus:vcs6
PM: Removing info for No Bus:vcsa6
PM: Adding info for No Bus:vcs7
PM: Adding info for No Bus:vcsa7
PM: Removing info for No Bus:vcs7
PM: Removing info for No Bus:vcsa7
PM: Adding info for No Bus:vcs8
PM: Adding info for No Bus:vcsa8
PM: Removing info for No Bus:vcs8
PM: Removing info for No Bus:vcsa8
PM: Adding info for No Bus:vcs9
PM: Adding info for No Bus:vcsa9
PM: Removing info for No Bus:vcs9
PM: Removing info for No Bus:vcsa9
PM: Adding info for No Bus:vcs10
PM: Adding info for No Bus:vcsa10
PM: Removing info for No Bus:vcs10
PM: Removing info for No Bus:vcsa10
PM: Adding info for No Bus:vcs11
PM: Adding info for No Bus:vcsa11
PM: Removing info for No Bus:vcs11
PM: Removing info for No Bus:vcsa11
Bluetooth: L2CAP ver 2.8
Bluetooth: L2CAP socket layer initialized
ata1.00: ata_hpa_resize: sectors = 195371568, hpa_sectors = 195371568
ata1.00: ata_hpa_resize: sectors = 195371568, hpa_sectors = 195371568
ata1.00: configured for UDMA/100
ata1: EH complete
sd 0:0:0:0: [sda] 195371568 512-byte hardware sectors (100030 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
BUG: at drivers/hid/hid-core.c:778 implement()

Call Trace:
 [<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
 [<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
 [<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
 [<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
 [<ffffffff8053523e>] do_page_fault+0x42e/0x880
 [<ffffffff802b486d>] do_ioctl+0x7d/0xa0
 [<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
 [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
 [<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
 [<ffffffff8020a16e>] system_call+0x7e/0x83

BUG: at drivers/hid/hid-core.c:778 implement()

Call Trace:
 [<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
 [<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
 [<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
 [<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
 [<ffffffff8053523e>] do_page_fault+0x42e/0x880
 [<ffffffff802b486d>] do_ioctl+0x7d/0xa0
 [<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
 [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
 [<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
 [<ffffffff8020a16e>] system_call+0x7e/0x83

BUG: at drivers/hid/hid-core.c:778 implement()

Call Trace:
 [<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
 [<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
 [<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
 [<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
 [<ffffffff8053523e>] do_page_fault+0x42e/0x880
 [<ffffffff802b486d>] do_ioctl+0x7d/0xa0
 [<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
 [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
 [<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
 [<ffffffff8020a16e>] system_call+0x7e/0x83

BUG: at drivers/hid/hid-core.c:778 implement()

Call Trace:
 [<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
 [<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
 [<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
 [<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
 [<ffffffff8053523e>] do_page_fault+0x42e/0x880
 [<ffffffff802b486d>] do_ioctl+0x7d/0xa0
 [<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
 [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
 [<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
 [<ffffffff8020a16e>] system_call+0x7e/0x83

BUG: at drivers/hid/hid-core.c:778 implement()

Call Trace:
 [<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
 [<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
 [<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
 [<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
 [<ffffffff8053523e>] do_page_fault+0x42e/0x880
 [<ffffffff802b486d>] do_ioctl+0x7d/0xa0
 [<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
 [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
 [<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
 [<ffffffff8020a16e>] system_call+0x7e/0x83

BUG: at drivers/hid/hid-core.c:778 implement()

Call Trace:
 [<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
 [<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
 [<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
 [<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
 [<ffffffff8053523e>] do_page_fault+0x42e/0x880
 [<ffffffff802b486d>] do_ioctl+0x7d/0xa0
 [<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
 [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
 [<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
 [<ffffffff8020a16e>] system_call+0x7e/0x83

BUG: at drivers/hid/hid-core.c:778 implement()

Call Trace:
 [<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
 [<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
 [<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
 [<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
 [<ffffffff8053523e>] do_page_fault+0x42e/0x880
 [<ffffffff802b486d>] do_ioctl+0x7d/0xa0
 [<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
 [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
 [<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
 [<ffffffff8020a16e>] system_call+0x7e/0x83

BUG: at drivers/hid/hid-core.c:778 implement()

Call Trace:
 [<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
 [<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
 [<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
 [<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
 [<ffffffff8053523e>] do_page_fault+0x42e/0x880
 [<ffffffff802b486d>] do_ioctl+0x7d/0xa0
 [<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
 [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
 [<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
 [<ffffffff8020a16e>] system_call+0x7e/0x83

eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
PM: Removing info for No Bus:vcs1
PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
PM: Removing info for No Bus:vcs1
PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
PM: Removing info for No Bus:vcs1
PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.22-rc2-mm1 #1
-------------------------------------------------------
rhythmbox/6976 is trying to acquire lock:
 (&mm->mmap_sem){----}, at: [<ffffffff80534f8c>] do_page_fault+0x17c/0x880

but task is already holding lock:
 (&data->latch){----}, at: [<ffffffff8034a701>] get_exclusive_access+0x11/0x20

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (&data->latch){----}:
       [<ffffffff8025b8bc>] __lock_acquire+0xbfc/0x1030
       [<ffffffff8025bd3b>] lock_acquire+0x4b/0x70
       [<ffffffff8034a701>] get_exclusive_access+0x11/0x20
       [<ffffffff80254c5f>] down_write+0x2f/0x40
       [<ffffffff8034a701>] get_exclusive_access+0x11/0x20
       [<ffffffff803498c8>] mmap_unix_file+0x58/0x140
       [<ffffffff80292125>] mmap_region+0x195/0x540
       [<ffffffff80292b2e>] do_mmap_pgoff+0x2fe/0x390
       [<ffffffff80532b5f>] _spin_unlock_irq+0x2f/0x50
       [<ffffffff802e2bca>] elf_map+0xfa/0x100
       [<ffffffff802e5574>] load_elf_binary+0x1c14/0x2110
       [<ffffffff80258a25>] add_lock_to_list+0x65/0xe0
       [<ffffffff8025b98e>] __lock_acquire+0xcce/0x1030
       [<ffffffff802820fe>] get_page_from_freelist+0x33e/0x520
       [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
       [<ffffffff80281fd5>] get_page_from_freelist+0x215/0x520
       [<ffffffff8022f3d0>] load_aout_binary+0x0/0x980
       [<ffffffff802e3960>] load_elf_binary+0x0/0x2110
       [<ffffffff802ab3d6>] search_binary_handler+0xf6/0x290
       [<ffffffff802ad05f>] do_execve+0x18f/0x250
       [<ffffffff80208ab4>] sys_execve+0x44/0xb0
       [<ffffffff8020a567>] stub_execve+0x67/0xb0
       [<ffffffffffffffff>] 0xffffffffffffffff

-> #0 (&mm->mmap_sem){----}:
       [<ffffffff80259b68>] print_circular_bug_header+0xe8/0xf0
       [<ffffffff8025b6f2>] __lock_acquire+0xa32/0x1030
       [<ffffffff80532b15>] _spin_unlock_irqrestore+0x65/0x80
       [<ffffffff8025bd3b>] lock_acquire+0x4b/0x70
       [<ffffffff80534f8c>] do_page_fault+0x17c/0x880
       [<ffffffff80254b82>] down_read+0x32/0x40
       [<ffffffff80534f8c>] do_page_fault+0x17c/0x880
       [<ffffffff80532b54>] _spin_unlock_irq+0x24/0x50
       [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
       [<ffffffff80532b15>] _spin_unlock_irqrestore+0x65/0x80
       [<ffffffff8053318d>] error_exit+0x0/0x96
       [<ffffffff8027c464>] file_read_actor+0x44/0x1a0
       [<ffffffff8027c74f>] __lock_page+0x5f/0x70
       [<ffffffff8027ced3>] do_generic_mapping_read+0x233/0x560
       [<ffffffff8027c420>] file_read_actor+0x0/0x1a0
       [<ffffffff8027f136>] generic_file_aio_read+0x106/0x1a0
       [<ffffffff802a6c09>] do_sync_read+0xd9/0x120
       [<ffffffff80258495>] lockdep_init_map+0x55/0x4e0
       [<ffffffff802515e0>] autoremove_wake_function+0x0/0x30
       [<ffffffff805329e9>] _spin_unlock+0x29/0x50
       [<ffffffff8032caec>] reiser4_grab+0x8c/0xd0
       [<ffffffff80348af4>] read_unix_file+0x454/0x490
       [<ffffffff802a7585>] vfs_read+0xc5/0x180
       [<ffffffff802a7a83>] sys_read+0x53/0x90
       [<ffffffff8020a16e>] system_call+0x7e/0x83
       [<ffffffffffffffff>] 0xffffffffffffffff

other info that might help us debug this:
usb 3-2: new high speed USB device using ehci_hcd and address 8
usb 3-2: new device found, idVendor=050d, idProduct=0237
usb 3-2: new device strings: Mfr=0, Product=0, SerialNumber=0
PM: Adding info for usb:3-2
PM: Adding info for No Bus:usbdev3.8_ep00
usb 3-2: configuration #1 chosen from 1 choice
PM: Adding info for usb:3-2:1.0
hub 3-2:1.0: USB hub found
hub 3-2:1.0: 7 ports detected
PM: Adding info for No Bus:usbdev3.8_ep81
usb 3-2.1: new low speed USB device using ehci_hcd and address 9
usb 3-2.1: new device found, idVendor=045e, idProduct=0059
usb 3-2.1: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-2.1: Product: Microsoft Wireless Intellimouse Explorer� 1.0A
usb 3-2.1: Manufacturer: Microsoft
PM: Adding info for usb:3-2.1
PM: Adding info for No Bus:usbdev3.9_ep00
usb 3-2.1: configuration #1 chosen from 1 choice
PM: Adding info for usb:3-2.1:1.0
input: Microsoft Microsoft Wireless Intellimouse Explorer� 1.0A as /class/input/input9
PM: Adding info for No Bus:hidraw0
input,hidraw0: USB HID v1.10 Mouse [Microsoft Microsoft Wireless Intellimouse Explorer� 1.0A] on usb-0000:00:02.2-2.1
PM: Adding info for No Bus:usbdev3.9_ep81
usb 3-2.2: new full speed USB device using ehci_hcd and address 10
usb 3-2.2: new device found, idVendor=0451, idProduct=2036
usb 3-2.2: new device strings: Mfr=0, Product=1, SerialNumber=0
usb 3-2.2: Product: General Purpose USB Hub
PM: Adding info for usb:3-2.2
PM: Adding info for No Bus:usbdev3.10_ep00
usb 3-2.2: configuration #1 chosen from 1 choice
PM: Adding info for usb:3-2.2:1.0
hub 3-2.2:1.0: USB hub found
hub 3-2.2:1.0: 2 ports detected
PM: Adding info for No Bus:usbdev3.10_ep81
usb 3-2.3: new high speed USB device using ehci_hcd and address 11
usb 3-2.3: new device found, idVendor=0781, idProduct=b4b5
usb 3-2.3: new device strings: Mfr=3, Product=4, SerialNumber=5
usb 3-2.3: Product: ImageMate 14 in 1 Reader/Writer 
usb 3-2.3: Manufacturer: SanDisk 
usb 3-2.3: SerialNumber: 0304237855
PM: Adding info for usb:3-2.3
PM: Adding info for No Bus:usbdev3.11_ep00
usb 3-2.3: configuration #1 chosen from 1 choice
PM: Adding info for usb:3-2.3:1.0
scsi3 : SCSI emulation for USB Mass Storage devices
PM: Adding info for No Bus:host3
PM: Adding info for No Bus:usbdev3.11_ep81
PM: Adding info for No Bus:usbdev3.11_ep02
usb-storage: device found at 11
usb-storage: waiting for device to settle before scanning
usb 3-2.2.1: new low speed USB device using ehci_hcd and address 12
usb 3-2.2.1: new device found, idVendor=046d, idProduct=c704
usb 3-2.2.1: new device strings: Mfr=1, Product=2, SerialNumber=3
usb 3-2.2.1: Product: USB Receiver
usb 3-2.2.1: Manufacturer: Logitech
usb 3-2.2.1: SerialNumber: 04E5EF
PM: Adding info for usb:3-2.2.1
PM: Adding info for No Bus:usbdev3.12_ep00
usb 3-2.2.1: configuration #1 chosen from 1 choice
PM: Adding info for usb:3-2.2.1:1.0
input: Logitech USB Receiver as /class/input/input10
PM: Adding info for No Bus:hidraw1
input,hidraw1: USB HID v1.10 Keyboard [Logitech USB Receiver] on usb-0000:00:02.2-2.2.1
PM: Adding info for No Bus:usbdev3.12_ep81
PM: Adding info for usb:3-2.2.1:1.1
input: Logitech USB Receiver as /class/input/input11
PM: Adding info for No Bus:hiddev0
PM: Adding info for No Bus:hidraw2
input,hiddev0,hidraw2: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:02.2-2.2.1
PM: Adding info for No Bus:usbdev3.12_ep82
PM: Adding info for No Bus:target3:0:0
scsi 3:0:0:0: Direct-Access     Generic  STORAGE DEVICE   9339 PQ: 0 ANSI: 0
PM: Adding info for scsi:3:0:0:0
sd 3:0:0:0: [sdb] 8018640 512-byte hardware sectors (4106 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 3:0:0:0: [sdb] Assuming drive cache: write through
sd 3:0:0:0: [sdb] 8018640 512-byte hardware sectors (4106 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 3:0:0:0: [sdb] Assuming drive cache: write through
 sdb: sdb1
sd 3:0:0:0: [sdb] Attached SCSI removable disk
sd 3:0:0:0: Attached scsi generic sg2 type 0
PM: Adding info for No Bus:target3:0:1
PM: Removing info for No Bus:target3:0:1
PM: Adding info for No Bus:target3:0:2
PM: Removing info for No Bus:target3:0:2
PM: Adding info for No Bus:target3:0:3
PM: Removing info for No Bus:target3:0:3
PM: Adding info for No Bus:target3:0:4
PM: Removing info for No Bus:target3:0:4
PM: Adding info for No Bus:target3:0:5
PM: Removing info for No Bus:target3:0:5
PM: Adding info for No Bus:target3:0:6
PM: Removing info for No Bus:target3:0:6
PM: Adding info for No Bus:target3:0:7
PM: Removing info for No Bus:target3:0:7
usb-storage: device scan complete

-- 
Zan Lynx <zlynx@acm.org>

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 23:17 ` 2.6.22-rc2-mm1 Zan Lynx
@ 2007-05-23 23:27   ` Andrew Morton
  2007-05-23 23:40   ` 2.6.22-rc2-mm1 Jiri Kosina
  2007-05-23 23:50   ` 2.6.22-rc2-mm1 Andrew Morton
  2 siblings, 0 replies; 104+ messages in thread
From: Andrew Morton @ 2007-05-23 23:27 UTC (permalink / raw)
  To: Zan Lynx; +Cc: linux-kernel, Jiri Kosina, Dmitry Torokhov, linux-usb-devel

On Wed, 23 May 2007 17:17:09 -0600
Zan Lynx <zlynx@acm.org> wrote:

> On Wed, 2007-05-23 at 00:42 -0700, Andrew Morton wrote: 
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> > 
> > - A new readahead patch series.  This needs serious review and performance
> >   testing please.
> > 
> > - Added Ingo's CFS CPU scheduler
> > 
> > - Xen dom-U support is now in the x86 tree.
> 
> I am having weird problems with USB keyboard and mouse.  The USB
> keyboard will drop keystrokes, but not all of them.  The mouse seems to
> move fine but drops clicks.  Could be that an occasional missed move
> event isn't noticeable.  Nothing is logged when a key is dropped.
> 
> However, I did have some of this when it was first booting:
> 
> BUG: at drivers/hid/hid-core.c:778 implement()
> 
> Call Trace:
> [<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
> [<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
> [<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
> [<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
> [<ffffffff8053523e>] do_page_fault+0x42e/0x880
> [<ffffffff802b486d>] do_ioctl+0x7d/0xa0
> [<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
> [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
> [<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
> [<ffffffff8020a16e>] system_call+0x7e/0x83
> 
> Here's the entire dmesg:
>
> [ snippage ]
>

Thanks.  Let's add some cc's.


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

* Re: 2.6.22-rc2-mm1
  2007-05-23 22:37           ` 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-23 23:36             ` Christoph Lameter
  2007-05-24  1:21               ` 2.6.22-rc2-mm1 Randy Dunlap
  0 siblings, 1 reply; 104+ messages in thread
From: Christoph Lameter @ 2007-05-23 23:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Michal Piotrowski, linux-kernel

On Wed, 23 May 2007, Andrew Morton wrote:

> A few words in slub.txt, perhaps?



SLUB: More documentation

Update documentation to describe how to read a SLUB error report.
Add slub parameters to Documentation/kernel-parameters.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

---
 Documentation/kernel-parameters.txt |   37 +++++++++-
 Documentation/vm/slub.txt           |  133 +++++++++++++++++++++++++++++++++---
 2 files changed, 157 insertions(+), 13 deletions(-)

Index: slub/Documentation/kernel-parameters.txt
===================================================================
--- slub.orig/Documentation/kernel-parameters.txt	2007-05-23 15:41:58.000000000 -0700
+++ slub/Documentation/kernel-parameters.txt	2007-05-23 15:57:07.000000000 -0700
@@ -1121,9 +1121,9 @@ and is between 256 and 4096 characters. 
 			when set.
 			Format: <int>
 
-	noaliencache	[MM, NUMA] Disables the allcoation of alien caches in
-			the slab allocator.  Saves per-node memory, but will
-			impact performance on real NUMA hardware.
+	noaliencache	[MM, NUMA, SLAB] Disables the allocation of alien
+			caches in the slab allocator.  Saves per-node memory,
+			but will impact performance.
 
 	noalign		[KNL,ARM]
 
@@ -1610,6 +1610,37 @@ and is between 256 and 4096 characters. 
 
 	slram=		[HW,MTD]
 
+	slub_debug	[MM, SLUB]
+			Enabling slub_debug will allow to determine the culprit
+			if slab objects become corrupted. Enabling slub_debug
+			creates guard zones around objects and poisons objects
+			when not in use. Also tracks the last alloc / free.
+			For more information see Documentation/vm/slub.txt.
+
+	slub_max_order= [MM, SLUB]
+			Determines the maximum allowed order for slabs. Setting
+			this too high may cause fragmentation.
+			For more information see Documentation/vm/slub.txt.
+
+	slub_min_objects=	[M, SLUB]
+			The minimum objects per slab. SLUB will increase the
+			slab order up to slub_max_order to generate a
+			sufficiently big slab to satisfy the number of objects.
+			The higher the number of objects the smaller the overhead
+			of tracking slabs.
+			For more information see Documentation/vm/slub.txt.
+
+	slub_min_order=	[MM, SLUB]
+			Determines the mininum page order for slabs. Must be
+			lower than slub_max_order
+			For more information see Documentation/vm/slub.txt.
+
+	slub_nomerge	[MM, SLUB]
+			Disable merging of slabs of similar size. May be
+			necessary if there is some reason to distinguish
+			allocs to different slabs.
+			For more information see Documentation/vm/slub.txt.
+
 	smart2=		[HW]
 			Format: <io1>[,<io2>[,...,<io8>]]
 
Index: slub/Documentation/vm/slub.txt
===================================================================
--- slub.orig/Documentation/vm/slub.txt	2007-05-23 15:59:05.000000000 -0700
+++ slub/Documentation/vm/slub.txt	2007-05-23 16:34:20.000000000 -0700
@@ -1,13 +1,9 @@
 Short users guide for SLUB
 --------------------------
 
-First of all slub should transparently replace SLAB. If you enable
-SLUB then everything should work the same (Note the word "should".
-There is likely not much value in that word at this point).
-
 The basic philosophy of SLUB is very different from SLAB. SLAB
 requires rebuilding the kernel to activate debug options for all
-SLABS. SLUB always includes full debugging but its off by default.
+slab caches. SLUB always includes full debugging but its off by default.
 SLUB can enable debugging only for selected slabs in order to avoid
 an impact on overall system performance which may make a bug more
 difficult to find.
@@ -76,13 +72,28 @@ of objects.
 Careful with tracing: It may spew out lots of information and never stop if
 used on the wrong slab.
 
-SLAB Merging
+Slab merging
 ------------
 
-If no debugging is specified then SLUB may merge similar slabs together
+If no debug options are specified then SLUB may merge similar slabs together
 in order to reduce overhead and increase cache hotness of objects.
 slabinfo -a displays which slabs were merged together.
 
+Slab validation
+---------------
+
+SLUB can validate all object if the kernel was booted with slub_debug. In
+order to do so you must have the slabinfo tool. Then you can do
+
+slabinfo -v
+
+which will test all objects. Output will be generated to the syslog.
+
+This also works in a more limited way if boot was without slab debug.
+In that case slabinfo -v will simply tests all reachable objects. Usually
+these are in the cpu slabs and the partial slabs. Full slabs are not
+tracked by SLUB in a non debug situation.
+
 Getting more performance
 ------------------------
 
@@ -91,9 +102,9 @@ list_lock once in a while to deal with p
 governed by the order of the allocation for each slab. The allocations
 can be influenced by kernel parameters:
 
-slub_min_objects=x		(default 8)
+slub_min_objects=x		(default 4)
 slub_min_order=x		(default 0)
-slub_max_order=x		(default 4)
+slub_max_order=x		(default 1)
 
 slub_min_objects allows to specify how many objects must at least fit
 into one slab in order for the allocation order to be acceptable.
@@ -109,5 +120,107 @@ longer be checked. This is useful to avo
 super large order pages to fit slub_min_objects of a slab cache with
 large object sizes into one high order page.
 
+SLUB Debug output
+-----------------
+
+Here is a sample of slub debug output:
+
+*** SLUB kmalloc-8: Redzone Active@0xc90f6d20 slab 0xc528c530 offset=3360 flags=0x400000c3 inuse=61 freelist=0xc90f6d58
+  Bytes b4 0xc90f6d10:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
+    Object 0xc90f6d20:  31 30 31 39 2e 30 30 35                         1019.005
+   Redzone 0xc90f6d28:  00 cc cc cc                                     .
+FreePointer 0xc90f6d2c -> 0xc90f6d58
+Last alloc: get_modalias+0x61/0xf5 jiffies_ago=53 cpu=1 pid=554
+Filler 0xc90f6d50:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ
+  [<c010523d>] dump_trace+0x63/0x1eb
+  [<c01053df>] show_trace_log_lvl+0x1a/0x2f
+  [<c010601d>] show_trace+0x12/0x14
+  [<c0106035>] dump_stack+0x16/0x18
+  [<c017e0fa>] object_err+0x143/0x14b
+  [<c017e2cc>] check_object+0x66/0x234
+  [<c017eb43>] __slab_free+0x239/0x384
+  [<c017f446>] kfree+0xa6/0xc6
+  [<c02e2335>] get_modalias+0xb9/0xf5
+  [<c02e23b7>] dmi_dev_uevent+0x27/0x3c
+  [<c027866a>] dev_uevent+0x1ad/0x1da
+  [<c0205024>] kobject_uevent_env+0x20a/0x45b
+  [<c020527f>] kobject_uevent+0xa/0xf
+  [<c02779f1>] store_uevent+0x4f/0x58
+  [<c027758e>] dev_attr_store+0x29/0x2f
+  [<c01bec4f>] sysfs_write_file+0x16e/0x19c
+  [<c0183ba7>] vfs_write+0xd1/0x15a
+  [<c01841d7>] sys_write+0x3d/0x72
+  [<c0104112>] sysenter_past_esp+0x5f/0x99
+  [<b7f7b410>] 0xb7f7b410
+  =======================
+@@@ SLUB kmalloc-8: Restoring redzone (0xcc) from 0xc90f6d28-0xc90f6d2b
+
+
+
+If SLUB encounters a corrupted object then it will perform the following
+actions
+
+1. Isolation and report of the issue
+
+This will be a message in the system log starting with
+
+*** SLUB <slab cache affected>: <What went wrong>@<object address>
+offset=<offset of object into slab> flags=<slabflags>
+inuse=<objects in use in this slab> freelist=<first free object in slab>
+
+2. Report on how the problem was dealt with in order to ensure the continued
+operation of the system.
+
+These are messages in the system log beginning with
+
+@@@ SLUB <slab cache affected>: <corrective action taken>
+
+
+In the above sample SLUB found that the Redzone of an active object has
+been overwritten. Here a string of 8 characters was written into a slab that
+has the length of 8 characters. However, a 8 character string needs a
+terminating 0. That zero has overwritten the first byte of the Redzone field.
+After reporting the details of the issue encountered the @@@ SLUB message
+tell us that SLUB has restored the redzone to its proper value and then
+system operations continue.
+
+Various types of lines can follow the @@@ SLUB line:
+
+Bytes b4 <address> : <bytes>
+	Show a few bytes before the object where the problem was detected.
+	Can be useful if the corruption does not stop with the start of the
+	object.
+
+Object <address> : <bytes>
+	The bytes of the object. If the object is inactive then the bytes
+	typically contain poisoning values. Any non poison value shows a
+	corruption by a write after free.
+
+Redzone <address> : <bytes>
+	The redzone following the object. The redzone is used to detect
+	writes after the object. All bytes should always have the same
+	value. If there is any deviation then it is due to a write after
+	the object boundary.
+
+Freepointer
+	The pointer to the next free object in the slab. May become
+	corrupted if overwriting continues after the red zone.
+
+Last alloc:
+Last free:
+	Shows the address from which the object was allocated/freed last.
+	We note the pid, the time and the cpu that did so. This is usually
+	the most useful information to figure out where things went wrong.
+	Here get_modalias did an kmalloc(8) instead of a kmalloc(9).
+
+Filler <address> : <bytes>
+	Unused data to fill up the space in order to get the next object
+	properly aligned. In the debug case we make sure that there are
+	at least 4 bytes of filler. This allow for the detection of writes
+	before the object.
+
+Following the filler will be a stackdump. That stackdump describes the
+location where the error was detected. The cause of the corruption is more
+likely to be found by looking at the information about the last alloc / free.
 
-Christoph Lameter, <clameter@sgi.com>, April 10, 2007
+Christoph Lameter, <clameter@sgi.com>, May 23, 2007
 

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 23:17 ` 2.6.22-rc2-mm1 Zan Lynx
  2007-05-23 23:27   ` 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-23 23:40   ` Jiri Kosina
  2007-05-24  3:28     ` 2.6.22-rc2-mm1 Dmitry Torokhov
       [not found]     ` <1180058760.7001.6.camel@oberon.rnd.esoft.com>
  2007-05-23 23:50   ` 2.6.22-rc2-mm1 Andrew Morton
  2 siblings, 2 replies; 104+ messages in thread
From: Jiri Kosina @ 2007-05-23 23:40 UTC (permalink / raw)
  To: Zan Lynx; +Cc: Andrew Morton, linux-kernel, Dmitry Torokhov, linux-usb-devel

On Wed, 23 May 2007, Zan Lynx wrote:

> I am having weird problems with USB keyboard and mouse.  The USB 
> keyboard will drop keystrokes, but not all of them.  The mouse seems to 
> move fine but drops clicks.  Could be that an occasional missed move 
> event isn't noticeable.  Nothing is logged when a key is dropped. 
> However, I did have some of this when it was first booting:
> BUG: at drivers/hid/hid-core.c:778 implement()
> Call Trace:
> [<ffffffff880bb5ac>] :hid:hid_output_report+0x1dc/0x270
> [<ffffffff880c651a>] :usbhid:hid_submit_ctrl+0x7a/0x260
> [<ffffffff880c68ee>] :usbhid:usbhid_submit_report+0x11e/0x200
> [<ffffffff880c9312>] :usbhid:hiddev_ioctl+0x3e2/0xae0
> [<ffffffff8053523e>] do_page_fault+0x42e/0x880
> [<ffffffff802b486d>] do_ioctl+0x7d/0xa0
> [<ffffffff802b4ab1>] vfs_ioctl+0x221/0x2d0
> [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
> [<ffffffff802b4ba9>] sys_ioctl+0x49/0x80
> [<ffffffff8020a16e>] system_call+0x7e/0x83

OK, so something is touching one of your HID devices through hiddev, and 
tries to push through it something that doesn't comply to the report 
descriptor of the device. Are you aware of any userspace daemons running 
which would touch /dev/hiddev*? (acupsd, nut, hid2hci, etc.).

Just for clarification, does situation get any better when you disable 
hidraw, which I see you have enabled? (if that doesn't help, testing with 
hiddev disabled should also be interesting - that would avoid the 
possibility that userspace mocks the device up through hiddev).

> BUG: at include/linux/slub_def.h:83 kmalloc_index()
> Call Trace:
>  [<ffffffff802a2e09>] get_slab+0xb9/0x180
>  [<ffffffff802a2965>] kfree+0xc5/0x110
>  [<ffffffff802a2fd4>] __kmalloc+0x24/0xc0
>  [<ffffffff8049ab18>] get_modalias+0x68/0x120
>  [<ffffffff8049ac07>] dmi_dev_uevent+0x37/0x60
>  [<ffffffff80443b63>] dev_uevent+0x163/0x220
>  [<ffffffff803bcc97>] kobject_uevent_env+0x2b7/0x500
>  [<ffffffff80444f50>] bus_add_device+0x20/0x140
>  [<ffffffff804438d2>] device_add+0x4a2/0x5b0
>  [<ffffffff807a0a1b>] dmi_id_init+0x2cb/0x2f0
>  [<ffffffff807866e6>] kernel_init+0x156/0x330
>  [<ffffffff80531f5c>] trace_hardirqs_on_thunk+0x35/0x37
>  [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
>  [<ffffffff8020b028>] child_rip+0xa/0x12
>  [<ffffffff8020a710>] restore_args+0x0/0x30
>  [<ffffffff803e6c10>] vgacon_cursor+0x0/0x1f0
>  [<ffffffff8023ad5b>] release_console_sem+0x4b/0x230
>  [<ffffffff80786590>] kernel_init+0x0/0x330
>  [<ffffffff8020b01e>] child_rip+0x0/0x12

This BTW needs a separate bugreport.

> input,hiddev0,hidraw2: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:02.2-2.2.1

This is pretty strange. Mouse shouldn't be claimed by hiddev. Seems like 
this mouse probably has some "interesting" HID report descriptor. Could 
you please recompile with CONFIG_HID_DEBUG enabled and send me the output?

> =======================================================
> [ INFO: possible circular locking dependency detected ]
> 2.6.22-rc2-mm1 #1
> -------------------------------------------------------
> rhythmbox/6976 is trying to acquire lock:
>  (&mm->mmap_sem){----}, at: [<ffffffff80534f8c>] do_page_fault+0x17c/0x880
> but task is already holding lock:
>  (&data->latch){----}, at: [<ffffffff8034a701>] get_exclusive_access+0x11/0x20
> which lock already depends on the new lock.

This also needs a separate report.


Do you please have any indication which kernel versions were OK with the 
same .config, with respect to the USB mouse/keyboard hogs you are seeing 
with 2.6.22-rc2-mm1?

Thanks,

-- 
Jiri Kosina

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 23:17 ` 2.6.22-rc2-mm1 Zan Lynx
  2007-05-23 23:27   ` 2.6.22-rc2-mm1 Andrew Morton
  2007-05-23 23:40   ` 2.6.22-rc2-mm1 Jiri Kosina
@ 2007-05-23 23:50   ` Andrew Morton
  2 siblings, 0 replies; 104+ messages in thread
From: Andrew Morton @ 2007-05-23 23:50 UTC (permalink / raw)
  To: Zan Lynx; +Cc: linux-kernel, reiserfs-dev

On Wed, 23 May 2007 17:17:09 -0600
Zan Lynx <zlynx@acm.org> wrote:

> =======================================================
> [ INFO: possible circular locking dependency detected ]
> 2.6.22-rc2-mm1 #1
> -------------------------------------------------------
> rhythmbox/6976 is trying to acquire lock:
>  (&mm->mmap_sem){----}, at: [<ffffffff80534f8c>] do_page_fault+0x17c/0x880
> 
> but task is already holding lock:
>  (&data->latch){----}, at: [<ffffffff8034a701>] get_exclusive_access+0x11/0x20
> 
> which lock already depends on the new lock.
> 
> 
> the existing dependency chain (in reverse order) is:
> 
> -> #1 (&data->latch){----}:
>        [<ffffffff8025b8bc>] __lock_acquire+0xbfc/0x1030
>        [<ffffffff8025bd3b>] lock_acquire+0x4b/0x70
>        [<ffffffff8034a701>] get_exclusive_access+0x11/0x20
>        [<ffffffff80254c5f>] down_write+0x2f/0x40
>        [<ffffffff8034a701>] get_exclusive_access+0x11/0x20
>        [<ffffffff803498c8>] mmap_unix_file+0x58/0x140
>        [<ffffffff80292125>] mmap_region+0x195/0x540
>        [<ffffffff80292b2e>] do_mmap_pgoff+0x2fe/0x390
>        [<ffffffff80532b5f>] _spin_unlock_irq+0x2f/0x50
>        [<ffffffff802e2bca>] elf_map+0xfa/0x100
>        [<ffffffff802e5574>] load_elf_binary+0x1c14/0x2110
>        [<ffffffff80258a25>] add_lock_to_list+0x65/0xe0
>        [<ffffffff8025b98e>] __lock_acquire+0xcce/0x1030
>        [<ffffffff802820fe>] get_page_from_freelist+0x33e/0x520
>        [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
>        [<ffffffff80281fd5>] get_page_from_freelist+0x215/0x520
>        [<ffffffff8022f3d0>] load_aout_binary+0x0/0x980
>        [<ffffffff802e3960>] load_elf_binary+0x0/0x2110
>        [<ffffffff802ab3d6>] search_binary_handler+0xf6/0x290
>        [<ffffffff802ad05f>] do_execve+0x18f/0x250
>        [<ffffffff80208ab4>] sys_execve+0x44/0xb0
>        [<ffffffff8020a567>] stub_execve+0x67/0xb0
>        [<ffffffffffffffff>] 0xffffffffffffffff
> 
> -> #0 (&mm->mmap_sem){----}:
>        [<ffffffff80259b68>] print_circular_bug_header+0xe8/0xf0
>        [<ffffffff8025b6f2>] __lock_acquire+0xa32/0x1030
>        [<ffffffff80532b15>] _spin_unlock_irqrestore+0x65/0x80
>        [<ffffffff8025bd3b>] lock_acquire+0x4b/0x70
>        [<ffffffff80534f8c>] do_page_fault+0x17c/0x880
>        [<ffffffff80254b82>] down_read+0x32/0x40
>        [<ffffffff80534f8c>] do_page_fault+0x17c/0x880
>        [<ffffffff80532b54>] _spin_unlock_irq+0x24/0x50
>        [<ffffffff8025a711>] trace_hardirqs_on+0xc1/0x160
>        [<ffffffff80532b15>] _spin_unlock_irqrestore+0x65/0x80
>        [<ffffffff8053318d>] error_exit+0x0/0x96
>        [<ffffffff8027c464>] file_read_actor+0x44/0x1a0
>        [<ffffffff8027c74f>] __lock_page+0x5f/0x70
>        [<ffffffff8027ced3>] do_generic_mapping_read+0x233/0x560
>        [<ffffffff8027c420>] file_read_actor+0x0/0x1a0
>        [<ffffffff8027f136>] generic_file_aio_read+0x106/0x1a0
>        [<ffffffff802a6c09>] do_sync_read+0xd9/0x120
>        [<ffffffff80258495>] lockdep_init_map+0x55/0x4e0
>        [<ffffffff802515e0>] autoremove_wake_function+0x0/0x30
>        [<ffffffff805329e9>] _spin_unlock+0x29/0x50
>        [<ffffffff8032caec>] reiser4_grab+0x8c/0xd0
>        [<ffffffff80348af4>] read_unix_file+0x454/0x490
>        [<ffffffff802a7585>] vfs_read+0xc5/0x180
>        [<ffffffff802a7a83>] sys_read+0x53/0x90
>        [<ffffffff8020a16e>] system_call+0x7e/0x83
>        [<ffffffffffffffff>] 0xffffffffffffffff

This one is a reiser4 error.  cc added.

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 23:36             ` 2.6.22-rc2-mm1 Christoph Lameter
@ 2007-05-24  1:21               ` Randy Dunlap
  2007-05-24  2:43                 ` 2.6.22-rc2-mm1 Christoph Lameter
  2007-05-24  3:00                 ` 2.6.22-rc2-mm1 Christoph Lameter
  0 siblings, 2 replies; 104+ messages in thread
From: Randy Dunlap @ 2007-05-24  1:21 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, Michal Piotrowski, linux-kernel

On Wed, 23 May 2007 16:36:07 -0700 (PDT) Christoph Lameter wrote:

> On Wed, 23 May 2007, Andrew Morton wrote:
> 
> > A few words in slub.txt, perhaps?

Thanks for the update.  A few nits below.

> SLUB: More documentation
> 
> Update documentation to describe how to read a SLUB error report.
> Add slub parameters to Documentation/kernel-parameters.
> 
> Signed-off-by: Christoph Lameter <clameter@sgi.com>
> 
> ---
>  Documentation/kernel-parameters.txt |   37 +++++++++-
>  Documentation/vm/slub.txt           |  133 +++++++++++++++++++++++++++++++++---
>  2 files changed, 157 insertions(+), 13 deletions(-)
> 
> Index: slub/Documentation/kernel-parameters.txt
> ===================================================================
> --- slub.orig/Documentation/kernel-parameters.txt	2007-05-23 15:41:58.000000000 -0700
> +++ slub/Documentation/kernel-parameters.txt	2007-05-23 15:57:07.000000000 -0700
> @@ -1610,6 +1610,37 @@ and is between 256 and 4096 characters. 
>  
>  	slram=		[HW,MTD]
>  
> +	slub_debug	[MM, SLUB]
> +			Enabling slub_debug will allow to determine the culprit

			s/will allow/allows/
	then
			allows _____ (the verb needs an object)
			e.g., someone | us | you (clameter@sgi.com :)

> +			if slab objects become corrupted. Enabling slub_debug
> +			creates guard zones around objects and poisons objects
> +			when not in use. Also tracks the last alloc / free.
> +			For more information see Documentation/vm/slub.txt.
> +
> +	slub_max_order= [MM, SLUB]
> +			Determines the maximum allowed order for slabs. Setting
> +			this too high may cause fragmentation.
> +			For more information see Documentation/vm/slub.txt.
> +
> +	slub_min_objects=	[M, SLUB]

				MM

> +			The minimum objects per slab. SLUB will increase the
> +			slab order up to slub_max_order to generate a
> +			sufficiently big slab to satisfy the number of objects.
> +			The higher the number of objects the smaller the overhead
> +			of tracking slabs.
> +			For more information see Documentation/vm/slub.txt.
> +

> Index: slub/Documentation/vm/slub.txt
> ===================================================================
> --- slub.orig/Documentation/vm/slub.txt	2007-05-23 15:59:05.000000000 -0700
> +++ slub/Documentation/vm/slub.txt	2007-05-23 16:34:20.000000000 -0700
> @@ -1,13 +1,9 @@
>  Short users guide for SLUB
>  --------------------------
>  
> -First of all slub should transparently replace SLAB. If you enable
> -SLUB then everything should work the same (Note the word "should".
> -There is likely not much value in that word at this point).
> -
>  The basic philosophy of SLUB is very different from SLAB. SLAB
>  requires rebuilding the kernel to activate debug options for all
> -SLABS. SLUB always includes full debugging but its off by default.
> +slab caches. SLUB always includes full debugging but its off by default.

                                                        it is

>  SLUB can enable debugging only for selected slabs in order to avoid
>  an impact on overall system performance which may make a bug more
>  difficult to find.
> @@ -76,13 +72,28 @@ of objects.
>  Careful with tracing: It may spew out lots of information and never stop if
>  used on the wrong slab.
>  
> -SLAB Merging
> +Slab merging
>  ------------
>  
> -If no debugging is specified then SLUB may merge similar slabs together
> +If no debug options are specified then SLUB may merge similar slabs together
>  in order to reduce overhead and increase cache hotness of objects.
>  slabinfo -a displays which slabs were merged together.
>  
> +Slab validation
> +---------------
> +
> +SLUB can validate all object if the kernel was booted with slub_debug. In
> +order to do so you must have the slabinfo tool. Then you can do
> +
> +slabinfo -v
> +
> +which will test all objects. Output will be generated to the syslog.
> +
> +This also works in a more limited way if boot was without slab debug.
> +In that case slabinfo -v will simply tests all reachable objects. Usually

                      drop: will

> +these are in the cpu slabs and the partial slabs. Full slabs are not

                    CPU

> +tracked by SLUB in a non debug situation.
> +
>  Getting more performance
>  ------------------------
>  
> @@ -91,9 +102,9 @@ list_lock once in a while to deal with p
>  governed by the order of the allocation for each slab. The allocations
>  can be influenced by kernel parameters:
>  
> -slub_min_objects=x		(default 8)
> +slub_min_objects=x		(default 4)
>  slub_min_order=x		(default 0)
> -slub_max_order=x		(default 4)
> +slub_max_order=x		(default 1)
>  
>  slub_min_objects allows to specify how many objects must at least fit
>  into one slab in order for the allocation order to be acceptable.
> @@ -109,5 +120,107 @@ longer be checked. This is useful to avo
>  super large order pages to fit slub_min_objects of a slab cache with
>  large object sizes into one high order page.
>  
> +SLUB Debug output
> +-----------------
> +
> +Here is a sample of slub debug output:
> +
> +@@@ SLUB kmalloc-8: Restoring redzone (0xcc) from 0xc90f6d28-0xc90f6d2b
> +
...
> +
> +If SLUB encounters a corrupted object then it will perform the following
> +actions

   actions:

> +
> +1. Isolation and report of the issue
> +
> +This will be a message in the system log starting with
> +
> +*** SLUB <slab cache affected>: <What went wrong>@<object address>
> +offset=<offset of object into slab> flags=<slabflags>
> +inuse=<objects in use in this slab> freelist=<first free object in slab>
> +
> +2. Report on how the problem was dealt with in order to ensure the continued
> +operation of the system.
> +
> +These are messages in the system log beginning with
> +
> +@@@ SLUB <slab cache affected>: <corrective action taken>
> +
> +
> +In the above sample SLUB found that the Redzone of an active object has
> +been overwritten. Here a string of 8 characters was written into a slab that
> +has the length of 8 characters. However, a 8 character string needs a
> +terminating 0. That zero has overwritten the first byte of the Redzone field.
> +After reporting the details of the issue encountered the @@@ SLUB message
> +tell us that SLUB has restored the redzone to its proper value and then
> +system operations continue.
> +
> +Various types of lines can follow the @@@ SLUB line:
> +
> +Bytes b4 <address> : <bytes>
> +	Show a few bytes before the object where the problem was detected.
> +	Can be useful if the corruption does not stop with the start of the
> +	object.
> +
> +Object <address> : <bytes>
> +	The bytes of the object. If the object is inactive then the bytes
> +	typically contain poisoning values. Any non poison value shows a

                                                non-poison

> +	corruption by a write after free.
> +
> +Redzone <address> : <bytes>
> +	The redzone following the object. The redzone is used to detect
> +	writes after the object. All bytes should always have the same
> +	value. If there is any deviation then it is due to a write after
> +	the object boundary.
> +
> +Freepointer
> +	The pointer to the next free object in the slab. May become
> +	corrupted if overwriting continues after the red zone.
> +
> +Last alloc:
> +Last free:
> +	Shows the address from which the object was allocated/freed last.
> +	We note the pid, the time and the cpu that did so. This is usually

                                          CPU

> +	the most useful information to figure out where things went wrong.
> +	Here get_modalias did an kmalloc(8) instead of a kmalloc(9).
> +
> +Filler <address> : <bytes>
> +	Unused data to fill up the space in order to get the next object
> +	properly aligned. In the debug case we make sure that there are
> +	at least 4 bytes of filler. This allow for the detection of writes
> +	before the object.
> +
> +Following the filler will be a stackdump. That stackdump describes the
> +location where the error was detected. The cause of the corruption is more
> +likely to be found by looking at the information about the last alloc / free.



How large is the RedZone?  Is it a fixed size or does it vary?

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: 2.6.22-rc2-mm1
  2007-05-24  1:21               ` 2.6.22-rc2-mm1 Randy Dunlap
@ 2007-05-24  2:43                 ` Christoph Lameter
  2007-05-24  3:00                 ` 2.6.22-rc2-mm1 Christoph Lameter
  1 sibling, 0 replies; 104+ messages in thread
From: Christoph Lameter @ 2007-05-24  2:43 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, Michal Piotrowski, linux-kernel

On Wed, 23 May 2007, Randy Dunlap wrote:

> > > A few words in slub.txt, perhaps?
> 
> Thanks for the update.  A few nits below.

Ok will get the nits out soon.

> How large is the RedZone?  Is it a fixed size or does it vary?

The red zone are between 1 byte and a full word. If the object does not 
end at a word boundary then we fill up to the next word. If it ends on a 
word boundary then a full word of red zone bytes are inserted.



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

* Re: 2.6.22-rc2-mm1
  2007-05-24  1:21               ` 2.6.22-rc2-mm1 Randy Dunlap
  2007-05-24  2:43                 ` 2.6.22-rc2-mm1 Christoph Lameter
@ 2007-05-24  3:00                 ` Christoph Lameter
  2007-05-24  3:26                   ` 2.6.22-rc2-mm1 Randy Dunlap
  2007-05-24  7:31                   ` 2.6.22-rc2-mm1 Ingo Molnar
  1 sibling, 2 replies; 104+ messages in thread
From: Christoph Lameter @ 2007-05-24  3:00 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, Michal Piotrowski, linux-kernel

New version with Randy's fixes:


SLUB: More documentation

Update documentation to describe how to read a SLUB error report.
Add slub parameters to Documentation/kernel-parameters.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

---
 Documentation/kernel-parameters.txt |   37 +++++++++-
 Documentation/vm/slub.txt           |  133 +++++++++++++++++++++++++++++++++---
 2 files changed, 157 insertions(+), 13 deletions(-)

Index: slub/Documentation/kernel-parameters.txt
===================================================================
--- slub.orig/Documentation/kernel-parameters.txt	2007-05-23 19:34:49.000000000 -0700
+++ slub/Documentation/kernel-parameters.txt	2007-05-23 19:58:04.000000000 -0700
@@ -1098,9 +1098,9 @@ and is between 256 and 4096 characters. 
 			when set.
 			Format: <int>
 
-	noaliencache	[MM, NUMA] Disables the allcoation of alien caches in
-			the slab allocator.  Saves per-node memory, but will
-			impact performance on real NUMA hardware.
+	noaliencache	[MM, NUMA, SLAB] Disables the allocation of alien
+			caches in the slab allocator.  Saves per-node memory,
+			but will impact performance.
 
 	noalign		[KNL,ARM]
 
@@ -1589,6 +1589,37 @@ and is between 256 and 4096 characters. 
 
 	slram=		[HW,MTD]
 
+	slub_debug	[MM, SLUB]
+			Enabling slub_debug allows to determine the culprit
+			if slab objects become corrupted. Enabling slub_debug
+			creates guard zones around objects and poisons objects
+			when not in use. Also tracks the last alloc / free.
+			For more information see Documentation/vm/slub.txt.
+
+	slub_max_order= [MM, SLUB]
+			Determines the maximum allowed order for slabs. Setting
+			this too high may cause fragmentation.
+			For more information see Documentation/vm/slub.txt.
+
+	slub_min_objects=	[MM, SLUB]
+			The minimum objects per slab. SLUB will increase the
+			slab order up to slub_max_order to generate a
+			sufficiently big slab to satisfy the number of objects.
+			The higher the number of objects the smaller the overhead
+			of tracking slabs.
+			For more information see Documentation/vm/slub.txt.
+
+	slub_min_order=	[MM, SLUB]
+			Determines the mininum page order for slabs. Must be
+			lower than slub_max_order
+			For more information see Documentation/vm/slub.txt.
+
+	slub_nomerge	[MM, SLUB]
+			Disable merging of slabs of similar size. May be
+			necessary if there is some reason to distinguish
+			allocs to different slabs.
+			For more information see Documentation/vm/slub.txt.
+
 	smart2=		[HW]
 			Format: <io1>[,<io2>[,...,<io8>]]
 
Index: slub/Documentation/vm/slub.txt
===================================================================
--- slub.orig/Documentation/vm/slub.txt	2007-05-23 19:34:49.000000000 -0700
+++ slub/Documentation/vm/slub.txt	2007-05-23 19:59:45.000000000 -0700
@@ -1,13 +1,9 @@
 Short users guide for SLUB
 --------------------------
 
-First of all slub should transparently replace SLAB. If you enable
-SLUB then everything should work the same (Note the word "should".
-There is likely not much value in that word at this point).
-
 The basic philosophy of SLUB is very different from SLAB. SLAB
 requires rebuilding the kernel to activate debug options for all
-SLABS. SLUB always includes full debugging but its off by default.
+slab caches. SLUB always includes full debugging but it is off by default.
 SLUB can enable debugging only for selected slabs in order to avoid
 an impact on overall system performance which may make a bug more
 difficult to find.
@@ -76,13 +72,28 @@ of objects.
 Careful with tracing: It may spew out lots of information and never stop if
 used on the wrong slab.
 
-SLAB Merging
+Slab merging
 ------------
 
-If no debugging is specified then SLUB may merge similar slabs together
+If no debug options are specified then SLUB may merge similar slabs together
 in order to reduce overhead and increase cache hotness of objects.
 slabinfo -a displays which slabs were merged together.
 
+Slab validation
+---------------
+
+SLUB can validate all object if the kernel was booted with slub_debug. In
+order to do so you must have the slabinfo tool. Then you can do
+
+slabinfo -v
+
+which will test all objects. Output will be generated to the syslog.
+
+This also works in a more limited way if boot was without slab debug.
+In that case slabinfo -v simply tests all reachable objects. Usually
+these are in the cpu slabs and the partial slabs. Full slabs are not
+tracked by SLUB in a non debug situation.
+
 Getting more performance
 ------------------------
 
@@ -91,9 +102,9 @@ list_lock once in a while to deal with p
 governed by the order of the allocation for each slab. The allocations
 can be influenced by kernel parameters:
 
-slub_min_objects=x		(default 8)
+slub_min_objects=x		(default 4)
 slub_min_order=x		(default 0)
-slub_max_order=x		(default 4)
+slub_max_order=x		(default 1)
 
 slub_min_objects allows to specify how many objects must at least fit
 into one slab in order for the allocation order to be acceptable.
@@ -109,5 +120,107 @@ longer be checked. This is useful to avo
 super large order pages to fit slub_min_objects of a slab cache with
 large object sizes into one high order page.
 
+SLUB Debug output
+-----------------
+
+Here is a sample of slub debug output:
+
+*** SLUB kmalloc-8: Redzone Active@0xc90f6d20 slab 0xc528c530 offset=3360 flags=0x400000c3 inuse=61 freelist=0xc90f6d58
+  Bytes b4 0xc90f6d10:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
+    Object 0xc90f6d20:  31 30 31 39 2e 30 30 35                         1019.005
+   Redzone 0xc90f6d28:  00 cc cc cc                                     .
+FreePointer 0xc90f6d2c -> 0xc90f6d58
+Last alloc: get_modalias+0x61/0xf5 jiffies_ago=53 cpu=1 pid=554
+Filler 0xc90f6d50:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ
+  [<c010523d>] dump_trace+0x63/0x1eb
+  [<c01053df>] show_trace_log_lvl+0x1a/0x2f
+  [<c010601d>] show_trace+0x12/0x14
+  [<c0106035>] dump_stack+0x16/0x18
+  [<c017e0fa>] object_err+0x143/0x14b
+  [<c017e2cc>] check_object+0x66/0x234
+  [<c017eb43>] __slab_free+0x239/0x384
+  [<c017f446>] kfree+0xa6/0xc6
+  [<c02e2335>] get_modalias+0xb9/0xf5
+  [<c02e23b7>] dmi_dev_uevent+0x27/0x3c
+  [<c027866a>] dev_uevent+0x1ad/0x1da
+  [<c0205024>] kobject_uevent_env+0x20a/0x45b
+  [<c020527f>] kobject_uevent+0xa/0xf
+  [<c02779f1>] store_uevent+0x4f/0x58
+  [<c027758e>] dev_attr_store+0x29/0x2f
+  [<c01bec4f>] sysfs_write_file+0x16e/0x19c
+  [<c0183ba7>] vfs_write+0xd1/0x15a
+  [<c01841d7>] sys_write+0x3d/0x72
+  [<c0104112>] sysenter_past_esp+0x5f/0x99
+  [<b7f7b410>] 0xb7f7b410
+  =======================
+@@@ SLUB kmalloc-8: Restoring redzone (0xcc) from 0xc90f6d28-0xc90f6d2b
+
+
+
+If SLUB encounters a corrupted object then it will perform the following
+actions:
+
+1. Isolation and report of the issue
+
+This will be a message in the system log starting with
+
+*** SLUB <slab cache affected>: <What went wrong>@<object address>
+offset=<offset of object into slab> flags=<slabflags>
+inuse=<objects in use in this slab> freelist=<first free object in slab>
+
+2. Report on how the problem was dealt with in order to ensure the continued
+operation of the system.
+
+These are messages in the system log beginning with
+
+@@@ SLUB <slab cache affected>: <corrective action taken>
+
+
+In the above sample SLUB found that the Redzone of an active object has
+been overwritten. Here a string of 8 characters was written into a slab that
+has the length of 8 characters. However, a 8 character string needs a
+terminating 0. That zero has overwritten the first byte of the Redzone field.
+After reporting the details of the issue encountered the @@@ SLUB message
+tell us that SLUB has restored the redzone to its proper value and then
+system operations continue.
+
+Various types of lines can follow the @@@ SLUB line:
+
+Bytes b4 <address> : <bytes>
+	Show a few bytes before the object where the problem was detected.
+	Can be useful if the corruption does not stop with the start of the
+	object.
+
+Object <address> : <bytes>
+	The bytes of the object. If the object is inactive then the bytes
+	typically contain poisoning values. Any non-poison value shows a
+	corruption by a write after free.
+
+Redzone <address> : <bytes>
+	The redzone following the object. The redzone is used to detect
+	writes after the object. All bytes should always have the same
+	value. If there is any deviation then it is due to a write after
+	the object boundary.
+
+Freepointer
+	The pointer to the next free object in the slab. May become
+	corrupted if overwriting continues after the red zone.
+
+Last alloc:
+Last free:
+	Shows the address from which the object was allocated/freed last.
+	We note the pid, the time and the CPU that did so. This is usually
+	the most useful information to figure out where things went wrong.
+	Here get_modalias() did an kmalloc(8) instead of a kmalloc(9).
+
+Filler <address> : <bytes>
+	Unused data to fill up the space in order to get the next object
+	properly aligned. In the debug case we make sure that there are
+	at least 4 bytes of filler. This allow for the detection of writes
+	before the object.
+
+Following the filler will be a stackdump. That stackdump describes the
+location where the error was detected. The cause of the corruption is more
+likely to be found by looking at the information about the last alloc / free.
 
-Christoph Lameter, <clameter@sgi.com>, April 10, 2007
+Christoph Lameter, <clameter@sgi.com>, May 23, 2007


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

* Re: 2.6.22-rc2-mm1
  2007-05-24  3:00                 ` 2.6.22-rc2-mm1 Christoph Lameter
@ 2007-05-24  3:26                   ` Randy Dunlap
  2007-05-24  7:31                   ` 2.6.22-rc2-mm1 Ingo Molnar
  1 sibling, 0 replies; 104+ messages in thread
From: Randy Dunlap @ 2007-05-24  3:26 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, Michal Piotrowski, linux-kernel

On Wed, 23 May 2007 20:00:52 -0700 (PDT) Christoph Lameter wrote:

> New version with Randy's fixes:

well...  :)


> Index: slub/Documentation/kernel-parameters.txt
> ===================================================================
> --- slub.orig/Documentation/kernel-parameters.txt	2007-05-23 19:34:49.000000000 -0700
> +++ slub/Documentation/kernel-parameters.txt	2007-05-23 19:58:04.000000000 -0700
> @@ -1589,6 +1589,37 @@ and is between 256 and 4096 characters. 
>  
>  	slram=		[HW,MTD]
>  
> +	slub_debug	[MM, SLUB]
> +			Enabling slub_debug allows to determine the culprit

                                            allows ___(who)____

> +			if slab objects become corrupted. Enabling slub_debug
> +			creates guard zones around objects and poisons objects
> +			when not in use. Also tracks the last alloc / free.
> +			For more information see Documentation/vm/slub.txt.
> +

> +	slub_min_order=	[MM, SLUB]
> +			Determines the mininum page order for slabs. Must be
> +			lower than slub_max_order

                                                ^.  (end with period)

> +			For more information see Documentation/vm/slub.txt.


> Index: slub/Documentation/vm/slub.txt
> ===================================================================
> --- slub.orig/Documentation/vm/slub.txt	2007-05-23 19:34:49.000000000 -0700
> +++ slub/Documentation/vm/slub.txt	2007-05-23 19:59:45.000000000 -0700

> +Slab validation
> +---------------
> +
> +SLUB can validate all object if the kernel was booted with slub_debug. In
> +order to do so you must have the slabinfo tool. Then you can do
> +
> +slabinfo -v
> +
> +which will test all objects. Output will be generated to the syslog.
> +
> +This also works in a more limited way if boot was without slab debug.
> +In that case slabinfo -v simply tests all reachable objects. Usually
> +these are in the cpu slabs and the partial slabs. Full slabs are not

                    CPU

> +tracked by SLUB in a non debug situation.


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: 2.6.22-rc2-mm1
  2007-05-23 23:40   ` 2.6.22-rc2-mm1 Jiri Kosina
@ 2007-05-24  3:28     ` Dmitry Torokhov
  2007-05-24  7:28       ` 2.6.22-rc2-mm1 Jiri Kosina
  2007-05-30 14:08       ` [PATCH] Input: i8042 - cleanup of debug code (was Re: 2.6.22-rc2-mm1) Jiri Kosina
       [not found]     ` <1180058760.7001.6.camel@oberon.rnd.esoft.com>
  1 sibling, 2 replies; 104+ messages in thread
From: Dmitry Torokhov @ 2007-05-24  3:28 UTC (permalink / raw)
  To: Jiri Kosina; +Cc: Zan Lynx, Andrew Morton, linux-kernel, linux-usb-devel

Hi Jiri,

On Wednesday 23 May 2007 19:40, Jiri Kosina wrote:
> This is pretty strange. Mouse shouldn't be claimed by hiddev. Seems like 
> this mouse probably has some "interesting" HID report descriptor. Could 
> you please recompile with CONFIG_HID_DEBUG enabled and send me the output?
> 

It looks like you are now in the same position I was some time ago WRT
to debug information for i8042 - constantly asking people to enable
debug, recompile and send the results.

May I recommend changing CONFIG_HID_DEBUG to "default y if !EMBEDDED" and
controlling debug output via a module parameter? -ENOPATCH though...

-- 
Dmitry

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

* Re: 2.6.22-rc2-mm1
  2007-05-24  3:28     ` 2.6.22-rc2-mm1 Dmitry Torokhov
@ 2007-05-24  7:28       ` Jiri Kosina
  2007-05-30 14:08       ` [PATCH] Input: i8042 - cleanup of debug code (was Re: 2.6.22-rc2-mm1) Jiri Kosina
  1 sibling, 0 replies; 104+ messages in thread
From: Jiri Kosina @ 2007-05-24  7:28 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Zan Lynx, Andrew Morton, linux-kernel, linux-usb-devel

On Wed, 23 May 2007, Dmitry Torokhov wrote:

> It looks like you are now in the same position I was some time ago WRT 
> to debug information for i8042 - constantly asking people to enable 
> debug, recompile and send the results. May I recommend changing 
> CONFIG_HID_DEBUG to "default y if !EMBEDDED" and controlling debug 
> output via a module parameter? -ENOPATCH though...

Hi Dmitry,

this is exactly what I have been thinking a couple of days ago, I am 
currently in the process of creating a patch, it's quite annoying to ask 
people to recompile kernel every time.

Thanks,

-- 
Jiri Kosina

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

* Re: 2.6.22-rc2-mm1
  2007-05-24  3:00                 ` 2.6.22-rc2-mm1 Christoph Lameter
  2007-05-24  3:26                   ` 2.6.22-rc2-mm1 Randy Dunlap
@ 2007-05-24  7:31                   ` Ingo Molnar
  2007-05-24 16:40                     ` 2.6.22-rc2-mm1 Christoph Lameter
  2007-05-24 21:20                     ` 2.6.22-rc2-mm1 Christoph Lameter
  1 sibling, 2 replies; 104+ messages in thread
From: Ingo Molnar @ 2007-05-24  7:31 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Randy Dunlap, Andrew Morton, Michal Piotrowski, linux-kernel


* Christoph Lameter <clameter@sgi.com> wrote:

> +SLUB Debug output
> +-----------------
> +
> +Here is a sample of slub debug output:
> +
> +*** SLUB kmalloc-8: Redzone Active@0xc90f6d20 slab 0xc528c530 offset=3360 flags=0x400000c3 inuse=61 freelist=0xc90f6d58
> +  Bytes b4 0xc90f6d10:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
> +    Object 0xc90f6d20:  31 30 31 39 2e 30 30 35                         1019.005
> +   Redzone 0xc90f6d28:  00 cc cc cc                                     .
> +FreePointer 0xc90f6d2c -> 0xc90f6d58
> +Last alloc: get_modalias+0x61/0xf5 jiffies_ago=53 cpu=1 pid=554
> +Filler 0xc90f6d50:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ

when constructing debug output it's a good idea to make it as 
'context-free' as possible. I.e. instead of saying 'Filler' and 
explaining it somewhere in Documentation/*, just say:

  Expected memory values at 0xc90f6d50:  5a 5a 5a 5a 5a 5a 5a 5a
  ... but found the following values:    12 34 56 78 90 12 34 56

(or whatever it means)

please also put in one of the keywords as the first word of whatever 
SLUB prints:

   BUG: ...
   WARNING: ...
   INFO: ...

the output should be compact, but never at the price of 
understandability. For example i tried to make lockdep output as 
self-explanatory as possible - and a good portion of lockdep.c is about 
having around the kind of information to make the error more 
understandable (tracking lock-acquire stacktraces, tracking 
initialization points, tracking initialization-time symbol names, etc.), 
and there's even quite some algorithmic complexity from that. I probably 
spent more time on making lockdep output easier to decode than on any 
other sub-feature of lockdep. The output format literally went over 
hundreds of revisions. Output to humans is _the_ most important thing 
that a debug facility can do, sometimes more important than the 
debugging it offers ;-) And even the existing lockdep output sometimes 
confuses people.

	Ingo

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

* rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1)
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (8 preceding siblings ...)
  2007-05-23 23:17 ` 2.6.22-rc2-mm1 Zan Lynx
@ 2007-05-24 10:36 ` Jeremy Fitzhardinge
  2007-05-24 10:47   ` Herbert Xu
  2007-05-25 21:20 ` idle=poll burns my box [was Re: 2.6.22-rc2-mm1] J.A. Magallón
                   ` (3 subsequent siblings)
  13 siblings, 1 reply; 104+ messages in thread
From: Jeremy Fitzhardinge @ 2007-05-24 10:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux Kernel Mailing List, Auke Kok, Herbert Xu

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

I got a hang while rmmodding e1000.  sysrq-t shows:

rmmod         D 003FFAFC  6616 15923  15911 (NOTLB)
       e9341e44 00000092 82318c15 003ffafc e9341e2c 00000000 e9341e14 823187a1 
       003ffafc 00000000 c0123862 d3dbab80 d3dbad1c c2c08a40 77a67d01 000001ca 
       00000292 e9341e24 c03799cd e9341e54 c0540840 e9341e44 00223389 000000ff 
Call Trace:
 [<c03777b1>] schedule_timeout+0x70/0x8e
 [<c03777e4>] schedule_timeout_uninterruptible+0x15/0x17
 [<c0133d04>] msleep+0x10/0x16
 [<c030d5e0>] dev_close+0x39/0x6b
 [<c030d6ba>] unregister_netdevice+0xa8/0x1b9
 [<c030d7dd>] unregister_netdev+0x12/0x1a
 [<f89b441e>] e1000_remove+0x38/0xcc [e1000]
 [<c0229838>] pci_device_remove+0x19/0x39
 [<c029539a>] __device_release_driver+0x74/0x90
 [<c0295841>] driver_detach+0xa2/0xe1
 [<c0294f16>] bus_remove_driver+0x5d/0x79
 [<c02958a7>] driver_unregister+0x8/0xa
 [<c02299a2>] pci_unregister_driver+0x13/0x55
 [<f89c23a3>] e1000_exit_module+0xd/0xf [e1000]
 [<c0150d96>] sys_delete_module+0x180/0x1a6
 [<c0107fc6>] sysenter_past_esp+0x6b/0xb5
 =======================


The machine seemed otherwise happy, except the keyboard stopped working
shortly afterwards.  I'm not willing to say that's related, but it did
limit how much information I could extract about the state of the
machine at the time.

e1000 wasn't working very well before I tried to rmmod it; it all seemed
OK, but dhcpclient was failing to get an address.

I wonder if it might have something to do with Herbert's carrier changes?

    J

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

* Re: rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1)
  2007-05-24 10:36 ` rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1) Jeremy Fitzhardinge
@ 2007-05-24 10:47   ` Herbert Xu
  2007-05-24 10:54     ` Herbert Xu
  0 siblings, 1 reply; 104+ messages in thread
From: Herbert Xu @ 2007-05-24 10:47 UTC (permalink / raw)
  To: Jeremy Fitzhardinge; +Cc: Andrew Morton, Linux Kernel Mailing List, Auke Kok

On Thu, May 24, 2007 at 11:36:22AM +0100, Jeremy Fitzhardinge wrote:
> 
> I got a hang while rmmodding e1000.  sysrq-t shows:
> 
> rmmod         D 003FFAFC  6616 15923  15911 (NOTLB)
>        e9341e44 00000092 82318c15 003ffafc e9341e2c 00000000 e9341e14 823187a1 
>        003ffafc 00000000 c0123862 d3dbab80 d3dbad1c c2c08a40 77a67d01 000001ca 
>        00000292 e9341e24 c03799cd e9341e54 c0540840 e9341e44 00223389 000000ff 
> Call Trace:
>  [<c03777b1>] schedule_timeout+0x70/0x8e
>  [<c03777e4>] schedule_timeout_uninterruptible+0x15/0x17
>  [<c0133d04>] msleep+0x10/0x16
>  [<c030d5e0>] dev_close+0x39/0x6b

Looks like we're spinning on __LINK_STATE_RX_SCHED.  This means that
someone called netif_poll_disable() without re-enabling it again.
Perhaps e1000_io_error_detected? Auke?

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

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

* Re: rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1)
  2007-05-24 10:47   ` Herbert Xu
@ 2007-05-24 10:54     ` Herbert Xu
  2007-05-24 14:44       ` Kok, Auke
  0 siblings, 1 reply; 104+ messages in thread
From: Herbert Xu @ 2007-05-24 10:54 UTC (permalink / raw)
  To: Jeremy Fitzhardinge; +Cc: Andrew Morton, Linux Kernel Mailing List, Auke Kok

On Thu, May 24, 2007 at 08:47:13PM +1000, Herbert Xu wrote:
> On Thu, May 24, 2007 at 11:36:22AM +0100, Jeremy Fitzhardinge wrote:
> > 
> > I got a hang while rmmodding e1000.  sysrq-t shows:
> > 
> > rmmod         D 003FFAFC  6616 15923  15911 (NOTLB)
> >        e9341e44 00000092 82318c15 003ffafc e9341e2c 00000000 e9341e14 823187a1 
> >        003ffafc 00000000 c0123862 d3dbab80 d3dbad1c c2c08a40 77a67d01 000001ca 
> >        00000292 e9341e24 c03799cd e9341e54 c0540840 e9341e44 00223389 000000ff 
> > Call Trace:
> >  [<c03777b1>] schedule_timeout+0x70/0x8e
> >  [<c03777e4>] schedule_timeout_uninterruptible+0x15/0x17
> >  [<c0133d04>] msleep+0x10/0x16
> >  [<c030d5e0>] dev_close+0x39/0x6b
> 
> Looks like we're spinning on __LINK_STATE_RX_SCHED.  This means that
> someone called netif_poll_disable() without re-enabling it again.
> Perhaps e1000_io_error_detected? Auke?

I think the dual meaning of __LINK_STATE_RX_SCHED is seriously broken.
In dev_close we are waiting for any outstanding poll to terminate but
the same bit can either mean an outstanding poll or that poll has
been disabled.

It's a surprise that it has taken so many years for someone to report
a bug on it.  I'll try to get this fixed up, probably by adding a bit.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

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

* Re: rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1)
  2007-05-24 10:54     ` Herbert Xu
@ 2007-05-24 14:44       ` Kok, Auke
  2007-05-25 12:54         ` Herbert Xu
  0 siblings, 1 reply; 104+ messages in thread
From: Kok, Auke @ 2007-05-24 14:44 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Jeremy Fitzhardinge, Andrew Morton, Linux Kernel Mailing List

Herbert Xu wrote:
> On Thu, May 24, 2007 at 08:47:13PM +1000, Herbert Xu wrote:
>> On Thu, May 24, 2007 at 11:36:22AM +0100, Jeremy Fitzhardinge wrote:
>>> I got a hang while rmmodding e1000.  sysrq-t shows:
>>>
>>> rmmod         D 003FFAFC  6616 15923  15911 (NOTLB)
>>>        e9341e44 00000092 82318c15 003ffafc e9341e2c 00000000 e9341e14 823187a1 
>>>        003ffafc 00000000 c0123862 d3dbab80 d3dbad1c c2c08a40 77a67d01 000001ca 
>>>        00000292 e9341e24 c03799cd e9341e54 c0540840 e9341e44 00223389 000000ff 
>>> Call Trace:
>>>  [<c03777b1>] schedule_timeout+0x70/0x8e
>>>  [<c03777e4>] schedule_timeout_uninterruptible+0x15/0x17
>>>  [<c0133d04>] msleep+0x10/0x16
>>>  [<c030d5e0>] dev_close+0x39/0x6b
>> Looks like we're spinning on __LINK_STATE_RX_SCHED.  This means that
>> someone called netif_poll_disable() without re-enabling it again.
>> Perhaps e1000_io_error_detected? Auke?

Should not be, e1000_io_error_detected will call e1000_down which does the 
netif_poll_disable, but e1000_io_resume nicely calls e1000_up again which does 
the netif_poll_enable again, unless io_resume somehow failed

> I think the dual meaning of __LINK_STATE_RX_SCHED is seriously broken.
> In dev_close we are waiting for any outstanding poll to terminate but
> the same bit can either mean an outstanding poll or that poll has
> been disabled.

that seems more likely

> It's a surprise that it has taken so many years for someone to report
> a bug on it.  I'll try to get this fixed up, probably by adding a bit.

I get the feeling that a recent change exposed us to this, our lab has been 
seeing similar OOPS's yesterday out of nothing.


Auke

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

* Re: 2.6.22-rc2-mm1
  2007-05-24  7:31                   ` 2.6.22-rc2-mm1 Ingo Molnar
@ 2007-05-24 16:40                     ` Christoph Lameter
  2007-05-24 21:20                     ` 2.6.22-rc2-mm1 Christoph Lameter
  1 sibling, 0 replies; 104+ messages in thread
From: Christoph Lameter @ 2007-05-24 16:40 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Randy Dunlap, Andrew Morton, Michal Piotrowski, linux-kernel

On Thu, 24 May 2007, Ingo Molnar wrote:

> 
> when constructing debug output it's a good idea to make it as 
> 'context-free' as possible. I.e. instead of saying 'Filler' and 
> explaining it somewhere in Documentation/*, just say:
> 
>   Expected memory values at 0xc90f6d50:  5a 5a 5a 5a 5a 5a 5a 5a
>   ... but found the following values:    12 34 56 78 90 12 34 56

Meaning just print the corrupted values? Otherwise the text will take up 
a lot of real estate and will make it impossible to view the actual object 
contents.

I think I can skip the filler etc if its not corrupted. Maybe that will 
help?


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

* Re: 2.6.22-rc2-mm1
  2007-05-24  7:31                   ` 2.6.22-rc2-mm1 Ingo Molnar
  2007-05-24 16:40                     ` 2.6.22-rc2-mm1 Christoph Lameter
@ 2007-05-24 21:20                     ` Christoph Lameter
  2007-05-24 21:29                       ` 2.6.22-rc2-mm1 Andrew Morton
  1 sibling, 1 reply; 104+ messages in thread
From: Christoph Lameter @ 2007-05-24 21:20 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Randy Dunlap, Andrew Morton, Michal Piotrowski, linux-kernel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2328 bytes --]

On Thu, 24 May 2007, Ingo Molnar wrote:

> please also put in one of the keywords as the first word of whatever 
> SLUB prints:

I modified the reports as you suggested. Here is a sample:

BUG kmalloc-512: Redzone corrupted. Expected 0xbb at 0xffff81000208f8c0 but found 0xab
INFO: Last alloc: slab_sysfs_init+0x223/0x280 jiffies_ago=0 cpu=0 pid=1
INFO: Last free : slab_sysfs_init+0x22e/0x280 jiffies_ago=0 cpu=0 pid=1
INFO: Object=0xffff81000208f6c0 slab=0xffff810001071ea0 offset=14016
INFO: flags=0x4000000000002082 inuse=24 freelist=0xffff81000208f6c0
  Bytes b4 0xffff81000208f6b0:  55 db fe ff 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a UUpÿ....ZZZZZZZZ
    Object 0xffff81000208f6c0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
    Object 0xffff81000208f6d0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
    Object 0xffff81000208f6e0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
    Object 0xffff81000208f6f0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
    Object 0xffff81000208f700:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
    Object 0xffff81000208f710:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
    Object 0xffff81000208f720:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
    Object 0xffff81000208f730:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
   Redzone 0xffff81000208f8c0:  ab bb bb bb bb bb bb bb                         «»»»»»»»
FreePointer 0xffff81000208f8c8 -> 0xffff81000208f908
    Filler 0xffff81000208f900:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ

Call Trace:
 [<ffffffff8026d3aa>] check_bytes_and_report+0x7a/0xc0
 [<ffffffff8026d653>] check_object+0x63/0x260
 [<ffffffff8026fde4>] validate_slab+0x104/0x1b0
 [<ffffffff8026fea9>] validate_slab_slab+0x19/0x70
 [<ffffffff8026ff56>] validate_slab_cache+0x56/0x110
 [<ffffffff805d25ae>] slab_sysfs_init+0x24e/0x280
 [<ffffffff805c3624>] kernel_init+0xb4/0x290
 [<ffffffff8020a218>] child_rip+0xa/0x12
 [<ffffffff8038de48>] acpi_ds_init_one_object+0x0/0x7c
 [<ffffffff805c3570>] kernel_init+0x0/0x290
 [<ffffffff8020a20e>] child_rip+0x0/0x12

FIX kmalloc-512: Restoring Redzone (0xbb) from 0xffff81000208f8c0-0xffff81000208f8c7

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

* Re: 2.6.22-rc2-mm1
  2007-05-24 21:20                     ` 2.6.22-rc2-mm1 Christoph Lameter
@ 2007-05-24 21:29                       ` Andrew Morton
  2007-05-24 21:55                         ` 2.6.22-rc2-mm1 Randy Dunlap
  0 siblings, 1 reply; 104+ messages in thread
From: Andrew Morton @ 2007-05-24 21:29 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Ingo Molnar, Randy Dunlap, Michal Piotrowski, linux-kernel

On Thu, 24 May 2007 14:20:03 -0700 (PDT)
Christoph Lameter <clameter@sgi.com> wrote:

>   Bytes b4 0xffff81000208f6b0:  55 db fe ff 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a UUpÿ....ZZZZZZZZ
>     Object 0xffff81000208f6c0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
>     Object 0xffff81000208f6d0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
>     Object 0xffff81000208f6e0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
>     Object 0xffff81000208f6f0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
>     Object 0xffff81000208f700:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
>     Object 0xffff81000208f710:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
>     Object 0xffff81000208f720:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
>     Object 0xffff81000208f730:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
>    Redzone 0xffff81000208f8c0:  ab bb bb bb bb bb bb bb                         «»»»»»»»

can we do this with lib/hexdump.c rather than having a private implementation
in slub?

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

* Re: 2.6.22-rc2-mm1
  2007-05-24 21:29                       ` 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-24 21:55                         ` Randy Dunlap
  2007-05-24 22:35                           ` 2.6.22-rc2-mm1 Christoph Lameter
  0 siblings, 1 reply; 104+ messages in thread
From: Randy Dunlap @ 2007-05-24 21:55 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Christoph Lameter, Ingo Molnar, Michal Piotrowski, linux-kernel

On Thu, 24 May 2007 14:29:08 -0700 Andrew Morton wrote:

> On Thu, 24 May 2007 14:20:03 -0700 (PDT)
> Christoph Lameter <clameter@sgi.com> wrote:
> 
> >   Bytes b4 0xffff81000208f6b0:  55 db fe ff 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a UUpÿ....ZZZZZZZZ
> >     Object 0xffff81000208f6c0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> >     Object 0xffff81000208f6d0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> >     Object 0xffff81000208f6e0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> >     Object 0xffff81000208f6f0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> >     Object 0xffff81000208f700:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> >     Object 0xffff81000208f710:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> >     Object 0xffff81000208f720:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> >     Object 0xffff81000208f730:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> >    Redzone 0xffff81000208f8c0:  ab bb bb bb bb bb bb bb                         «»»»»»»»
> 
> can we do this with lib/hexdump.c rather than having a private implementation
> in slub?

This is pretty-printing.  and creature-feep.
But lib/hexdump.c can probably do this if we add a "prefix/tag" string
parameter to it.

Hugh D. wants it to print 32-bit quantities, not just bytes.
Yet another parameter.

I'll look into these unless Christoph et al does so first.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: 2.6.22-rc2-mm1
  2007-05-24 21:55                         ` 2.6.22-rc2-mm1 Randy Dunlap
@ 2007-05-24 22:35                           ` Christoph Lameter
  2007-05-24 22:53                             ` 2.6.22-rc2-mm1 Andrew Morton
                                               ` (2 more replies)
  0 siblings, 3 replies; 104+ messages in thread
From: Christoph Lameter @ 2007-05-24 22:35 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, Ingo Molnar, Michal Piotrowski, linux-kernel

On Thu, 24 May 2007, Randy Dunlap wrote:

> This is pretty-printing.  and creature-feep.
> But lib/hexdump.c can probably do this if we add a "prefix/tag" string
> parameter to it.
> 
> Hugh D. wants it to print 32-bit quantities, not just bytes.
> Yet another parameter.
> 
> I'll look into these unless Christoph et al does so first.

I'd appreciate if you could do this. I just added a call to the function 
in hexdump.c and got this ugly output. I think we need

1. byte output

2. A way to specify the width of the description.


BUG kmalloc-16: Redzone corrupted. Expected 0xcc at 0xffff81000235ff30 but 
found 0x12
INFO: Last alloc: slab_sysfs_init+0xe1/0x280 jiffies_ago=0 cpu=0 pid=1
INFO: Object=0xffff81000235ff20 slab=0xffff81000107bcc8 offset=3872
INFO: flags=0x4000000000000082 inuse=45 freelist=0xffff81000235ff78
Bytes b4ffff81000235ff10: 00000000 00000000 5a5a5a5a 5a5a5a5a  ........ZZZZZZZZ
Objectffff81000235ff20: 00000000 00000000 00000000 00000000  ................
Redzoneffff81000235ff30: 12cccccc cccccccc  .IIIIIII
FreePointer 0xffff81000235ff38 -> 0xffff81000235ff78
Fillerffff81000235ff70: 5a5a5a5a 5a5a5a5a  ZZZZZZZZ

Call Trace:
 [<ffffffff8026d2af>] check_bytes_and_report+0x7f/0xe0
 [<ffffffff8026d573>] check_object+0x63/0x260
 [<ffffffff8026fd75>] validate_slab+0x175/0x1b0
 [<ffffffff8026fdc9>] validate_slab_slab+0x19/0x70
 [<ffffffff8026fe76>] validate_slab_cache+0x56/0x110
 [<ffffffff805d2466>] slab_sysfs_init+0x106/0x280
 [<ffffffff805c3624>] kernel_init+0xb4/0x290
 [<ffffffff8020a218>] child_rip+0xa/0x12
 [<ffffffff8038dd68>] acpi_ds_init_one_object+0x0/0x7c
 [<ffffffff805c3570>] kernel_init+0x0/0x290
 [<ffffffff8020a20e>] child_rip+0x0/0x12

FIX kmalloc-16: Restoring Redzone (0xcc) from 0xffff81000235ff30-0xffff81000235ff30



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

* Re: 2.6.22-rc2-mm1
  2007-05-24 22:35                           ` 2.6.22-rc2-mm1 Christoph Lameter
@ 2007-05-24 22:53                             ` Andrew Morton
  2007-05-30 21:34                             ` [PATCH 1/3] hexdump: more output formatting Randy Dunlap
  2007-05-30 21:34                             ` [PATCH 2/3 -mm] slub: use lib/hexdump Randy Dunlap
  2 siblings, 0 replies; 104+ messages in thread
From: Andrew Morton @ 2007-05-24 22:53 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Randy Dunlap, Ingo Molnar, Michal Piotrowski, linux-kernel

On Thu, 24 May 2007 15:35:45 -0700 (PDT)
Christoph Lameter <clameter@sgi.com> wrote:

> > This is pretty-printing.  and creature-feep.
> > But lib/hexdump.c can probably do this if we add a "prefix/tag" string
> > parameter to it.
> > 
> > Hugh D. wants it to print 32-bit quantities, not just bytes.
> > Yet another parameter.
> > 
> > I'll look into these unless Christoph et al does so first.
> 
> I'd appreciate if you could do this. I just added a call to the function 
> in hexdump.c and got this ugly output. I think we need
> 
> 1. byte output

yup.  Obviously a suitable implementation would then permit 1-byte,2-byte,3-byte,etc
output.

> 2. A way to specify the width of the description.

Maybe not.  The caller could just ensure that the preamble strings are
all of the same length:

	hexdump("Bytes   ", ...);
	hexdump("Object  ", ...);
	hexdump("Redzone ", ...);


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

* Re: 2.6.22-rc2-mm1
       [not found]     ` <1180058760.7001.6.camel@oberon.rnd.esoft.com>
@ 2007-05-25  7:23       ` Jiri Kosina
  0 siblings, 0 replies; 104+ messages in thread
From: Jiri Kosina @ 2007-05-25  7:23 UTC (permalink / raw)
  To: Zan Lynx, Alan Stern, Andrew Morton; +Cc: linux-kernel

On Thu, 24 May 2007, Zan Lynx wrote:

> [snip]
> > Do you please have any indication which kernel versions were OK with the 
> > same .config, with respect to the USB mouse/keyboard hogs you are seeing 
> > with 2.6.22-rc2-mm1?
> The last 2.6.21 -mm kernel worked well.
[...]
> drivers/hid/usbhid/hid-core.c: input irq status -75 received

Zan,

this has been reported also in bugzilla, so it's now handled in 
http://bugzilla.kernel.org/show_bug.cgi?id=8535

It's reported there that mainline is OK, and there are realy very few 
patches in the HID area which I can't imagine how they could be causing 
it, they are only a few simple quirks for a specific hardware.

Could you please try the following things in this order:

- disable CONFIG_HIDRAW and test whether it is still reproducible
- revert git-hid.patch and test whether it is still reproducible
- if so, I am afraid that it's some USB patch that is causing this, so 
  bisecting would be needed

I will meanwhile try to reproduce it myself here, but I have not been 
successful with it so far.

Thanks,

-- 
Jiri Kosina

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

* Re: rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1)
  2007-05-24 14:44       ` Kok, Auke
@ 2007-05-25 12:54         ` Herbert Xu
  2007-05-25 13:04           ` Herbert Xu
  0 siblings, 1 reply; 104+ messages in thread
From: Herbert Xu @ 2007-05-25 12:54 UTC (permalink / raw)
  To: Kok, Auke; +Cc: Jeremy Fitzhardinge, Andrew Morton, Linux Kernel Mailing List

On Thu, May 24, 2007 at 07:44:29AM -0700, Kok, Auke wrote:
>
> I get the feeling that a recent change exposed us to this, our lab has been 
> seeing similar OOPS's yesterday out of nothing.

Yep you're right.  It was the change where we removed the
netif_poll_enable call from e1000_open.  The problem is that
e1000_close calls e1000_down which in turn calls netif_poll_disable.
That means the next e1000_open won't reenable polling and the
dev_close (or in fact any call to netif_poll_disable) after that
will hang.

In fact my original premise is completely wrong since netif_poll_enable
can be safely called from dev_open *if* you can guarantee that no polls
have already been scheduled.

This should be the case as long as we keep IRQs disabled before
netif_poll_enable.  So the problem is that somehow we're getting
into e1000_open with IRQs enabled on the NIC which then causes a
poll to be scheduled before the call to netif_poll_enable.

So please revert my patch.

We need to find out why we're getting IRQs before calling
e1000_irq_enable in e1000_open.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

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

* Re: rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1)
  2007-05-25 12:54         ` Herbert Xu
@ 2007-05-25 13:04           ` Herbert Xu
  2007-05-25 13:32             ` Herbert Xu
  0 siblings, 1 reply; 104+ messages in thread
From: Herbert Xu @ 2007-05-25 13:04 UTC (permalink / raw)
  To: Kok, Auke; +Cc: Jeremy Fitzhardinge, Andrew Morton, Linux Kernel Mailing List

On Fri, May 25, 2007 at 10:54:13PM +1000, Herbert Xu wrote:
> 
> So please revert my patch.
> 
> We need to find out why we're getting IRQs before calling
> e1000_irq_enable in e1000_open.

In the mean time this should be a safe fix.  This is against
the current mainline tree.

[E1000]: Call netif_poll_enable in e1000_open

This restores the previously removed netif_poll_enable call in
e1000_open.  It's needed on all but the first call to e1000_open
for a NIC as e1000_close always calls netif_poll_disable.

netif_poll_enable can only be called safely if no polls have been
scheduled.  This should be the case as long as we don't enter our
IRQ handler.  Just in case someone has left IRQs enabled, we call
this before the IRQ handler is installed.

Of course we should really make sure that IRQs are disabled as
early as possible, i.e., when we're still in the probe routine.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index cbc7feb..d91a378 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -1424,6 +1424,10 @@ e1000_open(struct net_device *netdev)
 	 * clean_rx handler before we do so.  */
 	e1000_configure(adapter);
 
+#ifdef CONFIG_E1000_NAPI
+	netif_poll_enable(netdev);
+#endif
+
 	err = e1000_request_irq(adapter);
 	if (err)
 		goto err_req_irq;

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

* Re: rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1)
  2007-05-25 13:04           ` Herbert Xu
@ 2007-05-25 13:32             ` Herbert Xu
  2007-05-25 22:12               ` Kok, Auke
  0 siblings, 1 reply; 104+ messages in thread
From: Herbert Xu @ 2007-05-25 13:32 UTC (permalink / raw)
  To: Kok, Auke; +Cc: Jeremy Fitzhardinge, Andrew Morton, Linux Kernel Mailing List

On Fri, May 25, 2007 at 11:04:04PM +1000, Herbert Xu wrote:
> 
> [E1000]: Call netif_poll_enable in e1000_open

Here is a better one.

[E1000]: Restore netif_poll_enable call but make sure IRQs are off

This restores the previously removed netif_poll_enable call in
e1000_open.  It's needed on all but the first call to e1000_open
for a NIC as e1000_close always calls netif_poll_disable.

netif_poll_enable can only be called safely if no polls have been
scheduled.  This should be the case as long as we don't enter our
IRQ handler.

In order to guarantee this we explicitly disable IRQs as early
as possible when we're probing the NIC.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index cbc7feb..9ec35b7 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -1325,7 +1325,10 @@ e1000_sw_init(struct e1000_adapter *adapter)
 	spin_lock_init(&adapter->tx_queue_lock);
 #endif
 
-	atomic_set(&adapter->irq_sem, 1);
+	/* Explicitly disable IRQ since the NIC can be in any state. */
+	atomic_set(&adapter->irq_sem, 0);
+	e1000_irq_disable(adapter);
+
 	spin_lock_init(&adapter->stats_lock);
 
 	set_bit(__E1000_DOWN, &adapter->flags);
@@ -1431,6 +1434,10 @@ e1000_open(struct net_device *netdev)
 	/* From here on the code is the same as e1000_up() */
 	clear_bit(__E1000_DOWN, &adapter->flags);
 
+#ifdef CONFIG_E1000_NAPI
+	netif_poll_enable(netdev);
+#endif
+
 	e1000_irq_enable(adapter);
 
 	/* fire a link status change interrupt to start the watchdog */

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

* idle=poll burns my box [was Re: 2.6.22-rc2-mm1]
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (9 preceding siblings ...)
  2007-05-24 10:36 ` rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1) Jeremy Fitzhardinge
@ 2007-05-25 21:20 ` J.A. Magallón
  2007-05-25 21:52   ` Andrew Morton
  2007-05-26 15:59 ` 2.6.22-rc2-mm1 Tilman Schmidt
                   ` (2 subsequent siblings)
  13 siblings, 1 reply; 104+ messages in thread
From: J.A. Magallón @ 2007-05-25 21:20 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Wed, 23 May 2007 00:42:33 -0700, Andrew Morton <akpm@linux-foundation.org> wrote:

> 
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> 

Don't know if it's specific to this kernel, but as I have realized it now...

I booted with idle=poll to check some issues (with nvidia driver, btw).
And suddenly I noticed my box was running near 80ºC hot.
I pulled out the lid, an try to see what happened.

In short, idle=poll rises the temperature about 20ºC.
I have an ASUS PC-DL mobo, with a couple Xeon Northwood with HypertThreading
at 2.4 GHz, for a total of 4 threads.

If I boot the box with idle=poll, and let it doing _nothing_ but staring at
the gnome desktop, I get this temperatures:
(Time,VRM,CPU0,CPU1) (wihtout the side cover, remember...)

15:46 64 56 54
15:55 70 60 56
16:02 71 62 57

If I reboot without idle=poll, the box colds quickly:

16:07 58 52 48
16:12 50 43 42
16:15 49 42 41

I I put the box to do some multithreaded render, so all four cores stay
above 98% usage, the box warms again:

16:17 51 43 42
16:24 67 57 54
16:28 70 60 56
16:30 72 61 57
16:37 72 61 56

And as soon as I stop the work, it colds again:

16:41 71 60 56
16:42 64 56 52
16:43 60 54 50
16:45 55 48 46
16:46 53 46 44

Left alone for awhile, it stays at 46 39 39 (for VRM and both CPUs, as I said).

Is idle=poll a quick and dirty way to burn your box in flames ?
To warm your cpu doing nothing ?
Summer is coming, but this...

Any ideas ?

--
J.A. Magallon <jamagallon()ono!com>     \               Software is like sex:
                                         \         It's better when it's free
Mandriva Linux release 2008.0 (Cooker) for i586
Linux 2.6.21-jam03 (gcc 4.1.2 20070302 (4.1.2-1mdv2007.1)) SMP PREEMPT
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

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

* Re: idle=poll burns my box [was Re: 2.6.22-rc2-mm1]
  2007-05-25 21:20 ` idle=poll burns my box [was Re: 2.6.22-rc2-mm1] J.A. Magallón
@ 2007-05-25 21:52   ` Andrew Morton
  0 siblings, 0 replies; 104+ messages in thread
From: Andrew Morton @ 2007-05-25 21:52 UTC (permalink / raw)
  To: "J.A. Magallón"; +Cc: linux-kernel

On Fri, 25 May 2007 23:20:25 +0200 "J.A. Magallón" <jamagallon@ono.com> wrote:

> Is idle=poll a quick and dirty way to burn your box in flames ?

yep ;)  It makes the CPU(s) busy-wait when they have nothing else to do.

It was originally added as a thing to maybe save a few cycles of latency
in responding to interrupts.  It's now useful as a trick to prevent oprofile
from producing confusing numbers.  I don't think it has any other uses.

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

* Re: rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1)
  2007-05-25 13:32             ` Herbert Xu
@ 2007-05-25 22:12               ` Kok, Auke
  2007-05-25 23:48                 ` Jeff Garzik
  0 siblings, 1 reply; 104+ messages in thread
From: Kok, Auke @ 2007-05-25 22:12 UTC (permalink / raw)
  To: Herbert Xu
  Cc: Jeremy Fitzhardinge, Andrew Morton, Linux Kernel Mailing List,
	linux-net, Jeff Garzik

Herbert Xu wrote:
> On Fri, May 25, 2007 at 11:04:04PM +1000, Herbert Xu wrote:
>> [E1000]: Call netif_poll_enable in e1000_open
> 
> Here is a better one.
> 
> [E1000]: Restore netif_poll_enable call but make sure IRQs are off
> 
> This restores the previously removed netif_poll_enable call in
> e1000_open.  It's needed on all but the first call to e1000_open
> for a NIC as e1000_close always calls netif_poll_disable.
> 
> netif_poll_enable can only be called safely if no polls have been
> scheduled.  This should be the case as long as we don't enter our
> IRQ handler.
> 
> In order to guarantee this we explicitly disable IRQs as early
> as possible when we're probing the NIC.
> 
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Ack!

this also fixes all the issues we had seen ourselves. I took a bit of time to 
get our labs to test it.

Who can pick this patch up for us? Jeff ?

Auke

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

* Re: rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1)
  2007-05-25 22:12               ` Kok, Auke
@ 2007-05-25 23:48                 ` Jeff Garzik
  2007-05-26  0:10                   ` Herbert Xu
  0 siblings, 1 reply; 104+ messages in thread
From: Jeff Garzik @ 2007-05-25 23:48 UTC (permalink / raw)
  To: Kok, Auke
  Cc: Herbert Xu, Jeremy Fitzhardinge, Andrew Morton,
	Linux Kernel Mailing List, linux-net

Kok, Auke wrote:
> Herbert Xu wrote:
>> On Fri, May 25, 2007 at 11:04:04PM +1000, Herbert Xu wrote:
>>> [E1000]: Call netif_poll_enable in e1000_open
>>
>> Here is a better one.
>>
>> [E1000]: Restore netif_poll_enable call but make sure IRQs are off
>>
>> This restores the previously removed netif_poll_enable call in
>> e1000_open.  It's needed on all but the first call to e1000_open
>> for a NIC as e1000_close always calls netif_poll_disable.
>>
>> netif_poll_enable can only be called safely if no polls have been
>> scheduled.  This should be the case as long as we don't enter our
>> IRQ handler.
>>
>> In order to guarantee this we explicitly disable IRQs as early
>> as possible when we're probing the NIC.
>>
>> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
> 
> Ack!
> 
> this also fixes all the issues we had seen ourselves. I took a bit of 
> time to get our labs to test it.
> 
> Who can pick this patch up for us? Jeff ?

Is this for -stable or upstream?  I got confused with all the patches 
flying about.

Send it to me, if it's for upstream.

	Jeff




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

* Re: rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1)
  2007-05-25 23:48                 ` Jeff Garzik
@ 2007-05-26  0:10                   ` Herbert Xu
  0 siblings, 0 replies; 104+ messages in thread
From: Herbert Xu @ 2007-05-26  0:10 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Kok, Auke, Jeremy Fitzhardinge, Andrew Morton,
	Linux Kernel Mailing List, linux-net

On Fri, May 25, 2007 at 07:48:14PM -0400, Jeff Garzik wrote:
> 
> Is this for -stable or upstream?  I got confused with all the patches 
> flying about.
> 
> Send it to me, if it's for upstream.

It's for upstream.  Once you take then I'll rediff it for stable.

[E1000]: Restore netif_poll_enable call but make sure IRQs are off

This restores the previously removed netif_poll_enable call in
e1000_open.  It's needed on all but the first call to e1000_open
for a NIC as e1000_close always calls netif_poll_disable.

netif_poll_enable can only be called safely if no polls have been
scheduled.  This should be the case as long as we don't enter our
IRQ handler.

In order to guarantee this we explicitly disable IRQs as early
as possible when we're probing the NIC.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index cbc7feb..9ec35b7 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -1325,7 +1325,10 @@ e1000_sw_init(struct e1000_adapter *adapter)
 	spin_lock_init(&adapter->tx_queue_lock);
 #endif
 
-	atomic_set(&adapter->irq_sem, 1);
+	/* Explicitly disable IRQ since the NIC can be in any state. */
+	atomic_set(&adapter->irq_sem, 0);
+	e1000_irq_disable(adapter);
+
 	spin_lock_init(&adapter->stats_lock);
 
 	set_bit(__E1000_DOWN, &adapter->flags);
@@ -1431,6 +1434,10 @@ e1000_open(struct net_device *netdev)
 	/* From here on the code is the same as e1000_up() */
 	clear_bit(__E1000_DOWN, &adapter->flags);
 
+#ifdef CONFIG_E1000_NAPI
+	netif_poll_enable(netdev);
+#endif
+
 	e1000_irq_enable(adapter);
 
 	/* fire a link status change interrupt to start the watchdog */

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

* Re: 2.6.22-rc2-mm1
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (10 preceding siblings ...)
  2007-05-25 21:20 ` idle=poll burns my box [was Re: 2.6.22-rc2-mm1] J.A. Magallón
@ 2007-05-26 15:59 ` Tilman Schmidt
  2007-05-26 16:01   ` 2.6.22-rc2-mm1 Andrew Morton
  2007-05-28 10:27 ` 2.6.22-rc2-mm1 - a different BUG: at mm/slab.c:777 __find_general_cachep() Valdis.Kletnieks
  2007-05-29  4:22 ` 2.6.22-rc2-mm1: SLUB Randy Dunlap
  13 siblings, 1 reply; 104+ messages in thread
From: Tilman Schmidt @ 2007-05-26 15:59 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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

Am 23.05.2007 09:42 schrieb Andrew Morton:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/

This breaks network initialization on my SuSE 10.0 box once
again although I compiled with CONFIG_SYSFS_DEPRECATED=y.
Acquisition of the IP address via DHCP times out.
Manual start (rcnetwork restart) doesn't help either.

I'll start bisecting as soon as the machine is free.

-- 
Tilman Schmidt                          E-Mail: tilman@imap.cc
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Ungeöffnet mindestens haltbar bis: (siehe Rückseite)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 253 bytes --]

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

* Re: 2.6.22-rc2-mm1
  2007-05-26 15:59 ` 2.6.22-rc2-mm1 Tilman Schmidt
@ 2007-05-26 16:01   ` Andrew Morton
  2007-05-27 22:16     ` 2.6.22-rc2-mm1 Tilman Schmidt
  0 siblings, 1 reply; 104+ messages in thread
From: Andrew Morton @ 2007-05-26 16:01 UTC (permalink / raw)
  To: Tilman Schmidt; +Cc: linux-kernel

On Sat, 26 May 2007 17:59:15 +0200 Tilman Schmidt <tilman@imap.cc> wrote:

> Am 23.05.2007 09:42 schrieb Andrew Morton:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> 
> This breaks network initialization on my SuSE 10.0 box once
> again although I compiled with CONFIG_SYSFS_DEPRECATED=y.
> Acquisition of the IP address via DHCP times out.
> Manual start (rcnetwork restart) doesn't help either.
> 
> I'll start bisecting as soon as the machine is free.

Thanks.  I think others have seen similar things and it was attributed to
driver-core-check-return-code-of-sysfs_create_link.patch.

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

* Re: 2.6.22-rc2-mm1
  2007-05-26 16:01   ` 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-27 22:16     ` Tilman Schmidt
  2007-05-27 22:41       ` 2.6.22-rc2-mm1 Kay Sievers
  0 siblings, 1 reply; 104+ messages in thread
From: Tilman Schmidt @ 2007-05-27 22:16 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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

Am 26.05.2007 18:01 schrieb Andrew Morton:
> On Sat, 26 May 2007 17:59:15 +0200 Tilman Schmidt <tilman@imap.cc> wrote:

>> This breaks network initialization on my SuSE 10.0 box [...]
> 
> Thanks.  I think others have seen similar things and it was attributed to
> driver-core-check-return-code-of-sysfs_create_link.patch.

That's it. After reverting that patch, the Ethernet interface
comes up fine again.

Thanks,
Tilman

-- 
Tilman Schmidt                          E-Mail: tilman@imap.cc
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Ungeöffnet mindestens haltbar bis: (siehe Rückseite)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 253 bytes --]

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

* Re: 2.6.22-rc2-mm1
  2007-05-27 22:16     ` 2.6.22-rc2-mm1 Tilman Schmidt
@ 2007-05-27 22:41       ` Kay Sievers
  2007-05-28 17:22         ` 2.6.22-rc2-mm1 Cornelia Huck
  2007-05-29  7:25         ` 2.6.22-rc2-mm1 Cornelia Huck
  0 siblings, 2 replies; 104+ messages in thread
From: Kay Sievers @ 2007-05-27 22:41 UTC (permalink / raw)
  To: Tilman Schmidt; +Cc: Andrew Morton, linux-kernel, Cornelia Huck, Greg KH

On 5/28/07, Tilman Schmidt <tilman@imap.cc> wrote:
> Am 26.05.2007 18:01 schrieb Andrew Morton:
> > On Sat, 26 May 2007 17:59:15 +0200 Tilman Schmidt <tilman@imap.cc> wrote:
>
> >> This breaks network initialization on my SuSE 10.0 box [...]
> >
> > Thanks.  I think others have seen similar things and it was attributed to
> > driver-core-check-return-code-of-sysfs_create_link.patch.
>
> That's it. After reverting that patch, the Ethernet interface
> comes up fine again.

Cornelia,
in the patch is:
  +	if (dev->kobj.parent == &dev->class->subsys.kobj)
  +		return 0;

which will skip the creation of the "device"-link, right?

But still, I don't think the transaction-style of error handling is
what we want, it's for some critical subsystems the equivalent of
adding PANIC(), and this just for a failing symlink-creation. I think
we just want to print the to the logs, and not let the whole core
device registration fail entirely.

Thanks,
Kay

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

* Re: 2.6.22-rc2-mm1 - a different BUG: at mm/slab.c:777 __find_general_cachep()
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (11 preceding siblings ...)
  2007-05-26 15:59 ` 2.6.22-rc2-mm1 Tilman Schmidt
@ 2007-05-28 10:27 ` Valdis.Kletnieks
  2007-05-28 10:43   ` Pekka Enberg
  2007-05-29  4:22 ` 2.6.22-rc2-mm1: SLUB Randy Dunlap
  13 siblings, 1 reply; 104+ messages in thread
From: Valdis.Kletnieks @ 2007-05-28 10:27 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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

On Wed, 23 May 2007 00:42:33 PDT, Andrew Morton said:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/

Dell Latitude D820 laptop, Intel T7200 dual-core, x86_64 kernel.

Does something wonky during very early boot, before userspace has started:

[4294667.471000] Intel(R) Core(TM)2 CPU         T7200  @ 2.00GHz stepping 06
[4294667.471000] Brought up 2 CPUs 
[4294667.471000] NET: Registered protocol family 16
[4294667.472000] ACPI: ACPI Dock Station Driver
[4294667.472000] ACPI: bus type pci registered
[4294667.472000] BUG: at mm/slab.c:777 __find_general_cachep()
[4294667.472000] 
[4294667.472000] Call Trace:
[4294667.472000]  [<ffffffff8020b2a8>] dump_trace+0xca/0x3cb
[4294667.472000]  [<ffffffff8020b5e5>] show_trace+0x3c/0x52
[4294667.472000]  [<ffffffff8020b610>] dump_stack+0x15/0x17
[4294667.472000]  [<ffffffff8028952e>] __kmalloc+0x41/0xb2
[4294667.472000]  [<ffffffff8042c450>] get_modalias+0x6c/0x107 
[4294667.472000]  [<ffffffff8042c520>] dmi_dev_uevent+0x35/0x4d
[4294667.472000]  [<ffffffff803b7d5f>] dev_uevent+0x19b/0x1d1
[4294667.472000]  [<ffffffff8034bd3c>] kobject_uevent_env+0x244/0x477
[4294667.472000]  [<ffffffff8034bf7a>] kobject_uevent+0xb/0xd
[4294667.472000]  [<ffffffff803b7971>] device_add+0x2b5/0x4eb
[4294667.472000]  [<ffffffff803b7bc0>] device_register+0x19/0x1d 
[4294667.472000]  [<ffffffff807dd71a>] dmi_id_init+0x2d1/0x2e9
[4294667.472000]  [<ffffffff807c1651>] kernel_init+0x168/0x2da
[4294667.472000]  [<ffffffff8020acd8>] child_rip+0xa/0x12
[4294667.472000] 
[4294667.473000] PCI: Using MMCONFIG at f0000000 - f3ffffff 
[4294667.489000] ACPI: SSDT 7FE819CE, 0043 (r1  LMPWR  DELLLOM     1001 INTL 20050624)

Any suggestions before I go doing the bisect shuffle?

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

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

* Re: 2.6.22-rc2-mm1 - a different BUG: at mm/slab.c:777 __find_general_cachep()
  2007-05-28 10:27 ` 2.6.22-rc2-mm1 - a different BUG: at mm/slab.c:777 __find_general_cachep() Valdis.Kletnieks
@ 2007-05-28 10:43   ` Pekka Enberg
  2007-05-28 11:12     ` Valdis.Kletnieks
  0 siblings, 1 reply; 104+ messages in thread
From: Pekka Enberg @ 2007-05-28 10:43 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: Andrew Morton, linux-kernel

On 5/28/07, Valdis.Kletnieks@vt.edu <Valdis.Kletnieks@vt.edu> wrote:
> [4294667.472000] BUG: at mm/slab.c:777 __find_general_cachep()

[snip]

> Any suggestions before I go doing the bisect shuffle?

It's complaining about a kmalloc() with size zero. The warning is new
and harmless for now, so no need to bisect this (it will point you at
the mm/slab.c change by Christoph Lameter).

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

* Re: 2.6.22-rc2-mm1 - a different BUG: at mm/slab.c:777 __find_general_cachep()
  2007-05-28 10:43   ` Pekka Enberg
@ 2007-05-28 11:12     ` Valdis.Kletnieks
  0 siblings, 0 replies; 104+ messages in thread
From: Valdis.Kletnieks @ 2007-05-28 11:12 UTC (permalink / raw)
  To: Pekka Enberg; +Cc: Andrew Morton, linux-kernel

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

On Mon, 28 May 2007 13:43:12 +0300, Pekka Enberg said:
> On 5/28/07, Valdis.Kletnieks@vt.edu <Valdis.Kletnieks@vt.edu> wrote:
> > [4294667.472000] BUG: at mm/slab.c:777 __find_general_cachep()
> 
> [snip]
> 
> > Any suggestions before I go doing the bisect shuffle?
> 
> It's complaining about a kmalloc() with size zero. The warning is new
> and harmless for now, so no need to bisect this (it will point you at
> the mm/slab.c change by Christoph Lameter).

I knew *that* part.  Closer look at drivers/firmware/dmi-id.c indicates that
it's likely a busticated DMI field in my BIOS - looking around at the stuff in
/sys/devices/virtual/dmi/id I found that the files product_version, board_version
board_asset_tag, chassis_version, and chassis_asset_tag are empty (trying
to 'cat' them gets just a \n) - the other values all look sane.

This looks fishy:

#define ADD_DMI_ATTR(_name, _field)         if (dmi_get_system_info(_field))                 sys_dmi_attributes[i++] = & sys_dmi_##_name##_attr.attr;

Should that be making a check that it's not pointing at a null string?


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

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

* Re: 2.6.22-rc2-mm1
  2007-05-27 22:41       ` 2.6.22-rc2-mm1 Kay Sievers
@ 2007-05-28 17:22         ` Cornelia Huck
  2007-05-29  7:56           ` 2.6.22-rc2-mm1 Kay Sievers
  2007-05-29  7:25         ` 2.6.22-rc2-mm1 Cornelia Huck
  1 sibling, 1 reply; 104+ messages in thread
From: Cornelia Huck @ 2007-05-28 17:22 UTC (permalink / raw)
  To: Kay Sievers; +Cc: Tilman Schmidt, Andrew Morton, linux-kernel, Greg KH

On Mon, 28 May 2007 00:41:19 +0200,
"Kay Sievers" <kay.sievers@vrfy.org> wrote:

> Cornelia,
> in the patch is:
>   +	if (dev->kobj.parent == &dev->class->subsys.kobj)
>   +		return 0;
> 
> which will skip the creation of the "device"-link, right?

Uh, looking at the code again, this doesn't seem to be what I wanted :(

> But still, I don't think the transaction-style of error handling is
> what we want, it's for some critical subsystems the equivalent of
> adding PANIC(), and this just for a failing symlink-creation. I think
> we just want to print the to the logs, and not let the whole core
> device registration fail entirely.

Hm, but failure to create a symlink usually signifies something's really
wrong (no memory, or an object is there which shouldn't)?

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

* Re: 2.6.22-rc2-mm1: SLUB
  2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
                   ` (12 preceding siblings ...)
  2007-05-28 10:27 ` 2.6.22-rc2-mm1 - a different BUG: at mm/slab.c:777 __find_general_cachep() Valdis.Kletnieks
@ 2007-05-29  4:22 ` Randy Dunlap
  2007-05-29 17:13   ` Christoph Lameter
  13 siblings, 1 reply; 104+ messages in thread
From: Randy Dunlap @ 2007-05-29  4:22 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, clameter

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

On Wed, 23 May 2007 00:42:33 -0700 Andrew Morton wrote:

> 
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc2/2.6.22-rc2-mm1/
> 
> - A new readahead patch series.  This needs serious review and performance
>   testing please.
> 
> - Added Ingo's CFS CPU scheduler
> 
> - Xen dom-U support is now in the x86 tree.

With the attached config, I cannot boot a single-proc AMD64 machine
when using SLUB.  Changing SLUB to SLAB boots OK.
When trying to boot with SLUB, I just get a blank screen, even
when I use "earlyprintk=vga,save".

Has then already been posted and I missed it.. and it's fixed?  :)
/me hopes

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

[-- Attachment #2: config-2622-rc2mm1sl --]
[-- Type: application/octet-stream, Size: 43568 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.22-rc2-mm1
# Mon May 28 21:05:33 2007
#
CONFIG_X86_64=y
CONFIG_64BIT=y
CONFIG_X86=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ZONE_DMA32=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_NR_QUICK=2
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_CMPXCHG=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_DMI=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION="slub"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SWAP_PREFETCH=y
CONFIG_SYSVIPC=y
# CONFIG_IPC_NS is not set
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
# CONFIG_TASK_XACCT is not set
# CONFIG_UTS_NS is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
# CONFIG_CPUSETS is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_RELAY=y
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROC_SMAPS=y
CONFIG_PROC_CLEAR_REFS=y
CONFIG_PROC_PAGEMAP=y
CONFIG_PROC_KPAGEMAP=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
# CONFIG_BLK_DEV_IO_TRACE is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_VSMP is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_L1_CACHE_BYTES=128
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_INTERNODE_CACHE_BYTES=128
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_HT=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_MTRR=y
CONFIG_SMP=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPT_BKL is not set
# CONFIG_NUMA is not set
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_NR_CPUS=8
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_HOTPLUG_CPU=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_START=0x200000
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_K8_NB=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_ISA_DMA_API=y
CONFIG_GENERIC_PENDING_IRQ=y

#
# Power management options
#
CONFIG_PM=y
# CONFIG_PM_LEGACY is not set
# CONFIG_PM_DEBUG is not set
# CONFIG_PM_SYSFS_DEPRECATED is not set
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION=""
CONFIG_SUSPEND_SMP=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_SLEEP_PROC_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
# CONFIG_ACPI_BAY is not set
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_SBS is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

#
# CPUFreq processor drivers
#
CONFIG_X86_POWERNOW_K8=y
CONFIG_X86_POWERNOW_K8_ACPI=y
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_ACPI_CPUFREQ=y

#
# shared options
#
# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
# CONFIG_X86_P4_CLOCKMOD is not set
# CONFIG_X86_SPEEDSTEP_LIB is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCI_DOMAINS is not set
CONFIG_PCIEPORTBUS=y
# CONFIG_PCIEAER is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_DEBUG is not set
CONFIG_HT_IRQ=y
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
CONFIG_NET_KEY=y
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
# CONFIG_INET_XFRM_MODE_BEET is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set

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

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set

#
# Wireless
#
# CONFIG_CFG80211 is not set
CONFIG_WIRELESS_EXT=y
# CONFIG_MAC80211 is not set
CONFIG_IEEE80211=y
# CONFIG_IEEE80211_DEBUG is not set
CONFIG_IEEE80211_CRYPT_WEP=y
CONFIG_IEEE80211_CRYPT_CCMP=y
# CONFIG_IEEE80211_CRYPT_TKIP is not set
CONFIG_IEEE80211_SOFTMAC=y
# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
# CONFIG_RFKILL is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
# CONFIG_PARPORT_SERIAL is not set
CONFIG_PARPORT_PC_FIFO=y
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT_1284=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=64000
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_WCACHE=y
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_MISC_STRANGE_DEV is not set
CONFIG_IDE=y
CONFIG_IDE_MAX_HWIFS=4
CONFIG_BLK_DEV_IDE=y

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

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

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
CONFIG_SCSI_PROC_FS=y

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

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

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
# CONFIG_SCSI_AIC7XXX_OLD is not set
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
CONFIG_AIC94XX_DEBUG=y
CONFIG_SCSI_ARCMSR=m
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
CONFIG_SCSI_DEBUG=m
# CONFIG_SCSI_ESP_CORE is not set
# CONFIG_SCSI_SRP is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
CONFIG_SATA_AHCI=m
# CONFIG_SATA_SVW is not set
# CONFIG_ATA_PIIX is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIL24 is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
CONFIG_SATA_VIA=m
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
# CONFIG_PATA_PLATFORM is not set
# CONFIG_MD is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_SPI is not set
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set
CONFIG_IEEE1394_SUPPORT=y
# CONFIG_FIREWIRE is not set
CONFIG_IEEE1394=m

#
# Subsystem Options
#
# CONFIG_IEEE1394_VERBOSEDEBUG is not set

#
# Controllers
#
CONFIG_IEEE1394_PCILYNX=m
CONFIG_IEEE1394_OHCI1394=m

#
# Protocols
#
CONFIG_IEEE1394_VIDEO1394=m
CONFIG_IEEE1394_SBP2=m
CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
CONFIG_IEEE1394_ETH1394=m
CONFIG_IEEE1394_DV1394=m
CONFIG_IEEE1394_RAWIO=m
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=y
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
# CONFIG_PHYLIB is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
CONFIG_B44=y
CONFIG_B44_PCI=y
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
CONFIG_E100=y
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
CONFIG_VIA_RHINE=y
CONFIG_VIA_RHINE_MMIO=y
CONFIG_VIA_RHINE_NAPI=y
# CONFIG_SC92031 is not set
# CONFIG_NET_POCKET is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
CONFIG_E1000=y
# CONFIG_E1000_NAPI is not set
# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_TIGON3=y
# CONFIG_BNX2 is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
CONFIG_NETDEV_10000=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
# CONFIG_MYRI10GE is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_MLX4_CORE is not set
# CONFIG_TR is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_RTL818X is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET_MII is not set
# CONFIG_USB_USBNET is not set
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=y
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set

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

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_PS2_ALPS is not set
# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
# CONFIG_MOUSE_PS2_SYNAPTICS is not set
# CONFIG_MOUSE_PS2_LIFEBOOK is not set
# CONFIG_MOUSE_PS2_TRACKPOINT is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
# CONFIG_INPUT_ATLAS_BTNS is not set
# CONFIG_INPUT_ATI_REMOTE is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
CONFIG_INPUT_UINPUT=y
# CONFIG_INPUT_POLLDEV is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=y
# CONFIG_GAMEPORT is not set

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

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=64
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=y
# CONFIG_TIPAR is not set
# CONFIG_IPMI_HANDLER is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_INTEL is not set
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_GEODE is not set
CONFIG_NVRAM=y
CONFIG_RTC=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=4096
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=y
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_TINY_USB is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set

#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_DS1682 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# SPI support
#
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
CONFIG_SPI_BITBANG=y
# CONFIG_SPI_BUTTERFLY is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_AT25 is not set
# CONFIG_SPI_SPIDEV is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Sonics Silicon Backplane
#
CONFIG_SSB=y
CONFIG_SSB_PCIHOST=y
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE=y

#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set

#
# Multimedia devices
#
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_VIDEO_V4L2=y
# CONFIG_VIDEO_CAPTURE_DRIVERS is not set
# CONFIG_RADIO_ADAPTERS is not set
# CONFIG_DVB_CORE is not set
# CONFIG_DAB is not set

#
# Graphics support
#
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=y

#
# Display hardware drivers
#
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
# CONFIG_FB_DDC is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_SYS_FOPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
CONFIG_FB_VESA=y
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VIDEO_SELECT=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_LOGO is not set
CONFIG_SOUND=m
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_MPU401_UART=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_GENERIC_DRIVERS=y
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PORTMAN2X4 is not set
CONFIG_SND_PCI_DRIVERS=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
CONFIG_SND_HDA_INTEL=m
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
CONFIG_SND_INTEL8X0=m
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
CONFIG_SND_VIA82XX=m
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_AC97_POWER_SAVE is not set
# CONFIG_SND_USB_DRIVERS is not set
# CONFIG_SND_SOC_DRIVERS is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m

#
# HID Devices
#
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
CONFIG_HIDRAW=y

#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT_POWERBOOK=y
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set

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

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_SPLIT_ISO=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
# CONFIG_USB_EHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_KARMA is not set
CONFIG_USB_LIBUSUAL=y

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
CONFIG_USB_MON=y

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set

#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_AIRPRIME is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
CONFIG_USB_SERIAL_BELKIN=m
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CP2101 is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_FUNSOFT is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
CONFIG_USB_SERIAL_DEBUG=m

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGET is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_GOTEMP is not set

#
# USB DSL modem support
#

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set

#
# Real Time Clock
#
# CONFIG_RTC_CLASS is not set

#
# DMA Engine support
#
# CONFIG_DMA_ENGINE is not set

#
# DMA Clients
#

#
# DMA Devices
#
# CONFIG_AUXDISPLAY is not set
# CONFIG_VIRTUALIZATION is not set

#
# Userspace I/O
#
# CONFIG_UIO is not set

#
# Firmware Drivers
#
CONFIG_EDD=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_EXT4DEV_FS=m
CONFIG_EXT4DEV_FS_XATTR=y
CONFIG_EXT4DEV_FS_POSIX_ACL=y
CONFIG_EXT4DEV_FS_SECURITY=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
CONFIG_JBD2_DEBUG=y
CONFIG_FS_MBCACHE=y
# CONFIG_REISER4_FS is not set
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
# CONFIG_REISERFS_FS_XATTR is not set
CONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not set
# CONFIG_JFS_DEBUG is not set
CONFIG_JFS_STATISTICS=y
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=m
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_SECURITY is not set
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_XFS_RT is not set
# CONFIG_GFS2_FS is not set
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_DEBUG_MASKLOG=y
CONFIG_MINIX_FS=m
CONFIG_ROMFS_FS=m
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set

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

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_RAMFS=y
CONFIG_CONFIGFS_FS=y

#
# Layered filesystems
#
# CONFIG_UNION_FS is not set

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

#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set

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

#
# Distributed Lock Manager
#
# CONFIG_DLM is not set

#
# Instrumentation Support
#
CONFIG_PROFILING=y
# CONFIG_OPROFILE is not set
CONFIG_KPROBES=y

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_UNUSED_SYMBOLS=y
# CONFIG_PAGE_OWNER is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set
CONFIG_DEBUG_LIST=y
CONFIG_FRAME_POINTER=y
# CONFIG_UNWIND_INFO is not set
# CONFIG_PROFILE_LIKELY is not set
CONFIG_FORCED_INLINING=y
# CONFIG_DEBUG_SYNCHRO_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_LKDTM is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_DEBUG_RODATA=y
CONFIG_IOMMU_DEBUG=y
# CONFIG_IOMMU_LEAK is not set
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_PCBC is not set
CONFIG_CRYPTO_LRW=y
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
# CONFIG_CRYPTO_SERPENT is not set
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=y
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
CONFIG_CRYPTO_ARC4=y
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_TEST is not set
# CONFIG_CRYPTO_HW is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
# CONFIG_LZO is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
# CONFIG_ASYNC_CORE is not set

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

* Re: 2.6.22-rc2-mm1
  2007-05-27 22:41       ` 2.6.22-rc2-mm1 Kay Sievers
  2007-05-28 17:22         ` 2.6.22-rc2-mm1 Cornelia Huck
@ 2007-05-29  7:25         ` Cornelia Huck
  2007-05-29 14:43           ` 2.6.22-rc2-mm1 Matt Mackall
  2007-05-29 16:55           ` 2.6.22-rc2-mm1 Tilman Schmidt
  1 sibling, 2 replies; 104+ messages in thread
From: Cornelia Huck @ 2007-05-29  7:25 UTC (permalink / raw)
  To: Kay Sievers
  Cc: Tilman Schmidt, Andrew Morton, linux-kernel, Greg KH, Matt Mackall

On Mon, 28 May 2007 00:41:19 +0200,
"Kay Sievers" <kay.sievers@vrfy.org> wrote:

> Cornelia,
> in the patch is:
>   +	if (dev->kobj.parent == &dev->class->subsys.kobj)
>   +		return 0;
> 
> which will skip the creation of the "device"-link, right?

...and this is certainly broken. Argl.

Could those folks that had trouble with this kernel check out whether
the following patch helps?


From: Cornelia Huck <cornelia.huck@de.ibm.com>

Fix check when to create certain symlinks (the device link and some
compatible links).

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>

---
 drivers/base/core.c |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

--- linux-2.6.orig/drivers/base/core.c
+++ linux-2.6/drivers/base/core.c
@@ -657,12 +657,12 @@ static int device_add_class_symlinks(str
 	 * If this is not a "fake" compatible device, then create the
 	 * symlink from the class to the device.
 	 */
-	if (dev->kobj.parent == &dev->class->subsys.kobj)
-		return 0;
-	error = sysfs_create_link(&dev->class->subsys.kobj, &dev->kobj,
-				  dev->bus_id);
-	if (error)
-		goto out_subsys;
+	if (dev->kobj.parent != &dev->class->subsys.kobj) {
+		error = sysfs_create_link(&dev->class->subsys.kobj, &dev->kobj,
+					  dev->bus_id);
+		if (error)
+			goto out_subsys;
+	}
 	if (dev->parent) {
 		error = sysfs_create_link(&dev->kobj, &dev->parent->kobj,
 					  "device");
@@ -689,7 +689,8 @@ out_device:
 		sysfs_remove_link(&dev->kobj, "device");
 #endif
 out_busid:
-	sysfs_remove_link(&dev->class->subsys.kobj, dev->bus_id);
+	if (dev->kobj.parent != &dev->class->subsys.kobj)
+		sysfs_remove_link(&dev->class->subsys.kobj, dev->bus_id);
 out_subsys:
 	sysfs_remove_link(&dev->kobj, "subsystem");
 out:
@@ -712,7 +713,8 @@ static void device_remove_class_symlinks
 #endif
 		sysfs_remove_link(&dev->kobj, "device");
 	}
-	sysfs_remove_link(&dev->class->subsys.kobj, dev->bus_id);
+	if (dev->kobj.parent != &dev->class->subsys.kobj)
+		sysfs_remove_link(&dev->class->subsys.kobj, dev->bus_id);
 	sysfs_remove_link(&dev->kobj, "subsystem");
 }
 

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

* Re: 2.6.22-rc2-mm1
  2007-05-28 17:22         ` 2.6.22-rc2-mm1 Cornelia Huck
@ 2007-05-29  7:56           ` Kay Sievers
  0 siblings, 0 replies; 104+ messages in thread
From: Kay Sievers @ 2007-05-29  7:56 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: Tilman Schmidt, Andrew Morton, linux-kernel, Greg KH

On Mon, 2007-05-28 at 19:22 +0200, Cornelia Huck wrote: 
> On Mon, 28 May 2007 00:41:19 +0200,
> "Kay Sievers" <kay.sievers@vrfy.org> wrote:
> 
> > Cornelia,
> > in the patch is:
> >   +	if (dev->kobj.parent == &dev->class->subsys.kobj)
> >   +		return 0;
> > 
> > which will skip the creation of the "device"-link, right?
> 
> Uh, looking at the code again, this doesn't seem to be what I wanted :(
> 
> > But still, I don't think the transaction-style of error handling is
> > what we want, it's for some critical subsystems the equivalent of
> > adding PANIC(), and this just for a failing symlink-creation. I think
> > we just want to print the to the logs, and not let the whole core
> > device registration fail entirely.
> 
> Hm, but failure to create a symlink usually signifies something's really
> wrong (no memory, or an object is there which shouldn't)?

Sure, but this is core code, which is used by _all_ drivers and _all_
devices. Subsystems can decide to panic if this appropriate, but generic
core code should probably not make such decisions.

With this change, a single failing symlink (or attribute) for a
scsi/ide/block/... device may crash the whole box during bootup. I'm not
sure that this is what we want.

It's a failure that should be logged (the patch doesn't even add that),
but there is probably no reason to refuse the creation of a device, if
something non-vital like a symlink or attribute fails to be created.

Thanks,
Kay


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

* Re: 2.6.22-rc2-mm1
  2007-05-29  7:25         ` 2.6.22-rc2-mm1 Cornelia Huck
@ 2007-05-29 14:43           ` Matt Mackall
  2007-05-29 16:55           ` 2.6.22-rc2-mm1 Tilman Schmidt
  1 sibling, 0 replies; 104+ messages in thread
From: Matt Mackall @ 2007-05-29 14:43 UTC (permalink / raw)
  To: Cornelia Huck
  Cc: Kay Sievers, Tilman Schmidt, Andrew Morton, linux-kernel, Greg KH

On Tue, May 29, 2007 at 09:25:43AM +0200, Cornelia Huck wrote:
> On Mon, 28 May 2007 00:41:19 +0200,
> "Kay Sievers" <kay.sievers@vrfy.org> wrote:
> 
> > Cornelia,
> > in the patch is:
> >   +	if (dev->kobj.parent == &dev->class->subsys.kobj)
> >   +		return 0;
> > 
> > which will skip the creation of the "device"-link, right?
> 
> ...and this is certainly broken. Argl.
> 
> Could those folks that had trouble with this kernel check out whether
> the following patch helps?

Works for me!

Tested-by: Matt Mackall <mpm@selenic.com>

-- 
Mathematics is the supreme nostalgia of our time.

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

* Re: 2.6.22-rc2-mm1
  2007-05-29  7:25         ` 2.6.22-rc2-mm1 Cornelia Huck
  2007-05-29 14:43           ` 2.6.22-rc2-mm1 Matt Mackall
@ 2007-05-29 16:55           ` Tilman Schmidt
  2007-05-29 17:25             ` 2.6.22-rc2-mm1 Cornelia Huck
  1 sibling, 1 reply; 104+ messages in thread
From: Tilman Schmidt @ 2007-05-29 16:55 UTC (permalink / raw)
  To: Cornelia Huck
  Cc: Kay Sievers, Andrew Morton, linux-kernel, Greg KH, Matt Mackall

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

Am 29.05.2007 09:25 schrieb Cornelia Huck:
> Could those folks that had trouble with this kernel check out whether
> the following patch helps?

Yes, that patch fixes my problem.

Thanks,
Tilman

> From: Cornelia Huck <cornelia.huck@de.ibm.com>
> 
> Fix check when to create certain symlinks (the device link and some
> compatible links).
> 
> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> 
[...]

-- 
Tilman Schmidt                          E-Mail: tilman@imap.cc
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Ungeöffnet mindestens haltbar bis: (siehe Rückseite)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 253 bytes --]

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

* Re: 2.6.22-rc2-mm1: SLUB
  2007-05-29  4:22 ` 2.6.22-rc2-mm1: SLUB Randy Dunlap
@ 2007-05-29 17:13   ` Christoph Lameter
  2007-05-29 18:13     ` Randy Dunlap
  0 siblings, 1 reply; 104+ messages in thread
From: Christoph Lameter @ 2007-05-29 17:13 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, linux-kernel

On Mon, 28 May 2007, Randy Dunlap wrote:

> Has then already been posted and I missed it.. and it's fixed?  :)
> /me hopes

Maybe this patch wil help?

SLUB: Fix NUMA / SYSFS bootstrap issue

The kmem_cache_node cache is very special because it is needed for
NUMA bootstrap. Under certain conditions (like for example if lockdep is
enabled and significantly increases the size of spinlock_t) the structure
may become exactly the size as one of the larger caches in the kmalloc array.

That early during bootstrap we cannot perform merging properly. The unique
id for the kmem_cache_node cache will match one of the kmalloc array. Sysfs
will complain about a duplicate directory entry. All of this occurs while
the console is not yet fully operational. Thus boot may appear to be
silently failing.

The kmem_cache_node cache is very special. During early boostrap the main
allocation function is not operational yet and so we have to run our
own small special alloc function during early boot. It is also special in
that it is never freed.

We really do not want any merging on that cache. Set the refcount -1 and
forbid merging of slabs that have a negative refcount.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

---
 mm/slub.c |    7 +++++++
 1 file changed, 7 insertions(+)

Index: slub/mm/slub.c
===================================================================
--- slub.orig/mm/slub.c	2007-05-25 18:28:42.000000000 -0700
+++ slub/mm/slub.c	2007-05-25 18:29:46.000000000 -0700
@@ -2473,6 +2473,7 @@ void __init kmem_cache_init(void)
 	 */
 	create_kmalloc_cache(&kmalloc_caches[0], "kmem_cache_node",
 		sizeof(struct kmem_cache_node), GFP_KERNEL);
+	kmalloc_caches[0].refcount = -1;
 #endif
 
 	/* Able to allocate the per node structures */
@@ -2520,6 +2521,12 @@ static int slab_unmergeable(struct kmem_
 	if (s->ctor)
 		return 1;
 
+	/*
+	 * We may have set a slab to be unmergeable during bootstrap.
+	 */
+	if (s->refcount < 0)
+		return 1;
+
 	return 0;
 }
 

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

* Re: 2.6.22-rc2-mm1
  2007-05-29 16:55           ` 2.6.22-rc2-mm1 Tilman Schmidt
@ 2007-05-29 17:25             ` Cornelia Huck
  2007-06-01 12:38               ` 2.6.22-rc2-mm1 Greg KH
  0 siblings, 1 reply; 104+ messages in thread
From: Cornelia Huck @ 2007-05-29 17:25 UTC (permalink / raw)
  To: Tilman Schmidt
  Cc: Kay Sievers, Andrew Morton, linux-kernel, Greg KH, Matt Mackall

On Tue, 29 May 2007 18:55:21 +0200,
Tilman Schmidt <tilman@imap.cc> wrote:

> Am 29.05.2007 09:25 schrieb Cornelia Huck:
> > Could those folks that had trouble with this kernel check out whether
> > the following patch helps?
> 
> Yes, that patch fixes my problem.
> 
> Thanks,
> Tilman

Thanks for testing (to both of you) and again sorry for the breakage.

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

* Re: 2.6.22-rc2-mm1: SLUB
  2007-05-29 17:13   ` Christoph Lameter
@ 2007-05-29 18:13     ` Randy Dunlap
  2007-05-29 18:30       ` Christoph Lameter
  2007-05-29 18:32       ` Christoph Lameter
  0 siblings, 2 replies; 104+ messages in thread
From: Randy Dunlap @ 2007-05-29 18:13 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel

Christoph Lameter wrote:
> On Mon, 28 May 2007, Randy Dunlap wrote:
> 
>> Has then already been posted and I missed it.. and it's fixed?  :)
>> /me hopes
> 
> Maybe this patch wil help?

Nope, still no booty.

> SLUB: Fix NUMA / SYSFS bootstrap issue
> 
> The kmem_cache_node cache is very special because it is needed for
> NUMA bootstrap. Under certain conditions (like for example if lockdep is
> enabled and significantly increases the size of spinlock_t) the structure
> may become exactly the size as one of the larger caches in the kmalloc array.
> 
> That early during bootstrap we cannot perform merging properly. The unique
> id for the kmem_cache_node cache will match one of the kmalloc array. Sysfs
> will complain about a duplicate directory entry. All of this occurs while
> the console is not yet fully operational. Thus boot may appear to be
> silently failing.
> 
> The kmem_cache_node cache is very special. During early boostrap the main
> allocation function is not operational yet and so we have to run our
> own small special alloc function during early boot. It is also special in
> that it is never freed.
> 
> We really do not want any merging on that cache. Set the refcount -1 and
> forbid merging of slabs that have a negative refcount.
> 
> Signed-off-by: Christoph Lameter <clameter@sgi.com>
> 
> ---
>  mm/slub.c |    7 +++++++
>  1 file changed, 7 insertions(+)
> 
> Index: slub/mm/slub.c
> ===================================================================
> --- slub.orig/mm/slub.c	2007-05-25 18:28:42.000000000 -0700
> +++ slub/mm/slub.c	2007-05-25 18:29:46.000000000 -0700
> @@ -2473,6 +2473,7 @@ void __init kmem_cache_init(void)
>  	 */
>  	create_kmalloc_cache(&kmalloc_caches[0], "kmem_cache_node",
>  		sizeof(struct kmem_cache_node), GFP_KERNEL);
> +	kmalloc_caches[0].refcount = -1;
>  #endif
>  
>  	/* Able to allocate the per node structures */
> @@ -2520,6 +2521,12 @@ static int slab_unmergeable(struct kmem_
>  	if (s->ctor)
>  		return 1;
>  
> +	/*
> +	 * We may have set a slab to be unmergeable during bootstrap.
> +	 */
> +	if (s->refcount < 0)
> +		return 1;
> +
>  	return 0;
>  }
>  


-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: 2.6.22-rc2-mm1: SLUB
  2007-05-29 18:13     ` Randy Dunlap
@ 2007-05-29 18:30       ` Christoph Lameter
  2007-05-29 18:32       ` Christoph Lameter
  1 sibling, 0 replies; 104+ messages in thread
From: Christoph Lameter @ 2007-05-29 18:30 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, linux-kernel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 12624 bytes --]

On Tue, 29 May 2007, Randy Dunlap wrote:

> Nope, still no booty.

Your .configs boot fine here (until it panics since I \have another root 
fs)

root (hd0,0)
 Filesystem type is reiserfs, partition type 0x83
kernel /boot/vmlinuz root=/dev/hda1 console=ttyS0,115200
   [Linux-bzImage, setup=0x2800, size=0x245d88]

îinux version 2.6.22-rc2-mm1slub (christoph@qirst.com) (gcc version 4.1.2 
20061115 (prerelease) (Deb
an 4.1.1-21)) #37 SMP Tue May 29 11:24:17 PDT 2007
Command line: root=/dev/hda1 console=ttyS0,115200
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003fff0000 (usable)
 BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS)
 BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data)
 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
end_pfn_map = 1048576
DMI 2.2 present.
ACPI: RSDP 000F6EB0, 0014 (r0 AWARD )
ACPI: RSDT 3FFF3000, 002C (r1 AWARD  AWRDACPI 42302E31 AWRD        0)
ACPI: FACP 3FFF3040, 0074 (r1 AWARD  AWRDACPI 42302E31 AWRD        0)
ACPI: DSDT 3FFF30C0, 3AA4 (r1 AWARD  AWRDACPI     1000 MSFT  100000E)
ACPI: FACS 3FFF0000, 0040
ACPI: APIC 3FFF6B80, 005A (r1 AWARD  AWRDACPI 42302E31 AWRD        0)
Zone PFN ranges:
  DMA             0 ->     4096
  DMA32        4096 ->  1048576
  Normal    1048576 ->  1048576
Movable zone start PFN for each node
early_node_map[2] active PFN ranges
    0:        0 ->      159
    0:      256 ->   262128
ACPI: PM-Timer IO Port: 0x1008
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 (Bootup-CPU)
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 dfl dfl)
Setting APIC routing to flat
Using ACPI (MADT) for SMP configuration information
swsusp: Registered nosave memory region: 000000000009f000 - 
00000000000a0000
swsusp: Registered nosave memory region: 00000000000a0000 - 
00000000000f0000
swsusp: Registered nosave memory region: 00000000000f0000 - 
0000000000100000
Allocating PCI resources starting at 50000000 (gap: 40000000:bec00000)
SMP: Allowing 1 CPUs, 0 hotplug CPUs
PERCPU: Allocating 33416 bytes of per cpu data
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 
256420
Kernel command line: root=/dev/hda1 console=ttyS0,115200
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 32768 bytes)
time.c: Detected 2199.446 MHz processor.
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
Checking aperture...
CPU 0: aperture @ e0000000 size 128 MB
Memory: 1023688k/1048512k available (3194k kernel code, 24184k reserved, 
1723k data, 228k init)
SLUB: Genslabs=23, HWalign=64, Order=0-3, MinObjects=16, Processors=1, 
Nodes=1
Calibrating delay using timer specific routine.. 4400.89 BogoMIPS 
(lpj=8801786)
kswapd reclaim order set to 3
Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 512K (64 bytes/line)
SMP alternatives: switching to UP code
Freeing SMP alternatives: 25k freed
ACPI: Core revision 20070126
Using local APIC timer interrupts.
result 13746556
Detected 13.746 MHz APIC timer.
Brought up 1 CPUs
NET: Registered protocol family 16
No dock devices found.
ACPI: bus type pci registered
PCI: Using configuration type 1
ACPI: Interpreter enabled
ACPI: (supports S0 S1 S4 S5)
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, 
disabled.
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, 
disabled.
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, 
disabled.
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 *7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 *5 6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 10 11 *12 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 *10 11 12 14 15)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
ACPI: bus type pnp registered
pnp: PnP ACPI: found 8 devices
ACPI: ACPI bus type pnp unregistered
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a 
report
PCI: Cannot allocate resource region 0 of device 0000:00:00.0
agpgart: Detected AGP bridge 0
agpgart: AGP aperture is 128M @ 0xe0000000
PCI-DMA: using GART IOMMU.
PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
pnp: 00:00: iomem range 0xc8000-0xcbfff has been reserved
pnp: 00:00: iomem range 0xf0000-0xf7fff could not be reserved
pnp: 00:00: iomem range 0xf8000-0xfbfff could not be reserved
pnp: 00:00: iomem range 0xfc000-0xfffff could not be reserved
PCI: Bridge: 0000:00:01.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
NET: Registered protocol family 2
Time: tsc clocksource has been installed.
IP route cache hash table entries: 32768 (order: 6, 262144 bytes)
TCP established hash table entries: 65536 (order: 9, 2621440 bytes)
TCP bind hash table entries: 65536 (order: 9, 2097152 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
TCP reno registered
microcode: CPU0 not a capable Intel processor
IA-32 Microcode Update Driver: v1.14a <tigran@aivazian.fsnet.co.uk>
audit: initializing netlink socket (disabled)
audit(1180463170.232:1): initialized
Total HugeTLB memory allocated, 0
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
input: Power Button (FF) as /class/input/input0
ACPI: Power Button (FF) [PWRF]
input: Power Button (CM) as /class/input/input1
ACPI: Power Button (CM) [PWRB]
input: Sleep Button (CM) as /class/input/input2
ACPI: Sleep Button (CM) [FUTS]
ACPI: Fan [FAN] (on)
ACPI: Thermal Zone [THRM] (40 C)
Real Time Clock Driver v1.12ac
Non-volatile memory driver v1.2
ppdev: user-space parallel port driver
Software Watchdog Timer: 0.07 initialized. soft_noboot=0 soft_margin=60 
sec (nowayout= 0)
Linux agpgart interface v0.102 (c) Dave Jones
[drm] Initialized drm 1.1.0 20060810
Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 
60 seconds).
Hangcheck: Using get_cycles().
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
floppy0: no floppy controllers found
RAMDISK driver initialized: 16 RAM disks of 64000K size 1024 blocksize
Intel(R) PRO/1000 Network Driver - version 7.3.20-k2
Copyright (c) 1999-2006 Intel Corporation.
e100: Intel(R) PRO/100 Network Driver, 3.5.17-k4-NAPI
e100: Copyright(c) 1999-2006 Intel Corporation
via-rhine: Broken BIOS detected, avoid_D3 enabled.
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
netconsole: not configured, aborting
Linux video capture interface: v2.00
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with 
idebus=xx
hda: WDC WD2500JB-00KFA0, ATA DISK drive
hdc: ST3160023A, ATA DISK drive
hdd: Maxtor 4A160J0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 512KiB
hda: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63
hda: cache flushes supported
 hda: hda1 hda2 < hda5 >
hdc: max request size: 512KiB
hdc: 312581808 sectors (160041 MB) w/8192KiB Cache, CHS=19457/255/63
hdc: cache flushes supported
 hdc: hdc1
hdd: max request size: 512KiB
hdd: 320173056 sectors (163928 MB) w/2048KiB Cache, CHS=19929/255/63
hdd: cache flushes supported
 hdd: hdd1 hdd2 hdd3 hdd4
ACPI: PCI Interrupt 0000:00:03.3[D] -> GSI 23 (level, low) -> IRQ 23
ehci_hcd 0000:00:03.3: EHCI Host Controller
ehci_hcd 0000:00:03.3: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:03.3: irq 23, io mem 0xec021000
ehci_hcd 0000:00:03.3: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: new device found, idVendor=0000, idProduct=0000
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.22-rc2-mm1slub ehci_hcd
usb usb1: SerialNumber: 0000:00:03.3
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 8 ports detected
ACPI: PCI Interrupt 0000:00:03.0[A] -> GSI 20 (level, low) -> IRQ 20
ohci_hcd 0000:00:03.0: OHCI Host Controller
ohci_hcd 0000:00:03.0: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:03.0: irq 20, io mem 0xec023000
usb usb2: new device found, idVendor=0000, idProduct=0000
usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: OHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.22-rc2-mm1slub ohci_hcd
usb usb2: SerialNumber: 0000:00:03.0
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
ACPI: PCI Interrupt 0000:00:03.1[B] -> GSI 21 (level, low) -> IRQ 21
ohci_hcd 0000:00:03.1: OHCI Host Controller
ohci_hcd 0000:00:03.1: new USB bus registered, assigned bus number 3
ohci_hcd 0000:00:03.1: irq 21, io mem 0xec024000
usb usb3: new device found, idVendor=0000, idProduct=0000
usb usb3: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: OHCI Host Controller
usb usb3: Manufacturer: Linux 2.6.22-rc2-mm1slub ohci_hcd
usb usb3: SerialNumber: 0000:00:03.1
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 3 ports detected
ACPI: PCI Interrupt 0000:00:03.2[C] -> GSI 22 (level, low) -> IRQ 22
ohci_hcd 0000:00:03.2: OHCI Host Controller
ohci_hcd 0000:00:03.2: new USB bus registered, assigned bus number 4
ohci_hcd 0000:00:03.2: irq 22, io mem 0xec020000
usb usb4: new device found, idVendor=0000, idProduct=0000
usb usb4: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: OHCI Host Controller
usb usb4: Manufacturer: Linux 2.6.22-rc2-mm1slub ohci_hcd
usb usb4: SerialNumber: 0000:00:03.2
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
USB Universal Host Controller Interface driver v3.0
usbcore: registered new interface driver libusual
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
input: PC Speaker as /class/input/input3
i2c /dev entries driver
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
ieee80211: 802.11 data/management/control stack, git-1.1.13
ieee80211: Copyright (C) 2004-2005 Intel Corporation 
<jketreno@linux.intel.com>
powernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3000+ processors (1 cpu 
cores) (version 2.00.00)
powernow-k8:    0 : fid 0xc (2000 MHz), vid 0x2
powernow-k8:    1 : fid 0xa (1800 MHz), vid 0x6
powernow-k8:    2 : fid 0xa (1800 MHz), vid 0x6
BIOS EDD facility v0.16 2004-Jun-25, 6 devices found
List of all partitions:
0300  244198584 hda driver: ide-disk
  0301  241191846 hda1
  0302          1 hda2
  0305    3004123 hda5
1600  156290904 hdc driver: ide-disk
  1601  156288321 hdc1
1640  160086528 hdd driver: ide-disk
  1641   39070048 hdd1
  1642   39070080 hdd2
  1643   39070080 hdd3
  1644   42869452 hdd4
No filesystem could mount root, tried:  ext3 ext2 msdos vfat iso9660
Kernel panic - not syncing: VFS: Unable to mount root fs on 
unknown-block(3,1)

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

* Re: 2.6.22-rc2-mm1: SLUB
  2007-05-29 18:13     ` Randy Dunlap
  2007-05-29 18:30       ` Christoph Lameter
@ 2007-05-29 18:32       ` Christoph Lameter
  2007-05-29 18:59         ` Randy Dunlap
  1 sibling, 1 reply; 104+ messages in thread
From: Christoph Lameter @ 2007-05-29 18:32 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, linux-kernel

Oh. I forgot the usual instruction: Try to boot with slub_debug on the 
kernel command line. SLUB will attempt to remedy the situation to allow 
the boot to continue if it finds anything that goes wrong.





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

* Re: 2.6.22-rc2-mm1: SLUB
  2007-05-29 18:32       ` Christoph Lameter
@ 2007-05-29 18:59         ` Randy Dunlap
  0 siblings, 0 replies; 104+ messages in thread
From: Randy Dunlap @ 2007-05-29 18:59 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel

On Tue, 29 May 2007 11:32:27 -0700 (PDT) Christoph Lameter wrote:

> Oh. I forgot the usual instruction: Try to boot with slub_debug on the 
> kernel command line. SLUB will attempt to remedy the situation to allow 
> the boot to continue if it finds anything that goes wrong.

Yes, that boots, thanks.

Problem was the dmi-off-by-one kmalloc.  I used the patch
that Andrew has merged and it works fine now.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* [PATCH] Input: i8042 - cleanup of debug code (was Re: 2.6.22-rc2-mm1)
  2007-05-24  3:28     ` 2.6.22-rc2-mm1 Dmitry Torokhov
  2007-05-24  7:28       ` 2.6.22-rc2-mm1 Jiri Kosina
@ 2007-05-30 14:08       ` Jiri Kosina
  2007-05-30 14:27         ` Dmitry Torokhov
  1 sibling, 1 reply; 104+ messages in thread
From: Jiri Kosina @ 2007-05-30 14:08 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Andrew Morton, linux-kernel

(some irrelevant CCs dropped)

On Wed, 23 May 2007, Dmitry Torokhov wrote:

> It looks like you are now in the same position I was some time ago WRT 
> to debug information for i8042 - constantly asking people to enable 
> debug, recompile and send the results. May I recommend changing 
> CONFIG_HID_DEBUG to "default y if !EMBEDDED" and controlling debug 
> output via a module parameter? -ENOPATCH though...

Hi Dmitry,

I have just queued corresponding patch in HID tree.

BTW when looking at the i8042 code I have just noticed that the trivial 
cleanup below could be possible.



From: Jiri Kosina <jkosina@suse.cz>

Input: i8042 - cleanup of debug code
    
Debugging facility of i8042 is now toggled in runtime instead
of needing to recompile the kernel. Therefore the DEBUG macro
is useless (it's hardcoded to be defined anyway). Remove it.
    
Signed-off-by: Jiri Kosina <jkosina@suse.cz>

diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
index 3888dc3..5c3405d 100644
--- a/drivers/input/serio/i8042.c
+++ b/drivers/input/serio/i8042.c
@@ -69,12 +69,9 @@ module_param_named(nopnp, i8042_nopnp, b
 MODULE_PARM_DESC(nopnp, "Do not use PNP to detect controller settings");
 #endif
 
-#define DEBUG
-#ifdef DEBUG
 static int i8042_debug;
 module_param_named(debug, i8042_debug, bool, 0600);
 MODULE_PARM_DESC(debug, "Turn i8042 debugging mode on and off");
-#endif
 
 #include "i8042.h"
 
diff --git a/drivers/input/serio/i8042.h b/drivers/input/serio/i8042.h
index b3eb7a7..eec4b32 100644
--- a/drivers/input/serio/i8042.h
+++ b/drivers/input/serio/i8042.h
@@ -106,7 +106,6 @@
  * Debug.
  */
 
-#ifdef DEBUG
 static unsigned long i8042_start_time;
 #define dbg_init() do { i8042_start_time = jiffies; } while (0)
 #define dbg(format, arg...) 							\
@@ -115,9 +114,4 @@ static unsigned long i8042_start_time;
 			printk(KERN_DEBUG __FILE__ ": " format " [%d]\n" ,	\
 	 			## arg, (int) (jiffies - i8042_start_time));	\
 	} while (0)
-#else
-#define dbg_init() do { } while (0)
-#define dbg(format, arg...) do {} while (0)
-#endif
-
 #endif /* _I8042_H */

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

* Re: [PATCH] Input: i8042 - cleanup of debug code (was Re: 2.6.22-rc2-mm1)
  2007-05-30 14:08       ` [PATCH] Input: i8042 - cleanup of debug code (was Re: 2.6.22-rc2-mm1) Jiri Kosina
@ 2007-05-30 14:27         ` Dmitry Torokhov
  2007-05-30 14:30           ` Jiri Kosina
  0 siblings, 1 reply; 104+ messages in thread
From: Dmitry Torokhov @ 2007-05-30 14:27 UTC (permalink / raw)
  To: Jiri Kosina; +Cc: Andrew Morton, linux-kernel

Hi Jiri,

On 5/30/07, Jiri Kosina <jikos@jikos.cz> wrote:
>
> From: Jiri Kosina <jkosina@suse.cz>
>
> Input: i8042 - cleanup of debug code
>
> Debugging facility of i8042 is now toggled in runtime instead
> of needing to recompile the kernel. Therefore the DEBUG macro
> is useless (it's hardcoded to be defined anyway). Remove it.
>

I'd rather leave it as is in case someone wants to squeeze last bit of
memory savings from the kernel. Also there some security issues
(someone breaking into the box and enabling i8042 debug and capturing
all keycodes) so uber-sensitive folks can use it to disable debug
completely.

-- 
Dmitry

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

* Re: [PATCH] Input: i8042 - cleanup of debug code (was Re: 2.6.22-rc2-mm1)
  2007-05-30 14:27         ` Dmitry Torokhov
@ 2007-05-30 14:30           ` Jiri Kosina
  0 siblings, 0 replies; 104+ messages in thread
From: Jiri Kosina @ 2007-05-30 14:30 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Andrew Morton, linux-kernel

On Wed, 30 May 2007, Dmitry Torokhov wrote:

> I'd rather leave it as is in case someone wants to squeeze last bit of 
> memory savings from the kernel. 

Yup, that's why I left CONFIG_HID_DEBUG still in place to let users that 
care that much to turn in off.

> Also there some security issues (someone breaking into the box and 
> enabling i8042 debug and capturing all keycodes) so uber-sensitive folks 
> can use it to disable debug completely.

Well this doesn't seem to an issue at all to me - if someone breaks into 
the box, he has dozens of other possibilities how to capture the 
keystrokes than enabling i8042 debug.

Thanks,

-- 
Jiri Kosina

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

* [PATCH 1/3] hexdump: more output formatting
  2007-05-24 22:35                           ` 2.6.22-rc2-mm1 Christoph Lameter
  2007-05-24 22:53                             ` 2.6.22-rc2-mm1 Andrew Morton
@ 2007-05-30 21:34                             ` Randy Dunlap
  2007-05-30 21:42                               ` Christoph Lameter
                                                 ` (2 more replies)
  2007-05-30 21:34                             ` [PATCH 2/3 -mm] slub: use lib/hexdump Randy Dunlap
  2 siblings, 3 replies; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 21:34 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel, hugh

From: Randy Dunlap <randy.dunlap@oracle.com>

Add a prefix string parameter.  Callers are responsible for any
string length/alignment that they want to see in the output.  I.e.,
callers should pad strings to achieve alignment if they want that.

Add rowsize parameter.  This is the number of raw data bytes
to be printed per line.  Must be 16 or 32.

Add a group_size parameter.  This allows callers to dump values
as 1-byte, 2-byte, 4-byte, or 8-byte numbers.  Default is
1-byte numbers.  If the total length is not an even multiple
of group_size, 1-byte numbers are printed.

Add an "ascii" output parameter.  This causes ASCII data output
following the hex data output.

Clean up some doc examples.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
 include/linux/kernel.h |   10 ++--
 lib/hexdump.c          |  120 +++++++++++++++++++++++++++++++++++++------------
 2 files changed, 99 insertions(+), 31 deletions(-)

--- linux-2622-rc2mm1-slub.orig/include/linux/kernel.h
+++ linux-2622-rc2mm1-slub/include/linux/kernel.h
@@ -218,10 +218,12 @@ enum {
 	DUMP_PREFIX_ADDRESS,
 	DUMP_PREFIX_OFFSET
 };
-extern void hex_dump_to_buffer(const void *buf, size_t len, char *linebuf,
-				size_t linebuflen);
-extern void print_hex_dump(const char *level, int prefix_type,
-				void *buf, size_t len);
+extern void hex_dump_to_buffer(const void *buf, size_t len,
+				int rowsize, int group_size,
+				char *linebuf, size_t linebuflen, bool ascii);
+extern void print_hex_dump(const char *level, const char *prefix_str,
+				int prefix_type, int rowsize, int group_size,
+				void *buf, size_t len, bool ascii);
 #define hex_asc(x)	"0123456789abcdef"[x]
 
 #ifdef DEBUG
--- linux-2622-rc2mm1-slub.orig/lib/hexdump.c
+++ linux-2622-rc2mm1-slub/lib/hexdump.c
@@ -16,42 +16,92 @@
  * hex_dump_to_buffer - convert a blob of data to "hex ASCII" in memory
  * @buf: data blob to dump
  * @len: number of bytes in the @buf
+ * @rowsize: number of bytes to print per line; must be 16 or 32
+ * @group_size: number of bytes to print at a time (1, 2, 4, 8; default = 1)
  * @linebuf: where to put the converted data
  * @linebuflen: total size of @linebuf, including space for terminating NUL
+ * @ascii: include ASCII after the hex output
  *
  * hex_dump_to_buffer() works on one "line" of output at a time, i.e.,
- * 16 bytes of input data converted to hex + ASCII output.
+ * 16 or 32 bytes of input data converted to hex + ASCII output.
  *
  * Given a buffer of u8 data, hex_dump_to_buffer() converts the input data
  * to a hex + ASCII dump at the supplied memory location.
  * The converted output is always NUL-terminated.
  *
  * E.g.:
- *	hex_dump_to_buffer(frame->data, frame->len, linebuf, sizeof(linebuf));
+ *   hex_dump_to_buffer(frame->data, frame->len, 1, linebuf, sizeof(linebuf));
  *
  * example output buffer:
- * 40414243 44454647 48494a4b 4c4d4e4f  @ABCDEFGHIJKLMNO
+ * 40 41 42 43 44 45 46 47-48 49 4a 4b 4c 4d 4e 4f  @ABCDEFGHIJKLMNO
  */
-void hex_dump_to_buffer(const void *buf, size_t len, char *linebuf,
-			size_t linebuflen)
+void hex_dump_to_buffer(const void *buf, size_t len, int rowsize,
+			int group_size, char *linebuf, size_t linebuflen,
+			bool ascii)
 {
 	const u8 *ptr = buf;
 	u8 ch;
 	int j, lx = 0;
 
-	for (j = 0; (j < 16) && (j < len) && (lx + 3) < linebuflen; j++) {
-		if (j && !(j % 4))
+	if (rowsize != 16 && rowsize != 32)
+		rowsize = 16;
+
+	if (!len)
+		goto nil;
+	if (len > rowsize)		/* limit to one line at a time */
+		len = rowsize;
+	if ((len % group_size) != 0)	/* no mixed size output */
+		group_size = 1;
+
+	switch (group_size) {
+	case 8: {
+		const u64 *ptr8 = buf;
+		int ngroups = len / group_size;
+
+		for (j = 0; j < ngroups; j++)
+			lx += scnprintf(linebuf + lx, linebuflen - lx,
+				"%16.16llx ", (unsigned long long)*(ptr8 + j));
+		break;
+	}
+
+	case 4: {
+		const u32 *ptr4 = buf;
+		int ngroups = len / group_size;
+
+		for (j = 0; j < ngroups; j++)
+			lx += scnprintf(linebuf + lx, linebuflen - lx,
+				"%8.8x ", *(ptr4 + j));
+		break;
+	}
+
+	case 2: {
+		const u16 *ptr2 = buf;
+		int ngroups = len / group_size;
+
+		for (j = 0; j < ngroups; j++)
+			lx += scnprintf(linebuf + lx, linebuflen - lx,
+				"%4.4x ", *(ptr2 + j));
+		break;
+	}
+
+	default:
+		for (j = 0; (j < rowsize) && (j < len) && (lx + 4) < linebuflen;
+		     j++) {
+			ch = ptr[j];
+			linebuf[lx++] = hex_asc(ch >> 4);
+			linebuf[lx++] = hex_asc(ch & 0x0f);
 			linebuf[lx++] = ' ';
-		ch = ptr[j];
-		linebuf[lx++] = hex_asc(ch >> 4);
-		linebuf[lx++] = hex_asc(ch & 0x0f);
+		}
+		break;
 	}
-	if ((lx + 2) < linebuflen) {
-		linebuf[lx++] = ' ';
+	if (!ascii)
+		goto nil;
+
+	if ((lx + 1) < linebuflen)
 		linebuf[lx++] = ' ';
-	}
-	for (j = 0; (j < 16) && (j < len) && (lx + 2) < linebuflen; j++)
+	for (j = 0; (j < rowsize) && (j < len) && (lx + 2) < linebuflen; j++)
 		linebuf[lx++] = isprint(ptr[j]) ? ptr[j] : '.';
+nil:
 	linebuf[lx++] = '\0';
 }
 EXPORT_SYMBOL(hex_dump_to_buffer);
@@ -59,44 +109,60 @@ EXPORT_SYMBOL(hex_dump_to_buffer);
 /**
  * print_hex_dump - print a text hex dump to syslog for a binary blob of data
  * @level: kernel log level (e.g. KERN_DEBUG)
+ * @prefix_str: string to prefix each line with;
+ *  caller supplies trailing spaces for alignment if desired
  * @prefix_type: controls whether prefix of an offset, address, or none
  *  is printed (%DUMP_PREFIX_OFFSET, %DUMP_PREFIX_ADDRESS, %DUMP_PREFIX_NONE)
+ * @rowsize: number of bytes to print per line; must be 16 or 32
+ * @group_size: number of bytes to print at a time (1, 2, 4, 8; default = 1)
  * @buf: data blob to dump
  * @len: number of bytes in the @buf
+ * @ascii: include ASCII after the hex output
  *
  * Given a buffer of u8 data, print_hex_dump() prints a hex + ASCII dump
  * to the kernel log at the specified kernel log level, with an optional
  * leading prefix.
  *
+ * print_hex_dump() works on one "line" of output at a time, i.e.,
+ * 16 or 32 bytes of input data converted to hex + ASCII output.
+ * print_hex_dump() iterates over the entire input @buf, breaking it into
+ * "line size" chunks to format and print.
+ *
  * E.g.:
  *   print_hex_dump(KERN_DEBUG, DUMP_PREFIX_ADDRESS, frame->data, frame->len);
  *
- * Example output using %DUMP_PREFIX_OFFSET:
- * 0009ab42: 40414243 44454647 48494a4b 4c4d4e4f  @ABCDEFGHIJKLMNO
- * Example output using %DUMP_PREFIX_ADDRESS:
- * ffffffff88089af0: 70717273 74757677 78797a7b 7c7d7e7f  pqrstuvwxyz{|}~.
+ * Example output using %DUMP_PREFIX_OFFSET and 1-byte mode:
+ * 0009ab42: 40 41 42 43 44 45 46 47-48 49 4a 4b 4c 4d 4e 4f  @ABCDEFGHIJKLMNO
+ * Example output using %DUMP_PREFIX_ADDRESS and 4-byte mode:
+ * ffffffff88089af0: 73727170 77767574-7b7a7978 7f7e7d7c  pqrstuvwxyz{|}~.
  */
-void print_hex_dump(const char *level, int prefix_type, void *buf, size_t len)
+void print_hex_dump(const char *level, const char *prefix_str, int prefix_type,
+			int rowsize, int group_size,
+			void *buf, size_t len, bool ascii)
 {
 	u8 *ptr = buf;
 	int i, linelen, remaining = len;
-	unsigned char linebuf[100];
+	unsigned char linebuf[200];
+
+	if (rowsize != 16 && rowsize != 32)
+		rowsize = 16;
 
-	for (i = 0; i < len; i += 16) {
-		linelen = min(remaining, 16);
-		remaining -= 16;
-		hex_dump_to_buffer(ptr + i, linelen, linebuf, sizeof(linebuf));
+	for (i = 0; i < len; i += rowsize) {
+		linelen = min(remaining, rowsize);
+		remaining -= rowsize;
+		hex_dump_to_buffer(ptr + i, linelen, rowsize, group_size,
+				linebuf, sizeof(linebuf), ascii);
 
 		switch (prefix_type) {
 		case DUMP_PREFIX_ADDRESS:
-			printk("%s%*p: %s\n", level,
+			printk("%s%s%*p: %s\n", level, prefix_str,
 				(int)(2 * sizeof(void *)), ptr + i, linebuf);
 			break;
 		case DUMP_PREFIX_OFFSET:
-			printk("%s%.8x: %s\n", level, i, linebuf);
+			printk("%s%s%.8x: %s\n", level, prefix_str, i, linebuf);
 			break;
 		default:
-			printk("%s%s\n", level, linebuf);
+			printk("%s%s%s\n", level, prefix_str, linebuf);
 			break;
 		}
 	}

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

* [PATCH 2/3 -mm] slub: use lib/hexdump
  2007-05-24 22:35                           ` 2.6.22-rc2-mm1 Christoph Lameter
  2007-05-24 22:53                             ` 2.6.22-rc2-mm1 Andrew Morton
  2007-05-30 21:34                             ` [PATCH 1/3] hexdump: more output formatting Randy Dunlap
@ 2007-05-30 21:34                             ` Randy Dunlap
  2007-05-30 21:45                               ` Christoph Lameter
  2 siblings, 1 reply; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 21:34 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel

From: Randy Dunlap <randy.dunlap@oracle.com>

Convert slub error memory dump functions to use lib/hexdump routines.
Completely eliminate slub's print_section() function.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
 mm/slub.c |   53 ++++++++++++-----------------------------------------
 1 file changed, 12 insertions(+), 41 deletions(-)

--- linux-2622-rc2mm1-slub.orig/mm/slub.c
+++ linux-2622-rc2mm1-slub/mm/slub.c
@@ -8,6 +8,7 @@
  * (C) 2007 SGI, Christoph Lameter <clameter@sgi.com>
  */
 
+#include <linux/kernel.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/bit_spinlock.h>
@@ -334,41 +335,6 @@ static int slub_debug;
 
 static char *slub_debug_slabs;
 
-/*
- * Object debugging
- */
-static void print_section(char *text, u8 *addr, unsigned int length)
-{
-	int i, offset;
-	int newline = 1;
-	char ascii[17];
-
-	ascii[16] = 0;
-
-	for (i = 0; i < length; i++) {
-		if (newline) {
-			printk(KERN_ERR "%10s 0x%p: ", text, addr + i);
-			newline = 0;
-		}
-		printk(" %02x", addr[i]);
-		offset = i % 16;
-		ascii[offset] = isgraph(addr[i]) ? addr[i] : '.';
-		if (offset == 15) {
-			printk(" %s\n",ascii);
-			newline = 1;
-		}
-	}
-	if (!newline) {
-		i %= 16;
-		while (i < 16) {
-			printk("   ");
-			ascii[i] = ' ';
-			i++;
-		}
-		printk(" %s\n", ascii);
-	}
-}
-
 static struct track *get_track(struct kmem_cache *s, void *object,
 	enum track_item alloc)
 {
@@ -425,8 +391,8 @@ static void print_trailer(struct kmem_ca
 	unsigned int off;	/* Offset of last byte */
 
 	if (s->flags & SLAB_RED_ZONE)
-		print_section("Redzone", p + s->objsize,
-			s->inuse - s->objsize);
+		print_hex_dump(KERN_ERR, "   Redzone ", DUMP_PREFIX_ADDRESS,
+			16, 1, p + s->objsize, s->inuse - s->objsize, 1);
 
 	printk(KERN_ERR "FreePointer 0x%p -> 0x%p\n",
 			p + s->offset,
@@ -445,7 +411,8 @@ static void print_trailer(struct kmem_ca
 
 	if (off != s->size)
 		/* Beginning of the filler is the free pointer */
-		print_section("Filler", p + off, s->size - off);
+		print_hex_dump(KERN_ERR, "    Filler ", DUMP_PREFIX_ADDRESS,
+			16, 1, p + off, s->size - off, 1);
 }
 
 static void object_err(struct kmem_cache *s, struct page *page,
@@ -458,8 +425,10 @@ static void object_err(struct kmem_cache
 	printk(KERN_ERR "    offset=%tu flags=0x%04lx inuse=%u freelist=0x%p\n",
 		object - addr, page->flags, page->inuse, page->freelist);
 	if (object > addr + 16)
-		print_section("Bytes b4", object - 16, 16);
-	print_section("Object", object, min(s->objsize, 128));
+		print_hex_dump(KERN_ERR, "  Bytes b4 ", DUMP_PREFIX_ADDRESS,
+			16, 1, object - 16, 16, 1);
+	print_hex_dump(KERN_ERR, "    Object ", DUMP_PREFIX_ADDRESS, 16, 1,
+		object, min(s->objsize, 128), 1);
 	print_trailer(s, object);
 	dump_stack();
 }
@@ -759,7 +728,9 @@ static void trace(struct kmem_cache *s, 
 			page->freelist);
 
 		if (!alloc)
-			print_section("Object", (void *)object, s->objsize);
+			print_hex_dump(KERN_ERR, "    Object ",
+				DUMP_PREFIX_ADDRESS, 16, 1,
+				(void *)object, s->objsize, 1);
 
 		dump_stack();
 	}

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 21:34                             ` [PATCH 1/3] hexdump: more output formatting Randy Dunlap
@ 2007-05-30 21:42                               ` Christoph Lameter
  2007-05-30 21:45                                 ` Randy Dunlap
  2007-05-31  1:45                                 ` [PATCH 1/3 v2] " Randy Dunlap
  2007-05-30 21:56                               ` [PATCH 1/3] " Satyam Sharma
  2007-05-30 22:36                               ` Jesper Juhl
  2 siblings, 2 replies; 104+ messages in thread
From: Christoph Lameter @ 2007-05-30 21:42 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, linux-kernel, hugh

On Wed, 30 May 2007, Randy Dunlap wrote:

> Add an "ascii" output parameter.  This causes ASCII data output
> following the hex data output.

The ascii output is not properly aligned. Its simply thrown in
after the hex dump output. The last line of a multi line hexdump
will have the ascii output moved to the left. Its not properly adjusted.

> + *
>   * E.g.:
>   *   print_hex_dump(KERN_DEBUG, DUMP_PREFIX_ADDRESS, frame->data, frame->len);

^^^ needs to be updated?


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

* Re: [PATCH 2/3 -mm] slub: use lib/hexdump
  2007-05-30 21:34                             ` [PATCH 2/3 -mm] slub: use lib/hexdump Randy Dunlap
@ 2007-05-30 21:45                               ` Christoph Lameter
  2007-05-30 21:48                                 ` Randy Dunlap
  0 siblings, 1 reply; 104+ messages in thread
From: Christoph Lameter @ 2007-05-30 21:45 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, linux-kernel

On Wed, 30 May 2007, Randy Dunlap wrote:

> From: Randy Dunlap <randy.dunlap@oracle.com>
> 
> Convert slub error memory dump functions to use lib/hexdump routines.
> Completely eliminate slub's print_section() function.

I'd like to keep print_section around as it also does some other things. 
Repeating the output formatting at the various call locations will make
it difficult to change if you add another whizbang feature.

I have a patch here that I could sent out today if hexdump would work the 
right way.


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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 21:42                               ` Christoph Lameter
@ 2007-05-30 21:45                                 ` Randy Dunlap
  2007-05-31  1:45                                 ` [PATCH 1/3 v2] " Randy Dunlap
  1 sibling, 0 replies; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 21:45 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel, hugh

Christoph Lameter wrote:
> On Wed, 30 May 2007, Randy Dunlap wrote:
> 
>> Add an "ascii" output parameter.  This causes ASCII data output
>> following the hex data output.
> 
> The ascii output is not properly aligned. Its simply thrown in
> after the hex dump output. The last line of a multi line hexdump
> will have the ascii output moved to the left. Its not properly adjusted.

It was never a written requirement.  :)
but maybe it is now.

>> + *
>>   * E.g.:
>>   *   print_hex_dump(KERN_DEBUG, DUMP_PREFIX_ADDRESS, frame->data, frame->len);
> 
> ^^^ needs to be updated?

Yes, it does.


-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: [PATCH 2/3 -mm] slub: use lib/hexdump
  2007-05-30 21:45                               ` Christoph Lameter
@ 2007-05-30 21:48                                 ` Randy Dunlap
  2007-05-30 21:51                                   ` Christoph Lameter
  0 siblings, 1 reply; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 21:48 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel

Christoph Lameter wrote:
> On Wed, 30 May 2007, Randy Dunlap wrote:
> 
>> From: Randy Dunlap <randy.dunlap@oracle.com>
>>
>> Convert slub error memory dump functions to use lib/hexdump routines.
>> Completely eliminate slub's print_section() function.
> 
> I'd like to keep print_section around as it also does some other things. 
> Repeating the output formatting at the various call locations will make
> it difficult to change if you add another whizbang feature.

I have no problems with keeping print_section() except that it's not used
in the current tree after this patch.  :)

> I have a patch here that I could sent out today if hexdump would work the 
> right way.

Please define "the right way."

-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: [PATCH 2/3 -mm] slub: use lib/hexdump
  2007-05-30 21:48                                 ` Randy Dunlap
@ 2007-05-30 21:51                                   ` Christoph Lameter
  2007-05-30 21:54                                     ` Randy Dunlap
  0 siblings, 1 reply; 104+ messages in thread
From: Christoph Lameter @ 2007-05-30 21:51 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, linux-kernel

On Wed, 30 May 2007, Randy Dunlap wrote:

> > I'd like to keep print_section around as it also does some other things.
> > Repeating the output formatting at the various call locations will make
> > it difficult to change if you add another whizbang feature.
> 
> I have no problems with keeping print_section() except that it's not used
> in the current tree after this patch.  :)
> 
> > I have a patch here that I could sent out today if hexdump would work the
> > right way.
> 
> Please define "the right way."

Align the ascii output so that it does not look that ugly.


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

* Re: [PATCH 2/3 -mm] slub: use lib/hexdump
  2007-05-30 21:51                                   ` Christoph Lameter
@ 2007-05-30 21:54                                     ` Randy Dunlap
  2007-05-30 22:03                                       ` Christoph Lameter
  0 siblings, 1 reply; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 21:54 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel

Christoph Lameter wrote:
> On Wed, 30 May 2007, Randy Dunlap wrote:
> 
>>> I'd like to keep print_section around as it also does some other things.
>>> Repeating the output formatting at the various call locations will make
>>> it difficult to change if you add another whizbang feature.
>> I have no problems with keeping print_section() except that it's not used
>> in the current tree after this patch.  :)
>>
>>> I have a patch here that I could sent out today if hexdump would work the
>>> right way.
>> Please define "the right way."
> 
> Align the ascii output so that it does not look that ugly.

It's a kernel log file, for crying out loud.  It is not formatted.

but I'll change it  :(

-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 21:34                             ` [PATCH 1/3] hexdump: more output formatting Randy Dunlap
  2007-05-30 21:42                               ` Christoph Lameter
@ 2007-05-30 21:56                               ` Satyam Sharma
  2007-05-30 22:03                                 ` Randy Dunlap
  2007-05-30 22:36                               ` Jesper Juhl
  2 siblings, 1 reply; 104+ messages in thread
From: Satyam Sharma @ 2007-05-30 21:56 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Christoph Lameter, Andrew Morton, linux-kernel, hugh

Hello Randy,

> Add a prefix string parameter.  Callers are responsible for any
> string length/alignment that they want to see in the output.  I.e.,
> callers should pad strings to achieve alignment if they want that.
>
> Add rowsize parameter.  This is the number of raw data bytes
> to be printed per line.  Must be 16 or 32.
>
> Add a group_size parameter.  This allows callers to dump values
> as 1-byte, 2-byte, 4-byte, or 8-byte numbers.  Default is
> 1-byte numbers.  If the total length is not an even multiple
> of group_size, 1-byte numbers are printed.

I wonder if (over-)engineering could hurt its adoption by more kernel
users. There aren't very many 8-argument monsters in the kernel,
and one would expect hexdump() to be easier on the fingers to
type? :-) Why not just continue with reasonable default/fixed rowsize
and groupsize values?

> Add an "ascii" output parameter.  This causes ASCII data output
> following the hex data output.
[...]
> +       if (!ascii)
> +               goto nil;
> +
> +       if ((lx + 1) < linebuflen)
>                 linebuf[lx++] = ' ';
> -       }
> -       for (j = 0; (j < 16) && (j < len) && (lx + 2) < linebuflen; j++)
> +       for (j = 0; (j < rowsize) && (j < len) && (lx + 2) < linebuflen; j++)
>                 linebuf[lx++] = isprint(ptr[j]) ? ptr[j] : '.';
> +nil:
>         linebuf[lx++] = '\0';

if (ascii) {
...
}

linebuf[lx++] = '\0';

would help lose a goto and label.

Satyam

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 21:56                               ` [PATCH 1/3] " Satyam Sharma
@ 2007-05-30 22:03                                 ` Randy Dunlap
  2007-05-30 22:11                                   ` Satyam Sharma
  0 siblings, 1 reply; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 22:03 UTC (permalink / raw)
  To: Satyam Sharma; +Cc: Christoph Lameter, Andrew Morton, linux-kernel, hugh

Satyam Sharma wrote:
> Hello Randy,
> 
>> Add a prefix string parameter.  Callers are responsible for any
>> string length/alignment that they want to see in the output.  I.e.,
>> callers should pad strings to achieve alignment if they want that.
>>
>> Add rowsize parameter.  This is the number of raw data bytes
>> to be printed per line.  Must be 16 or 32.
>>
>> Add a group_size parameter.  This allows callers to dump values
>> as 1-byte, 2-byte, 4-byte, or 8-byte numbers.  Default is
>> 1-byte numbers.  If the total length is not an even multiple
>> of group_size, 1-byte numbers are printed.
> 
> I wonder if (over-)engineering could hurt its adoption by more kernel
> users. There aren't very many 8-argument monsters in the kernel,
> and one would expect hexdump() to be easier on the fingers to
> type? :-) Why not just continue with reasonable default/fixed rowsize
> and groupsize values?

Yes, one can try to satisfy the users/callers by adapting to their
needs (wishes), which requires parameters or such; or one can have
no callers and end up with (around 11 currently) different hex dump
functions in the kernel source tree, but no users of lib/hexdump.c.

But it won't take much more "requirements" for me to drop the patch.

>> Add an "ascii" output parameter.  This causes ASCII data output
>> following the hex data output.
> [...]
>> +       if (!ascii)
>> +               goto nil;
>> +
>> +       if ((lx + 1) < linebuflen)
>>                 linebuf[lx++] = ' ';
>> -       }
>> -       for (j = 0; (j < 16) && (j < len) && (lx + 2) < linebuflen; j++)
>> +       for (j = 0; (j < rowsize) && (j < len) && (lx + 2) < 
>> linebuflen; j++)
>>                 linebuf[lx++] = isprint(ptr[j]) ? ptr[j] : '.';
>> +nil:
>>         linebuf[lx++] = '\0';
> 
> if (ascii) {
> ...
> }
> 
> linebuf[lx++] = '\0';
> 
> would help lose a goto and label.

The label has another reference already, so it wouldn't be lost.

But the if (ascii) block could be added...

-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: [PATCH 2/3 -mm] slub: use lib/hexdump
  2007-05-30 21:54                                     ` Randy Dunlap
@ 2007-05-30 22:03                                       ` Christoph Lameter
  2007-05-30 22:06                                         ` Randy Dunlap
  0 siblings, 1 reply; 104+ messages in thread
From: Christoph Lameter @ 2007-05-30 22:03 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Andrew Morton, linux-kernel

I'd prefer something like this:

Use hexdump in slub.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: slub/mm/slub.c
===================================================================
--- slub.orig/mm/slub.c	2007-05-30 14:56:14.000000000 -0700
+++ slub/mm/slub.c	2007-05-30 15:01:33.000000000 -0700
@@ -339,34 +339,10 @@ static char *slub_debug_slabs;
  */
 static void print_section(char *text, u8 *addr, unsigned int length)
 {
-	int i, offset;
-	int newline = 1;
-	char ascii[17];
-
-	ascii[16] = 0;
-
-	for (i = 0; i < length; i++) {
-		if (newline) {
-			printk(KERN_ERR "%8s 0x%p: ", text, addr + i);
-			newline = 0;
-		}
-		printk(" %02x", addr[i]);
-		offset = i % 16;
-		ascii[offset] = isgraph(addr[i]) ? addr[i] : '.';
-		if (offset == 15) {
-			printk(" %s\n",ascii);
-			newline = 1;
-		}
-	}
-	if (!newline) {
-		i %= 16;
-		while (i < 16) {
-			printk("   ");
-			ascii[i] = ' ';
-			i++;
-		}
-		printk(" %s\n", ascii);
-	}
+	char buf[10];
+
+	sprintf(buf, "%8s:", text);
+	print_hex_dump(KERN_ERR, buf, DUMP_PREFIX_ADDRESS, 16, 1, addr, length, 1);
 }
 
 static struct track *get_track(struct kmem_cache *s, void *object,


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

* Re: [PATCH 2/3 -mm] slub: use lib/hexdump
  2007-05-30 22:03                                       ` Christoph Lameter
@ 2007-05-30 22:06                                         ` Randy Dunlap
  2007-05-31  1:39                                           ` Randy Dunlap
  0 siblings, 1 reply; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 22:06 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel

Christoph Lameter wrote:
> I'd prefer something like this:
> 
> Use hexdump in slub.

Sure, that's fine.

> Signed-off-by: Christoph Lameter <clameter@sgi.com>
> 
> Index: slub/mm/slub.c
> ===================================================================
> --- slub.orig/mm/slub.c	2007-05-30 14:56:14.000000000 -0700
> +++ slub/mm/slub.c	2007-05-30 15:01:33.000000000 -0700
> @@ -339,34 +339,10 @@ static char *slub_debug_slabs;
>   */
>  static void print_section(char *text, u8 *addr, unsigned int length)
>  {
> -	int i, offset;
> -	int newline = 1;
> -	char ascii[17];
> -
> -	ascii[16] = 0;
> -
> -	for (i = 0; i < length; i++) {
> -		if (newline) {
> -			printk(KERN_ERR "%8s 0x%p: ", text, addr + i);
> -			newline = 0;
> -		}
> -		printk(" %02x", addr[i]);
> -		offset = i % 16;
> -		ascii[offset] = isgraph(addr[i]) ? addr[i] : '.';
> -		if (offset == 15) {
> -			printk(" %s\n",ascii);
> -			newline = 1;
> -		}
> -	}
> -	if (!newline) {
> -		i %= 16;
> -		while (i < 16) {
> -			printk("   ");
> -			ascii[i] = ' ';
> -			i++;
> -		}
> -		printk(" %s\n", ascii);
> -	}
> +	char buf[10];
> +
> +	sprintf(buf, "%8s:", text);
> +	print_hex_dump(KERN_ERR, buf, DUMP_PREFIX_ADDRESS, 16, 1, addr, length, 1);
>  }
>  
>  static struct track *get_track(struct kmem_cache *s, void *object,
> 


-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 22:03                                 ` Randy Dunlap
@ 2007-05-30 22:11                                   ` Satyam Sharma
  2007-05-30 22:18                                     ` Christoph Lameter
  2007-05-30 22:25                                     ` Randy Dunlap
  0 siblings, 2 replies; 104+ messages in thread
From: Satyam Sharma @ 2007-05-30 22:11 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Christoph Lameter, Andrew Morton, linux-kernel, hugh

On 5/31/07, Randy Dunlap <randy.dunlap@oracle.com> wrote:
> Satyam Sharma wrote:
> > Hello Randy,
> >
> >> Add a prefix string parameter.  Callers are responsible for any
> >> string length/alignment that they want to see in the output.  I.e.,
> >> callers should pad strings to achieve alignment if they want that.
> >>
> >> Add rowsize parameter.  This is the number of raw data bytes
> >> to be printed per line.  Must be 16 or 32.
> >>
> >> Add a group_size parameter.  This allows callers to dump values
> >> as 1-byte, 2-byte, 4-byte, or 8-byte numbers.  Default is
> >> 1-byte numbers.  If the total length is not an even multiple
> >> of group_size, 1-byte numbers are printed.
> >
> > I wonder if (over-)engineering could hurt its adoption by more kernel
> > users. There aren't very many 8-argument monsters in the kernel,
> > and one would expect hexdump() to be easier on the fingers to
> > type? :-) Why not just continue with reasonable default/fixed rowsize
> > and groupsize values?
>
> Yes, one can try to satisfy the users/callers by adapting to their
> needs (wishes), which requires parameters or such; or one can have
> no callers and end up with (around 11 currently) different hex dump
> functions in the kernel source tree, but no users of lib/hexdump.c.

Yes, you're right, but I was just wondering whether any users really
cared enough about the rowsize and groupsize, also seeing that
accommodating these two args leads to a lot of increase in code.

> But it won't take much more "requirements" for me to drop the patch.

Please, don't drop this! I only complained because when global or
commonly-used functions have very long arglists, one tends to forget
which arg goes at which number, and it becomes necessary to write
the calls with having the prototype simultaneously open in another
terminal for reference! ...

> >> Add an "ascii" output parameter.  This causes ASCII data output
> >> following the hex data output.
> > [...]
> >> +       if (!ascii)
> >> +               goto nil;
> >> +
> >> +       if ((lx + 1) < linebuflen)
> >>                 linebuf[lx++] = ' ';
> >> -       }
> >> -       for (j = 0; (j < 16) && (j < len) && (lx + 2) < linebuflen; j++)
> >> +       for (j = 0; (j < rowsize) && (j < len) && (lx + 2) <
> >> linebuflen; j++)
> >>                 linebuf[lx++] = isprint(ptr[j]) ? ptr[j] : '.';
> >> +nil:
> >>         linebuf[lx++] = '\0';
> >
> > if (ascii) {
> > ...
> > }
> >
> > linebuf[lx++] = '\0';
> >
> > would help lose a goto and label.
>
> The label has another reference already, so it wouldn't be lost.

Oh yes, I'd missed that if (!len) goto nil; -- sorry for the noise.

Thanks,
Satyam

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 22:11                                   ` Satyam Sharma
@ 2007-05-30 22:18                                     ` Christoph Lameter
  2007-05-30 22:41                                       ` Satyam Sharma
  2007-05-30 22:25                                     ` Randy Dunlap
  1 sibling, 1 reply; 104+ messages in thread
From: Christoph Lameter @ 2007-05-30 22:18 UTC (permalink / raw)
  To: Satyam Sharma; +Cc: Randy Dunlap, Andrew Morton, linux-kernel, hugh

On Thu, 31 May 2007, Satyam Sharma wrote:

> Yes, you're right, but I was just wondering whether any users really
> cared enough about the rowsize and groupsize, also seeing that
> accommodating these two args leads to a lot of increase in code.

Have two functions

1. A function that prints full lines with address and ascii
	This defaults to 16 bytes by default + ascii.

hex_dump?

2. A function to convert a few bytes for use in other output.

sprint_hex?

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 22:11                                   ` Satyam Sharma
  2007-05-30 22:18                                     ` Christoph Lameter
@ 2007-05-30 22:25                                     ` Randy Dunlap
  1 sibling, 0 replies; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 22:25 UTC (permalink / raw)
  To: Satyam Sharma; +Cc: Christoph Lameter, Andrew Morton, linux-kernel, hugh

Satyam Sharma wrote:
> On 5/31/07, Randy Dunlap <randy.dunlap@oracle.com> wrote:
>> Satyam Sharma wrote:
>> > Hello Randy,
>> >
>> >> Add a prefix string parameter.  Callers are responsible for any
>> >> string length/alignment that they want to see in the output.  I.e.,
>> >> callers should pad strings to achieve alignment if they want that.
>> >>
>> >> Add rowsize parameter.  This is the number of raw data bytes
>> >> to be printed per line.  Must be 16 or 32.
>> >>
>> >> Add a group_size parameter.  This allows callers to dump values
>> >> as 1-byte, 2-byte, 4-byte, or 8-byte numbers.  Default is
>> >> 1-byte numbers.  If the total length is not an even multiple
>> >> of group_size, 1-byte numbers are printed.
>> >
>> > I wonder if (over-)engineering could hurt its adoption by more kernel
>> > users. There aren't very many 8-argument monsters in the kernel,
>> > and one would expect hexdump() to be easier on the fingers to
>> > type? :-) Why not just continue with reasonable default/fixed rowsize
>> > and groupsize values?
>>
>> Yes, one can try to satisfy the users/callers by adapting to their
>> needs (wishes), which requires parameters or such; or one can have
>> no callers and end up with (around 11 currently) different hex dump
>> functions in the kernel source tree, but no users of lib/hexdump.c.
> 
> Yes, you're right, but I was just wondering whether any users really
> cared enough about the rowsize and groupsize, also seeing that
> accommodating these two args leads to a lot of increase in code.

The only other (just-posted) user is in mm/prio_tree.c (in the -mm
kernel), and it wants non-byte-mode output (pointers, 4 bytes or
8 bytes).  And it just doesn't make much sense to print only
2 pointers per line (when ASCII isn't being printed).

But maybe prio_tree.c::dump_vma() just isn't a good candidate
for lib/hexdump usage...

I need to look at other potential users/callers to see what the
needs are.

>> But it won't take much more "requirements" for me to drop the patch.
> 
> Please, don't drop this! I only complained because when global or
> commonly-used functions have very long arglists, one tends to forget
> which arg goes at which number, and it becomes necessary to write
> the calls with having the prototype simultaneously open in another
> terminal for reference! ...
> 
>> >> Add an "ascii" output parameter.  This causes ASCII data output
>> >> following the hex data output.


-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 21:34                             ` [PATCH 1/3] hexdump: more output formatting Randy Dunlap
  2007-05-30 21:42                               ` Christoph Lameter
  2007-05-30 21:56                               ` [PATCH 1/3] " Satyam Sharma
@ 2007-05-30 22:36                               ` Jesper Juhl
  2007-05-30 23:04                                 ` Randy Dunlap
  2 siblings, 1 reply; 104+ messages in thread
From: Jesper Juhl @ 2007-05-30 22:36 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Christoph Lameter, Andrew Morton, linux-kernel, hugh

On 30/05/07, Randy Dunlap <randy.dunlap@oracle.com> wrote:
> From: Randy Dunlap <randy.dunlap@oracle.com>
>

Some friendly nitpicking below :-)

> Add a prefix string parameter.  Callers are responsible for any
> string length/alignment that they want to see in the output.  I.e.,
> callers should pad strings to achieve alignment if they want that.
>
> Add rowsize parameter.  This is the number of raw data bytes
> to be printed per line.  Must be 16 or 32.
>
> Add a group_size parameter.  This allows callers to dump values

One is called "rowsize" the other "group_size". How about consistent
naming; either "row_size" and "group_size" or "rowsize" and
"groupsize" ?

> as 1-byte, 2-byte, 4-byte, or 8-byte numbers.  Default is
> 1-byte numbers.  If the total length is not an even multiple
> of group_size, 1-byte numbers are printed.
>
> Add an "ascii" output parameter.  This causes ASCII data output
> following the hex data output.
>
> Clean up some doc examples.
>
> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
> ---
[snip]
> +
> +       switch (group_size) {
> +       case 8: {
> +               const u64 *ptr8 = buf;
> +               int ngroups = len / group_size;
> +
> +               for (j = 0; j < ngroups; j++)
> +                       lx += scnprintf(linebuf + lx, linebuflen - lx,
> +                               "%16.16llx ", (unsigned long long)*(ptr8 + j));
> +               break;
> +       }
> +

I don't see the point in this (and the other) extra blank lines
between closing brace of one case and the start of the next. Removing
the blank line wouldn't hurt readability but would allow more lines of
code to be visible on the screen at once.

> +       case 4: {

[snip]


Apart from those nits, nice patch, nice improvement.


-- 
Jesper Juhl <jesper.juhl@gmail.com>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 22:18                                     ` Christoph Lameter
@ 2007-05-30 22:41                                       ` Satyam Sharma
  2007-05-30 22:44                                         ` Randy Dunlap
  0 siblings, 1 reply; 104+ messages in thread
From: Satyam Sharma @ 2007-05-30 22:41 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Randy Dunlap, Andrew Morton, linux-kernel, hugh

On 5/31/07, Christoph Lameter <clameter@sgi.com> wrote:
> On Thu, 31 May 2007, Satyam Sharma wrote:
>
> > Yes, you're right, but I was just wondering whether any users really
> > cared enough about the rowsize and groupsize, also seeing that
> > accommodating these two args leads to a lot of increase in code.
>
> Have two functions
>
> 1. A function that prints full lines with address and ascii
>         This defaults to 16 bytes by default + ascii.
>
> hex_dump?
>
> 2. A function to convert a few bytes for use in other output.
>
> sprint_hex?

Yes, or we could go the whole hog and have a total of 4 functions:

(1) For users that want to use a short version, and are fine with
the default values for the grouping / other parameters -- also have
both the print_to_buffer/sprint_hex and print_to_console/hex_dump
variants.

(2) For users that care about these parameters, both the variants
with the expanded arglist (the ones listed above in (1) would then
just be inlines wrapping over these ones)

Just that it would be nice if there is some simple (with short arglist)
function that works well-enough for most people that everyone would
be able to adopt/use quickly.

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 22:41                                       ` Satyam Sharma
@ 2007-05-30 22:44                                         ` Randy Dunlap
  2007-05-30 22:48                                           ` Satyam Sharma
  0 siblings, 1 reply; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 22:44 UTC (permalink / raw)
  To: Satyam Sharma; +Cc: Christoph Lameter, Andrew Morton, linux-kernel, hugh

Satyam Sharma wrote:
> On 5/31/07, Christoph Lameter <clameter@sgi.com> wrote:
>> On Thu, 31 May 2007, Satyam Sharma wrote:
>>
>> > Yes, you're right, but I was just wondering whether any users really
>> > cared enough about the rowsize and groupsize, also seeing that
>> > accommodating these two args leads to a lot of increase in code.
>>
>> Have two functions
>>
>> 1. A function that prints full lines with address and ascii
>>         This defaults to 16 bytes by default + ascii.
>>
>> hex_dump?
>>
>> 2. A function to convert a few bytes for use in other output.
>>
>> sprint_hex?
> 
> Yes, or we could go the whole hog and have a total of 4 functions:
> 
> (1) For users that want to use a short version, and are fine with
> the default values for the grouping / other parameters -- also have
> both the print_to_buffer/sprint_hex and print_to_console/hex_dump
> variants.
> 
> (2) For users that care about these parameters, both the variants
> with the expanded arglist (the ones listed above in (1) would then
> just be inlines wrapping over these ones)
> 
> Just that it would be nice if there is some simple (with short arglist)
> function that works well-enough for most people that everyone would
> be able to adopt/use quickly.

Satyam, you sound like you need something to do, so please grep the
kernel tree for /hexdump/, /hex_dump/, /dump_hex/, /dumphex/, and
other such variants and help me add some callers for lib/hexdump.c.
That way we can see what parameters it really needs.

Thanks. :)

-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 22:44                                         ` Randy Dunlap
@ 2007-05-30 22:48                                           ` Satyam Sharma
  2007-05-30 22:59                                             ` Randy Dunlap
  0 siblings, 1 reply; 104+ messages in thread
From: Satyam Sharma @ 2007-05-30 22:48 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Christoph Lameter, Andrew Morton, linux-kernel, hugh

On 5/31/07, Randy Dunlap <randy.dunlap@oracle.com> wrote:
> Satyam Sharma wrote:
> > On 5/31/07, Christoph Lameter <clameter@sgi.com> wrote:
> >> On Thu, 31 May 2007, Satyam Sharma wrote:
> >>
> >> > Yes, you're right, but I was just wondering whether any users really
> >> > cared enough about the rowsize and groupsize, also seeing that
> >> > accommodating these two args leads to a lot of increase in code.
> >>
> >> Have two functions
> >>
> >> 1. A function that prints full lines with address and ascii
> >>         This defaults to 16 bytes by default + ascii.
> >>
> >> hex_dump?
> >>
> >> 2. A function to convert a few bytes for use in other output.
> >>
> >> sprint_hex?
> >
> > Yes, or we could go the whole hog and have a total of 4 functions:
> >
> > (1) For users that want to use a short version, and are fine with
> > the default values for the grouping / other parameters -- also have
> > both the print_to_buffer/sprint_hex and print_to_console/hex_dump
> > variants.
> >
> > (2) For users that care about these parameters, both the variants
> > with the expanded arglist (the ones listed above in (1) would then
> > just be inlines wrapping over these ones)
> >
> > Just that it would be nice if there is some simple (with short arglist)
> > function that works well-enough for most people that everyone would
> > be able to adopt/use quickly.
>
> Satyam, you sound like you need something to do, so please grep the
> kernel tree for /hexdump/, /hex_dump/, /dump_hex/, /dumphex/, and
> other such variants and help me add some callers for lib/hexdump.c.
> That way we can see what parameters it really needs.

Sure, I'll get started on this, then! :-)

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 22:48                                           ` Satyam Sharma
@ 2007-05-30 22:59                                             ` Randy Dunlap
  0 siblings, 0 replies; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 22:59 UTC (permalink / raw)
  To: Satyam Sharma; +Cc: Christoph Lameter, Andrew Morton, linux-kernel, hugh

Satyam Sharma wrote:
> On 5/31/07, Randy Dunlap <randy.dunlap@oracle.com> wrote:
>> Satyam Sharma wrote:
>> > On 5/31/07, Christoph Lameter <clameter@sgi.com> wrote:
>> >> On Thu, 31 May 2007, Satyam Sharma wrote:
>> >>
>> >> > Yes, you're right, but I was just wondering whether any users really
>> >> > cared enough about the rowsize and groupsize, also seeing that
>> >> > accommodating these two args leads to a lot of increase in code.
>> >>
>> >> Have two functions
>> >>
>> >> 1. A function that prints full lines with address and ascii
>> >>         This defaults to 16 bytes by default + ascii.
>> >>
>> >> hex_dump?
>> >>
>> >> 2. A function to convert a few bytes for use in other output.
>> >>
>> >> sprint_hex?
>> >
>> > Yes, or we could go the whole hog and have a total of 4 functions:
>> >
>> > (1) For users that want to use a short version, and are fine with
>> > the default values for the grouping / other parameters -- also have
>> > both the print_to_buffer/sprint_hex and print_to_console/hex_dump
>> > variants.
>> >
>> > (2) For users that care about these parameters, both the variants
>> > with the expanded arglist (the ones listed above in (1) would then
>> > just be inlines wrapping over these ones)
>> >
>> > Just that it would be nice if there is some simple (with short arglist)
>> > function that works well-enough for most people that everyone would
>> > be able to adopt/use quickly.
>>
>> Satyam, you sound like you need something to do, so please grep the
>> kernel tree for /hexdump/, /hex_dump/, /dump_hex/, /dumphex/, and
>> other such variants and help me add some callers for lib/hexdump.c.
>> That way we can see what parameters it really needs.
> 
> Sure, I'll get started on this, then! :-)

Great!  oh, there's also dumpmem, dump_mem, memdump, mem_dump, etc.  :)

Thanks.

-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 22:36                               ` Jesper Juhl
@ 2007-05-30 23:04                                 ` Randy Dunlap
  2007-05-30 23:07                                   ` Jesper Juhl
  0 siblings, 1 reply; 104+ messages in thread
From: Randy Dunlap @ 2007-05-30 23:04 UTC (permalink / raw)
  To: Jesper Juhl; +Cc: Christoph Lameter, Andrew Morton, linux-kernel, hugh

Jesper Juhl wrote:
> On 30/05/07, Randy Dunlap <randy.dunlap@oracle.com> wrote:
>> From: Randy Dunlap <randy.dunlap@oracle.com>
>>
> 
> Some friendly nitpicking below :-)
> 
>> Add a prefix string parameter.  Callers are responsible for any
>> string length/alignment that they want to see in the output.  I.e.,
>> callers should pad strings to achieve alignment if they want that.
>>
>> Add rowsize parameter.  This is the number of raw data bytes
>> to be printed per line.  Must be 16 or 32.
>>
>> Add a group_size parameter.  This allows callers to dump values
> 
> One is called "rowsize" the other "group_size". How about consistent
> naming; either "row_size" and "group_size" or "rowsize" and
> "groupsize" ?

Done.  but please don't add that to CodingStyle.

>> as 1-byte, 2-byte, 4-byte, or 8-byte numbers.  Default is
>> 1-byte numbers.  If the total length is not an even multiple
>> of group_size, 1-byte numbers are printed.

-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* Re: [PATCH 1/3] hexdump: more output formatting
  2007-05-30 23:04                                 ` Randy Dunlap
@ 2007-05-30 23:07                                   ` Jesper Juhl
  0 siblings, 0 replies; 104+ messages in thread
From: Jesper Juhl @ 2007-05-30 23:07 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Christoph Lameter, Andrew Morton, linux-kernel, hugh

On 31/05/07, Randy Dunlap <randy.dunlap@oracle.com> wrote:
> Jesper Juhl wrote:
> > On 30/05/07, Randy Dunlap <randy.dunlap@oracle.com> wrote:
> >> From: Randy Dunlap <randy.dunlap@oracle.com>
> >>
> >
> > Some friendly nitpicking below :-)
> >
> >> Add a prefix string parameter.  Callers are responsible for any
> >> string length/alignment that they want to see in the output.  I.e.,
> >> callers should pad strings to achieve alignment if they want that.
> >>
> >> Add rowsize parameter.  This is the number of raw data bytes
> >> to be printed per line.  Must be 16 or 32.
> >>
> >> Add a group_size parameter.  This allows callers to dump values
> >
> > One is called "rowsize" the other "group_size". How about consistent
> > naming; either "row_size" and "group_size" or "rowsize" and
> > "groupsize" ?
>
> Done.  but please don't add that to CodingStyle.
>
Hehe, don't worry, I won't ;-)
I just spotted it when reading the patch and thought I'd point it out :)

-- 
Jesper Juhl <jesper.juhl@gmail.com>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html

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

* Re: [PATCH 2/3 -mm] slub: use lib/hexdump
  2007-05-30 22:06                                         ` Randy Dunlap
@ 2007-05-31  1:39                                           ` Randy Dunlap
  0 siblings, 0 replies; 104+ messages in thread
From: Randy Dunlap @ 2007-05-31  1:39 UTC (permalink / raw)
  To: lkml; +Cc: Christoph Lameter, Andrew Morton

On Wed, 30 May 2007 15:06:30 -0700 Randy Dunlap wrote:

> Christoph Lameter wrote:
> > I'd prefer something like this:
> > 
> > Use hexdump in slub.
> 
> Sure, that's fine.

Just needs to #include <linux/kernel.h>


> > Signed-off-by: Christoph Lameter <clameter@sgi.com>
> > 
> > Index: slub/mm/slub.c
> > ===================================================================
> > --- slub.orig/mm/slub.c	2007-05-30 14:56:14.000000000 -0700
> > +++ slub/mm/slub.c	2007-05-30 15:01:33.000000000 -0700
> > @@ -339,34 +339,10 @@ static char *slub_debug_slabs;
> >   */
> >  static void print_section(char *text, u8 *addr, unsigned int length)
> >  {
> > -	int i, offset;
> > -	int newline = 1;
> > -	char ascii[17];
> > -
> > -	ascii[16] = 0;
> > -
> > -	for (i = 0; i < length; i++) {
> > -		if (newline) {
> > -			printk(KERN_ERR "%8s 0x%p: ", text, addr + i);
> > -			newline = 0;
> > -		}
> > -		printk(" %02x", addr[i]);
> > -		offset = i % 16;
> > -		ascii[offset] = isgraph(addr[i]) ? addr[i] : '.';
> > -		if (offset == 15) {
> > -			printk(" %s\n",ascii);
> > -			newline = 1;
> > -		}
> > -	}
> > -	if (!newline) {
> > -		i %= 16;
> > -		while (i < 16) {
> > -			printk("   ");
> > -			ascii[i] = ' ';
> > -			i++;
> > -		}
> > -		printk(" %s\n", ascii);
> > -	}
> > +	char buf[10];
> > +
> > +	sprintf(buf, "%8s:", text);
> > +	print_hex_dump(KERN_ERR, buf, DUMP_PREFIX_ADDRESS, 16, 1, addr, length, 1);
> >  }
> >  
> >  static struct track *get_track(struct kmem_cache *s, void *object,
> > 

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

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

* [PATCH 1/3 v2] hexdump: more output formatting
  2007-05-30 21:42                               ` Christoph Lameter
  2007-05-30 21:45                                 ` Randy Dunlap
@ 2007-05-31  1:45                                 ` Randy Dunlap
  1 sibling, 0 replies; 104+ messages in thread
From: Randy Dunlap @ 2007-05-31  1:45 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Andrew Morton, linux-kernel, hugh

From: Randy Dunlap <randy.dunlap@oracle.com>

Add a prefix string parameter.  Callers are responsible for any
string length/alignment that they want to see in the output.  I.e.,
callers should pad strings to achieve alignment if they want that.

Add rowsize parameter.  This is the number of raw data bytes
to be printed per line.  Must be 16 or 32.

Add a groupsize parameter.  This allows callers to dump values
as 1-byte, 2-byte, 4-byte, or 8-byte numbers.  Default is
1-byte numbers.  If the total length is not an even multiple
of groupsize, 1-byte numbers are printed.

Add an "ascii" output parameter.  This causes ASCII data output
following the hex data output.

Clean up some doc examples.

Align the ASCII output on all lines that are produced by one call.

Add a new interface, print_hex_dump_bytes(), that is a shortcut
to print_hex_dump(), using default parameter values to print 16 bytes
in byte-size chunks of hex + ASCII output, using printk level KERN_DEBUG.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
 include/linux/kernel.h |   12 ++-
 lib/hexdump.c          |  149 +++++++++++++++++++++++++++++++++++++++----------
 2 files changed, 129 insertions(+), 32 deletions(-)

--- linux-2622-rc2mm1-slub.orig/include/linux/kernel.h
+++ linux-2622-rc2mm1-slub/include/linux/kernel.h
@@ -218,10 +218,14 @@ enum {
 	DUMP_PREFIX_ADDRESS,
 	DUMP_PREFIX_OFFSET
 };
-extern void hex_dump_to_buffer(const void *buf, size_t len, char *linebuf,
-				size_t linebuflen);
-extern void print_hex_dump(const char *level, int prefix_type,
-				void *buf, size_t len);
+extern void hex_dump_to_buffer(const void *buf, size_t len,
+				int rowsize, int groupsize,
+				char *linebuf, size_t linebuflen, bool ascii);
+extern void print_hex_dump(const char *level, const char *prefix_str,
+				int prefix_type, int rowsize, int groupsize,
+				void *buf, size_t len, bool ascii);
+extern void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
+			void *buf, size_t len);
 #define hex_asc(x)	"0123456789abcdef"[x]
 
 #ifdef DEBUG
--- linux-2622-rc2mm1-slub.orig/lib/hexdump.c
+++ linux-2622-rc2mm1-slub/lib/hexdump.c
@@ -16,42 +16,98 @@
  * hex_dump_to_buffer - convert a blob of data to "hex ASCII" in memory
  * @buf: data blob to dump
  * @len: number of bytes in the @buf
+ * @rowsize: number of bytes to print per line; must be 16 or 32
+ * @groupsize: number of bytes to print at a time (1, 2, 4, 8; default = 1)
  * @linebuf: where to put the converted data
  * @linebuflen: total size of @linebuf, including space for terminating NUL
+ * @ascii: include ASCII after the hex output
  *
  * hex_dump_to_buffer() works on one "line" of output at a time, i.e.,
- * 16 bytes of input data converted to hex + ASCII output.
+ * 16 or 32 bytes of input data converted to hex + ASCII output.
  *
  * Given a buffer of u8 data, hex_dump_to_buffer() converts the input data
  * to a hex + ASCII dump at the supplied memory location.
  * The converted output is always NUL-terminated.
  *
  * E.g.:
- *	hex_dump_to_buffer(frame->data, frame->len, linebuf, sizeof(linebuf));
+ *   hex_dump_to_buffer(frame->data, frame->len, 16, 1,
+ *			linebuf, sizeof(linebuf), 1);
  *
  * example output buffer:
- * 40414243 44454647 48494a4b 4c4d4e4f  @ABCDEFGHIJKLMNO
+ * 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f  @ABCDEFGHIJKLMNO
  */
-void hex_dump_to_buffer(const void *buf, size_t len, char *linebuf,
-			size_t linebuflen)
+void hex_dump_to_buffer(const void *buf, size_t len, int rowsize,
+			int groupsize, char *linebuf, size_t linebuflen,
+			bool ascii)
 {
 	const u8 *ptr = buf;
 	u8 ch;
 	int j, lx = 0;
+	int ascii_column;
 
-	for (j = 0; (j < 16) && (j < len) && (lx + 3) < linebuflen; j++) {
-		if (j && !(j % 4))
+	if (rowsize != 16 && rowsize != 32)
+		rowsize = 16;
+
+	if (!len)
+		goto nil;
+	if (len > rowsize)		/* limit to one line at a time */
+		len = rowsize;
+	if ((len % groupsize) != 0)	/* no mixed size output */
+		groupsize = 1;
+
+	switch (groupsize) {
+	case 8: {
+		const u64 *ptr8 = buf;
+		int ngroups = len / groupsize;
+
+		for (j = 0; j < ngroups; j++)
+			lx += scnprintf(linebuf + lx, linebuflen - lx,
+				"%16.16llx ", (unsigned long long)*(ptr8 + j));
+		ascii_column = 17 * ngroups + 2;
+		break;
+	}
+
+	case 4: {
+		const u32 *ptr4 = buf;
+		int ngroups = len / groupsize;
+
+		for (j = 0; j < ngroups; j++)
+			lx += scnprintf(linebuf + lx, linebuflen - lx,
+				"%8.8x ", *(ptr4 + j));
+		ascii_column = 9 * ngroups + 2;
+		break;
+	}
+
+	case 2: {
+		const u16 *ptr2 = buf;
+		int ngroups = len / groupsize;
+
+		for (j = 0; j < ngroups; j++)
+			lx += scnprintf(linebuf + lx, linebuflen - lx,
+				"%4.4x ", *(ptr2 + j));
+		ascii_column = 5 * ngroups + 2;
+		break;
+	}
+
+	default:
+		for (j = 0; (j < rowsize) && (j < len) && (lx + 4) < linebuflen;
+		     j++) {
+			ch = ptr[j];
+			linebuf[lx++] = hex_asc(ch >> 4);
+			linebuf[lx++] = hex_asc(ch & 0x0f);
 			linebuf[lx++] = ' ';
-		ch = ptr[j];
-		linebuf[lx++] = hex_asc(ch >> 4);
-		linebuf[lx++] = hex_asc(ch & 0x0f);
+		}
+		ascii_column = 3 * rowsize + 2;
+		break;
 	}
-	if ((lx + 2) < linebuflen) {
-		linebuf[lx++] = ' ';
+	if (!ascii)
+		goto nil;
+
+	while (lx < (linebuflen - 1) && lx < (ascii_column - 1))
 		linebuf[lx++] = ' ';
-	}
-	for (j = 0; (j < 16) && (j < len) && (lx + 2) < linebuflen; j++)
+	for (j = 0; (j < rowsize) && (j < len) && (lx + 2) < linebuflen; j++)
 		linebuf[lx++] = isprint(ptr[j]) ? ptr[j] : '.';
+nil:
 	linebuf[lx++] = '\0';
 }
 EXPORT_SYMBOL(hex_dump_to_buffer);
@@ -59,46 +115,83 @@ EXPORT_SYMBOL(hex_dump_to_buffer);
 /**
  * print_hex_dump - print a text hex dump to syslog for a binary blob of data
  * @level: kernel log level (e.g. KERN_DEBUG)
+ * @prefix_str: string to prefix each line with;
+ *  caller supplies trailing spaces for alignment if desired
  * @prefix_type: controls whether prefix of an offset, address, or none
  *  is printed (%DUMP_PREFIX_OFFSET, %DUMP_PREFIX_ADDRESS, %DUMP_PREFIX_NONE)
+ * @rowsize: number of bytes to print per line; must be 16 or 32
+ * @groupsize: number of bytes to print at a time (1, 2, 4, 8; default = 1)
  * @buf: data blob to dump
  * @len: number of bytes in the @buf
+ * @ascii: include ASCII after the hex output
  *
  * Given a buffer of u8 data, print_hex_dump() prints a hex + ASCII dump
  * to the kernel log at the specified kernel log level, with an optional
  * leading prefix.
  *
+ * print_hex_dump() works on one "line" of output at a time, i.e.,
+ * 16 or 32 bytes of input data converted to hex + ASCII output.
+ * print_hex_dump() iterates over the entire input @buf, breaking it into
+ * "line size" chunks to format and print.
+ *
  * E.g.:
- *   print_hex_dump(KERN_DEBUG, DUMP_PREFIX_ADDRESS, frame->data, frame->len);
+ *   print_hex_dump(KERN_DEBUG, "raw data: ", DUMP_PREFIX_ADDRESS,
+ *		16, 1, frame->data, frame->len, 1);
  *
- * Example output using %DUMP_PREFIX_OFFSET:
- * 0009ab42: 40414243 44454647 48494a4b 4c4d4e4f  @ABCDEFGHIJKLMNO
- * Example output using %DUMP_PREFIX_ADDRESS:
- * ffffffff88089af0: 70717273 74757677 78797a7b 7c7d7e7f  pqrstuvwxyz{|}~.
+ * Example output using %DUMP_PREFIX_OFFSET and 1-byte mode:
+ * 0009ab42: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f  @ABCDEFGHIJKLMNO
+ * Example output using %DUMP_PREFIX_ADDRESS and 4-byte mode:
+ * ffffffff88089af0: 73727170 77767574 7b7a7978 7f7e7d7c  pqrstuvwxyz{|}~.
  */
-void print_hex_dump(const char *level, int prefix_type, void *buf, size_t len)
+void print_hex_dump(const char *level, const char *prefix_str, int prefix_type,
+			int rowsize, int groupsize,
+			void *buf, size_t len, bool ascii)
 {
 	u8 *ptr = buf;
 	int i, linelen, remaining = len;
-	unsigned char linebuf[100];
+	unsigned char linebuf[200];
 
-	for (i = 0; i < len; i += 16) {
-		linelen = min(remaining, 16);
-		remaining -= 16;
-		hex_dump_to_buffer(ptr + i, linelen, linebuf, sizeof(linebuf));
+	if (rowsize != 16 && rowsize != 32)
+		rowsize = 16;
+
+	for (i = 0; i < len; i += rowsize) {
+		linelen = min(remaining, rowsize);
+		remaining -= rowsize;
+		hex_dump_to_buffer(ptr + i, linelen, rowsize, groupsize,
+				linebuf, sizeof(linebuf), ascii);
 
 		switch (prefix_type) {
 		case DUMP_PREFIX_ADDRESS:
-			printk("%s%*p: %s\n", level,
+			printk("%s%s%*p: %s\n", level, prefix_str,
 				(int)(2 * sizeof(void *)), ptr + i, linebuf);
 			break;
 		case DUMP_PREFIX_OFFSET:
-			printk("%s%.8x: %s\n", level, i, linebuf);
+			printk("%s%s%.8x: %s\n", level, prefix_str, i, linebuf);
 			break;
 		default:
-			printk("%s%s\n", level, linebuf);
+			printk("%s%s%s\n", level, prefix_str, linebuf);
 			break;
 		}
 	}
 }
 EXPORT_SYMBOL(print_hex_dump);
+
+/**
+ * print_hex_dump_bytes - shorthand form of print_hex_dump() with default params
+ * @prefix_str: string to prefix each line with;
+ *  caller supplies trailing spaces for alignment if desired
+ * @prefix_type: controls whether prefix of an offset, address, or none
+ *  is printed (%DUMP_PREFIX_OFFSET, %DUMP_PREFIX_ADDRESS, %DUMP_PREFIX_NONE)
+ * @buf: data blob to dump
+ * @len: number of bytes in the @buf
+ *
+ * Calls print_hex_dump(), with log level of KERN_DEBUG,
+ * rowsize of 16, groupsize of 1, and ASCII output included.
+ */
+void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
+			void *buf, size_t len)
+{
+	print_hex_dump(KERN_DEBUG, prefix_str, prefix_type, 16, 1,
+			buf, len, 1);
+}
+EXPORT_SYMBOL(print_hex_dump_bytes);

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

* Re: 2.6.22-rc2-mm1
  2007-05-29 17:25             ` 2.6.22-rc2-mm1 Cornelia Huck
@ 2007-06-01 12:38               ` Greg KH
  2007-07-03  8:50                 ` 2.6.22-rc2-mm1 Cornelia Huck
  0 siblings, 1 reply; 104+ messages in thread
From: Greg KH @ 2007-06-01 12:38 UTC (permalink / raw)
  To: Cornelia Huck
  Cc: Tilman Schmidt, Kay Sievers, Andrew Morton, linux-kernel, Matt Mackall

On Tue, May 29, 2007 at 07:25:11PM +0200, Cornelia Huck wrote:
> On Tue, 29 May 2007 18:55:21 +0200,
> Tilman Schmidt <tilman@imap.cc> wrote:
> 
> > Am 29.05.2007 09:25 schrieb Cornelia Huck:
> > > Could those folks that had trouble with this kernel check out whether
> > > the following patch helps?
> > 
> > Yes, that patch fixes my problem.
> > 
> > Thanks,
> > Tilman
> 
> Thanks for testing (to both of you) and again sorry for the breakage.

Can you resend me the new patch, I seem to have lost it in this thread
:(

thanks,

greg k-h

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

* Re: 2.6.22-rc2-mm1
  2007-06-01 12:38               ` 2.6.22-rc2-mm1 Greg KH
@ 2007-07-03  8:50                 ` Cornelia Huck
  2007-07-12  6:00                   ` 2.6.22-rc2-mm1 Greg KH
  0 siblings, 1 reply; 104+ messages in thread
From: Cornelia Huck @ 2007-07-03  8:50 UTC (permalink / raw)
  To: Greg KH
  Cc: Tilman Schmidt, Kay Sievers, Andrew Morton, linux-kernel, Matt Mackall

On Fri, 1 Jun 2007 05:38:48 -0700,
Greg KH <greg@kroah.com> wrote:

[Sorry for taking so long to respond, I've been offline for a month]

> Can you resend me the new patch, I seem to have lost it in this thread
> :(

Andrew has the fixup patch in his -mm lineup as
driver-core-check-return-code-of-sysfs_create_link-fix.patch. Do you
need anything else?

Cornelia

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

* Re: 2.6.22-rc2-mm1
  2007-07-03  8:50                 ` 2.6.22-rc2-mm1 Cornelia Huck
@ 2007-07-12  6:00                   ` Greg KH
  0 siblings, 0 replies; 104+ messages in thread
From: Greg KH @ 2007-07-12  6:00 UTC (permalink / raw)
  To: Cornelia Huck
  Cc: Tilman Schmidt, Kay Sievers, Andrew Morton, linux-kernel, Matt Mackall

On Tue, Jul 03, 2007 at 10:50:40AM +0200, Cornelia Huck wrote:
> On Fri, 1 Jun 2007 05:38:48 -0700,
> Greg KH <greg@kroah.com> wrote:
> 
> [Sorry for taking so long to respond, I've been offline for a month]
> 
> > Can you resend me the new patch, I seem to have lost it in this thread
> > :(
> 
> Andrew has the fixup patch in his -mm lineup as
> driver-core-check-return-code-of-sysfs_create_link-fix.patch. Do you
> need anything else?

No, that should be fine, I'll pull it from him there.

thanks,

greg k-h

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

end of thread, other threads:[~2007-07-12  6:04 UTC | newest]

Thread overview: 104+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
2007-05-23  7:48 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23  9:22   ` 2.6.22-rc2-mm1 Rafael J. Wysocki
2007-05-23 14:47     ` 2.6.22-rc2-mm1 Alan Stern
2007-05-23 15:54       ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 16:09         ` 2.6.22-rc2-mm1 Oleg Nesterov
2007-05-23 17:00         ` 2.6.22-rc2-mm1 Alan Stern
2007-05-23 16:21           ` 2.6.22-rc2-mm1 Oleg Nesterov
2007-05-23 18:41             ` 2.6.22-rc2-mm1 Alan Stern
2007-05-23  9:47 ` 2.6.22-rc2-mm1 Michal Piotrowski
2007-05-23 17:18   ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-23 21:05     ` 2.6.22-rc2-mm1 Michal Piotrowski
2007-05-23 22:01       ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 22:18         ` 2.6.22-rc2-mm1 Michal Piotrowski
2007-05-23 22:27         ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-23 22:37           ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 23:36             ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24  1:21               ` 2.6.22-rc2-mm1 Randy Dunlap
2007-05-24  2:43                 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24  3:00                 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24  3:26                   ` 2.6.22-rc2-mm1 Randy Dunlap
2007-05-24  7:31                   ` 2.6.22-rc2-mm1 Ingo Molnar
2007-05-24 16:40                     ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 21:20                     ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 21:29                       ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-24 21:55                         ` 2.6.22-rc2-mm1 Randy Dunlap
2007-05-24 22:35                           ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 22:53                             ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-30 21:34                             ` [PATCH 1/3] hexdump: more output formatting Randy Dunlap
2007-05-30 21:42                               ` Christoph Lameter
2007-05-30 21:45                                 ` Randy Dunlap
2007-05-31  1:45                                 ` [PATCH 1/3 v2] " Randy Dunlap
2007-05-30 21:56                               ` [PATCH 1/3] " Satyam Sharma
2007-05-30 22:03                                 ` Randy Dunlap
2007-05-30 22:11                                   ` Satyam Sharma
2007-05-30 22:18                                     ` Christoph Lameter
2007-05-30 22:41                                       ` Satyam Sharma
2007-05-30 22:44                                         ` Randy Dunlap
2007-05-30 22:48                                           ` Satyam Sharma
2007-05-30 22:59                                             ` Randy Dunlap
2007-05-30 22:25                                     ` Randy Dunlap
2007-05-30 22:36                               ` Jesper Juhl
2007-05-30 23:04                                 ` Randy Dunlap
2007-05-30 23:07                                   ` Jesper Juhl
2007-05-30 21:34                             ` [PATCH 2/3 -mm] slub: use lib/hexdump Randy Dunlap
2007-05-30 21:45                               ` Christoph Lameter
2007-05-30 21:48                                 ` Randy Dunlap
2007-05-30 21:51                                   ` Christoph Lameter
2007-05-30 21:54                                     ` Randy Dunlap
2007-05-30 22:03                                       ` Christoph Lameter
2007-05-30 22:06                                         ` Randy Dunlap
2007-05-31  1:39                                           ` Randy Dunlap
2007-05-23 22:24       ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-23 12:01 ` 2.6.22-rc2-mm1 Gabriel C
2007-05-23 16:01   ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 15:02 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 15:28 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 16:08 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 16:29 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 17:27 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 23:17 ` 2.6.22-rc2-mm1 Zan Lynx
2007-05-23 23:27   ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 23:40   ` 2.6.22-rc2-mm1 Jiri Kosina
2007-05-24  3:28     ` 2.6.22-rc2-mm1 Dmitry Torokhov
2007-05-24  7:28       ` 2.6.22-rc2-mm1 Jiri Kosina
2007-05-30 14:08       ` [PATCH] Input: i8042 - cleanup of debug code (was Re: 2.6.22-rc2-mm1) Jiri Kosina
2007-05-30 14:27         ` Dmitry Torokhov
2007-05-30 14:30           ` Jiri Kosina
     [not found]     ` <1180058760.7001.6.camel@oberon.rnd.esoft.com>
2007-05-25  7:23       ` 2.6.22-rc2-mm1 Jiri Kosina
2007-05-23 23:50   ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-24 10:36 ` rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1) Jeremy Fitzhardinge
2007-05-24 10:47   ` Herbert Xu
2007-05-24 10:54     ` Herbert Xu
2007-05-24 14:44       ` Kok, Auke
2007-05-25 12:54         ` Herbert Xu
2007-05-25 13:04           ` Herbert Xu
2007-05-25 13:32             ` Herbert Xu
2007-05-25 22:12               ` Kok, Auke
2007-05-25 23:48                 ` Jeff Garzik
2007-05-26  0:10                   ` Herbert Xu
2007-05-25 21:20 ` idle=poll burns my box [was Re: 2.6.22-rc2-mm1] J.A. Magallón
2007-05-25 21:52   ` Andrew Morton
2007-05-26 15:59 ` 2.6.22-rc2-mm1 Tilman Schmidt
2007-05-26 16:01   ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-27 22:16     ` 2.6.22-rc2-mm1 Tilman Schmidt
2007-05-27 22:41       ` 2.6.22-rc2-mm1 Kay Sievers
2007-05-28 17:22         ` 2.6.22-rc2-mm1 Cornelia Huck
2007-05-29  7:56           ` 2.6.22-rc2-mm1 Kay Sievers
2007-05-29  7:25         ` 2.6.22-rc2-mm1 Cornelia Huck
2007-05-29 14:43           ` 2.6.22-rc2-mm1 Matt Mackall
2007-05-29 16:55           ` 2.6.22-rc2-mm1 Tilman Schmidt
2007-05-29 17:25             ` 2.6.22-rc2-mm1 Cornelia Huck
2007-06-01 12:38               ` 2.6.22-rc2-mm1 Greg KH
2007-07-03  8:50                 ` 2.6.22-rc2-mm1 Cornelia Huck
2007-07-12  6:00                   ` 2.6.22-rc2-mm1 Greg KH
2007-05-28 10:27 ` 2.6.22-rc2-mm1 - a different BUG: at mm/slab.c:777 __find_general_cachep() Valdis.Kletnieks
2007-05-28 10:43   ` Pekka Enberg
2007-05-28 11:12     ` Valdis.Kletnieks
2007-05-29  4:22 ` 2.6.22-rc2-mm1: SLUB Randy Dunlap
2007-05-29 17:13   ` Christoph Lameter
2007-05-29 18:13     ` Randy Dunlap
2007-05-29 18:30       ` Christoph Lameter
2007-05-29 18:32       ` Christoph Lameter
2007-05-29 18:59         ` Randy Dunlap

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