25 Jul, 2008

21 commits

  • In order to be able to debug things like the X server and programs using
    the PPC Cell SPUs, the debugger needs to be able to access device memory
    through ptrace and /proc/pid/mem.

    This patch:

    Add the generic_access_phys access function and put the hooks in place
    to allow access_process_vm to access device or PPC Cell SPU memory.

    [riel@redhat.com: Add documentation for the vm_ops->access function]
    Signed-off-by: Rik van Riel
    Signed-off-by: Benjamin Herrensmidt
    Cc: Dave Airlie
    Cc: Hugh Dickins
    Cc: Paul Mackerras
    Cc: Arnd Bergmann
    Acked-by: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rik van Riel
     
  • There are no users of nopfn in the tree. Remove it.

    [hugh@veritas.com: fix build error]
    Signed-off-by: Nick Piggin
    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • generic_file_direct_IO is a common helper around the invocation of
    ->direct_IO. But there's almost nothing shared between the read and write
    side, so we're better off without this helper.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • It's confusing that set_max_huge_pages() contained two different
    variables named "ret", and although the code works correctly this should
    be fixed.

    The inner of the two variables can simply be removed.

    Spotted by sparse.

    Signed-off-by: Adrian Bunk
    Cc: "KOSAKI Motohiro"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This patch adds proper extern declarations for five variables in
    include/linux/vmstat.h

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Every file should include the headers containing the externs for its
    global functions (in this case for sys_move_pages()).

    Signed-off-by: Adrian Bunk
    Acked-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Two zonelist patch series rewrote __page_alloc() largely. Now, it is just
    a wrapper function. Inlining them will save a function call.

    [akpm@linux-foundation.org: export __alloc_pages_internal]
    Cc: Lee Schermerhorn
    Cc: Mel Gorman
    Signed-off-by: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • [akpm@linux-foundation.org: remove unused variable]
    Signed-off-by: Nick Piggin
    Acked-by: Jes Sorensen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • This function has no external callers, so unexport it. Also fix its naming
    inconsistency.

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

    Johannes Weiner
     
  • All _core functions only need the bootmem data, not the whole node descriptor.
    Adjust the two functions that take the node descriptor unneededly.

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

    Johannes Weiner
     
  • The check for node_boot_start is bogus because we start freeing at the
    corresponding pfn. So check if the pfn is properly aligned instead in a more
    readable way and adjust the documentation.

    Also remove an unneeded accounting variable.

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

    Johannes Weiner
     
  • There are a lot of places that define either a single bootmem descriptor or an
    array of them. Use only one central array with MAX_NUMNODES items instead.

    Signed-off-by: Johannes Weiner
    Acked-by: Ralf Baechle
    Cc: Ingo Molnar
    Cc: Richard Henderson
    Cc: Russell King
    Cc: Tony Luck
    Cc: Hirokazu Takata
    Cc: Geert Uytterhoeven
    Cc: Kyle McMartin
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: David S. Miller
    Cc: Yinghai Lu
    Cc: Christoph Lameter
    Cc: Mel Gorman
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • lib/debugobjects.c has a function to test if an object is on the stack.
    The block layer and ide needs it (they need to avoid DMA from/to stack
    buffers). This patch moves the function to include/linux/sched.h so that
    everyone can use it.

    lib/debugobjects.c uses current->stack but this patch uses a
    task_stack_page() accessor, which is a preferable way to access the stack.

    Signed-off-by: FUJITA Tomonori
    Cc: Christoph Lameter
    Cc: Andy Whitcroft
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • This patch prints out the zonelists during boot for manual verification by the
    user if the mminit_loglevel is MMINIT_VERIFY or higher.

    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
     
  • There are a number of different views to how much memory is currently active.
    There is the arch-independent zone-sizing view, the bootmem allocator and
    memory models view.

    Architectures register this information at different times and is not
    necessarily in sync particularly with respect to some SPARSEMEM limitations.

    This patch introduces mminit_validate_memmodel_limits() which is able to
    validate and correct PFN ranges with respect to the memory model. It is only
    SPARSEMEM that currently validates itself.

    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
     
  • Print out information on how the page flags are being used if mminit_loglevel
    is MMINIT_VERIFY or higher and unconditionally performs sanity checks on the
    flags regardless of loglevel.

    When the page flags are updated with section, node and zone information, a
    check are made to ensure the values can be retrieved correctly. Finally we
    confirm that pfn_to_page and page_to_pfn are the correct inverse functions.

    [akpm@linux-foundation.org: fix printk warnings]
    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
     
  • 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
     
  • Flag platforms as HAVE_CLK (or not) in Kconfig, based on whether they
    support calls, so that otherwise portable drivers which need
    those calls can list that dependency.

    Something like this is a prerequisite for merging the musb_hdrc driver,
    currently used on platforms including Davinci, OMAP2430, OMAP3xx ... and
    the discrete TUSB6010 chip, which doesn't have a natural platform
    dependency. (Used with OMAP 2420 in current Nokia N8x0 tablets.)

    Signed-off-by: David Brownell
    Cc: Russell King
    Acked-by: Haavard Skinnemoen
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • This patch removes the no longer used is_tty().

    Signed-off-by: Adrian Bunk
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • The existing HPET maintainer entries are somewhat unclear about which one
    applies to what part of the kernel.

    Signed-off-by: Clemens Ladisch
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Clemens Ladisch
     
  • James Bottomley warns that inclusion of linux/fs.h in a low level
    driver was always a danger signal. This patch moves
    memory_read_from_buffer() from fs.h to string.h and fixes includes in
    existing memory_read_from_buffer() users.

    Signed-off-by: Akinobu Mita
    Cc: James Bottomley
    Cc: Geert Uytterhoeven
    Cc: Zhang Rui
    Cc: Bob Moore
    Cc: Thomas Renninger
    Cc: Len Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

