22 Apr, 2008

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (42 commits)
    PCI: Change PCI subsystem MAINTAINER
    PCI: pci-iommu-iotlb-flushing-speedup
    PCI: pci_setup_bridge() mustn't be __devinit
    PCI: pci_bus_size_cardbus() mustn't be __devinit
    PCI: pci_scan_device() mustn't be __devinit
    PCI: pci_alloc_child_bus() mustn't be __devinit
    PCI: replace remaining __FUNCTION__ occurrences
    PCI: Hotplug: fakephp: Return success, not ENODEV, when bus rescan is triggered
    PCI: Hotplug: Fix leaks in IBM Hot Plug Controller Driver - ibmphp_init_devno()
    PCI: clean up resource alignment management
    PCI: aerdrv_acpi.c: remove unneeded NULL check
    PCI: Update VIA CX700 quirk
    PCI: Expose PCI VPD through sysfs
    PCI: iommu: iotlb flushing
    PCI: simplify quirk debug output
    PCI: iova RB tree setup tweak
    PCI: parisc: use generic pci_enable_resources()
    PCI: ppc: use generic pci_enable_resources()
    PCI: powerpc: use generic pci_enable_resources()
    PCI: ia64: use generic pci_enable_resources()
    ...

    Linus Torvalds
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (202 commits)
    [POWERPC] Fix compile breakage for 64-bit UP configs
    [POWERPC] Define copy_siginfo_from_user32
    [POWERPC] Add compat handler for PTRACE_GETSIGINFO
    [POWERPC] i2c: Fix build breakage introduced by OF helpers
    [POWERPC] Optimize fls64() on 64-bit processors
    [POWERPC] irqtrace support for 64-bit powerpc
    [POWERPC] Stacktrace support for lockdep
    [POWERPC] Move stackframe definitions to common header
    [POWERPC] Fix device-tree locking vs. interrupts
    [POWERPC] Make pci_bus_to_host()'s struct pci_bus * argument const
    [POWERPC] Remove unused __max_memory variable
    [POWERPC] Simplify xics direct/lpar irq_host setup
    [POWERPC] Use pseries_setup_i8259_cascade() in pseries_mpic_init_IRQ()
    [POWERPC] Turn xics_setup_8259_cascade() into a generic pseries_setup_i8259_cascade()
    [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.c
    [POWERPC] Use asm-generic/bitops/find.h in bitops.h
    [POWERPC] 83xx: mpc8315 - fix USB UTMI Host setup
    [POWERPC] 85xx: Fix the size of qe muram for MPC8568E
    [POWERPC] 86xx: mpc86xx_hpcn - Temporarily accept old dts node identifier.
    [POWERPC] 86xx: mark functions static, other minor cleanups
    ...

    Linus Torvalds
     

21 Apr, 2008

2 commits

  • This patch is for batching up the flushing of the IOTLB for the DMAR
    implementation found in the Intel VT-d hardware. It works by building a list
    of to be flushed IOTLB entries and a bitmap list of which DMAR engine they are
    from.

    After either a high water mark (250 accessible via debugfs) or 10ms the list
    of iova's will be reclaimed and the DMAR engines associated are IOTLB-flushed.

    This approach recovers 15 to 20% of the performance lost when using the IOMMU
    for my netperf udp stream benchmark with small packets. It can be disabled
    with a kernel boot parameter "intel_iommu=strict".

    Its use does weaken the IOMMU protections a bit.

    Signed-off-by: Mark Gross
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    mark gross
     
  • We currently keep 2 lists of PCI devices in the system, one in the
    driver core, and one all on its own. This second list is sorted at boot
    time, in "BIOS" order, to try to remain compatible with older kernels
    (2.2 and earlier days). There was also a "nosort" option to turn this
    sorting off, to remain compatible with even older kernel versions, but
    that just ends up being what we have been doing from 2.5 days...

    Unfortunately, the second list of devices is not really ever used to
    determine the probing order of PCI devices or drivers[1]. That is done
    using the driver core list instead. This change happened back in the
    early 2.5 days.

    Relying on BIOS ording for the binding of drivers to specific device
    names is problematic for many reasons, and userspace tools like udev
    exist to properly name devices in a persistant manner if that is needed,
    no reliance on the BIOS is needed.

    Matt Domsch and others at Dell noticed this back in 2006, and added a
    boot option to sort the PCI device lists (both of them) in a
    breadth-first manner to help remain compatible with the 2.4 order, if
    needed for any reason. This option is not going away, as some systems
    rely on them.

    This patch removes the sorting of the internal PCI device list in "BIOS"
    mode, as it's not needed at all anymore, and hasn't for many years.
    I've also removed the PCI flags for this from some other arches that for
    some reason defined them, but never used them.

    This should not change the ordering of any drivers or device probing.

    [1] The old-style pci_get_device and pci_find_device() still used this
    sorting order, but there are very few drivers that use these functions,
    as they are deprecated for use in this manner. If for some reason, a
    driver rely on the order and uses these functions, the breadth-first
    boot option will resolve any problem.

    Cc: Matt Domsch
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

20 Apr, 2008

1 commit


19 Apr, 2008

2 commits

  • Add the security= boot parameter. This is done to avoid LSM
    registration clashes in case of more than one bult-in module.

    User can choose a security module to enable at boot. If no
    security= boot parameter is specified, only the first LSM
    asking for registration will be loaded. An invalid security
    module name will be treated as if no module has been chosen.

    LSM modules must check now if they are allowed to register
    by calling security_module_enable(ops) first. Modify SELinux
    and SMACK to do so.

    Do not let SMACK register smackfs if it was not chosen on
    boot. Smackfs assumes that smack hooks are registered and
    the initial task security setup (swapper->security) is done.

    Signed-off-by: Ahmed S. Darwish
    Acked-by: James Morris

    Ahmed S. Darwish
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (27 commits)
    [IA64] kdump: Add crash_save_vmcoreinfo for INIT
    [IA64] Fix NUMA configuration issue
    [IA64] Itanium Spec updates
    [IA64] Untangle sync_icache_dcache() page size determination
    [IA64] arch/ia64/kernel/: use time_* macros
    [IA64] remove redundant display of free swap space in show_mem()
    [IA64] make IOMMU respect the segment boundary limits
    [IA64] kprobes: kprobe-booster for ia64
    [IA64] fix getpid and set_tid_address fast system calls for pid namespaces
    [IA64] Replace explicit jiffies tests with time_* macros.
    [IA64] use goto to jump out do/while_each_thread
    [IA64] Fix unlock ordering in smp_callin
    [IA64] pgd_offset() constfication.
    [IA64] kdump: crash.c coding style fix
    [IA64] kdump: add kdump_on_fatal_mca
    [IA64] Minimize per_cpu reservations.
    [IA64] Correct pernodesize calculation.
    [IA64] Kernel parameter for max number of concurrent global TLB purges
    [IA64] Multiple outstanding ptc.g instruction support
    [IA64] Implement smp_call_function_mask for ia64
    ...

    Linus Torvalds
     

18 Apr, 2008

6 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (58 commits)
    ide: remove ide_init_default_irq() macro
    ide: move default IDE ports setup to ide_generic host driver
    ide: remove obsoleted "idex=noprobe" kernel parameter (take 2)
    ide: remove needless hwif->irq check from ide_hwif_configure()
    ide: init hwif->{io_ports,irq} explicitly in legacy VLB host drivers
    ide: limit legacy VLB host drivers to alpha, x86 and mips
    cmd640: init hwif->{io_ports,irq} explicitly
    cmd640: cleanup setup_device_ptrs()
    ide: add ide-4drives host driver (take 3)
    ide: remove ppc ifdef from init_ide_data()
    ide: remove ide_default_io_ctl() macro
    ide: remove CONFIG_IDE_ARCH_OBSOLETE_INIT
    ide: add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS (take 2)
    ppc/pmac: remove no longer needed IDE quirk
    ppc: don't include
    ppc: remove ppc_ide_md
    ppc/pplus: remove ppc_ide_md.ide_init_hwif hook
    ppc/sandpoint: remove ppc_ide_md hooks
    ppc/lopec: remove ppc_ide_md hooks
    ppc/mpc8xx: remove ppc_ide_md hooks
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb:
    kgdb: always use icache flush for sw breakpoints
    kgdb: fix SMP NMI kgdb_handle_exception exit race
    kgdb: documentation fixes
    kgdb: allow static kgdbts boot configuration
    kgdb: add documentation
    kgdb: Kconfig fix
    kgdb: add kgdb internal test suite
    kgdb: fix several kgdb regressions
    kgdb: kgdboc pl011 I/O module
    kgdb: fix optional arch functions and probe_kernel_*
    kgdb: add x86 HW breakpoints
    kgdb: print breakpoint removed on exception
    kgdb: clocksource watchdog
    kgdb: fix NMI hangs
    kgdb: fix kgdboc dynamic module configuration
    kgdb: document parameters
    x86: kgdb support
    consoles: polling support, kgdboc
    kgdb: core
    uaccess: add probe_kernel_write()

    Linus Torvalds
     
  • * Remove obsoleted "idex=noprobe" kernel parameter.

    * Remove no longer needed hwif->noprobe quirk from ide_hwif_configure()
    and hwif->noprobe checking from cmd640.c.

    v2:
    * "ide?=noprobe" -> "ide?=ata66" in Documentation/kernel-parameters.txt.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • This option is obsolete and can be removed safely.

    It allows us to remove the pci_get_device_reverse() function from the
    PCI core.

    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Greg Kroah-Hartman
     
  • document the kgdboc module/boot parameter.

    Signed-off-by: Jason Wessel
    Signed-off-by: Jan Kiszka
    Signed-off-by: Ingo Molnar

    Jason Wessel
     
  • Conflicts:

    arch/ia64/mm/tlb.c

    Tony Luck
     

17 Apr, 2008

2 commits


14 Apr, 2008

1 commit


12 Apr, 2008

2 commits

  • * 'docs' of git://git.lwn.net/linux-2.6:
    Add additional examples in Documentation/spinlocks.txt
    Move sched-rt-group.txt to scheduler/
    Documentation: move rpc-cache.txt to filesystems/
    Documentation: move nfsroot.txt to filesystems/
    Spell out behavior of atomic_dec_and_lock() in kerneldoc
    Fix a typo in highres.txt
    Fixes to the seq_file document
    Fill out information on patch tags in SubmittingPatches
    Add the seq_file documentation

    Linus Torvalds
     
  • Documentation/ is a little large, and filesystems/ seems an obvious
    place for this file.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Jonathan Corbet

    J. Bruce Fields
     

05 Apr, 2008

2 commits

  • The effects of cgroup_disable=foo are:

    - foo isn't auto-mounted if you mount all cgroups in a single hierarchy
    - foo isn't visible as an individually mountable subsystem

    As a result there will only ever be one call to foo->create(), at init time;
    all processes will stay in this group, and the group will never be mounted on
    a visible hierarchy. Any additional effects (e.g. not allocating metadata)
    are up to the foo subsystem.

    This doesn't handle early_init subsystems (their "disabled" bit isn't set be,
    but it could easily be extended to do so if any of the early_init systems
    wanted it - I think it would just involve some nastier parameter processing
    since it would occur before the command-line argument parser had been run.

    Hugh said:

    Ballpark figures, I'm trying to get this question out rather than
    processing the exact numbers: CONFIG_CGROUP_MEM_RES_CTLR adds 15% overhead
    to the affected paths, booting with cgroup_disable=memory cuts that back to
    1% overhead (due to slightly bigger struct page).

    I'm no expert on distros, they may have no interest whatever in
    CONFIG_CGROUP_MEM_RES_CTLR=y; and the rest of us can easily build with or
    without it, or apply the cgroup_disable=memory patches.

    Unix bench's execl test result on x86_64 was

    == just after boot without mounting any cgroup fs.==
    mem_cgorup=off : Execl Throughput 43.0 3150.1 732.6
    mem_cgroup=on : Execl Throughput 43.0 2932.6 682.0
    ==

    [lizf@cn.fujitsu.com: fix boot option parsing]
    Signed-off-by: Balbir Singh
    Cc: Paul Menage
    Cc: Balbir Singh
    Cc: Pavel Emelyanov
    Cc: KAMEZAWA Hiroyuki
    Cc: Hugh Dickins
    Cc: Sudhir Kumar
    Cc: YAMAMOTO Takashi
    Cc: David Rientjes
    Signed-off-by: Li Zefan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Menage
     
  • The patch defines kernel parameter "nptcg=". The parameter overrides max number
    of concurrent global TLB purges which is reported from either PAL_VM_SUMMARY or
    SAL PALO.

    Signed-off-by: Fenghua Yu
    Signed-off-by: Tony Luck

    Fenghua Yu
     

02 Apr, 2008

1 commit

  • Some time ago it turned out that our suspend code ordering broke some
    NVidia-based systems that hung if _PTS was executed with one of the PCI
    devices, specifically a USB controller, in a low power state.

    Then, it was noticed that the suspend code ordering was not compliant
    with ACPI 1.0, although it was compliant with ACPI 2.0 (and later), and
    it was argued that the code had to be changed for that reason (ref.
    http://bugzilla.kernel.org/show_bug.cgi?id=9528).

    So we did, but evidently we did wrong, because it's now turning out that
    some systems have been broken by this change. Refs:
    http://bugzilla.kernel.org/show_bug.cgi?id=10340
    https://bugzilla.novell.com/show_bug.cgi?id=374217#c16

    [ I said at that time that something like this might happend, but the
    majority of people involved thought that it was improbable due to the
    necessity to preserve the compliance of hardware with ACPI 1.0. ]

    This actually is a quite serious regression from 2.6.24.

    Moreover, the ACPI 1.0 ordering of suspend code introduced another issue
    that I have only noticed recently. Namely, if the suspend of one of
    devices fails, the already suspended devices will be resumed without
    executing _WAK before, which leads to problems on some systems (for
    example, in such situations thermal management is broken on my HP
    nx6325). Consequently, it also breaks suspend debugging on the affected
    systems.

    Note also, that the requirement to execute _PTS before suspending
    devices does not really make sense, because the device in question may
    be put into a low power state at run time for a reason unrelated to a
    system-wide suspend.

    For the reasons outlined above, the change of the suspend ordering
    should be reverted, which is done by the patch below.

    [ Felix Möller: "I am the reporter from the original Novell Bug:

    https://bugzilla.novell.com/show_bug.cgi?id=374217

    I just tried current git head (two hours ago) with the patch (the one
    from the beginning of this thread) from Rafael and without it. With
    the patch my MacBook does suspend without it does not." ]

    Signed-off-by: Rafael J. Wysocki
    Tested-by: Felix Möller
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

01 Apr, 2008

1 commit


25 Mar, 2008

1 commit


18 Mar, 2008

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: ALPS - fix forward/back buttons reversed on Acer 5520-5290
    Input: ALPS - put secondary device in proper place in sysfs
    Input: wacom - add support for Bamboo1, BambooFun, and Cintiq 12WX
    Input: document i8042.noloop
    Input: add keyboard notifier documentation
    Input: ads7846 - fix uninitialized var warning
    Input: i8042 - add SNI RM support
    Input: i8042 - add Lenovo 3000 N100 to nomux blacklist
    Input: i8042 - fix warning on non-x86 builds
    Input: cobalt_btns - assorted fixes

    Linus Torvalds
     

16 Mar, 2008

1 commit

  • This essentially reverts commit 71fc47a9adf8ee89e5c96a47222915c5485ac437
    ("ACPI: basic initramfs DSDT override support"), because the code simply
    isn't ready.

    It did ugly things to the init sequence to populate the rootfs image
    early, but that just ended up showing other problems with the whole
    approach. The fact is, the VFS layer simply isn't initialized this
    early, and the relevant ACPI code should either run much later, or this
    shouldn't be done at all.

    For 2.6.25, we'll just pick the latter option. We can revisit this
    concept later if necessary.

    Cc: Dave Hansen
    Cc: Tilman Schmidt
    Cc: Andrew Morton
    Cc: Thomas Renninger
    Cc: Eric Piel
    Cc: Len Brown
    Cc: Christoph Hellwig
    Cc: Markus Gaugusch
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

14 Mar, 2008

1 commit


13 Mar, 2008

1 commit


08 Mar, 2008

1 commit


21 Feb, 2008

1 commit

  • This patch implements libata.force module parameter which can
    selectively override ATA port, link and device configurations
    including cable type, SATA PHY SPD limit, transfer mode and NCQ.

    For example, you can say "use 1.5Gbps for all fan-out ports attached
    to the second port but allow 3.0Gbps for the PMP device itself, oh,
    the device attached to the third fan-out port chokes on NCQ and
    shouldn't go over UDMA4" by the following.

    libata.force=2:1.5g,2.15:3.0g,2.03:noncq,udma4

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

19 Feb, 2008

1 commit

  • This patch removes the mca-pentium boot option that was a noop.

    besides the source code cleanup factor, this saves some text as well:

    arch/x86/kernel/cpu/bugs.o:
    text data bss dec hex filename
    651 77 4 732 2dc bugs.o.before
    631 53 4 688 2b0 bugs.o.after

    Signed-off-by: Adrian Bunk
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Adrian Bunk
     

09 Feb, 2008

1 commit


07 Feb, 2008

3 commits


06 Feb, 2008

1 commit

  • with module_param macro, the __setup code can be killed now:
    const __setup("all-generic-ide", ide_generic_all_on);

    and the module name "generic.ko" is not descriptive to its functionality,
    can be changed in Makefile, the "ide-pci-generic.ko" is better.

    the ide-pci-generic.all-generic-ide parameter also documented
    in Documentation/kernel-parameters.txt

    Signed-off-by: Denis Cheng
    Cc: Greg Kroah-Hartman
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Denis Cheng
     

03 Feb, 2008

3 commits


02 Feb, 2008

1 commit

  • The ACPI 1.0 specification wants us to put devices into low power
    states after executing the _PTS global control method, while ACPI
    2.0 and later want us to do that in the reverse order. The current
    suspend code follows ACPI 2.0 in that respect which causes some
    ACPI 1.0x systems to hang during suspend (ref.
    http://bugzilla.kernel.org/show_bug.cgi?id=9528).

    Make the suspend code execute _PTS before putting devices into low
    power states (ie. in accordance with ACPI 1.0x) and provide a command
    line option to override the default if need be.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     

31 Jan, 2008

1 commit