02 Sep, 2010

2 commits

  • With a new enough GCC, ARM function tracing can be supported without the
    need for frame pointers. This is essential for Thumb-2 support, since
    frame pointers aren't available then.

    Acked-by: Catalin Marinas
    Acked-by: Steven Rostedt
    Signed-off-by: Rabin Vincent
    Signed-off-by: Russell King

    Rabin Vincent
     
  • With current gcc, compiling with both -pg and -fomit-frame-pointer is
    not allowed. However, -pg can be used to build without actually
    specifying -fno-omit-frame-pointer, upon which the default behaviour
    for the target will be used.

    On ARM, it is not possible to build a Thumb-2 kernel with
    -fno-omit-frame-pointer (FRAME_POINTERS depends on !THUMB2_KERNEL). In
    order to support ftrace for Thumb-2, we need to be able to allow a
    combination of FUNCTION_TRACER and !FRAME_POINTER. We do this by
    omitting -fomit-frame-pointer if ftrace is enabled.

    Acked-by: Frederic Weisbecker
    Signed-off-by: Rabin Vincent
    Signed-off-by: Russell King

    Rabin Vincent
     

26 Aug, 2010

2 commits


25 Aug, 2010

22 commits

  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    MAINTAINERS: hwmon/coretemp: Change maintainers
    hwmon: (k8temp) Differentiate between AM2 and ASB1
    hwmon: (ads7871) Fix ads7871_probe error paths
    hwmon: (coretemp) Fix harmless build warning

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, tsc, sched: Recompute cyc2ns_offset's during resume from sleep states
    sched: Fix rq->clock synchronization when migrating tasks

    Linus Torvalds
     
  • * 'upstream/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:
    xen: handle events as edge-triggered
    xen: use percpu interrupts for IPIs and VIRQs

    Linus Torvalds
     
  • * '2.6.36-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/xfsdev:
    xfs: do not discard page cache data on EAGAIN
    xfs: don't do memory allocation under the CIL context lock
    xfs: Reduce log force overhead for delayed logging
    xfs: dummy transactions should not dirty VFS state
    xfs: ensure f_ffree returned by statfs() is non-negative
    xfs: handle negative wbc->nr_to_write during sync writeback
    writeback: write_cache_pages doesn't terminate at nr_to_write <= 0
    xfs: fix untrusted inode number lookup
    xfs: ensure we mark all inodes in a freed cluster XFS_ISTALE
    xfs: unlock items before allowing the CIL to commit

    Linus Torvalds
     
  • Huaxu and Rudolf want me to be the hwmon coretemp driver maintainer and
    remove their names from the coretemp maintainer entry.

    Signed-off-by: Fenghua Yu
    Acked-by: Rudolf Marek
    Acked-by: Huaxu Wan
    Signed-off-by: Jean Delvare

    Fenghua Yu
     
  • Commit 8bf0223ed515be24de0c671eedaff49e78bebc9c (hwmon, k8temp: Fix
    temperature reporting for ASB1 processor revisions) fixed temperature
    reporting for ASB1 CPUs. But those CPU models (model 0x6b, 0x6f, 0x7f)
    were packaged both as AM2 (desktop) and ASB1 (mobile). Thus the commit
    leads to wrong temperature reporting for AM2 CPU parts.

    The solution is to determine the package type for models 0x6b, 0x6f,
    0x7f.

    This is done using BrandId from CPUID Fn8000_0001_EBX[15:0]. See
    "Constructing the processor Name String" in "Revision Guide for AMD
    NPT Family 0Fh Processors" (Rev. 3.46).

    Cc: Rudolf Marek
    Cc: stable@kernel.org [.32.x, .33.x, .34.x, .35.x]
    Reported-by: Vladislav Guberinic
    Signed-off-by: Andreas Herrmann
    Signed-off-by: Jean Delvare

    Andreas Herrmann
     
  • 1. remove 'status' variable
    2. remove unneeded initialization of 'err' variable
    3. return missing error code if sysfs_create_group fail.
    4. fix the init sequence as:
    - check hardware existence
    - kzalloc for ads7871_data
    - sysfs_create_group
    - hwmon_device_register

    Signed-off-by: Axel Lin
    Cc: stable@kernel.org
    Signed-off-by: Jean Delvare

    Axel Lin
     
  • Fix the following build warning:

    CC [M] drivers/hwmon/coretemp.o
    drivers/hwmon/coretemp.c: In function "coretemp_init":
    drivers/hwmon/coretemp.c:521: warning: unused variable "n"
    drivers/hwmon/coretemp.c:521: warning: unused variable "p"

    Introduced by commit 851b29cb3b196cb66452ec964ab5f66c9c9cd1ed. When
    you drop code, you also have to drop the variables this code was
    using.

    Signed-off-by: Jean Delvare
    Cc: Chen Gong
    Cc: Rudolf Marek
    Cc: Huaxu Wan

    Jean Delvare
     
  • If on Pentium4 CPUs the FORCE_OVF flag is set then an NMI happens
    on every event, which can generate a flood of NMIs. Clear it.

    Reported-by: Vince Weaver
    Signed-off-by: Lin Ming
    Signed-off-by: Cyrill Gorcunov
    Cc: Frederic Weisbecker
    Cc: Peter Zijlstra
    Cc:
    Signed-off-by: Ingo Molnar

    Lin Ming
     
  • save_stack_trace() stores the instruction pointer, not the
    function descriptor. On ppc64 the trace stack code currently
    dereferences the instruction pointer and shows 8 bytes of
    instructions in our backtraces:

    # cat /sys/kernel/debug/tracing/stack_trace
    Depth Size Location (26 entries)
    ----- ---- --------
    0) 5424 112 0x6000000048000004
    1) 5312 160 0x60000000ebad01b0
    2) 5152 160 0x2c23000041c20030
    3) 4992 240 0x600000007c781b79
    4) 4752 160 0xe84100284800000c
    5) 4592 192 0x600000002fa30000
    6) 4400 256 0x7f1800347b7407e0
    7) 4144 208 0xe89f0108f87f0070
    8) 3936 272 0xe84100282fa30000

    Since we aren't dealing with function descriptors, use %pS
    instead of %pF to fix it:

    # cat /sys/kernel/debug/tracing/stack_trace
    Depth Size Location (26 entries)
    ----- ---- --------
    0) 5424 112 ftrace_call+0x4/0x8
    1) 5312 160 .current_io_context+0x28/0x74
    2) 5152 160 .get_io_context+0x48/0xa0
    3) 4992 240 .cfq_set_request+0x94/0x4c4
    4) 4752 160 .elv_set_request+0x60/0x84
    5) 4592 192 .get_request+0x2d4/0x468
    6) 4400 256 .get_request_wait+0x7c/0x258
    7) 4144 208 .__make_request+0x49c/0x610
    8) 3936 272 .generic_make_request+0x390/0x434

    Signed-off-by: Anton Blanchard
    Cc: rostedt@goodmis.org
    Cc: fweisbec@gmail.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Anton Blanchard
     
  • …/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    watchdog: Don't throttle the watchdog
    tracing: Fix timer tracing

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    mutex: Improve the scalability of optimistic spinning

    Linus Torvalds
     
  • pa-risc and ia64 have stacks that grow upwards. Check that
    they do not run into other mappings. By making VM_GROWSUP
    0x0 on architectures that do not ever use it, we can avoid
    some unpleasant #ifdefs in check_stack_guard_page().

    Signed-off-by: Tony Luck
    Signed-off-by: Linus Torvalds

    Luck, Tony
     
  • When converting this to the new wait_for macro I inverted the wait
    condition, which causes all sorts of problems. So correct it to fix
    several failures caused by the bad wait (flickering, bad output
    detection, tearing, etc.).

    Reviewed-by: Chris Wilson
    Tested-by: Sitsofe Wheeler
    Signed-off-by: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Jesse Barnes
     
  • Xen events are logically edge triggered, as Xen only calls the event
    upcall when an event is newly set, but not continuously as it remains set.
    As a result, use handle_edge_irq rather than handle_level_irq.

    This has the important side-effect of fixing a long-standing bug of
    events getting lost if:
    - an event's interrupt handler is running
    - the event is migrated to a different vcpu
    - the event is re-triggered

    The most noticable symptom of these lost events is occasional lockups
    of blkfront.

    Many thanks to Tom Kopec and Daniel Stodden in tracking this down.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: Tom Kopec
    Cc: Daniel Stodden
    Cc: Stable Kernel

    Jeremy Fitzhardinge
     
  • IPIs and VIRQs are inherently per-cpu event types, so treat them as such:
    - use a specific percpu irq_chip implementation, and
    - handle them with handle_percpu_irq

    This makes the path for delivering these interrupts more efficient
    (no masking/unmasking, no locks), and it avoid problems with attempts
    to migrate them.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: Stable Kernel

    Jeremy Fitzhardinge
     
  • Eliminiate sparse warning during usage of crypto_shash_* APIs
    error: bad constant expression

    Allocate memory for shash descriptors once, so that we do not kmalloc/kfree it
    for every signature generation (shash descriptor for md5 hash).

    From ed7538619817777decc44b5660b52268077b74f3 Mon Sep 17 00:00:00 2001
    From: Shirish Pargaonkar
    Date: Tue, 24 Aug 2010 11:47:43 -0500
    Subject: [PATCH] eliminate sparse warnings during crypto_shash_* APis usage

    Signed-off-by: Shirish Pargaonkar
    Signed-off-by: Steve French

    shirishpargaonkar@gmail.com
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
    [S390] fix tlb flushing vs. concurrent /proc accesses
    [S390] s390: fix build error (sys_execve)

    Linus Torvalds
     
  • We should pass the data to the data register.

    Signed-off-by: Jianwei Yang
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Jianwei Yang
     
  • It looks like there is an off-by-one error in one of your changes to
    drivers/staging/rar_register/rar_register.c:

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

    Ossama Othman
     
  • This build bug triggers:

    drivers/built-in.o: In function `mantis_exit':
    (.text+0x377413): undefined reference to `ir_input_unregister'
    drivers/built-in.o: In function `mantis_input_init':
    (.text+0x3774ff): undefined reference to `__ir_input_register'

    If MANTIS_CORE is enabled but IR_CORE is not. Add the correct
    dependency.

    Signed-off-by: Ingo Molnar
    Acked-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc64: Get rid of indirect p1275 PROM call buffer.
    sparc64: Fill a missing delay slot.
    sparc64: Make lock backoff really a NOP on UP builds.
    sparc64: simple microoptimizations for atomic functions
    sparc64: Make rwsems 64-bit.
    sparc64: Really fix atomic64_t interface types.

    Linus Torvalds
     

24 Aug, 2010

14 commits

  • The tlb flushing code uses the mm_users field of the mm_struct to
    decide if each page table entry needs to be flushed individually with
    IPTE or if a global flush for the mm_struct is sufficient after all page
    table updates have been done. The comment for mm_users says "How many
    users with user space?" but the /proc code increases mm_users after it
    found the process structure by pid without creating a new user process.
    Which makes mm_users useless for the decision between the two tlb
    flusing methods. The current code can be confused to not flush tlb
    entries by a concurrent access to /proc files if e.g. a fork is in
    progres. The solution for this problem is to make the tlb flushing
    logic independent from the mm_users field.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (25 commits)
    powerpc: Fix config dependency problem with MPIC_U3_HT_IRQS
    via-pmu: Add compat_pmu_ioctl
    powerpc: Wire up fanotify_init, fanotify_mark, prlimit64 syscalls
    powerpc/pci: Fix checking for child bridges in PCI code.
    powerpc: Fix typo in uImage target
    powerpc: Initialise paca->kstack before early_setup_secondary
    powerpc: Fix bogus it_blocksize in VIO iommu code
    powerpc: Inline ppc64_runlatch_off
    powerpc: Correct smt_enabled=X boot option for > 2 threads per core
    powerpc: Silence xics_migrate_irqs_away() during cpu offline
    powerpc: Silence __cpu_up() under normal operation
    powerpc: Re-enable preemption before cpu_die()
    powerpc/pci: Drop unnecessary null test
    powerpc/powermac: Drop unnecessary null test
    powerpc/powermac: Drop unnecessary of_node_put
    powerpc/kdump: Stop all other CPUs before running crash handlers
    powerpc/mm: Fix vsid_scrample typo
    powerpc: Use is_32bit_task() helper to test 32 bit binary
    powerpc: Export memstart_addr and kernstart_addr on ppc64
    powerpc: Make rwsem use "long" type
    ...

    Linus Torvalds
     
  • fix this build error:
    arch/s390/kernel/process.c:272: error: conflicting types for 'sys_execve'
    arch/s390/kernel/entry.h:45: error: previous declaration of 'sys_execve' was here
    make[1]: *** [arch/s390/kernel/process.o] Error 1
    make: *** [arch/s390/kernel] Error 2

    introduced by d7627467b7a8dd6944885290a03a07ceb28c10eb

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
    Staging: sep: remove driver
    Staging: batman-adv: Don't write in not allocated packet_buff
    Staging: batman-adv: Don't use net_dev after dev_put
    Staging: batman-adv: Create batman_if only on register event
    Staging: batman-adv: fix own mac address detection
    Staging: batman-adv: always reply batman icmp packets with primary mac
    Staging: batman-adv: fix batman icmp originating from secondary interface
    Staging: batman-adv: unify orig_hash_lock spinlock handling to avoid deadlocks
    Staging: batman-adv: Fix merge of linus tree
    Staging: spectra: removes unused functions
    Staging: spectra: initializa lblk variable
    Staging: spectra: removes unused variable
    Staging: spectra: remove duplicate GLOB_VERSION definition
    Staging: spectra: don't use locked_ioctl, fix build
    Staging: use new REQ_FLUSH flag, fix build breakage
    Staging: spectra: removes q->prepare_flush_fn, fix build breakage

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
    68328serial: check return value of copy_*_user() instead of access_ok()
    synclink: add mutex_unlock() on error path
    rocket: add a mutex_unlock()
    ip2: return -EFAULT on copy_to_user errors
    ip2: remove unneeded NULL check
    serial: print early console device address in hex

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    kobject_uevent: fix typo in comments
    firmware_class: fix typo in error path
    kobject: Break the kobject namespace defs into their own header

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (29 commits)
    ARM: imx: fix build failure concerning otg/ulpi
    USB: ftdi_sio: add product ID for Lenz LI-USB
    USB: adutux: fix misuse of return value of copy_to_user()
    USB: iowarrior: fix misuse of return value of copy_to_user()
    USB: xHCI: update ring dequeue pointer when process missed tds
    USB: xhci: Remove buggy assignment in next_trb()
    USB: ftdi_sio: Add ID for Ionics PlugComputer
    USB: serial: io_ti.c: don't return 0 if writing the download record failed
    USB: otg: twl4030: fix wrong assumption of starting state
    USB: gadget: Return -ENOMEM on memory allocation failure
    USB: gadget: fix composite kernel-doc warnings
    USB: ssu100: set tty_flags in ssu100_process_packet
    USB: ssu100: add disconnect function for ssu100
    USB: serial: export symbol usb_serial_generic_disconnect
    USB: ssu100: rework logic for TIOCMIWAIT
    USB: ssu100: add register parameter to ssu100_setregister
    USB: ssu100: remove duplicate #defines in ssu100
    USB: ssu100: refine process_packet in ssu100
    USB: ssu100: add locking for port private data in ssu100
    USB: r8a66597-udc: return -ENOMEM if kzalloc() fails
    ...

    Linus Torvalds
     
  • This is based upon a report by Meelis Roos showing that it's possible
    that we'll try to fetch a property that is 32K in size with some
    devices. With the current fixed 3K buffer we use for moving data in
    and out of the firmware during PROM calls, that simply won't work.

    In fact, it will scramble random kernel data during bootup.

    The reasoning behind the temporary buffer is entirely historical. It
    used to be the case that we had problems referencing dynamic kernel
    memory (including the stack) early in the boot process before we
    explicitly told the firwmare to switch us over to the kernel trap
    table.

    So what we did was always give the firmware buffers that were locked
    into the main kernel image.

    But we no longer have problems like that, so get rid of all of this
    indirect bounce buffering.

    Besides fixing Meelis's bug, this also makes the kernel data about 3K
    smaller.

    It was also discovered during these conversions that the
    implementation of prom_retain() was completely wrong, so that was
    fixed here as well. Currently that interface is not in use.

    Reported-by: Meelis Roos
    Tested-by: Meelis Roos
    Signed-off-by: David S. Miller

    David S. Miller
     
  • MPIC_U3_HT_IRQS is selected both by PPC_PMAC64 and PPC_MAPLE, but depends
    on PPC_MAPLE, so a PPC_PMAC64-only config gets this warning:

    warning: (PPC_PMAC64 && PPC_PMAC && POWER4 || PPC_MAPLE && PPC64 && PPC_BOOK3S) selects MPIC_U3_HT_IRQS which has unmet direct dependencies (PPC_MAPLE)

    Fix that by removing the dependency on PPC_MAPLE.

    Signed-off-by: Andreas Schwab
    Signed-off-by: Benjamin Herrenschmidt

    Andreas Schwab
     
  • The ioctls are actually compatible, but due to historical mistake the
    numbers differ between 32bit and 64bit.

    Signed-off-by: Andreas Schwab
    Acked-by: Arnd Bergmann
    Signed-off-by: Benjamin Herrenschmidt

    Andreas Schwab
     
  • Signed-off-by: Andreas Schwab
    Signed-off-by: Benjamin Herrenschmidt

    Andreas Schwab
     
  • pci_device_to_OF_node() can return null, and list_for_each_entry will
    never enter the loop when dev is NULL, so it looks like this test is
    a typo.

    Reported-by: Julia Lawall
    Signed-off-by: Grant Likely
    Signed-off-by: Benjamin Herrenschmidt

    Grant Likely
     
  • Commit e32e78c5ee8aadef020fbaecbe6fb741ed9029fd
    (powerpc: fix build with make 3.82) introduced a
    typo in uImage target and broke building uImage:

    make: *** No rule to make target `uImage'. Stop.

    Signed-off-by: Anatolij Gustschin
    Cc: stable
    Signed-off-by: Benjamin Herrenschmidt

    Anatolij Gustschin
     
  • As early setup calls down to slb_initialize(), we must have kstack
    initialised before checking "should we add a bolted SLB entry for our kstack?"

    Failing to do so means stack access requires an SLB miss exception to refill
    an entry dynamically, if the stack isn't accessible via SLB(0) (kernel text
    & static data). It's not always allowable to take such a miss, and
    intermittent crashes will result.

    Primary CPUs don't have this issue; an SLB entry is not bolted for their
    stack anyway (as that lives within SLB(0)). This patch therefore only
    affects the init of secondaries.

    Signed-off-by: Matt Evans
    Cc: stable
    Signed-off-by: Benjamin Herrenschmidt

    Matt Evans