24 Jul, 2008

19 commits

  • * 'x86/auditsc' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:
    i386 syscall audit fast-path
    x86_64 ia32 syscall audit fast-path
    x86_64 syscall audit fast-path
    x86_64: remove bogus optimization in sysret_signal

    Linus Torvalds
     
  • * 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: hrtick_enabled() should use cpu_active()
    sched, x86: clean up hrtick implementation
    sched: fix build error, provide partition_sched_domains() unconditionally
    sched: fix warning in inc_rt_tasks() to not declare variable 'rq' if it's not needed
    cpu hotplug: Make cpu_active_map synchronization dependency clear
    cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)
    sched: rework of "prioritize non-migratable tasks over migratable ones"
    sched: reduce stack size in isolated_cpu_setup()
    Revert parts of "ftrace: do not trace scheduler functions"

    Fixed up conflicts in include/asm-x86/thread_info.h (due to the
    TIF_SINGLESTEP unification vs TIF_HRTICK_RESCHED removal) and
    kernel/sched_fair.c (due to cpu_active_map vs for_each_cpu_mask_nr()
    introduction).

    Linus Torvalds
     
  • * 'cpus4096-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)
    NR_CPUS: Replace NR_CPUS in speedstep-centrino.c
    cpumask: Provide a generic set of CPUMASK_ALLOC macros, FIXUP
    NR_CPUS: Replace NR_CPUS in cpufreq userspace routines
    NR_CPUS: Replace per_cpu(..., smp_processor_id()) with __get_cpu_var
    NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genapic_flat_64.c
    NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genx2apic_uv_x.c
    NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c
    NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/mcheck/mce_64.c
    cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix
    cpumask: Use optimized CPUMASK_ALLOC macros in the centrino_target
    cpumask: Provide a generic set of CPUMASK_ALLOC macros
    cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c
    cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c
    cpumask: Optimize cpumask_of_cpu in drivers/misc/sgi-xp/xpc_main.c
    cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/ldt.c
    cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/io_apic_64.c
    cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr
    Revert "cpumask: introduce new APIs"
    cpumask: make for_each_cpu_mask a bit smaller
    net: Pass reference to cpumask variable in net/sunrpc/svc.c
    ...

    Fix up trivial conflicts in drivers/cpufreq/cpufreq.c manually

    Linus Torvalds
     
  • …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
     
  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (85 commits)
    [ARM] pxa: add base support for PXA930 Handheld Platform (aka SAAR)
    [ARM] pxa: add base support for PXA930 Evaluation Board (aka TavorEVB)
    [ARM] pxa: add base support for PXA930 (aka Tavor-P)
    [ARM] Update mach-types
    [ARM] pxa: make littleton to use the new smc91x platform data
    [ARM] pxa: make zylonite to use the new smc91x platform data
    [ARM] pxa: make mainstone to use the new smc91x platform data
    [ARM] pxa: make lubbock to use new smc91x platform data
    [NET] smc91x: prepare SMC_USE_PXA_DMA to be specified in platform data
    [NET] smc91x: prepare for SMC_IO_SHIFT to be a platform configurable variable
    [NET] smc91x: add SMC91X_NOWAIT flag to platform data
    [NET] smc91x: favor the use of SMC91X_USE_* instead of SMC_CAN_USE_*
    [NET] smc91x: remove "irq_flags" from "struct smc91x_platdata"
    [ARM] 5146/1: pxa2xx: convert all boards to call pxa2xx_transceiver_mode helper
    Support for LCD on e740 e750 e400 and e800 e-series PDAs
    E-series UDC support
    PXA UDC - allow use of inverted GPIO for pullup
    Add e350 support
    Fix broken e-series build
    E-series GPIO / IRQ definitions.
    ...

    Linus Torvalds
     
  • This adds fast paths for 32-bit syscall entry and exit when
    TIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing.
    These paths does not need to save and restore all registers as
    the general case of tracing does. Avoiding the iret return path
    when syscall audit is enabled helps performance a lot.

    Signed-off-by: Roland McGrath

    Roland McGrath
     
  • This adds fast paths for 32-bit syscall entry and exit when
    TIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing.
    These paths does not need to save and restore all registers as
    the general case of tracing does. Avoiding the iret return path
    when syscall audit is enabled helps performance a lot.

    Signed-off-by: Roland McGrath

    Roland McGrath
     
  • This adds a fast path for 64-bit syscall entry and exit when
    TIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing.
    This path does not need to save and restore all registers as
    the general case of tracing does. Avoiding the iret return path
    when syscall audit is enabled helps performance a lot.

    Signed-off-by: Roland McGrath

    Roland McGrath
     
  • This short-circuit path in sysret_signal looks wrong to me.
    AFAICT, in practice the branch is never taken--and if it were,
    it would go wrong. To wit, try loading a module whose init
    function does set_thread_flag(TIF_IRET), and see insmod crash
    (presumably with a wrong user stack pointer).

    This is because the FIXUP_TOP_OF_STACK work hasn't been done yet
    when we jump around the call to ptregscall_common and get to
    int_with_check--where it expects the user RSP,SS,CS and EFLAGS to
    have been stored by FIXUP_TOP_OF_STACK.

    I don't think it's normally possible to get to sysret_signal with no
    _TIF_DO_NOTIFY_MASK bits set anyway, so these two instructions are
    already superfluous. If it ever did happen, it is harmless to call
    do_notify_resume with nothing for it to do.

    Signed-off-by: Roland McGrath

    Roland McGrath
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
    sdhci: highmem capable PIO routines
    sg: reimplement sg mapping iterator
    mmc_test: print message when attaching to card
    mmc: Remove Russell as primecell mci maintainer
    mmc_block: bounce buffer highmem support
    sdhci: fix bad warning from commit c8b3e02
    sdhci: add warnings for bad buffers in ADMA path
    mmc_test: test oversized sg lists
    mmc_test: highmem tests
    s3cmci: ensure host stopped on machine shutdown
    au1xmmc: suspend/resume implementation
    s3cmci: fixes for section mismatch warnings
    pxamci: trivial fix of DMA alignment register bit clearing

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (24 commits)
    I/OAT: I/OAT version 3.0 support
    I/OAT: tcp_dma_copybreak default value dependent on I/OAT version
    I/OAT: Add watchdog/reset functionality to ioatdma
    iop_adma: cleanup iop_chan_xor_slot_count
    iop_adma: document how to calculate the minimum descriptor pool size
    iop_adma: directly reclaim descriptors on allocation failure
    async_tx: make async_tx_test_ack a boolean routine
    async_tx: remove depend_tx from async_tx_sync_epilog
    async_tx: export async_tx_quiesce
    async_tx: fix handling of the "out of descriptor" condition in async_xor
    async_tx: ensure the xor destination buffer remains dma-mapped
    async_tx: list_for_each_entry_rcu() cleanup
    dmaengine: Driver for the Synopsys DesignWare DMA controller
    dmaengine: Add slave DMA interface
    dmaengine: add DMA_COMPL_SKIP_{SRC,DEST}_UNMAP flags to control dma unmap
    dmaengine: Add dma_client parameter to device_alloc_chan_resources
    dmatest: Simple DMA memcpy test client
    dmaengine: DMA engine driver for Marvell XOR engine
    iop-adma: fix platform driver hotplug/coldplug
    dmaengine: track the number of clients using a channel
    ...

    Fixed up conflict in drivers/dca/dca-sysfs.c manually

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
    kgdb: kgdboc console poll hooks for mpsc uart
    kgdb: kgdboc console poll hooks for cpm uart
    kgdb, powerpc: arch specific powerpc kgdb support
    kgdb: support for ARCH=arm
    kgdb: remove unused HAVE_ARCH_KGDB_SHADOW_INFO config variable

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (60 commits)
    ide: small whitespace fixes
    ide: ide-cd_ioctl.c fix sparse integer as NULL pointer warnings
    ide: ide-cd.c fix sparse endianness warnings
    ide-cd: convert to using the new atapi_flags
    ide: remove unused PC_FLAG_DRQ_INTERRUPT
    ide-scsi: convert to using the new atapi_flags
    ide-tape: convert to using the new atapi_flags
    ide-floppy: convert to using the new atapi_flags (take 2)
    ide: add per-device flags
    ide: use rq->cmd instead of pc->c in atapi common code
    ide-scsi: pass packet command in rq->cmd
    ide-tape: pass packet command in rq->cmd
    ide-tape: make room for packet command ids in rq->cmd
    ide-floppy: pass packet command in rq->cmd
    ide: remove pc->callback member from ide_atapi_pc
    ide-scsi: use drive->pc_callback instead of pc->callback
    ide-tape: use drive->pc_callback instead of pc->callback
    ide-floppy: use drive->pc_callback instead of pc->callback
    ide: push pc callback pointer into the ide_drive_t structure
    drivers/ide/ide-tape.c: remove double kfree
    ...

    Linus Torvalds
     
  • Small whitespace fixes for drivers/ide.

    Signed-off-by: Pavel Machek
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Pavel Machek
     
  • The function ide_cd_queue_pc should be checked as the bufflen arg is
    dereferenced and lots of callers are passing in NULL.

    drivers/ide/ide-cd_ioctl.c:124:46: warning: Using plain integer as NULL pointer
    drivers/ide/ide-cd_ioctl.c:149:47: warning: Using plain integer as NULL pointer
    drivers/ide/ide-cd_ioctl.c:231:46: warning: Using plain integer as NULL pointer
    drivers/ide/ide-cd_ioctl.c:374:46: warning: Using plain integer as NULL pointer

    Signed-off-by: Harvey Harrison
    Cc: Andrew Morton
    Acked-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Harvey Harrison
     
  • drivers/ide/ide-cd.c:1276:46: warning: Using plain integer as NULL pointer
    drivers/ide/ide-cd.c:1298:19: warning: cast to restricted __be32
    drivers/ide/ide-cd.c:1300:4: warning: cast to restricted __be32
    drivers/ide/ide-cd.c:1522:14: warning: cast to restricted __le16
    drivers/ide/ide-cd.c:1523:14: warning: cast to restricted __le16
    drivers/ide/ide-cd.c:1525:14: warning: cast to restricted __be16
    drivers/ide/ide-cd.c:1526:14: warning: cast to restricted __be16
    drivers/ide/ide-cd.c:1667:37: warning: cast to restricted __be16

    Signed-off-by: Harvey Harrison
    Cc: Andrew Morton
    Acked-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Harvey Harrison
     
  • There should be no functionality change resulting from this patch.

    [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags]

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • There should be no functionality change resulting from this patch.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • Remove unused IDESCSI_PC_RQ while at it.

    There should be no functionality change resulting from this patch.

    [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags]

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov