Merge commit 'v2.6.34-rc2' into perf/core
authorIngo Molnar <mingo@elte.hu>
Mon, 22 Mar 2010 17:46:57 +0000 (18:46 +0100)
committerIngo Molnar <mingo@elte.hu>
Mon, 22 Mar 2010 17:47:01 +0000 (18:47 +0100)
Merge reason: Pick up latest perf fixes from upstream.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
1  2 
MAINTAINERS
arch/x86/Kconfig
tools/perf/perf.c
tools/perf/util/hist.c

diff --combined MAINTAINERS
@@@ -666,6 -666,12 +666,12 @@@ T:       git://git.pengutronix.de/git/imx/lin
  F:    arch/arm/mach-mx*/
  F:    arch/arm/plat-mxc/
  
+ ARM/FREESCALE IMX51
+ M:    Amit Kucheria <amit.kucheria@canonical.com>
+ L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+ S:    Maintained
+ F:    arch/arm/mach-mx5/
  ARM/GLOMATION GESBC9312SX MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -939,6 -945,16 +945,16 @@@ W:       http://www.fluff.org/ben/linux
  S:    Maintained
  F:    arch/arm/mach-s3c6410/
  
+ ARM/SHMOBILE ARM ARCHITECTURE
+ M:    Paul Mundt <lethal@linux-sh.org>
+ M:    Magnus Damm <magnus.damm@gmail.com>
+ L:    linux-sh@vger.kernel.org
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/genesis-2.6.git
+ W:    http://oss.renesas.com
+ S:    Supported
+ F:    arch/arm/mach-shmobile/
+ F:    drivers/sh/
  ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1235,6 -1251,13 +1251,13 @@@ W:    http://blackfin.uclinux.or
  S:    Supported
  F:    drivers/rtc/rtc-bfin.c
  
+ BLACKFIN SDH DRIVER
+ M:    Cliff Cai <cliff.cai@analog.com>
+ L:    uclinux-dist-devel@blackfin.uclinux.org
+ W:    http://blackfin.uclinux.org
+ S:    Supported
+ F:    drivers/mmc/host/bfin_sdh.c
  BLACKFIN SERIAL DRIVER
  M:    Sonic Zhang <sonic.zhang@analog.com>
  L:    uclinux-dist-devel@blackfin.uclinux.org
@@@ -1382,20 -1405,30 +1405,30 @@@ F:   arch/x86/include/asm/calgary.
  F:    arch/x86/include/asm/tce.h
  
  CAN NETWORK LAYER
- M:    Urs Thuermann <urs.thuermann@volkswagen.de>
+ M:    Oliver Hartkopp <socketcan@hartkopp.net>
  M:    Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
- L:    socketcan-core@lists.berlios.de (subscribers-only)
+ M:    Urs Thuermann <urs.thuermann@volkswagen.de>
+ L:    socketcan-core@lists.berlios.de
+ L:    netdev@vger.kernel.org
  W:    http://developer.berlios.de/projects/socketcan/
  S:    Maintained
- F:    drivers/net/can/
- F:    include/linux/can/
+ F:    net/can/
  F:    include/linux/can.h
+ F:    include/linux/can/core.h
+ F:    include/linux/can/bcm.h
+ F:    include/linux/can/raw.h
  
  CAN NETWORK DRIVERS
  M:    Wolfgang Grandegger <wg@grandegger.com>
- L:    socketcan-core@lists.berlios.de (subscribers-only)
+ L:    socketcan-core@lists.berlios.de
+ L:    netdev@vger.kernel.org
  W:    http://developer.berlios.de/projects/socketcan/
  S:    Maintained
+ F:    drivers/net/can/
+ F:    include/linux/can/dev.h
+ F:    include/linux/can/error.h
+ F:    include/linux/can/netlink.h
+ F:    include/linux/can/platform/
  
  CELL BROADBAND ENGINE ARCHITECTURE
  M:    Arnd Bergmann <arnd@arndb.de>
