22 Aug, 2008

1 commit


21 Aug, 2008

1 commit


26 Jul, 2008

1 commit


25 Jul, 2008

6 commits

  • ACPI defines a hardware signature. BIOS calculates the signature according to
    hardware configure and if hardware changes while hibernated, the signature
    will change. In that case, S4 resume should fail.

    Still, there may be systems on which this mechanism does not work correctly,
    so it is better to provide a workaround for them. For this reason, add a new
    switch to the acpi_sleep= command line argument allowing one to disable
    hardware signature checking.

    [shaohua.li@intel.com: build fix]
    Signed-off-by: Shaohua Li
    Signed-off-by: Rafael J. Wysocki
    Cc: Andi Kleen
    Cc: Len Brown
    Acked-by: Pavel Machek
    Cc:
    Cc: Shaohua Li
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     
  • Boot-time test for system suspend states (STR or standby). The generic
    RTC framework triggers wakeup alarms, which are used to exit those states.

    - Measures some aspects of suspend time ... this uses "jiffies" until
    someone converts it to use a timebase that works properly even while
    timer IRQs are disabled.

    - Triggered by a command line parameter. By default nothing even
    vaguely troublesome will happen, but "test_suspend=mem" will give
    you a brief STR test during system boot. (Or you may need to use
    "test_suspend=standby" instead, if your hardware needs that.)

    This isn't without problems. It fires early enough during boot that for
    example both PCMCIA and MMC stacks have misbehaved. The workaround in
    those cases was to boot without such media cards inserted.

    [matthltc@us.ibm.com: fix compile failure in boot time suspend selftest]
    Signed-off-by: David Brownell
    Cc: Ingo Molnar
    Cc: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Signed-off-by: Matt Helsley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Instead of using the variable mmu_huge_psize to keep track of the huge
    page size we use an array of MMU_PAGE_* values. For each supported huge
    page size we need to know the hugepte_shift value and have a
    pgtable_cache. The hstate or an mmu_huge_psizes index is passed to
    functions so that they know which huge page size they should use.

    The hugepage sizes 16M and 64K are setup(if available on the hardware) so
    that they don't have to be set on the boot cmd line in order to use them.
    The number of 16G pages have to be specified at boot-time though (e.g.
    hugepagesz=16G hugepages=5).

    Signed-off-by: Jon Tollefson
    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jon Tollefson
     
  • Allow configurations with the default huge page size which is different to
    the traditional HPAGE_SIZE size. The default huge page size is the one
    represented in the legacy /proc ABIs, SHM, and which is defaulted to when
    mounting hugetlbfs filesystems.

    This is implemented with a new kernel option default_hugepagesz=, which
    defaults to HPAGE_SIZE if not specified.

    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • Add an hugepagesz=... option similar to IA64, PPC etc. to x86-64.

    This finally allows to select GB pages for hugetlbfs in x86 now that all
    the infrastructure is in place.

    Signed-off-by: Andi Kleen
    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Boot initialisation is very complex, with significant numbers of
    architecture-specific routines, hooks and code ordering. While significant
    amounts of the initialisation is architecture-independent, it trusts the data
    received from the architecture layer. This is a mistake, and has resulted in
    a number of difficult-to-diagnose bugs.

    This patchset adds some validation and tracing to memory initialisation. It
    also introduces a few basic defensive measures. The validation code can be
    explicitly disabled for embedded systems.

    This patch:

    Add additional debugging and verification code for memory initialisation.

    Once enabled, the verification checks are always run and when required
    additional debugging information may be outputted via a mminit_loglevel=
    command-line parameter.

    The verification code is placed in a new file mm/mm_init.c. Ideally other mm
    initialisation code will be moved here over time.

    Signed-off-by: Mel Gorman
    Cc: Christoph Lameter
    Cc: Andy Whitcroft
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     

24 Jul, 2008

1 commit

  • …ernel/git/tip/linux-2.6-tip

    * 'core/softlockup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    softlockup: fix invalid proc_handler for softlockup_panic
    softlockup: fix watchdog task wakeup frequency
    softlockup: fix watchdog task wakeup frequency
    softlockup: show irqtrace
    softlockup: print a module list on being stuck
    softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression
    softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds
    softlockup: fix softlockup_thresh fix
    softlockup: fix softlockup_thresh unaligned access and disable detection at runtime
    softlockup: allow panic on lockup

    Linus Torvalds
     

