09 May, 2007

2 commits

  • The tty driver write method is different to the usual fops device write
    methods as the buffer is already in kernel space. Clarify the docs since
    someone writing a driver made that mistake.

    Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan
     
  • Add a paragraph in Documentation/SubmittingDrivers requesting that the
    basic PM support be provided by new device drivers.

    Add two new documents in Documentation/power/ giving general instructions
    on debugging the suspend/resume functionality and testing the suspend and
    resume support in device drivers.

    Signed-off-by: Rafael J. Wysocki
    Cc: Pavel Machek
    Cc: David Brownell
    Cc: Nigel Cunningham
    Cc: Alan Cox
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

08 May, 2007

9 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] update memory attribute aliasing documentation & test cases
    [IA64] fail mmaps that span areas with incompatible attributes
    [IA64] allow WB /sys/.../legacy_mem mmaps
    [IA64] make ioremap avoid unsupported attributes
    [IA64] rename ioremap variables to match i386
    [IA64] relax per-cpu TLB requirement to DTC
    [IA64] remove per-cpu ia64_phys_stacked_size_p8
    [IA64] Fix example error injection program
    [IA64] Itanium MC Error Injection Tool: pal_mc_error_inject() interface
    [IA64] Itanium MC Error Injection Tool: Makefile changes
    [IA64] Itanium MC Error Injection Tool: Driver sysfs interface
    [IA64] Itanium MC Error Injection Tool: Doc and sample application
    [IA64] Itanium MC Error Injection Tool: Kernel configuration

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (38 commits)
    sh: R7785RP board updates.
    sh: Update r7780rp defconfig.
    sh: Add die chain notifiers.
    sh: Fix APM emulation on hp6xx.
    sh: Wire up more IRQs for SH7709.
    sh: Solution Engine 7722 board support.
    sh: Fix r7780rp build.
    sh: kdump support.
    sh: Move clock reporting to its own proc entry.
    sh: Solution Engine SH7705 board and CPU updates.
    serial: sh-sci: Fix module clock refcount for serial console.
    serial: sh-sci: Fix module clock refcounting.
    sh: SH7722 clock framework support.
    sh: hp6xx pata_platform support.
    sh: Obey CONFIG_HZ for HZ definition.
    sh: Fix fstatat64() syscall.
    sh: se7780 PCI support.
    sh: SH7780 Solution Engine board support.
    sh: Add a dummy SH-4 PCIC fixup.
    sh: Tidy up L-BOX area5 addresses.
    ...

    Linus Torvalds
     
  • Change /sys/power/disk to display all valid modes as well as the currently
    selected one in a fashion known from the LED subsystem.

    This changes userspace API, but it is apparently not used much (we asked
    some userspace developers)

    Signed-off-by: Johannes Berg
    Acked-by: "Rafael J. Wysocki"
    Acked-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Berg
     
  • This adds support for the Analog Devices Blackfin processor architecture, and
    currently supports the BF533, BF532, BF531, BF537, BF536, BF534, and BF561
    (Dual Core) devices, with a variety of development platforms including those
    avaliable from Analog Devices (BF533-EZKit, BF533-STAMP, BF537-STAMP,
    BF561-EZKIT), and Bluetechnix! Tinyboards.

    The Blackfin architecture was jointly developed by Intel and Analog Devices
    Inc. (ADI) as the Micro Signal Architecture (MSA) core and introduced it in
    December of 2000. Since then ADI has put this core into its Blackfin
    processor family of devices. The Blackfin core has the advantages of a clean,
    orthogonal,RISC-like microprocessor instruction set. It combines a dual-MAC
    (Multiply/Accumulate), state-of-the-art signal processing engine and
    single-instruction, multiple-data (SIMD) multimedia capabilities into a single
    instruction-set architecture.

    The Blackfin architecture, including the instruction set, is described by the
    ADSP-BF53x/BF56x Blackfin Processor Programming Reference
    http://blackfin.uclinux.org/gf/download/frsrelease/29/2549/Blackfin_PRM.pdf

    The Blackfin processor is already supported by major releases of gcc, and
    there are binary and source rpms/tarballs for many architectures at:
    http://blackfin.uclinux.org/gf/project/toolchain/frs There is complete
    documentation, including "getting started" guides available at:
    http://docs.blackfin.uclinux.org/ which provides links to the sources and
    patches you will need in order to set up a cross-compiling environment for
    bfin-linux-uclibc

    This patch, as well as the other patches (toolchain, distribution,
    uClibc) are actively supported by Analog Devices Inc, at:
    http://blackfin.uclinux.org/

    We have tested this on LTP, and our test plan (including pass/fails) can
    be found at:
    http://docs.blackfin.uclinux.org/doku.php?id=testing_the_linux_kernel

    [m.kozlowski@tuxland.pl: balance parenthesis in blackfin header files]
    Signed-off-by: Bryan Wu
    Signed-off-by: Mariusz Kozlowski
    Signed-off-by: Aubrey Li
    Signed-off-by: Jie Zhang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bryan Wu
     
  • The current panic_on_oom may not work if there is a process using
    cpusets/mempolicy, because other nodes' memory may remain. But some people
    want failover by panic ASAP even if they are used. This patch makes new
    setting for its request.

    This is tested on my ia64 box which has 3 nodes.

    Signed-off-by: Yasunori Goto
    Signed-off-by: Benjamin LaHaise
    Cc: Christoph Lameter
    Cc: Paul Jackson
    Cc: Ethan Solomita
    Cc: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yasunori Goto
     
  • Add the tool which gets reports about slabs to the VM documentation directory.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Adds /proc/pid/clear_refs. When any non-zero number is written to this file,
    pte_mkold() and ClearPageReferenced() is called for each pte and its
    corresponding page, respectively, in that task's VMAs. This file is only
    writable by the user who owns the task.

    It is now possible to measure _approximately_ how much memory a task is using
    by clearing the reference bits with

    echo 1 > /proc/pid/clear_refs

    and checking the reference count for each VMA from the /proc/pid/smaps output
    at a measured time interval. For example, to observe the approximate change
    in memory footprint for a task, write a script that clears the references
    (echo 1 > /proc/pid/clear_refs), sleeps, and then greps for Pgs_Referenced and
    extracts the size in kB. Add the sizes for each VMA together for the total
    referenced footprint. Moments later, repeat the process and observe the
    difference.

    For example, using an efficient Mozilla:

    accumulated time referenced memory
    ---------------- -----------------
    0 s 408 kB
    1 s 408 kB
    2 s 556 kB
    3 s 1028 kB
    4 s 872 kB
    5 s 1956 kB
    6 s 416 kB
    7 s 1560 kB
    8 s 2336 kB
    9 s 1044 kB
    10 s 416 kB

    This is a valuable tool to get an approximate measurement of the memory
    footprint for a task.

    Cc: Hugh Dickins
    Cc: Paul Mundt
    Cc: Christoph Lameter
    Signed-off-by: David Rientjes
    [akpm@linux-foundation.org: build fixes]
    [mpm@selenic.com: rename for_each_pmd]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • PCI drivers have the new_id file in sysfs which allows new IDs to be added
    at runtime. The advantage is to avoid re-compilation of a driver that
    works for a new device, but it's ID table doesn't contain the new device.
    This mechanism is only meant for testing, after the driver has been tested
    successfully, the ID should be added in source code so that new revisions
    of the kernel automatically detect the device.

    The implementation follows the PCI implementation. The interface is documented
    in Documentation/pcmcia/driver.txt. Computations should be done in userspace,
    so the sysfs string contains the raw structure members for matching.

    Signed-off-by: Bernhard Walle
    Cc: Dominik Brodowski
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     

