03 May, 2011

1 commit

  • STMP378x and MX23 are the same and just relabeled. There is a
    mach-stmp378x, however, it has a lot of reinvented interfaces, leaking
    all sorts of mach-specific functions into the drivers. One example is
    the dmaengine which does not use the linux dmaengine-API but some
    privately exported symbols. This makes generic use of the drivers
    impossible. mach-mxs does it better, so convert the board to mach-mxs.
    After that, it is possible to delete all stmp-specific code which should
    ease further ARM-consolidation.

    Compile tested only due to no hardware (seems not available anymore).

    Signed-off-by: Wolfram Sang
    Acked-by: Shawn Guo
    Signed-off-by: Russell King

    Wolfram Sang
     

01 May, 2011

1 commit


30 Apr, 2011

6 commits


29 Apr, 2011

22 commits

  • …/git/tmlind/linux-omap-2.6

    * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
    OMAP3+: voltage: remove initial voltage
    OMAP4: Intialize IVA Device in addition to DSP device.
    omap: rx51: mark reserved memory earlier
    OMAP3: l3: fix for "irq 10: nobody cared" message
    arm: omap2: enable smc instruction for sleep34xx
    OMAP2/3: hwmod: fix gpio-reset timeouts seen during bootup.
    OMAP3: PM: Do not rely on ROM code to restore CM_AUTOIDLE_PLL.AUTO_PERIPH_DPLL
    OMAP2+: PM: Fix the saving of CM_AUTOIDLE_PLL register on scratchpad area
    OMAP4: clock data: Change DSS clock aliases
    OMAP2+: hwmod data: Fix wrong dma_system end address

    Linus Torvalds
     
  • We must remove all files we created, even in error cases.

    Fixes second part of kernel bug #34072:
    https://bugzilla.kernel.org/show_bug.cgi?id=34072

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Fixes kernel bug #34072:
    https://bugzilla.kernel.org/show_bug.cgi?id=34072

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Recent Xeon processor thermal sensors are supported by the coretemp
    driver and not the adm1021 driver. Only one old generation of Xeon
    processors (the first Netburst ones) are supported by the adm1021
    driver.

    Reported-by: Darren Hart
    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • The lm90 driver's attribute update interval is configurable.
    Reflect this information in the driver documentation.

    Signed-off-by: Guenter Roeck
    Signed-off-by: Jean Delvare

    Guenter Roeck
     
  • This patch adds support for ADT7461A and NCT1008 to the lm90 driver.
    Both chips have identical functionality and report the same manufacturing ID
    and device ID values.

    Signed-off-by: Guenter Roeck
    Signed-off-by: Jean Delvare

    Guenter Roeck
     
  • Sedat and Bruno reported RCU stalls which turned out to be caused by
    the following;

    sched_init() calls init_rt_bandwidth() which calls hrtimer_init()
    _BEFORE_ hrtimers_init() is called. While not entirely correct this
    worked because hrtimer_init() only accessed statically initialized
    data (hrtimer_bases.clock_base[CLOCK_MONOTONIC])

    Commit e06383db9 (hrtimers: extend hrtimer base code to handle more
    then 2 clockids) added an indirection to the hrtimer_bases.clock_base
    lookup to avoid gap handling in the hot path. The table which is used
    for the translataion from CLOCK_ID to HRTIMER_BASE index is
    initialized at runtime in hrtimers_init(). So the early call of the
    scheduler code translates CLOCK_MONOTONIC to HRTIMER_BASE_REALTIME.

    Thus the rt_bandwith timer ends up on CLOCK_REALTIME. If the timer is
    armed and the wall clock time is set (e.g. ntpdate in the early boot
    process - which also gives the problem deterministic behaviour
    i.e. magic recovery after N hours), then the timer ends up with an
    expiry time far into the future. That breaks the RT throttler
    mechanism as rt runtime is accumulated and never cleared, so the rt
    throttler detects a false cpu hog condition and blocks all RT tasks
    until the timer finally expires. That in turn stalls the RCU thread of
    TINYRCU which leads to an huge amount of RCU callbacks piling up.

    Make the translation table statically initialized, so we are back to
    the status of
    Reported-by: Bruno Prémont
    Cc: John stultz
    Cc: Mike Galbraith
    Cc: Paul E. McKenney
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/%3Calpine.LFD.2.02.1104282353140.3005%40ionos%3E
    Reviewed-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/i915: restore only the mode of this driver on lastclose (v2)
    drm/radeon/kms: add info query for tile pipes
    drm/radeon/kms: add missing safe regs for 6xx/7xx
    drm: select FRAMEBUFFER_CONSOLE_PRIMARY if we have FRAMEBUFFER_CONSOLE

    Linus Torvalds
     
  • * 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k/mm: Set all online nodes in N_NORMAL_MEMORY

    Linus Torvalds
     
  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    nfs: don't lose MS_SYNCHRONOUS on remount of noac mount
    NFS: Return meaningful status from decode_secinfo()
    NFSv4: Ensure we request the ordinary fileid when doing readdirplus
    NFSv4: Ensure that clientid and session establishment can time out
    SUNRPC: Allow RPC calls to return ETIMEDOUT instead of EIO
    NFSv4.1: Don't loop forever in nfs4_proc_create_session
    NFSv4: Handle NFS4ERR_WRONGSEC outside of nfs4_handle_exception()
    NFSv4.1: Don't update sequence number if rpc_task is not sent
    NFSv4.1: Ensure state manager thread dies on last umount
    SUNRPC: Fix the SUNRPC Kerberos V RPCSEC_GSS module dependencies
    NFS: Use correct variable for page bounds checking
    NFS: don't negotiate when user specifies sec flavor
    NFS: Attempt mount with default sec flavor first
    NFS: flav_array honors NFS_MAX_SECFLAVORS
    NFS: Fix infinite loop in gss_create_upcall()
    Don't mark_inode_dirty_sync() while holding lock
    NFS: Get rid of pointless test in nfs_commit_done
    NFS: Remove unused argument from nfs_find_best_sec()
    NFS: Eliminate duplicate call to nfs_mark_request_dirty
    NFS: Remove dead code from nfs_fs_mount()

    Linus Torvalds
     
  • With transparent hugepage support, handle_mm_fault() has to be careful
    that a normal PMD has been established before handling a PTE fault. To
    achieve this, it used __pte_alloc() directly instead of pte_alloc_map as
    pte_alloc_map is unsafe to run against a huge PMD. pte_offset_map() is
    called once it is known the PMD is safe.

    pte_alloc_map() is smart enough to check if a PTE is already present
    before calling __pte_alloc but this check was lost. As a consequence,
    PTEs may be allocated unnecessarily and the page table lock taken. Thi
    useless PTE does get cleaned up but it's a performance hit which is
    visible in page_test from aim9.

    This patch simply re-adds the check normally done by pte_alloc_map to
    check if the PTE needs to be allocated before taking the page table lock.
    The effect is noticable in page_test from aim9.

    AIM9
    2.6.38-vanilla 2.6.38-checkptenone
    creat-clo 446.10 ( 0.00%) 424.47 (-5.10%)
    page_test 38.10 ( 0.00%) 42.04 ( 9.37%)
    brk_test 52.45 ( 0.00%) 51.57 (-1.71%)
    exec_test 382.00 ( 0.00%) 456.90 (16.39%)
    fork_test 60.11 ( 0.00%) 67.79 (11.34%)
    MMTests Statistics: duration
    Total Elapsed Time (seconds) 611.90 612.22

    (While this affects 2.6.38, it is a performance rather than a functional
    bug and normally outside the rules -stable. While the big performance
    differences are to a microbench, the difference in fork and exec
    performance may be significant enough that -stable wants to consider the
    patch)

    Reported-by: Raz Ben Yehuda
    Signed-off-by: Mel Gorman
    Reviewed-by: Rik van Riel
    Reviewed-by: Andrea Arcangeli
    Reviewed-by: Minchan Kim
    Acked-by: Johannes Weiner
    Cc: [2.6.38.x]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • In corner cases where softlockup watchdog is not setup successfully, the
    relevant nmi perf event for hardlockup watchdog could be disabled, then
    the status of the underlying hardware remains unchanged.

    Also, if the kthread doesn't start then the hrtimer won't run and the
    hardlockup detector will falsely fire.

    Signed-off-by: Hillf Danton
    Signed-off-by: Don Zickus
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hillf Danton
     
  • In some cases gcc >= 4.5.2 will optimize away current_thread_info(). To
    prevent gcc from doing so the stack address has to be obtained via inline
    asm.

    Signed-off-by: Richard Weinberger
    Acked-by: Kirill A. Shutemov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • Make HoneyPot ProcFS depend on CONFIG_PROC_FS so that it will build.
    Recommended by Christoph Hellwig.

    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=33692

    Reported-by: Simon Danner
    Signed-off-by: Randy Dunlap
    Cc: Jeff Dike
    Cc: Christoph Hellwig
    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • This adds support for 64 bit atomic operations on 32 bit UML systems. XFS
    needs them since 2.6.38.

    $ make ARCH=um SUBARCH=i386
    ...
    LD .tmp_vmlinux1
    fs/built-in.o: In function `xlog_regrant_reserve_log_space':
    xfs_log.c:(.text+0xd8584): undefined reference to `atomic64_read_386'
    xfs_log.c:(.text+0xd85ac): undefined reference to `cmpxchg8b_emu'
    ...

    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=32812

    Reported-by: Martin Walch
    Tested-by: Martin Walch
    Cc: Martin Walch
    Cc: [2.6.38.x 084189a: um: disable CONFIG_CMPXCHG_LOCAL]
    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • PTE pages eat up memory just like anything else, but we do not account for
    them in any way in the OOM scores. They are also _guaranteed_ to get
    freed up when a process is OOM killed, while RSS is not.

    Reported-by: Dave Hansen
    Signed-off-by: KOSAKI Motohiro
    Cc: Hugh Dickins
    Cc: KAMEZAWA Hiroyuki
    Cc: Oleg Nesterov
    Acked-by: David Rientjes
    Cc: [2.6.36+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • Signed-off-by: Kukjin Kim
    Cc: Ben Dooks
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kukjin Kim
     
  • Since 569b846d ("memcg: coalesce uncharge during unmap/truncate"), we do
    batched (delayed) uncharge at truncation/unmap. And since cdec2e42(memcg:
    coalesce charging via percpu storage), we have percpu cache for
    res_counter.

    These changes improved performance of memory cgroup very much, but made
    res_counter->usage usually have a bigger value than the actual value of
    memory usage. So, *.usage_in_bytes, which show res_counter->usage, are
    not desirable for precise values of memory(and swap) usage anymore.

    Instead of removing these files completely(because we cannot know
    res_counter->usage without them), this patch updates the meaning of those
    files.

    Signed-off-by: Daisuke Nishimura
    Acked-by: KAMEZAWA Hiroyuki
    Acked-by: Michal Hocko
    Cc: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daisuke Nishimura
     
  • Signed-off-by: Kukjin Kim
    Cc: Grant Likely
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kukjin Kim
     
  • Signed-off-by: Ian Campbell
    Acked-by: Konrad Rzeszutek Wilk
    Cc: Jeremy Fitzhardinge
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Campbell
     
  • The huge_memory.c THP page fault was allowed to run if vm_ops was null
    (which would succeed for /dev/zero MAP_PRIVATE, as the f_op->mmap wouldn't
    setup a special vma->vm_ops and it would fallback to regular anonymous
    memory) but other THP logics weren't fully activated for vmas with vm_file
    not NULL (/dev/zero has a not NULL vma->vm_file).

    So this removes the vm_file checks so that /dev/zero also can safely use
    THP (the other albeit safer approach to fix this bug would have been to
    prevent the THP initial page fault to run if vm_file was set).

    After removing the vm_file checks, this also makes huge_memory.c stricter
    in khugepaged for the DEBUG_VM=y case. It doesn't replace the vm_file
    check with a is_pfn_mapping check (but it keeps checking for VM_PFNMAP
    under VM_BUG_ON) because for a is_cow_mapping() mapping VM_PFNMAP should
    only be allowed to exist before the first page fault, and in turn when
    vma->anon_vma is null (so preventing khugepaged registration). So I tend
    to think the previous comment saying if vm_file was set, VM_PFNMAP might
    have been set and we could still be registered in khugepaged (despite
    anon_vma was not NULL to be registered in khugepaged) was too paranoid.
    The is_linear_pfn_mapping check is also I think superfluous (as described
    by comment) but under DEBUG_VM it is safe to stay.

    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=33682

    Signed-off-by: Andrea Arcangeli
    Reported-by: Caspar Zhang
    Acked-by: Mel Gorman
    Acked-by: Rik van Riel
    Cc: [2.6.38.x]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrea Arcangeli
     
  • Azurit reports large increases in system time after 2.6.36 when running
    Apache. It was bisected down to a892e2d7dcdfa6c76e6 ("vfs: use kmalloc()
    to allocate fdmem if possible").

    That patch caused the vfs to use kmalloc() for very large allocations and
    this is causing excessive work (and presumably excessive reclaim) within
    the page allocator.

    Fix it by falling back to vmalloc() earlier - when the allocation attempt
    would have been considered "costly" by reclaim.

    Reported-by: azurIt
    Tested-by: azurIt
    Acked-by: Changli Gao
    Cc: Americo Wang
    Cc: Jiri Slaby
    Acked-by: Eric Dumazet
    Cc: Mel Gorman
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

28 Apr, 2011

10 commits

  • The USB and SATA ioapic interrrupt pins are configured as edge type,
    but need to be level type interrupts to work correctly.

    [ tglx: Split out from the combo patch ]

    Cc: Torben Hohn
    Signed-off-by: Sebastian Andrzej Siewior
    Link: http://lkml.kernel.org/r/%3C20110427143052.GA15211%40linutronix.de%3E
    Signed-off-by: Thomas Gleixner

    Sebastian Andrzej Siewior
     
  • We use io_apic_setup_irq_pin() in order to configure pin's interrupt
    number polarity and type. This is done on every irq_create_of_mapping()
    which happens for instance during pci enable calls. Level typed
    interrupts are masked by default, edge are unmasked.

    On the first ->xlate() call the level interrupt is configured and
    masked. The driver calls request_irq() and the line is unmasked. Lets
    assume the interrupt line is shared with another device and we call
    pci_enable_device() for this device. The ->xlate() configures the pin
    again and it is masked. request_irq() does not unmask the line because
    it _is_ already unmasked according to its internal state. So the
    interrupt will never be unmasked again.

    This patch is based on an earlier work by Torben Hohn and solves the
    problem by configuring the pin only once. Since all devices must agree
    on the same type and polarity there is no point in configuring the pin
    more than once.

    [ tglx: Split out the ce4100 part into a separate patch ]

    Cc: Torben Hohn
    Signed-off-by: Sebastian Andrzej Siewior
    Link: http://lkml.kernel.org/r/%3C20110427143052.GA15211%40linutronix.de%3E
    Signed-off-by: Thomas Gleixner

    Sebastian Andrzej Siewior
     
  • We call rtc_read_alarm from rtc_device_register, so it is important
    that the rtc device is fully initialized prior to registration.

    rtc-max8925 sets drvdata after register, so the rtc_read_alarm code
    dereferences a NULL pointer.

    Call dev_set_drvdata before rtc_device_register.

    [ jstultz/tglx: Massaged commit message ]

    Signed-off-by: Zhangfei Gao
    Cc: Alessandro Zummo
    Link: http://lkml.kernel.org/r/%3C1303929869-25249-1-git-send-email-john.stultz%40linaro.org%3E
    Signed-off-by: John Stultz
    Signed-off-by: Thomas Gleixner

    Zhangfei Gao
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:
    [PARISC] slub: fix panic with DISCONTIGMEM
    [PARISC] set memory ranges in N_NORMAL_MEMORY when onlined

    Linus Torvalds
     
  • * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    ACPI / PM: Avoid infinite recurrence while registering power resources
    PM / Wakeup: Fix initialization of wakeup-related device sysfs files

    Linus Torvalds
     
  • * 'spell-fix' of git://git.profusion.mobi/users/lucas/linux-2.6:
    Revert wrong fixes for common misspellings

    Linus Torvalds
     
  • * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (42 commits)
    [media] media: vb2: correct queue initialization order
    [media] media: vb2: fix incorrect v4l2_buffer->flags handling
    [media] s5p-fimc: Add support for the buffer timestamps and sequence
    [media] s5p-fimc: Fix bytesperline and plane payload setup
    [media] s5p-fimc: Do not allow changing format after REQBUFS
    [media] s5p-fimc: Fix FIMC3 pixel limits on Exynos4
    [media] tda18271: update tda18271c2_rf_cal as per NXP's rev.04 datasheet
    [media] tda18271: update tda18271_rf_band as per NXP's rev.04 datasheet
    [media] tda18271: fix bad calculation of main post divider byte
    [media] tda18271: prog_cal and prog_tab variables should be s32, not u8
    [media] tda18271: fix calculation bug in tda18271_rf_tracking_filters_init
    [media] omap3isp: queue: Don't corrupt buf->npages when get_user_pages() fails
    [media] v4l: Don't register media entities for subdev device nodes
    [media] omap3isp: Don't increment node entity use count when poweron fails
    [media] omap3isp: lane shifter support
    [media] omap3isp: ccdc: support Y10/12, 8-bit bayer fmts
    [media] media: add missing 8-bit bayer formats and Y12
    [media] v4l: add V4L2_PIX_FMT_Y12 format
    cx23885: Fix stv0367 Kconfig dependency
    [media] omap3isp: Use isp xclk defines
    ...

    Fix up trivial conflict (spelink errurs) in drivers/media/video/omap3isp/isp.c

    Linus Torvalds
     
  • On a remount, the VFS layer will clear the MS_SYNCHRONOUS bit on the
    assumption that the flags on the mount syscall will have it set if the
    remounted fs is supposed to keep it.

    In the case of "noac" though, MS_SYNCHRONOUS is implied. A remount of
    such a mount will lose the MS_SYNCHRONOUS flag since "sync" isn't part
    of the mount options.

    Reported-by: Max Matveev
    Signed-off-by: Jeff Layton
    Cc: stable@kernel.org
    Signed-off-by: Trond Myklebust

    Jeff Layton
     
  • When compiling, I was getting this warning:
    fs/nfs/nfs4xdr.c: In function ‘decode_secinfo’:
    fs/nfs/nfs4xdr.c:4839:6: warning: variable ‘status’ set but not used
    [-Wunused-but-set-variable]

    We were unconditionally returning 0 as long as there wasn't an error
    coming out of xdr_inline_decode(). We probably want to check the error
    status coming out of decode_op_hdr() and decode_secinfo_gss(), rather
    than assuming that everything is OK all the time.

    Signed-off-by: Bryan Schumaker
    Signed-off-by: Trond Myklebust

    Bryan Schumaker
     
  • When readdir() returns a directory entry for the root of a mounted
    filesystem, Linux follows the old convention of returning the inode
    number of the covered directory (despite newer versions of POSIX declaring
    that this is a bug).
    To ensure this continues to work, the NFSv4 readdir implementation requests
    the 'mounted-on-fileid' from the server.

    However, readdirplus also needs to instantiate an inode for this entry, and
    for that, we also need to request the real fileid as per this patch.

    Signed-off-by: Trond Myklebust

    Trond Myklebust