22 Jul, 2008

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    netfilter: nf_conntrack_sctp: fix sparse warnings
    netfilter: nf_nat_sip: c= is optional for session
    netfilter: xt_TCPMSS: collapse tcpmss_reverse_mtu{4,6} into one function
    netfilter: nfnetlink_log: send complete hardware header
    netfilter: xt_time: fix time's time_mt()'s use of do_div()
    netfilter: accounting rework: ct_extend + 64bit counters (v4)
    netlink: add NLA_PUT_BE64 macro
    netfilter: nf_nat_core: eliminate useless find_appropriate_src for IP_NAT_RANGE_PROTO_RANDOM
    hdlcdrv: Fix CRC calculation.
    Revert "pkt_sched: Make default qdisc nonshared-multiqueue safe."
    net: In __netif_schedule() use WARN_ON instead of BUG_ON
    net: Improve simple_tx_hash().
    pkt_sched: Remove unused variable skb in dev_deactivate_queue function.
    sunhme: Remove stop/wake TX queue calls in set-multicast-list handler.
    ucc_geth: do not touch net queue in adjust_link phylib callback
    gianfar: do not touch net queue in adjust_link phylib callback
    atl1: Do not wake queue before queue has been started.

    Linus Torvalds
     
  • Initially netfilter has had 64bit counters for conntrack-based accounting, but
    it was changed in 2.6.14 to save memory. Unfortunately in-kernel 64bit counters are
    still required, for example for "connbytes" extension. However, 64bit counters
    waste a lot of memory and it was not possible to enable/disable it runtime.

    This patch:
    - reimplements accounting with respect to the extension infrastructure,
    - makes one global version of seq_print_acct() instead of two seq_print_counters(),
    - makes it possible to enable it at boot time (for CONFIG_SYSCTL/CONFIG_SYSFS=n),
    - makes it possible to enable/disable it at runtime by sysctl or sysfs,
    - extends counters from 32bit to 64bit,
    - renames ip_conntrack_counter -> nf_conn_counter,
    - enables accounting code unconditionally (no longer depends on CONFIG_NF_CT_ACCT),
    - set initial accounting enable state based on CONFIG_NF_CT_ACCT
    - removes buggy IPCT_COUNTER_FILLING event handling.

    If accounting is enabled newly created connections get additional acct extend.
    Old connections are not changed as it is not possible to add a ct_extend area
    to confirmed conntrack. Accounting is performed for all connections with
    acct extend regardless of a current state of "net.netfilter.nf_conntrack_acct".

    Signed-off-by: Krzysztof Piotr Oledzki
    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Krzysztof Piotr Oledzki
     

21 Jul, 2008

1 commit


20 Jul, 2008

1 commit


18 Jul, 2008

1 commit


17 Jul, 2008

3 commits

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (72 commits)
    Revert "x86/PCI: ACPI based PCI gap calculation"
    PCI: remove unnecessary volatile in PCIe hotplug struct controller
    x86/PCI: ACPI based PCI gap calculation
    PCI: include linux/pm_wakeup.h for device_set_wakeup_capable
    PCI PM: Fix pci_prepare_to_sleep
    x86/PCI: Fix PCI config space for domains > 0
    Fix acpi_pm_device_sleep_wake() by providing a stub for CONFIG_PM_SLEEP=n
    PCI: Simplify PCI device PM code
    PCI PM: Introduce pci_prepare_to_sleep and pci_back_from_sleep
    PCI ACPI: Rework PCI handling of wake-up
    ACPI: Introduce new device wakeup flag 'prepared'
    ACPI: Introduce acpi_device_sleep_wake function
    PCI: rework pci_set_power_state function to call platform first
    PCI: Introduce platform_pci_power_manageable function
    ACPI: Introduce acpi_bus_power_manageable function
    PCI: make pci_name use dev_name
    PCI: handle pci_name() being const
    PCI: add stub for pci_set_consistent_dma_mask()
    PCI: remove unused arch pcibios_update_resource() functions
    PCI: fix pci_setup_device()'s sprinting into a const buffer
    ...

    Fixed up conflicts in various files (arch/x86/kernel/setup_64.c,
    arch/x86/pci/irq.c, arch/x86/pci/pci.h, drivers/acpi/sleep/main.c,
    drivers/pci/pci.c, drivers/pci/pci.h, include/acpi/acpi_bus.h) from x86
    and ACPI updates manually.

    Linus Torvalds
     
  • "idle=nomwait" disables the use of the MWAIT
    instruction from both C1 (C1_FFH) and deeper (C2C3_FFH)
    C-states.

    When MWAIT is unavailable, the BIOS and OS generally
    negotiate to use the HALT instruction for C1,
    and use IO accesses for deeper C-states.

    This option is useful for power and performance
    comparisons, and also to work around BIOS bugs
    where broken MWAIT support is advertised.

    http://bugzilla.kernel.org/show_bug.cgi?id=10807
    http://bugzilla.kernel.org/show_bug.cgi?id=10914

    Signed-off-by: Zhao Yakui
    Signed-off-by: Li Shaohua
    Signed-off-by: Len Brown
    Signed-off-by: Andi Kleen

    Zhao Yakui
     
  • "idle=halt" limits the idle loop to using
    the halt instruction. No MWAIT, no IO accesses,
    no C-states deeper than C1.

    If something is broken in the idle code,
    "idle=halt" is a less severe workaround
    than "idle=poll" which disables all power savings.

    Signed-off-by: Zhao Yakui
    Signed-off-by: Len Brown
    Signed-off-by: Andi Kleen

    Zhao Yakui
     

16 Jul, 2008

4 commits

  • Conflicts:

    kernel/softlockup.c

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (80 commits)
    ide-floppy: fix unfortunate function naming
    ide-tape: unify idetape_create_read/write_cmd
    ide: add ide_pc_intr() helper
    ide-{floppy,scsi}: read Status Register before stopping DMA engine
    ide-scsi: add more debugging to idescsi_pc_intr()
    ide-scsi: use pc->callback
    ide-floppy: add more debugging to idefloppy_pc_intr()
    ide-tape: always log debug info in idetape_pc_intr() if debugging is enabled
    ide-tape: add ide_tape_io_buffers() helper
    ide-tape: factor out DSC handling from idetape_pc_intr()
    ide-{floppy,tape}: move checking of ->failed_pc to ->callback
    ide: add ide_issue_pc() helper
    ide: add PC_FLAG_DRQ_INTERRUPT pc flag
    ide-scsi: move idescsi_map_sg() call out from idescsi_issue_pc()
    ide: add ide_transfer_pc() helper
    ide-scsi: set drive->scsi flag for devices handled by the driver
    ide-{cd,floppy,tape}: remove checking for drive->scsi
    ide: add PC_FLAG_ZIP_DRIVE pc flag
    ide-tape: factor out waiting for good ireason from idetape_transfer_pc()
    ide-tape: set PC_FLAG_DMA_IN_PROGRESS flag in idetape_transfer_pc()
    ...

    Linus Torvalds
     
  • * Remove obsoleted "hdx=" kernel parameters.

    * Remove no longer used stridx() and match_parm().

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * 'timers/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: add PCI ID for 6300ESB force hpet
    x86: add another PCI ID for ICH6 force-hpet
    kernel-paramaters: document pmtmr= command line option
    acpi_pm clccksource: fix printk format warning
    nohz: don't stop idle tick if softirqs are pending.
    pmtmr: allow command line override of ioport
    nohz: reduce jiffies polling overhead
    hrtimer: Remove unused variables in ktime_divns()
    hrtimer: remove warning in hres_timers_resume
    posix-timers: print RT watchdog message

    Linus Torvalds
     

15 Jul, 2008

3 commits

  • Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (241 commits)
    [ARM] 5171/1: ep93xx: fix compilation of modules using clocks
    [ARM] 5133/2: at91sam9g20 defconfig file
    [ARM] 5130/4: Support for the at91sam9g20
    [ARM] 5160/1: IOP3XX: gpio/gpiolib support
    [ARM] at91: Fix NAND FLASH timings for at91sam9x evaluation kits.
    [ARM] 5084/1: zylonite: Register AC97 device
    [ARM] 5085/2: PXA: Move AC97 over to the new central device declaration model
    [ARM] 5120/1: pxa: correct platform driver names for PXA25x and PXA27x UDC drivers
    [ARM] 5147/1: pxaficp_ir: drop pxa_gpio_mode calls, as pin setting
    [ARM] 5145/1: PXA2xx: provide api to control IrDA pins state
    [ARM] 5144/1: pxaficp_ir: cleanup includes
    [ARM] pxa: remove pxa_set_cken()
    [ARM] pxa: allow clk aliases
    [ARM] Feroceon: don't disable BPU on boot
    [ARM] Orion: LED support for HP mv2120
    [ARM] Orion: add RD88F5181L-FXO support
    [ARM] Orion: add RD88F5181L-GE support
    [ARM] Orion: add Netgear WNR854T support
    [ARM] s3c2410_defconfig: update for current build
    [ARM] Acer n30: Minor style and indentation fixes.
    ...

    Linus Torvalds
     
  • … 'timers/clocksource' and 'timers/posixtimers' into timers/for-linus

    Thomas Gleixner
     

12 Jul, 2008

1 commit


08 Jul, 2008

4 commits


07 Jul, 2008

1 commit

  • amd_iommu=off was replaced with a common parameter, iommu=off.

    Signed-off-by: FUJITA Tomonori
    Cc: joerg.roedel@amd.com
    Cc: iommu@lists.linux-foundation.org
    Cc: bhavna.sarathy@amd.com
    Cc: robert.richter@amd.com
    Cc: rjw@sisk.pl
    Signed-off-by: Ingo Molnar

    FUJITA Tomonori
     

05 Jul, 2008

2 commits


03 Jul, 2008

1 commit


27 Jun, 2008

1 commit


13 Jun, 2008

