Skip to content
  1. Mar 10, 2011
  2. Mar 09, 2011
    • Jiri Olsa's avatar
      kprobes: Disabling optimized kprobes for entry text section · 2a8247a2
      Jiri Olsa authored
      
      
      You can crash the kernel (with root/admin privileges) using kprobe tracer by running:
      
       echo "p system_call_after_swapgs" > ./kprobe_events
       echo 1 > ./events/kprobes/enable
      
      The reason is that at the system_call_after_swapgs label, the
      kernel stack is not set up. If optimized kprobes are enabled,
      the user space stack is being used in this case (see optimized
      kprobe template) and this might result in a crash.
      
      There are several places like this over the entry code
      (entry_$BIT). As it seems there's no any reasonable/maintainable
      way to disable only those places where the stack is not ready, I
      switched off the whole entry code from kprobe optimizing.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Acked-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: acme@redhat.com
      Cc: fweisbec@gmail.com
      Cc: ananth@in.ibm.com
      Cc: davem@davemloft.net
      Cc: a.p.zijlstra@chello.nl
      Cc: eric.dumazet@gmail.com
      Cc: 2nddept-manager@sdl.hitachi.co.jp
      LKML-Reference: <1298298313-5980-3-git-send-email-jolsa@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      2a8247a2
    • Jiri Olsa's avatar
      x86: Separate out entry text section · ea714547
      Jiri Olsa authored
      
      
      Put x86 entry code into a separate link section: .entry.text.
      
      Separating the entry text section seems to have performance
      benefits - caused by more efficient instruction cache usage.
      
      Running hackbench with perf stat --repeat showed that the change
      compresses the icache footprint. The icache load miss rate went
      down by about 15%:
      
       before patch:
               19417627  L1-icache-load-misses      ( +-   0.147% )
      
       after patch:
               16490788  L1-icache-load-misses      ( +-   0.180% )
      
      The motivation of the patch was to fix a particular kprobes
      bug that relates to the entry text section, the performance
      advantage was discovered accidentally.
      
      Whole perf output follows:
      
       - results for current tip tree:
      
        Performance counter stats for './hackbench/hackbench 10' (500 runs):
      
               19417627  L1-icache-load-misses      ( +-   0.147% )
             2676914223  instructions             #      0.497 IPC     ( +- 0.079% )
             5389516026  cycles                     ( +-   0.144% )
      
            0.206267711  seconds time elapsed   ( +-   0.138% )
      
       - results for current tip tree with the patch applied:
      
        Performance counter stats for './hackbench/hackbench 10' (500 runs):
      
               16490788  L1-icache-load-misses      ( +-   0.180% )
             2717734941  instructions             #      0.502 IPC     ( +- 0.079% )
             5414756975  cycles                     ( +-   0.148% )
      
            0.206747566  seconds time elapsed   ( +-   0.137% )
      
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: masami.hiramatsu.pt@hitachi.com
      Cc: ananth@in.ibm.com
      Cc: davem@davemloft.net
      Cc: 2nddept-manager@sdl.hitachi.co.jp
      LKML-Reference: <20110307181039.GB15197@jolsa.redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ea714547
    • Ingo Molnar's avatar
      Merge commit 'v2.6.38-rc8' into perf/core · 86cb2ec7
      Ingo Molnar authored
      
      
      Merge reason: Merge latest fixes.
      
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      86cb2ec7
  3. Mar 08, 2011
    • Linus Torvalds's avatar
      Linux 2.6.38-rc8 · a5abba98
      Linus Torvalds authored
      a5abba98
    • Linus Torvalds's avatar
      Merge branch 's5p-fixes-for-linus' of... · 715695ca
      Linus Torvalds authored
      Merge branch 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung
      
      * 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        ARM: S3C64XX: Update regulator names for debugfs compatiblity on SMDK6410
        ARM: S3C64XX: Fix build with WM1190 disabled and WM1192 enabled on SMDK6410
        ARM: S3C64XX: Reduce output of s3c64xx_dma_init1()
        ARM: S3C64XX: Tone down SDHCI debugging
        ARM: S3C64XX: Add clock for i2c1
        ARM: S3C64XX: Staticise non-exported GPIO to interrupt functions
        ARM: SAMSUNG: Include devs.h in dev-uart.c to prototype devices
        ARM: S3C64XX: Fix keypad setup to configure correct number of rows
        ARM: S3C2440: Fix usage gpio bank j pin definitions on GTA02
        ARM: S5P64X0: Fix number of GPIO lines in Bank F
        ARM: S3C2440: Select missing S3C_DEV_USB_HOST on GTA02
      715695ca
    • Linus Torvalds's avatar
      Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm · 34d4ade7
      Linus Torvalds authored
      * 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm:
        davinci: cpufreq: fix section mismatch warning
        DaVinci: fix compilation warnings in <mach/clkdev.h>
        davinci: tnetv107x: fix register indexing for GPIOs numbers > 31
        davinci: da8xx/omap-l1x: add platform device for davinci-pcm-audio
        ARM: pxa/tosa: register wm9712 codec device
        ARM: pxa: enable pxa-pcm-audio on pxa210/pxa25x platform
        ARM: pxa/colibri: don't register pxa2xx-pcmcia nodes on non-colibri platforms
        ARM: pxa/tosa: drop setting LED trigger name, as it's unsupported now
        ARM: 6762/1: Update number of VIC for S5P6442 and S5PC100
        ARM: 6761/1: Update number of VIC for S5PV210
        ARM: 6768/1: hw_breakpoint: ensure debug logic is powered up on v7 cores
        ARM: 6767/1: ptrace: fix register indexing in GETHBPREGS request
        ARM: 6765/1: remove obsolete comment from asm/mach/arch.h
        ARM: 6757/1: fix tlb.h induced linux/swap.h build failure
      34d4ade7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 1a345303
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
        mmc: sdio: Allow sdio operations in other threads during sdio_add_func()
      1a345303
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · b44a53d1
      Linus Torvalds authored
      * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
        drm: index i shadowed in 2nd loop
        drm/nv50-nvc0: prevent multiple vm/bar flushes occuring simultanenously
        drm/nouveau: fix regression causing ttm to not be able to evict vram
        drm/i915: Rebind the buffer if its alignment constraints changes with tiling
        drm/i915: Disable GPU semaphores by default
        drm/i915: Do not overflow the MMADDR write FIFO
        Revert "drm/i915: fix corruptions on i8xx due to relaxed fencing"
      b44a53d1
    • roel's avatar
      drm: index i shadowed in 2nd loop · 062ac622
      roel authored
      
      
      Index i was already used in thhe first loop
      
      Signed-off-by: default avatarRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      062ac622
    • Dmitry Shmidt's avatar
      mmc: sdio: Allow sdio operations in other threads during sdio_add_func() · 34497913
      Dmitry Shmidt authored
      This fixes a bug introduced by 807e8e40
      
       ("mmc: Fix sd/sdio/mmc
      initialization frequency retries") that prevented SDIO drivers from
      performing SDIO commands in their probe routines -- the above patch
      called mmc_claim_host() before sdio_add_func(), which causes a deadlock
      if an external SDIO driver calls sdio_claim_host().
      
      Fix tested on an OLPC XO-1.75 with libertas on SDIO.
      
      Signed-off-by: default avatarDmitry Shmidt <dimitrysh@google.com>
      Reviewed-and-Tested-by: default avatarChris Ball <cjb@laptop.org>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      34497913
    • Dave Airlie's avatar
      Merge remote branch 'ickle/drm-intel-fixes' into drm-fixes · 86206041
      Dave Airlie authored
      * ickle/drm-intel-fixes:
        drm/i915: Rebind the buffer if its alignment constraints changes with tiling
        drm/i915: Disable GPU semaphores by default
        drm/i915: Do not overflow the MMADDR write FIFO
        Revert "drm/i915: fix corruptions on i8xx due to relaxed fencing"
      86206041
    • Linus Torvalds's avatar
      Merge branch 'omap-fixes-for-linus' of... · 214d93b0
      Linus Torvalds authored
      Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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:
        omap: mailbox: resolve hang issue
        OMAP2+: PM: SmartReflex: fix memory leaks in Smartreflex driver
        arm: mach-omap2: smartreflex: fix another memory leak
      214d93b0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · ad4a4a82
      Linus Torvalds authored
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] tape: deadlock on system work queue
        [S390] keyboard: integer underflow bug
        [S390] xpram: remove __initdata attribute from module parameters
      ad4a4a82
    • Ben Skeggs's avatar
      drm/nv50-nvc0: prevent multiple vm/bar flushes occuring simultanenously · 6f70a4c3
      Ben Skeggs authored
      
      
      The per-vm mutex doesn't prevent this completely, a flush coming from the
      BAR VM could potentially happen at the same time as one for the channel
      VM.  Not to mention that if/when we get per-client/channel VM, this will
      happen far more frequently.
      
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      6f70a4c3
    • Ben Skeggs's avatar
      drm/nouveau: fix regression causing ttm to not be able to evict vram · ef1b2871
      Ben Skeggs authored
      
      
      TTM assumes an error condition from man->func->get_node() means that
      something went horribly wrong, and causes it to bail.
      
      The driver is supposed to return 0, and leave mm_node == NULL to
      signal that it couldn't allocate any memory.
      
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ef1b2871
  4. Mar 07, 2011
    • Chris Wilson's avatar
      drm/i915: Rebind the buffer if its alignment constraints changes with tiling · 467cffba
      Chris Wilson authored
      
      
      Early gen3 and gen2 chipset do not have the relaxed per-surface tiling
      constraints of the later chipsets, so we need to check that the GTT
      alignment is correct for the new tiling. If it is not, we need to
      rebind.
      
      Reported-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      467cffba
    • Chris Wilson's avatar
      drm/i915: Disable GPU semaphores by default · a1656b90
      Chris Wilson authored
      
      
      Andi Kleen narrowed his GPU hangs on his Sugar Bay (SNB desktop) rev 09
      down to the use of GPU semaphores, and we already know that they appear
      broken up to Huron River (mobile) rev 08. (I'm optimistic that disabling
      GPU semaphores is simply hiding another bug by the latency and
      side-effects of the additional device interaction it introduces...)
      
      However, use of semaphores is a massive performance improvement... Only
      as long as the system remains stable. Enable at your peril.
      
      Reported-by: default avatarAndi Kleen <andi-fd@firstfloor.org>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33921
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      a1656b90
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 6277d53a
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - Don't set to D3 in Cirrus errata init verbs
        ALSA: hda - add new Fermi 5xx codec IDs to snd-hda
        ASoC: WM8994: Ensure late enable events are processed for the ADCs
        ASoC: WM8994: Don't disable the AIF[1|2]CLK_ENA unconditionaly
        ASoC: Fix WM9081 platform data initialisation
        ALSA: hda - Fix unable to record issue on ASUS N82JV
        ALSA: HDA: Realtek: Fixup jack detection to input subsystem
      6277d53a
    • Amit Shah's avatar
      virtio: console: Don't access vqs if device was unplugged · d7a62cd0
      Amit Shah authored
      
      
      If a virtio-console device gets unplugged while a port is open, a
      subsequent close() call on the port accesses vqs to free up buffers.
      This can lead to a crash.
      
      The buffers are already freed up as a result of the call to
      unplug_ports() from virtcons_remove().  The fix is to simply not access
      vq information if port->portdev is NULL.
      
      Reported-by: default avatarjuzhang <juzhang@redhat.com>
      CC: stable@kernel.org
      Signed-off-by: default avatarAmit Shah <amit.shah@redhat.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d7a62cd0
    • Arnaldo Carvalho de Melo's avatar
      perf report tui: Improve multi event session support · 7f0030b2
      Arnaldo Carvalho de Melo authored
      
      
      When multiple events were used in 'perf record', allow the user to
      choose which one is wanted before showing the per event histograms.
      
      Annotations will be performed on the chosen event.
      
      Allow going back and forth from event to event quickly using just the
      arrow keys and enter.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Cc: William Cohen <wcohen@redhat.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7f0030b2
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Improve support for sessions with multiple events · e248de33
      Arnaldo Carvalho de Melo authored
      
      
      By creating an perf_evlist out of the attributes in the perf.data file
      header, so that we can use evlists and evsels when reading recorded
      sessions in addition to when we record sessions.
      
      More work is needed to allow tools to allow the user to select which
      events are wanted when browsing sessions, be it just one or a subset of
      them, aggregated or showed at the same time but with different
      indications on the UI to allow seeing workloads thru different views at
      the same time.
      
      But the overall goal/trend is to more uniformly use evsels and evlists.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e248de33
    • Arnaldo Carvalho de Melo's avatar
      perf evlist: Split perf_evlist__id_hash · 3d3b5e95
      Arnaldo Carvalho de Melo authored
      
      
      The previous situation was to receive an fd from where to read the event
      ID.
      
      Spin off a routine for when we have the ID handy, not having to read it
      from some fd.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3d3b5e95
    • Arnaldo Carvalho de Melo's avatar
      perf hists browser: Handle browsing empty hists tree · 60098917
      Arnaldo Carvalho de Melo authored
      
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      60098917
  5. Mar 06, 2011
    • Takashi Iwai's avatar
      Merge branch 'fix/asoc' into for-linus · 2133991d
      Takashi Iwai authored
      2133991d
    • Chris Wilson's avatar
      drm/i915: Do not overflow the MMADDR write FIFO · 91355834
      Chris Wilson authored
      
      
      Whilst the GT is powered down (rc6), writes to MMADDR are placed in a
      FIFO by the System Agent. This is a limited resource, only 64 entries, of
      which 20 are reserved for Display and PCH writes, and so we must take
      care not to queue up too many writes. To avoid this, there is counter
      which we can poll to ensure there are sufficient free entries in the
      fifo.
      
      "Issuing a write to a full FIFO is not supported; at worst it could
      result in corruption or a system hang."
      
      Reported-and-Tested-by: default avatarMatt Turner <mattst88@gmail.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34056
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      91355834
    • Chris Wilson's avatar
      Revert "drm/i915: fix corruptions on i8xx due to relaxed fencing" · 0ee537ab
      Chris Wilson authored
      This reverts commit c2e0eb16
      
      .
      
      As it turns out, userspace already depends upon being able to enable
      tiling on existing bo which it promises to be large enough for its
      purposes i.e. it will not access beyond the end of the last full-tile
      row.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35016
      Reported-and-tested-by: default avatarKamal Mostafa <kamal@canonical.com>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      0ee537ab
    • Arnaldo Carvalho de Melo's avatar
      perf hists: Remove needless global col lenght calcs · d7603d51
      Arnaldo Carvalho de Melo authored
      
      
      To support multiple events we need to do these calcs per 'struct hists'
      instance, and it turns out we already do that at:
      
      	__hists__add_entry
      		hists__inc_nr_entries
      			hists__calc_col_len
      
      for all the unfiltered hist_entry instances we stash in the rb tree, so
      trow away the dead code.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d7603d51
    • Arnaldo Carvalho de Melo's avatar
      perf report tui: Fix multi event switching · a03f35ce
      Arnaldo Carvalho de Melo authored
      
      
      TAB/UNTAB were not hotkeys, so didn't exit hists__browse back to
      hists__tui_browse_tree, allowing just the first event to be browsed.
      
      Reported-by: default avatarWilliam Cohen <wcohen@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Cc: William Cohen <wcohen@redhat.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a03f35ce
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · fb62c00a
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        ceph: no .snap inside of snapped namespace
        libceph: fix msgr standby handling
        libceph: fix msgr keepalive flag
        libceph: fix msgr backoff
        libceph: retry after authorization failure
        libceph: fix handling of short returns from get_user_pages
        ceph: do not clear I_COMPLETE from d_release
        ceph: do not set I_COMPLETE
        Revert "ceph: keep reference to parent inode on ceph_dentry"
      fb62c00a
  6. Mar 05, 2011