07 May, 2007

4 commits

  • This adds support for the SH7722 (MobileR) to the clock framework.

    Signed-off-by: dmitry pervushin
    Signed-off-by: Paul Mundt

    dmitry pervushin
     
  • sh uses the same sysrq trigger as ppc, update the documentation to
    reflect that.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits)
    kconfig: fix mconf segmentation fault
    kbuild: enable use of code from a different dir
    kconfig: error out if recursive dependencies are found
    kbuild: scripts/basic/fixdep segfault on pathological string-o-death
    kconfig: correct minor typo in Kconfig warning message.
    kconfig: fix path to modules.txt in Kconfig help
    usr/Kconfig: fix typo
    kernel-doc: alphabetically-sorted entries in index.html of 'htmldocs'
    kbuild: be more explicit on missing .config file
    kbuild: clarify the creation of the LOCALVERSION_AUTO string.
    kbuild: propagate errors from find in scripts/gen_initramfs_list.sh
    kconfig: refer to qt3 if we cannot find qt libraries
    kbuild: handle compressed cpio initramfs-es
    kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text
    kbuild: remove stale comment in modpost.c
    kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE
    kbuild: fix make mrproper for Documentation/DocBook/man
    kbuild: remove kconfig binaries during make mrproper
    kconfig/menuconfig: do not hardcode '.config'
    kbuild: override build timestamp & version
    ...

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (82 commits)
    [ARM] Add comments marking in-use ptrace numbers
    [ARM] Move syscall saving out of the way of utrace
    [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro
    [ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header
    [ARM] mm 10: allow memory type to be specified with ioremap
    [ARM] mm 9: add additional device memory types
    [ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6
    [ARM] iop: add missing parens in macro
    [ARM] mm 7: remove duplicated __ioremap() prototypes
    ARM: OMAP: fix OMAP1 mpuio suspend/resume oops
    ARM: OMAP: MPUIO wake updates
    ARM: OMAP: speed up gpio irq handling
    ARM: OMAP: plat-omap changes for 2430 SDP
    ARM: OMAP: gpio object shrinkage, cleanup
    ARM: OMAP: /sys/kernel/debug/omap_gpio
    ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon
    ARM: OMAP: Enable 24xx GPIO autoidling
    [ARM] 4318/2: DSM-G600 Board Support
    [ARM] 4227/1: minor head.S fixups
    [ARM] 4328/1: Move i.MX UART regs to driver
    ...

    Linus Torvalds
     

06 May, 2007

2 commits

  • * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (231 commits)
    [PATCH] i386: Don't delete cpu_devs data to identify different x86 types in late_initcall
    [PATCH] i386: type may be unused
    [PATCH] i386: Some additional chipset register values validation.
    [PATCH] i386: Add missing !X86_PAE dependincy to the 2G/2G split.
    [PATCH] x86-64: Don't exclude asm-offsets.c in Documentation/dontdiff
    [PATCH] i386: avoid redundant preempt_disable in __unlazy_fpu
    [PATCH] i386: white space fixes in i387.h
    [PATCH] i386: Drop noisy e820 debugging printks
    [PATCH] x86-64: Fix allnoconfig error in genapic_flat.c
    [PATCH] x86-64: Shut up warnings for vfat compat ioctls on other file systems
    [PATCH] x86-64: Share identical video.S between i386 and x86-64
    [PATCH] x86-64: Remove CONFIG_REORDER
    [PATCH] x86-64: Print type and size correctly for unknown compat ioctls
    [PATCH] i386: Remove copy_*_user BUG_ONs for (size < 0)
    [PATCH] i386: Little cleanups in smpboot.c
    [PATCH] x86-64: Don't enable NUMA for a single node in K8 NUMA scanning
    [PATCH] x86: Use RDTSCP for synchronous get_cycles if possible
    [PATCH] i386: Add X86_FEATURE_RDTSCP
    [PATCH] i386: Implement X86_FEATURE_SYNC_RDTSC on i386
    [PATCH] i386: Implement alternative_io for i386
    ...

    Fix up trivial conflict in include/linux/highmem.h manually.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (87 commits)
    [SCSI] fusion: fix domain validation loops
    [SCSI] qla2xxx: fix regression on sparc64
    [SCSI] modalias for scsi devices
    [SCSI] sg: cap reserved_size values at max_sectors
    [SCSI] BusLogic: stop using check_region
    [SCSI] tgt: fix rdma transfer bugs
    [SCSI] aacraid: fix aacraid not finding device
    [SCSI] aacraid: Correct SMC products in aacraid.txt
    [SCSI] scsi_error.c: Add EH Start Unit retry
    [SCSI] aacraid: [Fastboot] Panics for AACRAID driver during 'insmod' for kexec test.
    [SCSI] ipr: Driver version to 2.3.2
    [SCSI] ipr: Faster sg list fetch
    [SCSI] ipr: Return better qc_issue errors
    [SCSI] ipr: Disrupt device error
    [SCSI] ipr: Improve async error logging level control
    [SCSI] ipr: PCI unblock config access fix
    [SCSI] ipr: Fix for oops following SATA request sense
    [SCSI] ipr: Log error for SAS dual path switch
    [SCSI] ipr: Enable logging of debug error data for all devices
    [SCSI] ipr: Add new PCI-E IDs to device table
    ...

    Linus Torvalds
     

05 May, 2007

6 commits

  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (65 commits)
    Input: gpio_keys - add support for switches (EV_SW)
    Input: cobalt_btns - convert to use polldev library
    Input: add skeleton for simple polled devices
    Input: update some documentation
    Input: wistron - fix typo in keymap for Acer TM610
    Input: add input_set_capability() helper
    Input: i8042 - add Fujitsu touchscreen/touchpad PNP IDs
    Input: i8042 - add Panasonic CF-29 to nomux list
    Input: lifebook - split into 2 devices
    Input: lifebook - add signature of Panasonic CF-29
    Input: lifebook - activate 6-byte protocol on select models
    Input: lifebook - work properly on Panasonic CF-18
    Input: cobalt buttons - separate device and driver registration
    Input: ati_remote - make button repeat sensitivity configurable
    Input: pxa27x - do not use deprecated SA_INTERRUPT flag
    Input: ucb1400 - make delays configurable
    Input: misc devices - switch to using input_dev->dev.parent
    Input: joysticks - switch to using input_dev->dev.parent
    Input: touchscreens - switch to using input_dev->dev.parent
    Input: mice - switch to using input_dev->dev.parent
    ...

    Fixed up conflicts with core device model removal of "struct subsystem" manually.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:
    remove "struct subsystem" as it is no longer needed
    sysfs: printk format warning
    DOC: Fix wrong identifier name in Documentation/driver-model/devres.txt
    platform: reorder platform_device_del
    Driver core: fix show_uevent from taking up way too much stack

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (59 commits)
    PCI: Free resource files in error path of pci_create_sysfs_dev_files()
    pci-quirks: disable MSI on RS400-200 and RS480
    PCI hotplug: Use menuconfig objects
    PCI: ZT5550 CPCI Hotplug driver fix
    PCI: rpaphp: Remove semaphores
    PCI: rpaphp: Ensure more pcibios_add/pcibios_remove symmetry
    PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically
    PCI: rpaphp: Document is_php_dn()
    PCI: rpaphp: Document find_php_slot()
    PCI: rpaphp: Rename rpaphp_register_pci_slot() to rpaphp_enable_slot()
    PCI: rpaphp: refactor tail call to rpaphp_register_slot()
    PCI: rpaphp: remove rpaphp_set_attention_status()
    PCI: rpaphp: remove print_slot_pci_funcs()
    PCI: rpaphp: Remove setup_pci_slot()
    PCI: rpaphp: remove a call that does nothing but a pointer lookup
    PCI: rpaphp: Remove another wrappered function
    PCI: rpaphp: Remve another call that is a wrapper
    PCI: rpaphp: remove a function that does nothing but wrap debug printks
    PCI: rpaphp: Remove un-needed goto
    PCI: rpaphp: Fix a memleak; slot->location string was never freed
    ...

    Linus Torvalds
     
  • * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (44 commits)
    i2c-s3c2410: Fix bug in releasing driver
    i2c-s3c2410: Fix I2C SDA to SCL setup time
    i2c: New i2c-tiny-usb bus driver
    i2c: Documentation update
    i2c: SPIN_LOCK_UNLOCKED cleanup
    i2c: Obsolete i2c-ixp2000, i2c-ixp4xx and scx200_i2c
    i2c: New Simtec I2C bus driver
    i2c: Bitbanging I2C bus driver using the GPIO API
    Use menuconfig objects - I2C
    i2c: Restore i2c_smbus_read_block_data
    i2c-pxa: Clean transaction stop
    i2c-algo-bit: Improve debugging
    i2c-algo-bit: Implement a 50/50 SCL duty cycle
    i2c-omap: Switch to static adapter numbering
    i2c: Blackfin Two Wire Interface driver
    i2c-algo-sgi: Comment and whitespace cleanups
    i2c: Make i2c_del_driver a void function
    i2c: Move i2c-isa-only exported symbol declarations
    i2c: Document i2c_new_device()
    i2c: Add i2c_new_probed_device()
    ...

    Fixed trivial conflict in Documentation/feature-removal-schedule.txt manually.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • I am no longer with CTI. The Support Department will handle all
    inquiries regarding the WH.

    Signed-off-by: Stuart MacDonald
    Signed-off-by: Linus Torvalds

    Stuart MacDonald
     
  • These helper functions are a leftover from 2.4 sync I/O and are a
    notorious source for bugs. They lead to device driver specific code
    creeping into cio, and some issues can't really be fixed at all.

    Device drivers can easily implement those functions themselves in a
    more robust manner, so let's get rid of them.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky

    Cornelia Huck
     

03 May, 2007

17 commits

  • Unless we finally completely remove it, people will always add new users.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     
  • This patch removes the PCI_MULTITHREAD_PROBE option that had already
    been marked as broken.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     
  • Correct function name copy-paste error.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • Currently, there is no minimum number of fields required when adding
    a new device ID to a PCI driver through the new_id sysfs file. It is
    possible to add a new ID with only the vendor ID set, causing the
    driver to attempt to attach to all PCI devices from that vendor. This
    has been reported to happen accidentally:
    http://lists.lm-sensors.org/pipermail/lm-sensors/2007-March/019366.html
    It is even possible to not even set the vendor ID field, causing the
    driver to attempt to attach to _all_ the PCI devices.

    This sounds dangerous and I fail to see any valid use of this
    "feature". Thus I suggest that we now require at least the first two
    fields (vendor ID and device ID) to be set. For what it's worth, this
    is what the USB subsystem does.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • Above and below we talk about my_midlayer_create_something, I assume that is
    also meant here.

    Signed-off-by: Rolf Eike Beer
    Signed-off-by: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Rolf Eike Beer
     
  • Make docbook index.html contain sorted output.

    I prefer to let the computer do it. This also avoids
    people not reading the comment(s).

    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     
  • "make mandocs" generate > 2000 files in Documentation/DocBook/man
    and this caused kbuild to barf out during make mrproper like this:

    make -f scripts/Makefile.clean obj=Documentation/DocBook
    make -f scripts/Makefile.clean obj=Documentation/DocBook/man/
    make[2]: execvp: /bin/sh: Argument list too long
    make[2]: *** [__clean] Error 127
    make[1]: *** [Documentation/DocBook/man/] Error 2
    make: *** [_mrproper_Documentation/DocBook] Error 2

    The man directory were solely used for output
    so the fix is to remove it entirely during the
    make mrproper process.

    Signed-off-by: Sam Ravnborg
    Acked-by: Randy Dunlap

    Sam Ravnborg
     
  • The Makefile fragment in Documentation/kbuild/modules.txt looks to be
    missing some braces.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Sam Ravnborg

    Anton Blanchard
     
  • asm-offsets.c is valid source code and needs to be diffed.

    Signed-off-by: Andi Kleen

    Andi Kleen
     
  • Background:
    We've found that MCEs (specifically DRAM SBEs) tend to come in bunches,
    especially when we are trying really hard to stress the system out. The
    current MCE poller uses a static interval which does not care whether it
    has or has not found MCEs recently.

    Description:
    This patch makes the MCE poller adjust the polling interval dynamically.
    If we find an MCE, poll 2x faster (down to 10 ms). When we stop finding
    MCEs, poll 2x slower (up to check_interval seconds). The check_interval
    tunable becomes the max polling interval. The "Machine check events
    logged" printk() is rate limited to the check_interval, which should be
    identical behavior to the old functionality.

    Result:
    If you start to take a lot of correctable errors (not exceptions), you
    log them faster and more accurately (less chance of overflowing the MCA
    registers). If you don't take a lot of errors, you will see no change.

    Alternatives:
    I considered simply reducing the polling interval to 10 ms immediately
    and keeping it there as long as we continue to find errors. This felt a
    bit heavy handed, but does perform significantly better for the default
    check_interval of 5 minutes (we're using a few seconds when testing for
    DRAM errors). I could be convinced to go with this, if anyone felt it
    was not too aggressive.

    Testing:
    I used an error-injecting DIMM to create lots of correctable DRAM errors
    and verified that the polling interval accelerates. The printk() only
    happens once per check_interval seconds.

    Patch:
    This patch is against 2.6.21-rc7.

    Signed-Off-By: Tim Hockin
    Signed-off-by: Andi Kleen

    Tim Hockin
     
  • Add "noreplace-paravirt" to disable paravirt_ops patching.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Andi Kleen
    Cc: Rusty Russell
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton

    Jeremy Fitzhardinge
     
  • Add "noreplace-smp" to disable SMP instruction replacement.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Andi Kleen

    Jeremy Fitzhardinge
     
  • It doesn't put the CPU into deeper sleep states, so it's better to use the standard
    idle loop to save power. But allow to reenable it anyways for benchmarking.

    I also removed the obsolete idle=halt on i386

    Cc: andreas.herrmann@amd.com

    Signed-off-by: Andi Kleen

    Andi Kleen
     
  • Now that relocation of the VDSO for COMPAT_VDSO users is done at
    runtime rather than compile time, it is possible to enable/disable
    compat mode at runtime.

    This patch allows you to enable COMPAT_VDSO mode with "vdso=2" on the
    kernel command line, or via sysctl. (Switching on a running system
    shouldn't be done lightly; any process which was relying on the compat
    VDSO will be upset if it goes away.)

    The COMPAT_VDSO config option still exists, but if enabled it just
    makes vdso_enabled default to VDSO_COMPAT.

    +From: Hugh Dickins

    Fix oops from i386-make-compat_vdso-runtime-selectable.patch.

    Even mingetty at system startup finds it easy to trigger an oops
    while reading /proc/PID/maps: though it has a good hold on the mm
    itself, that cannot stop exit_mm() from resetting tsk->mm to NULL.

    (It is usually show_map()'s call to get_gate_vma() which oopses,
    and I expect we could change that to check priv->tail_vma instead;
    but no matter, even m_start()'s call just after get_task_mm() is racy.)

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Andi Kleen
    Cc: Zachary Amsden
    Cc: "Jan Beulich"
    Cc: Eric W. Biederman
    Cc: Andi Kleen
    Cc: Ingo Molnar
    Cc: Roland McGrath

    Jeremy Fitzhardinge
     
  • Because the command line is increased to 2048 characters after 2.6.21, it's
    not possible for boot loaders and userspace tools to determine the length
    of the command line the kernel can understand. The benefit of knowing the
    length is that users can be warned if the command line size is too long
    which prevents surprise if things don't work after bootup.

    This patch updates the boot protocol to contain a field called
    "cmdline_size" that contain the length of the command line (excluding the
    terminating zero).

    The patch also adds missing fields (of protocol version 2.05) to the x86_64
    setup code.

    Signed-off-by: Bernhard Walle
    Signed-off-by: Andi Kleen
    Cc: Alon Bar-Lev
    Acked-by: H. Peter Anvin
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton

    Bernhard Walle
     
  • Create a document to explain how to use numa=fake in conjunction with cpusets
    for coarse memory resource management.

    An attempt to get more awareness and testing for this feature.

    Cc: Andi Kleen
    Signed-off-by: David Rientjes
    Signed-off-by: Andi Kleen
    Cc: Paul Jackson
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton

    David Rientjes
     
  • Extends the numa=fake x86_64 command-line option to split the remaining system
    memory into nodes of fixed size. Any leftover memory is allocated to a final
    node unless the command-line ends with a comma.

    For example:
    numa=fake=2*512,*128 gives two 512M nodes and the remaining system
    memory is split into nodes of 128M each.

    This is beneficial for systems where the exact size of RAM is unknown or not
    necessarily relevant, but the size of the remaining nodes to be allocated is
    known based on their capacity for resource management.

    Cc: Andi Kleen
    Signed-off-by: David Rientjes
    Signed-off-by: Andi Kleen
    Cc: Paul Jackson
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton

    David Rientjes