1 commit

  • ACPI PM: Add possibility to change suspend sequence

    There are some systems out there that don't work correctly with
    our current suspend/hibernation code ordering. Provide a workaround
    for these systems allowing them to pass 'acpi_sleep=old_ordering' in
    the kernel command line so that it will use the pre-ACPI 2.0 ("old")
    suspend code ordering.

    Unfortunately, this requires us to add a platform hook to the
    resuming of devices for recovering the platform in case one of the
    device drivers' .suspend() routines returns error code. Namely,
    ACPI 1.0 specifies that _PTS should be called before suspending
    devices, but _WAK still should be called before resuming them in
    order to undo the changes made by _PTS. However, if there is an
    error during suspending devices, they are automatically resumed
    without returning control to the PM core, so the _WAK has to be
    called from within device_resume() in that cases.

    The patch also reorders and refactors the ACPI suspend/hibernation
    code to avoid duplication as far as reasonably possible.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Signed-off-by: Jesse Barnes

    Rafael J. Wysocki
     

11 Jun, 2008

1 commit

  • Contention for scarce PCI memory resources has been growing
    due to an increasing number of PCI slots in large multi-node
    systems. The kernel currently attempts by default to
    allocate memory for all PCI expansion ROMs so there has
    also been an increasing number of PCI memory allocation
    failures seen on these systems. This occurs because the
    BIOS either (1) provides insufficient PCI memory resource
    for all the expansion ROMs or (2) provides adequate PCI
    memory resource for expansion ROMs but provides the
    space in kernel unexpected BIOS assigned P2P non-prefetch
    windows.

    The resulting PCI memory allocation failures may be benign
    when related to memory requests for expansion ROMs themselves
    but in some cases they can occur when attempting to allocate
    space for more critical BARs. This can happen when a successful
    expansion ROM allocation request consumes memory resource
    that was intended for a non-ROM BAR. We have seen this
    happen during PCI hotplug of an adapter that contains a
    P2P bridge where successful memory allocation for an
    expansion ROM BAR on device behind the bridge consumed
    memory that was intended for a non-ROM BAR on the P2P bridge.
    In all cases the allocation failure messages can be very
    confusing for users.

    This patch provides a new 'pci=norom' kernel boot parameter
    that can be used to disable the default PCI expansion ROM memory
    resource allocation. This provides a way to avoid the above
    described issues on systems that do not contain PCI devices
    for which drivers or user-level applications depend on the
    default PCI expansion ROM memory resource allocation behavior.

    Signed-off-by: Gary Hade
    Signed-off-by: Jesse Barnes

    Gary Hade
     

25 May, 2008

3 commits

  • Loop through mtrr chunk_size and gran_size from 1M to 2G to find out
    the optimal value so user does not need to add mtrr_chunk_size and
    mtrr_gran_size to the kernel command line.

    If optimal value is not found, print out all list to help select less
    optimal value.

    Add mtrr_spare_reg_nr= so user could set 2 instead of 1, if the card
    need more entries.

    v2: find the one with more spare entries
    v3: fix hole_basek offset
    v4: tight the compare between range and range_new
    loop stop with 4g

    Signed-off-by: Yinghai Lu
    Cc: Andrew Morton
    Cc: Gabriel C
    Cc: Mika Fischer
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Yinghai Lu
     
  • some BIOS like to use continus MTRR layout, and X driver can not add
    WB entries for graphical cards when 4g or more RAM installed.

    the patch will change MTRR to discrete.

    mtrr_chunk_size= could be used to have smaller continuous block to hold holes.
    default is 256m, could be set according to size of graphics card memory.

    mtrr_gran_size= could be used to send smallest mtrr block to avoid run out of MTRRs

    v2: fix -1 for UC checking
    v3: default to disable, and need use enable_mtrr_cleanup to enable this feature
    skip the var state change warning.
    remove next_basek in range_to_mtrr()
    v4: correct warning mask.
    v5: CONFIG_MTRR_SANITIZER
    v6: fix 1g, 2g, 512 aligment with extra hole
    v7: gran_sizek to prevent running out of MTRRs.
    v8: fix hole_basek caculation caused when removing next_basek
    gran_sizek using when basek is 0.

    need to apply
    [PATCH] x86: fix trimming e820 with MTRR holes.
    right after this one.

    Signed-off-by: Yinghai Lu
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Yinghai Lu
     
  • allow users to configure the softlockup detector to generate a panic
    instead of a warning message.

    high-availability systems might opt for this strict method (combined
    with panic_timeout= boot option/sysctl), instead of generating
    softlockup warnings ad infinitum.

    also, automated tests work better if the system reboots reliably (into
    a safe kernel) in case of a lockup.

    The full spectrum of configurability is supported: boot option, sysctl
    option and Kconfig option.

    it's default-disabled.

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

    Ingo Molnar