@@@ -1408,6 -1441,15 +1441,15 @@@ F:    arch/powerpc/include/asm/spu*.
  F:    arch/powerpc/oprofile/*cell*
  F:    arch/powerpc/platforms/cell/
  
+ CEPH DISTRIBUTED FILE SYSTEM CLIENT
+ M:    Sage Weil <sage@newdream.net>
+ L:    ceph-devel@lists.sourceforge.net
+ W:    http://ceph.newdream.net/
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
+ S:    Supported
+ F:    Documentation/filesystems/ceph.txt
+ F:    fs/ceph
  CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
  M:    David Vrabel <david.vrabel@csr.com>
  L:    linux-usb@vger.kernel.org
@@@ -2107,6 -2149,7 +2149,7 @@@ F:      drivers/net/eexpress.
  ETHERNET BRIDGE
  M:    Stephen Hemminger <shemminger@linux-foundation.org>
  L:    bridge@lists.linux-foundation.org
+ L:    netdev@vger.kernel.org
  W:    http://www.linux-foundation.org/en/Net:Bridge
  S:    Maintained
  F:    include/linux/netfilter_bridge/
@@@ -2804,7 -2847,7 +2847,7 @@@ S:      Maintaine
  F:    drivers/input/
  
  INTEL FRAMEBUFFER DRIVER (excluding 810 and 815)
- M:    Sylvain Meyer <sylvain.meyer@worldonline.fr>
+ M:    Maik Broemme <mbroemme@plusserver.de>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
  F:    Documentation/fb/intelfb.txt
@@@ -3621,7 -3664,7 +3664,7 @@@ F:      mm
  
  MEMORY RESOURCE CONTROLLER
  M:    Balbir Singh <balbir@linux.vnet.ibm.com>
- M:    Pavel Emelyanov <xemul@openvz.org>
+ M:    Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
  M:    KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
  L:    linux-mm@kvack.org
  S:    Maintained
@@@ -4295,13 -4338,13 +4338,13 @@@ M:   Paul Mackerras <paulus@samba.org
  M:    Ingo Molnar <mingo@elte.hu>
  M:    Arnaldo Carvalho de Melo <acme@redhat.com>
  S:    Supported
 -F:    kernel/perf_event.c
 +F:    kernel/perf_event*.c
  F:    include/linux/perf_event.h
 -F:    arch/*/kernel/perf_event.c
 -F:    arch/*/kernel/*/perf_event.c
 -F:    arch/*/kernel/*/*/perf_event.c
 +F:    arch/*/kernel/perf_event*.c
 +F:    arch/*/kernel/*/perf_event*.c
 +F:    arch/*/kernel/*/*/perf_event*.c
  F:    arch/*/include/asm/perf_event.h
 -F:    arch/*/lib/perf_event.c
 +F:    arch/*/lib/perf_event*.c
  F:    arch/*/kernel/perf_callchain.c
  F:    tools/perf/
  
@@@ -4496,6 -4539,13 +4539,13 @@@ L:    linux-arm-kernel@lists.infradead.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
  S:    Maintained
  
+ MMP2 SUPPORT (aka ARMADA610)
+ M:    Haojian Zhuang <haojian.zhuang@marvell.com>
+ M:    Eric Miao <eric.y.miao@gmail.com>
+ L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git
+ S:    Maintained
  PXA MMCI DRIVER
  S:    Orphan
  
@@@ -5173,6 -5223,21 +5223,21 @@@ T:    git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    arch/sparc/
  
+ SPARC SERIAL DRIVERS
+ M:    "David S. Miller" <davem@davemloft.net>
+ L:    sparclinux@vger.kernel.org
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git
+ S:    Maintained
+ F:    drivers/serial/suncore.c
+ F:    drivers/serial/suncore.h
+ F:    drivers/serial/sunhv.c
+ F:    drivers/serial/sunsab.c
+ F:    drivers/serial/sunsab.h
+ F:    drivers/serial/sunsu.c
+ F:    drivers/serial/sunzilog.c
+ F:    drivers/serial/sunzilog.h
  SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER
  M:    Roger Wolff <R.E.Wolff@BitWizard.nl>
  S:    Supported
diff --combined arch/x86/Kconfig
@@@ -58,9 -58,6 +58,9 @@@ config X8
        select HAVE_ARCH_KMEMCHECK
        select HAVE_USER_RETURN_NOTIFIER
  
 +config INSTRUCTION_DECODER
 +      def_bool (KPROBES || PERF_EVENTS)
 +
  config OUTPUT_FORMAT
        string
        default "elf32-i386" if X86_32
@@@ -105,6 -102,9 +105,9 @@@ config ZONE_DM
  config SBUS
        bool
  
+ config NEED_DMA_MAP_STATE
+        def_bool (X86_64 || DMAR || DMA_API_DEBUG)
  config GENERIC_ISA_DMA
        def_bool y
  
@@@ -662,7 -662,7 +665,7 @@@ config GART_IOMM
        bool "GART IOMMU support" if EMBEDDED
        default y
        select SWIOTLB
-       depends on X86_64 && PCI
+       depends on X86_64 && PCI && K8_NB
        ---help---
          Support for full DMA access of devices with 32bit memory access only
          on systems with more than 3GB. This is usually needed for USB,
@@@ -2061,7 -2061,7 +2064,7 @@@ endif # X86_3
  
  config K8_NB
        def_bool y
-       depends on AGP_AMD64 || (X86_64 && (GART_IOMMU || (PCI && NUMA)))
+       depends on CPU_SUP_AMD && PCI
  
  source "drivers/pcmcia/Kconfig"
  
diff --combined tools/perf/perf.c
@@@ -16,8 -16,6 +16,8 @@@
  #include "util/string.h"
  #include "util/debugfs.h"
  
 +bool use_browser;
 +
  const char perf_usage_string[] =
        "perf [--version] [--help] COMMAND [ARGS]";
  
@@@ -267,8 -265,6 +267,8 @@@ static int run_builtin(struct cmd_struc
        if (status)
                return status & 0xff;
  
 +      exit_browser();
 +
        /* Somebody closed stdout? */
        if (fstat(fileno(stdout), &st))
                return 0;
@@@ -449,7 -445,7 +449,7 @@@ int main(int argc, const char **argv
  
        /*
         * We use PATH to find perf commands, but we prepend some higher
-        * precidence paths: the "--exec-path" option, the PERF_EXEC_PATH
+        * precedence paths: the "--exec-path" option, the PERF_EXEC_PATH
         * environment, and the $(perfexecdir) from the Makefile at build
         * time.
         */
diff --combined tools/perf/util/hist.c
@@@ -321,7 -321,7 +321,7 @@@ static size_t __callchain__fprintf_grap
                        new_depth_mask &= ~(1 << (depth - 1));
  
                /*
-                * But we keep the older depth mask for the line seperator
+                * But we keep the older depth mask for the line separator
                 * to keep the level link until we reach the last child
                 */
                ret += ipchain__fprintf_graph_line(fp, depth, depth_mask,
@@@ -455,11 -455,11 +455,11 @@@ static size_t hist_entry_callchain__fpr
        return ret;
  }
  
 -static size_t hist_entry__fprintf(struct hist_entry *self,
 -                                struct perf_session *pair_session,
 -                                bool show_displacement,
 -                                long displacement, FILE *fp,
 -                                u64 session_total)
 +size_t hist_entry__fprintf(struct hist_entry *self,
 +                         struct perf_session *pair_session,
 +                         bool show_displacement,
 +                         long displacement, FILE *fp,
 +                         u64 session_total)
  {
        struct sort_entry *se;
        u64 count, total;
  
        if (symbol_conf.show_nr_samples) {
                if (sep)
 -                      fprintf(fp, "%c%lld", *sep, count);
 +                      ret += fprintf(fp, "%c%lld", *sep, count);
                else
 -                      fprintf(fp, "%11lld", count);
 +                      ret += fprintf(fp, "%11lld", count);
        }
  
        if (pair_session) {
                                snprintf(bf, sizeof(bf), " ");
  
                        if (sep)
 -                              fprintf(fp, "%c%s", *sep, bf);
 +                              ret += fprintf(fp, "%c%s", *sep, bf);
                        else
 -                              fprintf(fp, "%6.6s", bf);
 +                              ret += fprintf(fp, "%6.6s", bf);
                }
        }
  
                if (se->elide)
                        continue;
  
 -              fprintf(fp, "%s", sep ?: "  ");
 +              ret += fprintf(fp, "%s", sep ?: "  ");
                ret += se->print(fp, self, se->width ? *se->width : 0);
        }
  
 -      ret += fprintf(fp, "\n");
 -
 -      if (symbol_conf.use_callchain) {
 -              int left_margin = 0;
 +      return ret + fprintf(fp, "\n");
 +}
  
 -              if (sort__first_dimension == SORT_COMM) {
 -                      se = list_first_entry(&hist_entry__sort_list, typeof(*se),
 -                                              list);
 -                      left_margin = se->width ? *se->width : 0;
 -                      left_margin -= thread__comm_len(self->thread);
 -              }
 +static size_t hist_entry__fprintf_callchain(struct hist_entry *self, FILE *fp,
 +                                          u64 session_total)
 +{
 +      int left_margin = 0;
  
 -              hist_entry_callchain__fprintf(fp, self, session_total,
 -                                            left_margin);
 +      if (sort__first_dimension == SORT_COMM) {
 +              struct sort_entry *se = list_first_entry(&hist_entry__sort_list,
 +                                                       typeof(*se), list);
 +              left_margin = se->width ? *se->width : 0;
 +              left_margin -= thread__comm_len(self->thread);
        }
  
 -      return ret;
 +      return hist_entry_callchain__fprintf(fp, self, session_total,
 +                                           left_margin);
  }
  
  size_t perf_session__fprintf_hists(struct rb_root *hists,
@@@ -655,10 -655,6 +655,10 @@@ print_entries
                }
                ret += hist_entry__fprintf(h, pair, show_displacement,
                                           displacement, fp, session_total);
 +
 +              if (symbol_conf.use_callchain)
 +                      ret += hist_entry__fprintf_callchain(h, fp, session_total);
 +
                if (h->map == NULL && verbose > 1) {
                        __map_groups__fprintf_maps(&h->thread->mg,
                                                   MAP__FUNCTION, fp);