)]}'
{
  "log": [
    {
      "commit": "981c1252691f4b855f2bb47ea93fb6052ea3aee2",
      "tree": "7cb1acf6cbaf11c1baf3a474c891a4798a8bbcda",
      "parents": [
        "580cabed88ebc631e740b16010f2fa6ba882652f"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Aug 09 22:54:18 2011 +0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Aug 09 15:23:08 2011 -0300"
      },
      "message": "perf symbols: Check \u0027/tmp/perf-\u0027 symbol file ownership\n\nThe external symbol files are generated by JIT compilers, for example, but we\nneed to make sure they\u0027re ours before injecting them to \u0027perf report\u0027.\n\nRequested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1312919658-17158-1-git-send-email-penberg@kernel.org\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "580cabed88ebc631e740b16010f2fa6ba882652f",
      "tree": "4a62164f6936927bbc1b41681dff3cf7bb2638be",
      "parents": [
        "4c09bafae37d870ab8efc50faeeb4855cb55b5b7"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Aug 09 14:46:51 2011 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Aug 09 13:32:12 2011 -0300"
      },
      "message": "perf sched: Usage leftover from trace -\u003e script rename\n\nThe \u0027perf sched\u0027 command usage still showing \u0027trace\u0027 command instead of\nthe \u0027script\u0027 command.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110809124651.GD2056@jolsa.brq.redhat.com\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "4c09bafae37d870ab8efc50faeeb4855cb55b5b7",
      "tree": "9e750321369285dec47289fe4af8acd221140c0d",
      "parents": [
        "069e3725dd9be3b759a98e8c80ac5fc38b392b23"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Aug 08 23:03:34 2011 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Aug 09 13:31:38 2011 -0300"
      },
      "message": "perf sched: Do not delete session object prematurely\n\nThe session object is released prematurely when processing events for\nlatency command. The session\u0027s thread objects are used within the\noutput_lat_thread function.\n\nRunnning following commands:\n\n # perf sched record\n # perf sched latency\n\nthe latter displays incorrect data and might cause access violation.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1312837414-3819-1-git-send-email-jolsa@redhat.com\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "069e3725dd9be3b759a98e8c80ac5fc38b392b23",
      "tree": "0696e18fcf5eb6f2908876b1a09647c82af5b31a",
      "parents": [
        "9941c96ad869d10f7e34e03990ce450ab8fcb83d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Aug 09 12:42:13 2011 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Aug 09 12:42:13 2011 -0300"
      },
      "message": "perf tools: Check $HOME/.perfconfig ownership\n\nJust like we do already for perf.data files.\n\nRequested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Christian Ohm \u003cchr.ohm@gmx.net\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-qgokmxsmvppwpc5404qhyk7e@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9941c96ad869d10f7e34e03990ce450ab8fcb83d",
      "tree": "df08be9a56eccc1c7cf184d19e66b2a24192c318",
      "parents": [
        "aba8d056078e47350d85b06a9cabd5afcc4b72ea"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Jul 22 13:33:07 2011 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Aug 08 12:54:26 2011 -0300"
      },
      "message": "perf tools: Add support to install perf python extension\n\nAdding install-python_ext target to install python extension related\nfiles.  Installation directory is governed by python distutils package\nand follows the DESTDIR variable settings.\n\nAlso moving python extension build output into \u0027$(O)python_ext_build\u0027\ndirectory and making it configurable via PYTHON_EXTBUILD variable.\n\nKeeping the \u0027$(O)python/perf.so\u0027 file, so it could be used for testing\nas of until now.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110722113307.GA1931@jolsa.brq.redhat.com\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "aba8d056078e47350d85b06a9cabd5afcc4b72ea",
      "tree": "9ad19d7d6e98a459010796e80b70a5964b8dbe82",
      "parents": [
        "8b7e0b34b8e94f34597e4b804bbb8bb7e27df040"
      ],
      "author": {
        "name": "Jonathan Nieder",
        "email": "jrnieder@gmail.com",
        "time": "Fri Aug 05 18:58:38 2011 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Aug 08 09:46:32 2011 -0300"
      },
      "message": "perf tools: do not look at ./config for configuration\n\nIn addition to /etc/perfconfig and $HOME/.perfconfig, perf looks for\nconfiguration in the file ./config, imitating git which looks at\n$GIT_DIR/config.  If ./config is not a perf configuration file, it\nfails, or worse, treats it as a configuration file and changes behavior\nin some unexpected way.\n\n\"config\" is not an unusual name for a file to be lying around and perf\ndoes not have a private directory dedicated for its own use, so let\u0027s\njust stop looking for configuration in the cwd.  Callers needing\ncontext-sensitive configuration can use the PERF_CONFIG environment\nvariable.\n\nRequested-by: Christian Ohm \u003cchr.ohm@gmx.net\u003e\nCc: 632923@bugs.debian.org\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Christian Ohm \u003cchr.ohm@gmx.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110805165838.GA7237@elie.gateway.2wire.net\nSigned-off-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "8b7e0b34b8e94f34597e4b804bbb8bb7e27df040",
      "tree": "1e57495b6a2dd79ad85eb5b77b155e7b48fa6ed7",
      "parents": [
        "cf8dc9ff29b55955197ae6f628b19f7f41f6e582"
      ],
      "author": {
        "name": "Kusanagi Kouichi",
        "email": "slash@ac.auone-net.jp",
        "time": "Sun Aug 07 17:39:31 2011 +0900"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Aug 08 09:43:22 2011 -0300"
      },
      "message": "perf tools: Make clean leaves some files\n\nUse LIB_OBJS and BUILTIN_OBJS for .o files.\n\nLIB_FILE is already prefixed with OUTPUT.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110807083932.9C0E514C03B@msa103.auone-net.jp\nSigned-off-by: Kusanagi Kouichi \u003cslash@ac.auone-net.jp\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "cf8dc9ff29b55955197ae6f628b19f7f41f6e582",
      "tree": "0477fefda15fbfee777db0e22f4cff0d11d0be1c",
      "parents": [
        "ce27a443d17dccf613079a7147cf0d220bc4ec82"
      ],
      "author": {
        "name": "Zhu Yanhai",
        "email": "zhu.yanhai@gmail.com",
        "time": "Sat Jul 30 22:13:52 2011 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Aug 08 09:41:35 2011 -0300"
      },
      "message": "perf lock: Dropping unsupported \u0027:r\u0027 modifier\n\nLooks to me like the :r modifier is not supported anymore, so remove it\nfrom the list of events. Without this fix \u0027perf lock record\u0027 doesn\u0027t\nwork.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Zhu Yanhai \u003cgaoyang.zyh@taobao.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1312035232-9534-1-git-send-email-gaoyang.zyh@taobao.com\nSigned-off-by: Zhu Yanhai \u003cgaoyang.zyh@taobao.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "ce27a443d17dccf613079a7147cf0d220bc4ec82",
      "tree": "c9fecd9884b167a2c4bdae80653d919b2ba6474e",
      "parents": [
        "00894ce9b85887caa0c16e18757004b9cc9f64cf"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Mon Jul 25 22:08:08 2011 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Aug 08 09:35:41 2011 -0300"
      },
      "message": "perf probe: Fix coredump introduced by probe module option\n\nperf will coredump if the user doesn\u0027t give the \"-m\" option in probe\ncommand, this patch fixes it.\n\n[root@localhost perf]# ./perf probe --add\u003d\u0027PROBE\u0027\nSegmentation fault (core dumped)\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311602888-2389-1-git-send-email-bookjovi@gmail.com\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "00894ce9b85887caa0c16e18757004b9cc9f64cf",
      "tree": "0f64fd92048d0b782c7fa025625f97bb06391207",
      "parents": [
        "3e9f45a7a4179604ccbae1589de0e7165bc6fcd0"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Aug 03 12:33:24 2011 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Aug 03 12:33:24 2011 -0300"
      },
      "message": "perf report: Use ui__warning in some more places\n\nSo that we get a proper warning in the TUI in cases like:\n\n $ perf report --stdio -g fractal,0.5,caller --sort pid\n Selected -g but no callchain data. Did you call \u0027perf record\u0027 without -g?\n $\n\nThe --stdio case is ok because it uses fprintf, ui__warning is needed to\nfigure out if --stdio or --tui is being used.\n\nCc: Arun Sharma \u003casharma@fb.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-ag9fz2wd17mbbfjsbznq1wms@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "3e9f45a7a4179604ccbae1589de0e7165bc6fcd0",
      "tree": "c686afbfa9d5e67d15a0941c8e718cf56fc2aa08",
      "parents": [
        "4152ab377b55e9d3e5700de00ef799519ead698d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jul 25 17:13:27 2011 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jul 25 17:13:27 2011 -0300"
      },
      "message": "perf python: Add PERF_RECORD_{LOST,READ,SAMPLE} routine tables\n\nSo those friggin \"spurious\" PERF_RECORD_MMAP events were actually a\nbrain fart copy\u0027n\u0027paste error in the python binding, doh. I.e. they\nweren\u0027t MMAPs, just SAMPLEs.\n\nFix it by providing routines for these events instead of using the MMAP\nones.\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-b0rc8y5jd03f9f11kftodvkm@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "4152ab377b55e9d3e5700de00ef799519ead698d",
      "tree": "f0b01d51b9efe519ecbc9827bf1116de2a2317c3",
      "parents": [
        "4f9bae351d299149a84f76cd34bf0150614e8c8e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jul 25 11:06:19 2011 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jul 25 11:06:19 2011 -0300"
      },
      "message": "perf evlist: Introduce \u0027disable\u0027 method\n\nTo remove the last case of access to the FD() macro outside the library.\n\nInspired by a patch by Borislav that moved the FD() macro to util.h, for\nnamespace concerns I rather preferred to constrain it to ev{sel,list}.c.\n\nCc: Borislav Petkov \u003cbp@amd64.org\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-qn893qsstcg366tkucu649qj@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "4f9bae351d299149a84f76cd34bf0150614e8c8e",
      "tree": "342086b25b25b3074cf3d91b2568957b5baf668d",
      "parents": [
        "7fcfd1abd6480d3b9ef17f5759c175e036e835cf"
      ],
      "author": {
        "name": "Han Pingtian",
        "email": "phan@redhat.com",
        "time": "Mon Jul 18 11:13:14 2011 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jul 22 08:59:26 2011 -0300"
      },
      "message": "perf buildid-cache: Zero out buffer of filenames when adding/removing buildid\n\nThe readlink() function doesn\u0027t append a null byte to buf. So we should\nzero out buf with zalloc(). Or we\u0027ll see sometimes error like this:\n\n[root@intel-s3e36-01]~# /usr/bin/perf buildid-cache -a /lib/modules/2.6.32-130.el6.x86_64/kernel/crypto/twofish_common.ko -v\nAdding f64ba8efd5f53c7ad332fc17db1d21de309038e1 /lib/modules/2.6.32-130.el6.x86_64/kernel/crypto/twofish_common.ko: Ok\n[root@intel-s3e36-01]~# /usr/bin/perf buildid-cache -r /lib/modules/2.6.32-130.el6.x86_64/kernel/crypto/twofish_common.ko -v\nRemoving f64ba8efd5f53c7ad332fc17db1d21de309038e1 /lib/modules/2.6.32-130.el6.x86_64/kernel/crypto/twofish_common.ko: FAIL\n/lib/modules/2.6.32-130.el6.x86_64/kernel/crypto/twofish_common.ko wasn\u0027t in the cache\n\nThe change in build_id_cache__add_s() is a defense.\n\nTested-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20110718031314.GA5802@hpt.nay.redhat.com\nSigned-off-by: Han Pingtian \u003cphan@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "7fcfd1abd6480d3b9ef17f5759c175e036e835cf",
      "tree": "1207684bb61efd16be56ba09b1e7dcbbae022c5f",
      "parents": [
        "1ac2e6ca44e13a087eb7438d284f887097ee7e84"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Jul 08 18:34:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 20:41:58 2011 +0200"
      },
      "message": "perf: Remove the nmi parameter from the oprofile_perf backend\n\nIn commit a8b0ca17b80e (\"perf: Remove the nmi parameter from the\nswevent and overflow interface\") one site was overlooked.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110708173442.GB31972@e102144-lin.cambridge.arm.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ac2e6ca44e13a087eb7438d284f887097ee7e84",
      "tree": "7ee4f00a67850e1e247610cefeae0ee7aa7b239a",
      "parents": [
        "9985c20f9e4aee6857c08246b273a3695a52b929"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Jun 07 11:49:55 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 20:41:57 2011 +0200"
      },
      "message": "x86, perf: Make copy_from_user_nmi() a library function\n\ncopy_from_user_nmi() is used in oprofile and perf. Moving it to other\nlibrary functions like copy_from_user(). As this is x86 code for 32\nand 64 bits, create a new file usercopy.c for unified code.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110607172413.GJ20052@erda.amd.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9985c20f9e4aee6857c08246b273a3695a52b929",
      "tree": "e2942d148c4cbd51ddcaa8c9b8e47229a31f6e34",
      "parents": [
        "f53173e47dee5f7514d264796bec58d43ed0f67f"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Thu Jun 30 08:09:55 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 20:41:55 2011 +0200"
      },
      "message": "perf: Remove perf_event_attr::type check\n\nPMU type id can be allocated dynamically, so perf_event_attr::type check\nwhen copying attribute from userspace to kernel is not valid.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309421396-17438-4-git-send-email-ming.m.lin@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f53173e47dee5f7514d264796bec58d43ed0f67f",
      "tree": "43ff4034a1abffc334927ce9ed7893900a3b3328",
      "parents": [
        "baf040a0d1ac6319725c0fe400503683ac016580"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu Jul 21 20:06:25 2011 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 20:41:54 2011 +0200"
      },
      "message": "x86, perf: P4 PMU - Fix typos in comments and style cleanup\n\nThis patch:\n\n - fixes typos in comments and clarifies the text\n - renames obscure p4_event_alias::original and ::alter members to\n   ::original and ::alternative as appropriate\n - drops parenthesis from the return of p4_get_alias_event()\n\nNo functional changes.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nLink: http://lkml.kernel.org/r/20110721160625.GX7492@sun\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "baf040a0d1ac6319725c0fe400503683ac016580",
      "tree": "7491f6dbaf6d26017cbf9a0ec0428f8c90619530",
      "parents": [
        "13b62567e909125145f90e91625b1062196d1258"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Jul 14 11:25:34 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 10:41:14 2011 +0200"
      },
      "message": "perf tools: Make test use the preset debugfs path\n\nUse preset debugfs path instead of hardcoded one.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: acme@redhat.com\nCc: a.p.zijlstra@chello.nl\nCc: paulus@samba.org\nLink: http://lkml.kernel.org/r/1310635534-4013-4-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "13b62567e909125145f90e91625b1062196d1258",
      "tree": "1a8ad571b39ad97fdae1db6a33753ee94de21747",
      "parents": [
        "f120f9d51be3a7db8991e7b78dc08bab5f8ab8f3"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Jul 14 11:25:33 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 10:41:13 2011 +0200"
      },
      "message": "perf tools: Add automated tests for events parsing\n\nAdding builtin test for parse_events function, which is\nresponsible for parsing/processing \"-e\" option for\nstat/top/record commands.\n\nThis new test will run within the builtin test command suite\n(perf test).\n\nOne or several tests were added for each type of event.\nMore tests could be added easily if needed.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: acme@redhat.com\nCc: a.p.zijlstra@chello.nl\nCc: paulus@samba.org\nLink: http://lkml.kernel.org/r/1310635534-4013-3-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f120f9d51be3a7db8991e7b78dc08bab5f8ab8f3",
      "tree": "237926a6231f4009015b8ce4119935a455069395",
      "parents": [
        "adc4bf9955856f8aa081ba613dbf56ffd664f0b7"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Jul 14 11:25:32 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 10:41:11 2011 +0200"
      },
      "message": "perf tools: De-opt the parse_events function\n\nMoving out the option parameter from parse_events function,\nand adding new parse_events_option function instead.\n\nThe option parameter is used only to carry \"struct perf_evlist\"\npointer for chaining new events. Putting it away, enable us\nto call parse_events from other places without using the\noption parameter.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: acme@redhat.com\nCc: a.p.zijlstra@chello.nl\nCc: paulus@samba.org\nLink: http://lkml.kernel.org/r/1310635534-4013-2-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "adc4bf9955856f8aa081ba613dbf56ffd664f0b7",
      "tree": "c110522a1a45d95b3452987e141d383ffd9ac81a",
      "parents": [
        "eda3913bb70ecebac13adccffe1e7f96e93cee02"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@gmail.com",
        "time": "Mon May 30 09:16:27 2011 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 10:09:28 2011 +0200"
      },
      "message": "perf script: Fix display of IP address for non-callchain path\n\nNon-callchain path is using al.addr which prints as:\n  openssl 14564 17672.003587:       7862d _x86_64_AES_encrypt_compact\n\nThis should be sample-\u003eip to print as:\n  openssl 14564 17672.003587:  3f7867862d _x86_64_AES_encrypt_compact\n\nSigned-off-by: David Ahern \u003cdsahern@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: acme@ghostprotocols.net\nCc: peterz@infradead.org\nCc: paulus@samba.org\nLink: http://lkml.kernel.org/r/1306768587-15376-1-git-send-email-dsahern@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eda3913bb70ecebac13adccffe1e7f96e93cee02",
      "tree": "832f84f625dcfcf30eeb0ca88d58fe7774f4327e",
      "parents": [
        "0111919da268e1ced315e009ad0d0435a2fb32ac"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@gmail.com",
        "time": "Fri Jul 15 12:34:09 2011 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:57:36 2011 +0200"
      },
      "message": "perf tools: Fix endian conversion reading event attr from file header\n\nThe perf_event_attr struct has two __u32\u0027s at the top and\nthey need to be swapped individually.\n\nWith this change I was able to analyze a perf.data collected in a\n32-bit PPC VM on an x86 system. I tested both 32-bit and 64-bit\nbinaries for the Intel analysis side; both read the PPC perf.data\nfile correctly.\n\n-v2:\n - changed the existing perf_event__attr_swap() to swap only elements\n   of perf_event_attr and exported it for use in swapping the\n   attributes in the file header\n - updated swap_ops used for processing events\n\nSigned-off-by: David Ahern \u003cdsahern@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: acme@ghostprotocols.net\nCc: peterz@infradead.org\nCc: paulus@samba.org\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1310754849-12474-1-git-send-email-dsahern@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0111919da268e1ced315e009ad0d0435a2fb32ac",
      "tree": "41a9f36b810820df712b6cb5e1c222891b2f972c",
      "parents": [
        "40bcea7bbe8fe452a2d272e2ffd3dea281eec9ff"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Jul 13 22:58:18 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:54:51 2011 +0200"
      },
      "message": "perf tools: Add missing \u0027node\u0027 alias to the hw_cache[] array\n\nAdd \"node\" as a simple alias for NODE cache events.\n\nThe addition of NODE cache events broke the parse_alias\nfunction, so any mismatched event caused the segfault, like:\n\n  # ./perf stat -e krava ls\n\nThe hw_cache/hw_cache_op/hw_cache_result arrays needs to follow\nPERF_COUNT_HW_CACHE_*MAX enums. Adding those MAXs to be size\nof those arrays, so possible ommision in future wil not lead to\nsegfault.\n\nAdding read/write/prefetch as allowed operations for node cache\nevent.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: acme@redhat.com\nLink: http://lkml.kernel.org/r/20110713205818.GB7827@jolsa.brq.redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "40bcea7bbe8fe452a2d272e2ffd3dea281eec9ff",
      "tree": "aedb6d02e53e3cf84cc32fd81db84032cee205e1",
      "parents": [
        "492f73a303b488ffd67097b2351d54aa6e6c7c73",
        "14a8fd7ceea6915c613746203d6e9a2bf273f16c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:32:40 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:32:40 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "492f73a303b488ffd67097b2351d54aa6e6c7c73",
      "tree": "6e6c16fbd628bb5eb577cfc70a488ca286563e58",
      "parents": [
        "e08fbb78f03fe2c4f88824faf6f51ce6af185e11",
        "f7bc8b61f65726ff98f52e286b28e294499d7a08"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:29:14 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:29:21 2011 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: pick up the latest fixes - they won\u0027t make v3.0.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "14a8fd7ceea6915c613746203d6e9a2bf273f16c",
      "tree": "738803bc847efa3a17e9076922f06ceaca20d8f0",
      "parents": [
        "190b57fcb9c5fed5414935a174094f534fc510bc"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:51 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 16:25:12 2011 -0400"
      },
      "message": "perf probe: Support adding probes on offline kernel modules\n\nSupport adding probes on offline kernel modules. This enables\nperf-probe to trace kernel-module init functions via perf-probe.\nIf user gives the path of module with -m option, perf-probe\nexpects the module is offline.\nThis feature works with --add, --funcs, and --vars.\n\nE.g)\n # perf probe -m /lib/modules/`uname -r`/kernel/fs/btrfs/btrfs.ko \\\n   -a \"extent_io_init:5 extent_state_cache\"\n Add new events:\n   probe:extent_io_init (on extent_io_init:5 with extent_state_cache)\n   probe:extent_io_init_1 (on extent_io_init:5 with extent_state_cache)\n\n You can now use it on all perf tools, such as:\n\n         perf record -e probe:extent_io_init_1 -aR sleep 1\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/20110627072751.6528.10230.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "190b57fcb9c5fed5414935a174094f534fc510bc",
      "tree": "952c19ed78abe454715d357fd5d0f8c6af9efd55",
      "parents": [
        "ff741783506c340035659a71be68ddb4068760d1"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:45 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 16:19:08 2011 -0400"
      },
      "message": "perf probe: Add probed module in front of function\n\nAdd probed module name and \":\" in front of function name\nif -m module option is given. In the result, the symbol\nname passed to kprobe-tracer becomes MODULE:FUNCTION,\nso that kallsyms can solve it as a symbol in the module\ncorrectly.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/20110627072745.6528.26416.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ff741783506c340035659a71be68ddb4068760d1",
      "tree": "90ccff5203ae54e738ab98d6a73f88fa5bc5a5b1",
      "parents": [
        "e0d153c69040bb37cbdf09deb52fee3013c07742"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:39 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 16:14:19 2011 -0400"
      },
      "message": "perf probe: Introduce debuginfo to encapsulate dwarf information\n\nIntroduce debuginfo to encapsulate dwarf information.\nThis new object allows us to reuse and expand debuginfo easily.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/20110627072739.6528.12438.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e0d153c69040bb37cbdf09deb52fee3013c07742",
      "tree": "e008ba8ac1f328b6938e80b9208d64c4548f8e8e",
      "parents": [
        "bcfc082150c6b1e9443c1277bca8be80094150b5"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:27 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 16:10:17 2011 -0400"
      },
      "message": "perf-probe: Move dwarf library routines to dwarf-aux.{c, h}\n\nMove dwarf library related routines to dwarf-aux.{c,h}.\nThis includes several minor changes.\n- Add simple documents for each API.\n- Rename die_find_real_subprogram() to die_find_realfunc()\n- Rename line_walk_handler_t to line_walk_callback_t.\n- Minor cleanups.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/20110627072727.6528.57647.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bcfc082150c6b1e9443c1277bca8be80094150b5",
      "tree": "fcb522f8c9bd2ab926065cfb9799defbddb4353b",
      "parents": [
        "bad03ae476214d9d66bb96be02b630385936f788"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:21 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 16:04:47 2011 -0400"
      },
      "message": "perf probe: Remove redundant dwarf functions\n\nSince there are dwarf_bitsize, dwarf_bitoffset and dwarf_bytesize\ndefined in libdw, we don\u0027t need die_get_bit_size, die_get_bit_offset\nand die_get_byte_size anymore.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/20110627072721.6528.2747.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bad03ae476214d9d66bb96be02b630385936f788",
      "tree": "91f1273f08104fb457b436141de431f1fc6e5b7c",
      "parents": [
        "baad2d3e69ba154dae340904a47ae12414f1894f"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:15 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 16:00:47 2011 -0400"
      },
      "message": "perf probe: Move strtailcmp to string.c\n\nSince strtailcmp() is enough generic, it should be defined in string.c.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/20110627072715.6528.10677.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "baad2d3e69ba154dae340904a47ae12414f1894f",
      "tree": "c755b2695300cd8f99ef9d2d570cf85cc1ea2661",
      "parents": [
        "7f6878a3d707b947603e09d95df0c3a98987e3a4"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:09 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:55:57 2011 -0400"
      },
      "message": "perf probe: Rename DIE_FIND_CB_FOUND to DIE_FIND_CB_END\n\nSince die_find/walk* callbacks use DIE_FIND_CB_FOUND for\nboth of failed and found cases, it should be \"END\"\ninstead \"FOUND\" for avoiding confusion.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nReported-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/20110627072709.6528.45706.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7f6878a3d707b947603e09d95df0c3a98987e3a4",
      "tree": "aa707653884ae1a7eac99c1b3c772c2eb89eb642",
      "parents": [
        "614243181050436785f5a621749a7da2336a7916"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:03 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:45:32 2011 -0400"
      },
      "message": "tracing/kprobe: Update symbol reference when loading module\n\nSince the address of a module-local variable can only be\nsolved after the target module is loaded, the symbol\nfetch-argument should be updated when loading target\nmodule.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20110627072703.6528.75042.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "614243181050436785f5a621749a7da2336a7916",
      "tree": "d64445cc0bc14420b993e82bd4bb4723ea8e34fa",
      "parents": [
        "bc81d48d13d8839fae6833c95794c403b2133f36"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:56 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:17:14 2011 -0400"
      },
      "message": "tracing/kprobes: Support module init function probing\n\nTo support probing module init functions, kprobe-tracer allows\nuser to define a probe on non-existed function when it is given\nwith a module name. This also enables user to set a probe on\na function on a specific module, even if a same name (but different)\nfunction is locally defined in another module.\n\nThe module name must be in the front of function name and separated\nby a \u0027:\u0027. e.g. btrfs:btrfs_init_sysfs\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20110627072656.6528.89970.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bc81d48d13d8839fae6833c95794c403b2133f36",
      "tree": "ebb87fb7664549eba344489e80cef1b64555bba0",
      "parents": [
        "1538f888f1e793de04e0f90372352ac1b05833cf"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:50 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:11:47 2011 -0400"
      },
      "message": "kprobes: Return -ENOENT if probe point doesn\u0027t exist\n\nReturn -ENOENT if probe point doesn\u0027t exist, but still returns\n-EINVAL if both of kprobe-\u003eaddr and kprobe-\u003esymbol_name are\nspecified or both are not specified.\n\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nLink: http://lkml.kernel.org/r/20110627072650.6528.67329.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1538f888f1e793de04e0f90372352ac1b05833cf",
      "tree": "42c064993df39faf3f285e276f588fc2518016f2",
      "parents": [
        "7143f168e2aa4bc7f8a8bcfe46d8dc52f7be869a"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:44 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:10:58 2011 -0400"
      },
      "message": "tracing/kprobes: Merge trace probe enable/disable functions\n\nMerge redundant enable/disable functions into enable_trace_probe()\nand disable_trace_probe().\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: yrl.pp-manager.tt@hitachi.com\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20110627072644.6528.26910.stgit@fedora15\n\n[ converted kprobe selftest to use  enable_trace_probe ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f7bc8b61f65726ff98f52e286b28e294499d7a08",
      "tree": "88ef0c943d27aa9f69824d87faa990731cc2ebfe",
      "parents": [
        "04da85b86188f224cc9b391b5bdd92a3ba20ffcf"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jul 14 23:02:27 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 23:02:27 2011 -0400"
      },
      "message": "ftrace: Fix regression where ftrace breaks when modules are loaded\n\nEnabling function tracer to trace all functions, then load a module and\nthen disable function tracing will cause ftrace to fail.\n\nThis can also happen by enabling function tracing on the command line:\n\n  ftrace\u003dfunction\n\nand during boot up, modules are loaded, then you disable function tracing\nwith \u0027echo nop \u003e current_tracer\u0027 you will trigger a bug in ftrace that\nwill shut itself down.\n\nThe reason is, the new ftrace code keeps ref counts of all ftrace_ops that\nare registered for tracing. When one or more ftrace_ops are registered,\nall the records that represent the functions that the ftrace_ops will\ntrace have a ref count incremented. If this ref count is not zero,\nwhen the code modification runs, that function will be enabled for tracing.\nIf the ref count is zero, that function will be disabled from tracing.\n\nTo make sure the accounting was working, FTRACE_WARN_ON()s were added\nto updating of the ref counts.\n\nIf the ref count hits its max (\u003e 2^30 ftrace_ops added), or if\nthe ref count goes below zero, a FTRACE_WARN_ON() is triggered which\ndisables all modification of code.\n\nSince it is common for ftrace_ops to trace all functions in the kernel,\ninstead of creating \u003e 20,000 hash items for the ftrace_ops, the hash\ncount is just set to zero, and it represents that the ftrace_ops is\nto trace all functions. This is where the issues arrise.\n\nIf you enable function tracing to trace all functions, and then add\na module, the modules function records do not get the ref count updated.\nWhen the function tracer is disabled, all function records ref counts\nare subtracted. Since the modules never had their ref counts incremented,\nthey go below zero and the FTRACE_WARN_ON() is triggered.\n\nThe solution to this is rather simple. When modules are loaded, and\ntheir functions are added to the the ftrace pool, look to see if any\nftrace_ops are registered that trace all functions. And for those,\nupdate the ref count for the module function records.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7143f168e2aa4bc7f8a8bcfe46d8dc52f7be869a",
      "tree": "cd13a0d2524b9ef4c6f807d01912147539c924b8",
      "parents": [
        "f91298709790b9a483752ca3c967845537df2af3"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:36 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 17:44:43 2011 -0400"
      },
      "message": "tracing/kprobes: Rename probe_* to trace_probe_*\n\nRename probe_* to trace_probe_* for avoiding namespace\nconfliction. This also fixes improper names of find_probe_event()\nand cleanup_all_probes() to find_trace_probe() and\nrelease_all_trace_probes() respectively.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110627072636.6528.60374.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f91298709790b9a483752ca3c967845537df2af3",
      "tree": "f7392e3d37b9aa78ef04bdf89bc0d45d2db401e3",
      "parents": [
        "4a9bd3f134decd6d16ead8d288342d57aad486be"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Sat Jul 09 00:17:12 2011 +0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 17:25:04 2011 -0400"
      },
      "message": "perf, x86: P4 PMU - Introduce event alias feature\n\nInstead of hw_nmi_watchdog_set_attr() weak function\nand appropriate x86_pmu::hw_watchdog_set_attr() call\nwe introduce even alias mechanism which allow us\nto drop this routines completely and isolate quirks\nof Netburst architecture inside P4 PMU code only.\n\nThe main idea remains the same though -- to allow\nnmi-watchdog and perf top run simultaneously.\n\nNote the aliasing mechanism applies to generic\nPERF_COUNT_HW_CPU_CYCLES event only because arbitrary\nevent (say passed as RAW initially) might have some\nadditional bits set inside ESCR register changing\nthe behaviour of event and we can\u0027t guarantee anymore\nthat alias event will give the same result.\n\nP.S. Thanks a huge to Don and Steven for for testing\n     and early review.\n\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nTested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Stephane Eranian \u003ceranian@google.com\u003e\nCC: Lin Ming \u003cming.m.lin@intel.com\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110708201712.GS23657@sun\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4a9bd3f134decd6d16ead8d288342d57aad486be",
      "tree": "ca9eca5fcbe93dc8a433d839221505ad8fba5296",
      "parents": [
        "259032bfe379281bf7cba512b7705bdb4ce41db5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jul 14 16:36:53 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 16:36:53 2011 -0400"
      },
      "message": "tracing: Have dynamic size event stack traces\n\nCurrently the stack trace per event in ftace is only 8 frames.\nThis can be quite limiting and sometimes useless. Especially when\nthe \"ignore frames\" is wrong and we also use up stack frames for\nthe event processing itself.\n\nChange this to be dynamic by adding a percpu buffer that we can\nwrite a large stack frame into and then copy into the ring buffer.\n\nFor interrupts and NMIs that come in while another event is being\nprocess, will only get to use the 8 frame stack. That should be enough\nas the task that it interrupted will have the full stack frame anyway.\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "259032bfe379281bf7cba512b7705bdb4ce41db5",
      "tree": "56c656f3ecb9779e70f6c9a3ad1db68a7a38a6ca",
      "parents": [
        "6331c28c962561aee59e5a493b7556a4bb585957"
      ],
      "author": {
        "name": "Sonny Rao",
        "email": "sonnyrao@chromium.org",
        "time": "Thu Jul 14 13:34:43 2011 +1000"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 15:53:01 2011 -0400"
      },
      "message": "perf: Robustify proc and debugfs file recording\n\nWhile attempting to create a timechart of boot up I found perf didn\u0027t\ntolerate modules being loaded/unloaded.  This patch fixes this by\nreading the file once and then writing the size read at the correct\npoint in the file.  It also simplifies the code somewhat.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: Sonny Rao \u003csonnyrao@chromium.org\u003e\nSigned-off-by: Michael Neuling \u003cmikey@neuling.org\u003e\nLink: http://lkml.kernel.org/r/10011.1310614483@neuling.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6331c28c962561aee59e5a493b7556a4bb585957",
      "tree": "33292a3127aa831ee8ec2394e790bc2a8817beee",
      "parents": [
        "072126f4529196f71a97960248bca54fd4554c2d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 13 15:11:02 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 13 22:25:09 2011 -0400"
      },
      "message": "ftrace: Fix dynamic selftest failure on some archs\n\nArchs that do not implement CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST, will\nfail the dynamic ftrace selftest.\n\nThe function tracer has a quick \u0027off\u0027 variable that will prevent\nthe call back functions from being called. This variable is called\nfunction_trace_stop. In x86, this is implemented directly in the mcount\nassembly, but for other archs, an intermediate function is used called\nftrace_test_stop_func().\n\nIn dynamic ftrace, the function pointer variable ftrace_trace_function is\nused to update the caller code in the mcount caller. But for archs that\ndo not have CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST set, it only calls\nftrace_test_stop_func() instead, which in turn calls __ftrace_trace_function.\n\nWhen more than one ftrace_ops is registered, the function it calls is\nftrace_ops_list_func(), which will iterate over all registered ftrace_ops\nand call the callbacks that have their hash matching.\n\nThe issue happens when two ftrace_ops are registered for different functions\nand one is then unregistered. The __ftrace_trace_function is then pointed\nto the remaining ftrace_ops callback function directly. This mean it will\nbe called for all functions that were registered to trace by both ftrace_ops\nthat were registered.\n\nThis is not an issue for archs with CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST,\nbecause the update of ftrace_trace_function doesn\u0027t happen until after all\nfunctions have been updated, and then the mcount caller is updated. But\nfor those archs that do use the ftrace_test_stop_func(), the update is\nimmediate.\n\nThe dynamic selftest fails because it hits this situation, and the\nftrace_ops that it registers fails to only trace what it was suppose to\nand instead traces all other functions.\n\nThe solution is to delay the setting of __ftrace_trace_function until\nafter all the functions have been updated according to the registered\nftrace_ops. Also, function_trace_stop is set during the update to prevent\nfunction tracing from calling code that is caused by the function tracer\nitself.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "072126f4529196f71a97960248bca54fd4554c2d",
      "tree": "cb1275288f49b59e4643abb85855ad6889aba94f",
      "parents": [
        "41fb61c2d08107ce96a5dcb3a6289b2afd3e135c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 13 15:08:31 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 13 22:10:05 2011 -0400"
      },
      "message": "ftrace: Update filter when tracing enabled in set_ftrace_filter()\n\nCurrently, if set_ftrace_filter() is called when the ftrace_ops is\nactive, the function filters will not be updated. They will only be updated\nwhen tracing is disabled and re-enabled.\n\nUpdate the functions immediately during set_ftrace_filter().\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "41fb61c2d08107ce96a5dcb3a6289b2afd3e135c",
      "tree": "ca3ae1796ca1d3f01f2bb62eba1fbc93db1affae",
      "parents": [
        "4376cac66778b25e599be3f5d54f33f58ba8ead7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 13 15:03:44 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 13 22:00:50 2011 -0400"
      },
      "message": "ftrace: Balance records when updating the hash\n\nWhenever the hash of the ftrace_ops is updated, the record counts\nmust be balance. This requires disabling the records that are set\nin the original hash, and then enabling the records that are set\nin the updated hash.\n\nMoving the update into ftrace_hash_move() removes the bug where the\nhash was updated but the records were not, which results in ftrace\ntriggering a warning and disabling itself because the ftrace_ops filter\nis updated while the ftrace_ops was registered, and then the failure\nhappens when the ftrace_ops is unregistered.\n\nThe current code will not trigger this bug, but new code will.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "04da85b86188f224cc9b391b5bdd92a3ba20ffcf",
      "tree": "538b02f08786e2d598458112ca97cbe4a2a7b3f3",
      "parents": [
        "43dd61c9a09bd413e837df829e6bfb42159be52a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jul 11 10:12:59 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 11 10:12:59 2011 -0400"
      },
      "message": "ftrace: Fix warning when CONFIG_FUNCTION_TRACER is not defined\n\nThe struct ftrace_hash was declared within CONFIG_FUNCTION_TRACER\nbut was referenced outside of it.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4376cac66778b25e599be3f5d54f33f58ba8ead7",
      "tree": "9cf05820586f140bafcde67cd2cd80a4391ef7eb",
      "parents": [
        "e4a3f541f0b67fdad98b326c851dfe7f4b6b6dad"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jun 24 23:28:13 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 07 22:39:38 2011 -0400"
      },
      "message": "ftrace: Do not disable interrupts for modules in mcount update\n\nWhen I mounted an NFS directory, it caused several modules to be loaded. At the\ntime I was running the preemptirqsoff tracer, and it showed the following\noutput:\n\n# tracer: preemptirqsoff\n#\n# preemptirqsoff latency trace v1.1.5 on 2.6.33.9-rt30-mrg-test\n# --------------------------------------------------------------------\n# latency: 1177 us, #4/4, CPU#3 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4)\n#    -----------------\n#    | task: modprobe-19370 (uid:0 nice:0 policy:0 rt_prio:0)\n#    -----------------\n#  \u003d\u003e started at: ftrace_module_notify\n#  \u003d\u003e ended at:   ftrace_module_notify\n#\n#\n#                  _------\u003d\u003e CPU#\n#                 / _-----\u003d\u003e irqs-off\n#                | / _----\u003d\u003e need-resched\n#                || / _---\u003d\u003e hardirq/softirq\n#                ||| / _--\u003d\u003e preempt-depth\n#                |||| /_--\u003d\u003e lock-depth\n#                |||||/     delay\n#  cmd     pid   |||||| time  |   caller\n#     \\   /      ||||||   \\   |   /\nmodprobe-19370   3d....    0us!: ftrace_process_locs \u003c-ftrace_module_notify\nmodprobe-19370   3d.... 1176us : ftrace_process_locs \u003c-ftrace_module_notify\nmodprobe-19370   3d.... 1178us : trace_hardirqs_on \u003c-ftrace_module_notify\nmodprobe-19370   3d.... 1178us : \u003cstack trace\u003e\n \u003d\u003e ftrace_process_locs\n \u003d\u003e ftrace_module_notify\n \u003d\u003e notifier_call_chain\n \u003d\u003e __blocking_notifier_call_chain\n \u003d\u003e blocking_notifier_call_chain\n \u003d\u003e sys_init_module\n \u003d\u003e system_call_fastpath\n\nThat\u0027s over 1ms that interrupts are disabled on a Real-Time kernel!\n\nLooking at the cause (being the ftrace author helped), I found that the\ninterrupts are disabled before the code modification of mcounts into nops. The\ninterrupts only need to be disabled on start up around this code, not when\nmodules are being loaded.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e4a3f541f0b67fdad98b326c851dfe7f4b6b6dad",
      "tree": "e93b858ab3313374d23c4ebadc5077816f1894f2",
      "parents": [
        "e08fbb78f03fe2c4f88824faf6f51ce6af185e11"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 14 19:02:29 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 07 22:26:27 2011 -0400"
      },
      "message": "tracing: Still trace filtered irq functions when irq trace is disabled\n\nIf a function is set to be traced by the set_graph_function, but the\noption funcgraph-irqs is zero, and the traced function happens to be\ncalled from a interrupt, it will not be traced.\n\nThe point of funcgraph-irqs is to not trace interrupts when we are\npreempted by an irq, not to not trace functions we want to trace that\nhappen to be *in* a irq.\n\nLuckily the current-\u003etrace_recursion element is perfect to add a flag\nto help us be able to trace functions within an interrupt even when\nwe are not tracing interrupts that preempt the trace.\n\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e08fbb78f03fe2c4f88824faf6f51ce6af185e11",
      "tree": "c15a70f94c4123afd3075a0ed73ea18022f7ad7a",
      "parents": [
        "931da6137e8e8c622f59251e8b645467aea293f1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jul 01 23:04:36 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 07 19:22:32 2011 +0200"
      },
      "message": "tracing, x86/irq: Do not trace arch_local_{*,irq_*}() functions\n\nI triggered a triple fault with gcc 4.5.1 because it did not\nhonor the inline annotation to arch_local_save_flags() function\nand that function was added to the pool of functions traced by\nthe function tracer.\n\nWhen preempt_schedule() called arch_local_save_flags() (called\nby irqs_disabled()), it was traced, but the first thing the\nfunction tracer does is disable preemption. When it enables\npreemption, the NEED_RESCHED flag will not have been cleared and\nthe preemption check will trigger the call to preempt_schedule()\nagain.\n\nAlthough the dynamic function tracer crashed immediately, the\nstatic version of the function tracer (CONFIG_DYNAMIC_FTRACE is\nnot set) actually was able to show where the problem was.\n\n swapper-1       3.N.. 103885us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103886us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103886us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103887us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103887us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103888us : arch_local_save_flags \u003c-preempt_schedule\n swapper-1       3.N.. 103888us : arch_local_save_flags \u003c-preempt_schedule\n\nIt went on for a while before it triple faulted with a corrupted\nstack.\n\nThe arch_local_save_flags and arch_local_irq_* functions should\nnot be traced. Even though they are marked as inline, gcc may\nstill make them a function and enable tracing of them.\n\nThe simple solution is to just mark them as notrace. I had to\nadd the \u003clinux/types.h\u003e for this file to include the notrace\ntag.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20110702033852.733414762@goodmis.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "43dd61c9a09bd413e837df829e6bfb42159be52a",
      "tree": "613b8ceaf798c87a4fac4ff66dc2ac0e13c3e46b",
      "parents": [
        "40ee4dffff061399eb9358e0c8fcfbaf8de4c8fe"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jul 07 11:09:22 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 07 11:30:08 2011 -0400"
      },
      "message": "ftrace: Fix regression of :mod:module function enabling\n\nThe new code that allows different utilities to pick and choose\nwhat functions they trace broke the :mod: hook that allows users\nto trace only functions of a particular module.\n\nThe reason is that the :mod: hook bypasses the hash that is setup\nto allow individual users to trace their own functions and uses\nthe global hash directly. But if the global hash has not been\nset up, it will cause a bug:\n\necho \u0027*:mod:radeon\u0027 \u003e /sys/kernel/debug/set_ftrace_filter\n\nproduces:\n\n [drm:drm_mode_getfb] *ERROR* invalid framebuffer id\n [drm:radeon_crtc_page_flip] *ERROR* failed to reserve new rbo buffer before flip\n BUG: unable to handle kernel paging request at ffffffff8160ec90\n IP: [\u003cffffffff810d9136\u003e] add_hash_entry+0x66/0xd0\n PGD 1a05067 PUD 1a09063 PMD 80000000016001e1\n Oops: 0003 [#1] SMP Jul  7 04:02:28 phyllis kernel: [55303.858604] CPU 1\n Modules linked in: cryptd aes_x86_64 aes_generic binfmt_misc rfcomm bnep ip6table_filter hid radeon r8169 ahci libahci mii ttm drm_kms_helper drm video i2c_algo_bit intel_agp intel_gtt\n\n Pid: 10344, comm: bash Tainted: G        WC  3.0.0-rc5 #1 Dell Inc. Inspiron N5010/0YXXJJ\n RIP: 0010:[\u003cffffffff810d9136\u003e]  [\u003cffffffff810d9136\u003e] add_hash_entry+0x66/0xd0\n RSP: 0018:ffff88003a96bda8  EFLAGS: 00010246\n RAX: ffff8801301735c0 RBX: ffffffff8160ec80 RCX: 0000000000306ee0\n RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff880137c92940\n RBP: ffff88003a96bdb8 R08: ffff880137c95680 R09: 0000000000000000\n R10: 0000000000000001 R11: 0000000000000000 R12: ffffffff81c9df78\n R13: ffff8801153d1000 R14: 0000000000000000 R15: 0000000000000000\n FS: 00007f329c18a700(0000) GS:ffff880137c80000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n CR2: ffffffff8160ec90 CR3: 000000003002b000 CR4: 00000000000006e0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n Process bash (pid: 10344, threadinfo ffff88003a96a000, task ffff88012fcfc470)\n Stack:\n  0000000000000fd0 00000000000000fc ffff88003a96be38 ffffffff810d92f5\n  ffff88011c4c4e00 ffff880000000000 000000000b69f4d0 ffffffff8160ec80\n  ffff8800300e6f06 0000000081130295 0000000000000282 ffff8800300e6f00\n Call Trace:\n  [\u003cffffffff810d92f5\u003e] match_records+0x155/0x1b0\n  [\u003cffffffff810d940c\u003e] ftrace_mod_callback+0xbc/0x100\n  [\u003cffffffff810dafdf\u003e] ftrace_regex_write+0x16f/0x210\n  [\u003cffffffff810db09f\u003e] ftrace_filter_write+0xf/0x20\n  [\u003cffffffff81166e48\u003e] vfs_write+0xc8/0x190\n  [\u003cffffffff81167001\u003e] sys_write+0x51/0x90\n  [\u003cffffffff815c7e02\u003e] system_call_fastpath+0x16/0x1b\n Code: 48 8b 33 31 d2 48 85 f6 75 33 49 89 d4 4c 03 63 08 49 8b 14 24 48 85 d2 48 89 10 74 04 48 89 42 08 49 89 04 24 4c 89 60 08 31 d2\n RIP [\u003cffffffff810d9136\u003e] add_hash_entry+0x66/0xd0\n  RSP \u003cffff88003a96bda8\u003e\n CR2: ffffffff8160ec90\n ---[ end trace a5d031828efdd88e ]---\n\nReported-by: Brian Marete \u003cmarete@toshnix.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "40ee4dffff061399eb9358e0c8fcfbaf8de4c8fe",
      "tree": "88b61ccc46994332d6f59cc1e6b2848fffc9a990",
      "parents": [
        "e9dbfae53eeb9fc3d4bb7da3df87fa9875f5da02"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jul 05 14:32:51 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 07 11:22:29 2011 -0400"
      },
      "message": "tracing: Have \"enable\" file use refcounts like the \"filter\" file\n\nThe \"enable\" file for the event system can be removed when a module\nis unloaded and the event system only has events from that module.\nAs the event system nr_events count goes to zero, it may be freed\nif its ref_count is also set to zero.\n\nLike the \"filter\" file, the \"enable\" file may be opened by a task and\nreferenced later, after a module has been unloaded and the events for\nthat event system have been removed.\n\nAlthough the \"filter\" file referenced the event system structure,\nthe \"enable\" file only references a pointer to the event system\nname. Since the name is freed when the event system is removed,\nit is possible that an access to the \"enable\" file may reference\na freed pointer.\n\nUpdate the \"enable\" file to use the subsystem_open() routine that\nthe \"filter\" file uses, to keep a reference to the event system\nstructure while the \"enable\" file is opened.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e9dbfae53eeb9fc3d4bb7da3df87fa9875f5da02",
      "tree": "2a389b9c6a5fe08d4fb3a9ca96e753244963e1d9",
      "parents": [
        "140fe3b1ab9c082182ef13359fab4ddba95c24c3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jul 05 11:36:06 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 07 11:19:18 2011 -0400"
      },
      "message": "tracing: Fix bug when reading system filters on module removal\n\nThe event system is freed when its nr_events is set to zero. This happens\nwhen a module created an event system and then later the module is\nremoved. Modules may share systems, so the system is allocated when\nit is created and freed when the modules are unloaded and all the\nevents under the system are removed (nr_events set to zero).\n\nThe problem arises when a task opened the \"filter\" file for the\nsystem. If the module is unloaded and it removed the last event for\nthat system, the system structure is freed. If the task that opened\nthe filter file accesses the \"filter\" file after the system has\nbeen freed, the system will access an invalid pointer.\n\nBy adding a ref_count, and using it to keep track of what\nis using the event system, we can free it after all users\nare finished with the event system.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "931da6137e8e8c622f59251e8b645467aea293f1",
      "tree": "2169cbd29d5d9a4cbc7104b2a744a95ba746c50d",
      "parents": [
        "5d67be97f8903d05ce53597fb5f3bc25a45e8026",
        "1fd8df2c3970c9e7e4e262354154ee39e58bdd7c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 05 11:55:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 05 11:55:43 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "5d67be97f8903d05ce53597fb5f3bc25a45e8026",
      "tree": "5ce8c2407d50570d7fee79b9c7f24e8eb89384b4",
      "parents": [
        "9f8b6a6cf0ee78de87ebe1e87f54bec1c1741ef7"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Jul 04 21:57:50 2011 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 05 10:44:44 2011 +0200"
      },
      "message": "perf report/annotate/script: Add option to specify a CPU range\n\nAdd an option to perf report/annotate/script to specify which\nCPUs to operate on. This enables us to take a single system wide\nprofile and analyse each CPU (or group of CPUs) in isolation.\n\nThis was useful when profiling a multiprocess workload where the\nbottleneck was on one CPU but this was hidden in the overall\nprofile. Per process and per thread breakdowns didn\u0027t help\nbecause multiple processes were running on each CPU and no\nsingle process consumed an entire CPU.\n\nThe patch converts the list of CPUs returned by cpu_map__new\ninto a bitmap for fast lookup. I wanted to use -C to be\nconsistent with perf top/record/stat, but unfortunately perf\nreport already uses -C \u003ccomms\u003e.\n\n v2: Incorporate suggestions from David Ahern:\n\t- Added -c to perf script\n\t- Check that SAMPLE_CPU is set when -c is used\n\t- Update documentation\n\n v3: Create perf_session__cpu_bitmap()\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLink: http://lkml.kernel.org/r/20110704215750.11647eb9@kryten\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f8b6a6cf0ee78de87ebe1e87f54bec1c1741ef7",
      "tree": "083e4b99c53ea1bd3efb35286ebeb5a335fd555e",
      "parents": [
        "729aa21ab85b5d24f3c2b1e581d71c2333f46628",
        "a406ab6d77ea86ba7c713276f30ed7058ca64e31"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 04 12:27:28 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 04 12:27:28 2011 +0200"
      },
      "message": "Merge branch \u0027core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into perf/core\n"
    },
    {
      "commit": "729aa21ab85b5d24f3c2b1e581d71c2333f46628",
      "tree": "3cf0760e7ddae58d04d2307c9d92240a0ba7c2d8",
      "parents": [
        "29dfc4fd7e792854b30d771d4e299fbdd2adb763",
        "a2bbe75089d5eb9a3a46d50dd5c215e213790288"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 03 20:39:40 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 03 20:39:40 2011 +0200"
      },
      "message": "Merge branch \u0027perf/stacktrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "a2bbe75089d5eb9a3a46d50dd5c215e213790288",
      "tree": "d1322d80e7d2c048611e6c79b7211412d4629e25",
      "parents": [
        "48ffee7d9e6df51b4957bed64115b7beed671374"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 16:52:45 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:06:36 2011 +0200"
      },
      "message": "x86: Don\u0027t use frame pointer to save old stack on irq entry\n\nrbp is used in SAVE_ARGS_IRQ to save the old stack pointer\nin order to restore it later in ret_from_intr.\n\nIt is convenient because we save its value in the irq regs\nand it\u0027s easily restored using the leave instruction.\n\nHowever this is a kind of abuse of the frame pointer which\nrole is to help unwinding the kernel by chaining frames\ntogether, each node following the return address to the\nprevious frame.\n\nBut although we are breaking the frame by changing the stack\npointer, there is no preceding return address before the new\nframe. Hence using the frame pointer to link the two stacks\nbreaks the stack unwinders that find a random value instead of\na return address here.\n\nThere is no workaround that can work in every case. We are using\nthe fixup_bp_irq_link() function to dereference that abused frame\npointer in the case of non nesting interrupt (which means stack\nchanged).\nBut that doesn\u0027t fix the case of interrupts that don\u0027t change the\nstack (but we still have the unconditional frame link), which is\nthe case of hardirq interrupting softirq. We have no way to detect\nthis transition so the frame irq link is considered as a real frame\npointer and the return address is dereferenced but it is still a\nspurious one.\n\nThere are two possible results of this: either the spurious return\naddress, a random stack value, luckily belongs to the kernel text\nand then the unwinding can continue and we just have a weird entry\nin the stack trace. Or it doesn\u0027t belong to the kernel text and\nunwinding stops there.\n\nThis is the reason why stacktraces (including perf callchains) on\nirqs that interrupted softirqs don\u0027t work very well.\n\nTo solve this, we don\u0027t save the old stack pointer on rbp anymore\nbut we save it to a scratch register that we push on the new\nstack and that we pop back later on irq return.\n\nThis preserves the whole frame chain without spurious return addresses\nin the middle and drops the need for the horrid fixup_bp_irq_link()\nworkaround.\n\nAnd finally irqs that interrupt softirq are sanely unwinded.\n\nBefore:\n\n    99.81%         perf  [kernel.kallsyms]  [k] perf_pending_event\n                   |\n                   --- perf_pending_event\n                       irq_work_run\n                       smp_irq_work_interrupt\n                       irq_work_interrupt\n                      |\n                      |--41.60%-- __read\n                      |          |\n                      |          |--99.90%-- create_worker\n                      |          |          bench_sched_messaging\n                      |          |          cmd_bench\n                      |          |          run_builtin\n                      |          |          main\n                      |          |          __libc_start_main\n                      |           --0.10%-- [...]\n\nAfter:\n\n     1.64%  swapper  [kernel.kallsyms]  [k] perf_pending_event\n            |\n            --- perf_pending_event\n                irq_work_run\n                smp_irq_work_interrupt\n                irq_work_interrupt\n               |\n               |--95.00%-- arch_irq_work_raise\n               |          irq_work_queue\n               |          __perf_event_overflow\n               |          perf_swevent_overflow\n               |          perf_swevent_event\n               |          perf_tp_event\n               |          perf_trace_softirq\n               |          __do_softirq\n               |          call_softirq\n               |          do_softirq\n               |          irq_exit\n               |          |\n               |          |--73.68%-- smp_apic_timer_interrupt\n               |          |          apic_timer_interrupt\n               |          |          |\n               |          |          |--96.43%-- amd_e400_idle\n               |          |          |          cpu_idle\n               |          |          |          start_secondary\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\n"
    },
    {
      "commit": "48ffee7d9e6df51b4957bed64115b7beed671374",
      "tree": "657683cd028ed2e34aabfcc33ad2c0e2d04952ae",
      "parents": [
        "3b99a3ef55b292180473a221f3d6bc24455f0632"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 15:03:44 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:06:21 2011 +0200"
      },
      "message": "x86: Remove useless unwinder backlink from irq regs saving\n\nThe unwinder backlink in interrupt entry is very useless.\nIt\u0027s actually not part of the stack frame chain and thus is\nnever used.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\n"
    },
    {
      "commit": "3b99a3ef55b292180473a221f3d6bc24455f0632",
      "tree": "e00651ee9e8d13cbe6845ba20c47e1d04da7dae9",
      "parents": [
        "1871853f7abc3c727c4346539c5062cbeaf016a4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 01 02:25:17 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:05:46 2011 +0200"
      },
      "message": "x86,64: Separate arg1 from rbp handling in SAVE_REGS_IRQ\n\nJust for clarity in the code. Have a first block that handles\nthe frame pointer and a separate one that handles pt_regs\npointer and its use.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\n"
    },
    {
      "commit": "1871853f7abc3c727c4346539c5062cbeaf016a4",
      "tree": "b01f5f5f5cb44a11b4ae542cfcf813d82c62c8eb",
      "parents": [
        "47ce11a2b6519f9c7843223ea8e561eb71ea5896"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 01 01:51:22 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:05:31 2011 +0200"
      },
      "message": "x86,64: Simplify save_regs()\n\nThe save_regs function that saves the regs on low level\nirq entry is complicated because of the fact it changes\nits stack in the middle and also because it manipulates\ndata allocated in the caller frame and accesses there\nare directly calculated from callee rsp value with the\nreturn address in the middle of the way.\n\nThis complicates the static stack offsets calculation and\nrequire more dynamic ones. It also needs a save/restore\nof the function\u0027s return address.\n\nTo simplify and optimize this, turn save_regs() into a\nmacro.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\n"
    },
    {
      "commit": "47ce11a2b6519f9c7843223ea8e561eb71ea5896",
      "tree": "f2b4130ac79a558b687ba22103878db10dbadb1e",
      "parents": [
        "9e46294dadedc0c04adcb8ce760bd2cd74f7332d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 19:04:56 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:04:20 2011 +0200"
      },
      "message": "x86: Fetch stack from regs when possible in dump_trace()\n\nWhen regs are passed to dump_stack(), we fetch the frame\npointer from the regs but the stack pointer is taken from\nthe current frame.\n\nThus the frame and stack pointers may not come from the same\ncontext. For example this can result in the unwinder to\nthink the context is in irq, due to the current value of\nthe stack, but the frame pointer coming from the regs points\nto a frame from another place. It then tries to fix up\nthe irq link but ends up dereferencing a random frame\npointer that doesn\u0027t belong to the irq stack:\n\n[ 9131.706906] ------------[ cut here ]------------\n[ 9131.707003] WARNING: at arch/x86/kernel/dumpstack_64.c:129 dump_trace+0x2aa/0x330()\n[ 9131.707003] Hardware name: AMD690VM-FMH\n[ 9131.707003] Perf: bad frame pointer \u003d 0000000000000005 in callchain\n[ 9131.707003] Modules linked in:\n[ 9131.707003] Pid: 1050, comm: perf Not tainted 3.0.0-rc3+ #181\n[ 9131.707003] Call Trace:\n[ 9131.707003]  \u003cIRQ\u003e  [\u003cffffffff8104bd4a\u003e] warn_slowpath_common+0x7a/0xb0\n[ 9131.707003]  [\u003cffffffff8104be21\u003e] warn_slowpath_fmt+0x41/0x50\n[ 9131.707003]  [\u003cffffffff8178b873\u003e] ? bad_to_user+0x6d/0x10be\n[ 9131.707003]  [\u003cffffffff8100c2da\u003e] dump_trace+0x2aa/0x330\n[ 9131.707003]  [\u003cffffffff810107d3\u003e] ? native_sched_clock+0x13/0x50\n[ 9131.707003]  [\u003cffffffff8101b164\u003e] perf_callchain_kernel+0x54/0x70\n[ 9131.707003]  [\u003cffffffff810d391f\u003e] perf_prepare_sample+0x19f/0x2a0\n[ 9131.707003]  [\u003cffffffff810d546c\u003e] __perf_event_overflow+0x16c/0x290\n[ 9131.707003]  [\u003cffffffff810d5430\u003e] ? __perf_event_overflow+0x130/0x290\n[ 9131.707003]  [\u003cffffffff810107d3\u003e] ? native_sched_clock+0x13/0x50\n[ 9131.707003]  [\u003cffffffff8100fbb9\u003e] ? sched_clock+0x9/0x10\n[ 9131.707003]  [\u003cffffffff810752e5\u003e] ? T.375+0x15/0x90\n[ 9131.707003]  [\u003cffffffff81084da4\u003e] ? trace_hardirqs_on_caller+0x64/0x180\n[ 9131.707003]  [\u003cffffffff810817bd\u003e] ? trace_hardirqs_off+0xd/0x10\n[ 9131.707003]  [\u003cffffffff810d5764\u003e] perf_event_overflow+0x14/0x20\n[ 9131.707003]  [\u003cffffffff810d588c\u003e] perf_swevent_hrtimer+0x11c/0x130\n[ 9131.707003]  [\u003cffffffff817821a1\u003e] ? error_exit+0x51/0xb0\n[ 9131.707003]  [\u003cffffffff81072e93\u003e] __run_hrtimer+0x83/0x1e0\n[ 9131.707003]  [\u003cffffffff810d5770\u003e] ? perf_event_overflow+0x20/0x20\n[ 9131.707003]  [\u003cffffffff81073256\u003e] hrtimer_interrupt+0x106/0x250\n[ 9131.707003]  [\u003cffffffff812a3bfd\u003e] ? trace_hardirqs_off_thunk+0x3a/0x3c\n[ 9131.707003]  [\u003cffffffff81024833\u003e] smp_apic_timer_interrupt+0x53/0x90\n[ 9131.707003]  [\u003cffffffff81789053\u003e] apic_timer_interrupt+0x13/0x20\n[ 9131.707003]  \u003cEOI\u003e  [\u003cffffffff817821a1\u003e] ? error_exit+0x51/0xb0\n[ 9131.707003]  [\u003cffffffff8178219c\u003e] ? error_exit+0x4c/0xb0\n[ 9131.707003] ---[ end trace b2560d4876709347 ]---\n\nFix this by simply taking the stack pointer from regs-\u003esp\nwhen regs are provided.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9e46294dadedc0c04adcb8ce760bd2cd74f7332d",
      "tree": "35d20bd33678e9ae18aeccab48f80dc64a5c6426",
      "parents": [
        "af07ce3e77d3b24ab1d71fcc5833d41800f23b2b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 15:00:52 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jul 02 18:04:03 2011 +0200"
      },
      "message": "x86: Save stack pointer in perf live regs savings\n\nIn order to prepare for fetching the stack pointer from the\nregs when possible in dump_trace() instead of taking the\nlocal one, save the current stack pointer in perf live regs saving.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "29dfc4fd7e792854b30d771d4e299fbdd2adb763",
      "tree": "8f9c10296f0653e323a765b86783662cafcfaa81",
      "parents": [
        "3ae9a34d747f9abf2bcc85dc0e77b951513ccdf2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 01 15:24:53 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 16:20:04 2011 +0200"
      },
      "message": "perf, powerpc: Fix build borkage\n\nThe patch a8b0ca17b80e (\"perf: Remove the nmi parameter from the swevent\nand overflow interface\") missed a spot in the ppc hw_breakpoint code,\nfix this up so things compile again.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-09pfip95g88s70iwkxu6nnbt@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ae9a34d747f9abf2bcc85dc0e77b951513ccdf2",
      "tree": "592baba4f60e156f9b0d596ade75e282ea21f1ab",
      "parents": [
        "343a031f3c4a7a663192cf56368bb5a6c56870c0"
      ],
      "author": {
        "name": "Zhengyu He",
        "email": "zhengyuh@google.com",
        "time": "Thu Jun 23 13:45:42 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 12:52:40 2011 +0200"
      },
      "message": "perf stat: Add noise output for csv mode\n\nPreviously, when you want perf-stat to output the statistics in\ncsv mode, no information of the noise will be printed out.\n\nFor example right now we output this --repeat information:\n\n ./perf stat -r3 -x, sleep 1\n 1.164789,task-clock\n 8,context-switches\n 0,CPU-migrations\n 219,page-faults\n 3337800,cycles\n\nWith this patch, the output will be appended with an additional\nentry for the noise value:\n\n ./perf stat -r3 -x, sleep 1\n 1.164789,task-clock,3.75%\n 8,context-switches,75.00%\n 0,CPU-migrations,100.00%\n 219,page-faults,0.00%\n 3337800,cycles,3.36%\n\nSigned-off-by: Zhengyu He \u003czhengyuh@google.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1308861942-4945-1-git-send-email-zhengyuh@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "343a031f3c4a7a663192cf56368bb5a6c56870c0",
      "tree": "ee6c7fddf5de92f64f3759694cc6a4b7c28fa80a",
      "parents": [
        "26ca5c11fb45ae2b2ac7e3574b8db6b3a3c7d350",
        "cb1955b86c86782ff20037da42ef030057501c34"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:51:58 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:51:58 2011 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "26ca5c11fb45ae2b2ac7e3574b8db6b3a3c7d350",
      "tree": "01f430828eaacf7ba3e0eb541f8d946f3d855696",
      "parents": [
        "0af3ac1fdb9d5c297b4b07c9e0172531d42b6716"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:37 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:40 2011 +0200"
      },
      "message": "perf: export perf_event_refresh() to modules\n\nKVM needs one-shot samples, since a PMC programmed to -X will fire after X\nevents and then again after 2^40 events (i.e. variable period).\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-4-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0af3ac1fdb9d5c297b4b07c9e0172531d42b6716",
      "tree": "fb32f768bce1c3bd8772d52d87d30ab63d2ebaaa",
      "parents": [
        "4dc0da86967d5463708631d02a70cfed5b104884"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:36 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:39 2011 +0200"
      },
      "message": "x86, perf: Add constraints for architectural PMU\n\nThe v1 PMU does not have any fixed counters.  Using the v2 constraints,\nwhich do have fixed counters, causes an additional choice to be present\nin the weight calculation, but not when actually scheduling the event,\nleading to an event being not scheduled at all.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-3-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dc0da86967d5463708631d02a70cfed5b104884",
      "tree": "e09071a62f2457b710ff69df3be1bff39340a4c6",
      "parents": [
        "89d6c0b5bdbb1927775584dcf532d98b3efe1477"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:35 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:38 2011 +0200"
      },
      "message": "perf: Add context field to perf_event\n\nThe perf_event overflow handler does not receive any caller-derived\nargument, so many callers need to resort to looking up the perf_event\nin their local data structure.  This is ugly and doesn\u0027t scale if a\nsingle callback services many perf_events.\n\nFix by adding a context parameter to perf_event_create_kernel_counter()\n(and derived hardware breakpoints APIs) and storing it in the perf_event.\nThe field can be accessed from the callback as event-\u003eoverflow_handler_context.\nAll callers are updated.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-2-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "89d6c0b5bdbb1927775584dcf532d98b3efe1477",
      "tree": "89ec2fb7944dbf79ccb5d1a47f6117cd9c8b617f",
      "parents": [
        "b79e8941fb9af07d810da91b4e29da2bba331b6e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Apr 22 23:37:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:38 2011 +0200"
      },
      "message": "perf, arch: Add generic NODE cache events\n\nAdd a NODE level to the generic cache events which is used to measure\nlocal vs remote memory accesses. Like all other cache events, an\nACCESS is HIT+MISS, if there is no way to distinguish between reads\nand writes do reads only etc..\n\nThe below needs filling out for !x86 (which I filled out with\nunsupported events).\n\nI\u0027m fairly sure ARM can leave it like that since it doesn\u0027t strike me as\nan architecture that even has NUMA support. SH might have something since\nit does appear to have some NUMA bits.\n\nSparc64, PowerPC and MIPS certainly want a good look there since they\nclearly are NUMA capable.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/r/1303508226.4865.8.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b79e8941fb9af07d810da91b4e29da2bba331b6e",
      "tree": "8bb9c7ec132d185dc79f9a05274c1535d3634762",
      "parents": [
        "ee89cbc2d48150c7c0e9f2aaac00afde99af098c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 23 11:08:15 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:37 2011 +0200"
      },
      "message": "perf, intel: Try alternative OFFCORE encodings\n\nSince the OFFCORE registers are fully symmetric, try the other one\nwhen the specified one is already in use.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1306141897.18455.8.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee89cbc2d48150c7c0e9f2aaac00afde99af098c",
      "tree": "8b690157409cab9fc1c887d7ea706b80e1d49e48",
      "parents": [
        "cd8a38d33e2528998998bae70a45ad27e442f114"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jun 06 16:57:12 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:37 2011 +0200"
      },
      "message": "perf_events: Add Intel Sandy Bridge offcore_response low-level support\n\nThis patch adds Intel Sandy Bridge offcore_response support by\nproviding the low-level constraint table for those events.\n\nOn Sandy Bridge, there are two offcore_response events. Each uses\nits own dedictated extra register. But those registers are NOT shared\nbetween sibling CPUs when HT is on unlike Nehalem/Westmere. They are\nalways private to each CPU. But they still need to be controlled within\nan event group. All events within an event group must use the same\nvalue for the extra MSR. That\u0027s not controlled by the second patch in\nthis series.\n\nFurthermore on Sandy Bridge, the offcore_response events have NO\ncounter constraints contrary to what the official documentation\nindicates, so drop the events from the contraint table.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110606145712.GA7304@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd8a38d33e2528998998bae70a45ad27e442f114",
      "tree": "940bdcb466d498d32066d41529d04476185a42fd",
      "parents": [
        "efc9f05df2dd171280dcb736a4d973ffefd5508e"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jun 06 16:57:08 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:36 2011 +0200"
      },
      "message": "perf_events: Fix validation of events using an extra reg\n\nThe validate_group() function needs to validate events with\nextra shared regs. Within an event group, only events with\nthe same value for the extra reg can co-exist. This was not\nchecked by validate_group() because it was missing the\nshared_regs logic.\n\nThis patch changes the allocation of the fake cpuc used for\nvalidation to also point to a fake shared_regs structure such\nthat group events be properly testing.\n\nIt modifies __intel_shared_reg_get_constraints() to use\nspin_lock_irqsave() to avoid lockdep issues.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110606145708.GA7279@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efc9f05df2dd171280dcb736a4d973ffefd5508e",
      "tree": "ccc1cee8f1cc0ad5391732eb3637b685b4b155a0",
      "parents": [
        "a7ac67ea021b4603095d2aa458bc41641238f22c"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jun 06 16:57:03 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:36 2011 +0200"
      },
      "message": "perf_events: Update Intel extra regs shared constraints management\n\nThis patch improves the code managing the extra shared registers\nused for offcore_response events on Intel Nehalem/Westmere. The\nidea is to use static allocation instead of dynamic allocation.\nThis simplifies greatly the get and put constraint routines for\nthose events.\n\nThe patch also renames per_core to shared_regs because the same\ndata structure gets used whether or not HT is on. When HT is\noff, those events still need to coordination because they use\na extra MSR that has to be shared within an event group.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110606145703.GA7258@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a7ac67ea021b4603095d2aa458bc41641238f22c",
      "tree": "e79d13a1096e751061af285265b1862d7e6dca70",
      "parents": [
        "a8b0ca17b80e92faab46ee7179ba9e99ccb61233"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 16:47:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:35 2011 +0200"
      },
      "message": "perf: Remove the perf_output_begin(.sample) argument\n\nSince only samples call perf_output_sample() its much saner (and more\ncorrect) to put the sample logic in there than in the\nperf_output_begin()/perf_output_end() pair.\n\nSaves a useless argument, reduces conditionals and shrinks\nstruct perf_output_handle, win!\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-2crpvsx3cqu67q3zqjbnlpsc@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8b0ca17b80e92faab46ee7179ba9e99ccb61233",
      "tree": "a4a6282139f26458f80dcbe21c709a9290e84143",
      "parents": [
        "1880c4ae182afb5650c5678949ecfe7ff66a724e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 14:41:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:35 2011 +0200"
      },
      "message": "perf: Remove the nmi parameter from the swevent and overflow interface\n\nThe nmi parameter indicated if we could do wakeups from the current\ncontext, if not, we would set some state and self-IPI and let the\nresulting interrupt do the wakeup.\n\nFor the various event classes:\n\n  - hardware: nmi\u003d0; PMI is in fact an NMI or we run irq_work_run from\n    the PMI-tail (ARM etc.)\n  - tracepoint: nmi\u003d0; since tracepoint could be from NMI context.\n  - software: nmi\u003d[0,1]; some, like the schedule thing cannot\n    perform wakeups, and hence need 0.\n\nAs one can see, there is very little nmi\u003d1 usage, and the down-side of\nnot using it is that on some platforms some software events can have a\njiffy delay in wakeup (when arch_irq_work_raise isn\u0027t implemented).\n\nThe up-side however is that we can remove the nmi parameter and save a\nbunch of conditionals in fast paths.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-agjev8eu666tvknpb3iaj0fg@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1880c4ae182afb5650c5678949ecfe7ff66a724e",
      "tree": "57306c05aca1e2a2ce5d07e8c29ad76b6b403879",
      "parents": [
        "0d6412085b7ff58612af52e51ffa864f0df4b8fd"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu Jun 23 16:49:18 2011 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:34 2011 +0200"
      },
      "message": "perf, x86: Add hw_watchdog_set_attr() in a sake of nmi-watchdog on P4\n\nDue to restriction and specifics of Netburst PMU we need a separated\nevent for NMI watchdog. In particular every Netburst event\nconsumes not just a counter and a config register, but also an\nadditional ESCR register.\n\nSince ESCR registers are grouped upon counters (i.e. if ESCR is occupied\nfor some event there is no room for another event to enter until its\nreleased) we need to pick up the \"least\" used ESCR (or the most available\none) for nmi-watchdog purposes -- so MSR_P4_CRU_ESCR2/3 was chosen.\n\nWith this patch nmi-watchdog and perf top should be able to run simultaneously.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCC: Lin Ming \u003cming.m.lin@intel.com\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-and-reviewed-by: Don Zickus \u003cdzickus@redhat.com\u003e\nTested-and-reviewed-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110623124918.GC13050@sun\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d6412085b7ff58612af52e51ffa864f0df4b8fd",
      "tree": "b0aa2622aa0262b1238b07fad38d76c9c61d6e32",
      "parents": [
        "c4794295917ebeda8013b6cb9c8d71ab4f74a1fa"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Fri Jun 24 12:26:26 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:34 2011 +0200"
      },
      "message": "events: Ensure that timers are updated without requiring read() call\n\nThe event tracing infrastructure exposes two timers which should be updated\neach time the value of the counter is updated.  Currently, these counters are\nonly updated when userspace calls read() on the fd associated with an event.\nThis means that counters which are read via the mmap\u0027d page exclusively never\nhave their timers updated.  This patch adds ensures that the timers are updated\neach time the values in the mmap\u0027d page are updated.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308932786-5111-1-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c4794295917ebeda8013b6cb9c8d71ab4f74a1fa",
      "tree": "bb422e3368f2ad686e69229b416536b2bcb1df8e",
      "parents": [
        "b7526f0ca6dc68f57ca467ce503151b1d476a3e4"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:38 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:33 2011 +0200"
      },
      "message": "events: Move lockless timer calculation into helper function\n\nTake the timer calculation from perf_output_read and move it to a helper\nfunction for any place that needs timer values but cannot take the ctx-\u003elock.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308861279-15216-2-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b7526f0ca6dc68f57ca467ce503151b1d476a3e4",
      "tree": "979237e480c349409410f38aba502b06794a6b44",
      "parents": [
        "28009ce4a8130af7260a9271901b4419834ad152"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:37 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:33 2011 +0200"
      },
      "message": "events: Add note to update_event_times comment about holding ctx-\u003elock\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308861279-15216-1-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28009ce4a8130af7260a9271901b4419834ad152",
      "tree": "d594a4cb1178fa634ce0594cc2f6ff5c284064a7",
      "parents": [
        "4ec8363dfc1451f8c8f86825731fe712798ada02"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Tue Jun 07 16:33:38 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:32 2011 +0200"
      },
      "message": "perf: Remove 64-bit alignment padding from perf_event_context\n\nReorder perf_event_context to remove 8 bytes of 64 bit alignment padding\nshrinking its size to 192 bytes, allowing it to fit into a smaller slab\nand use one fewer cache lines.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1307460819.1950.5.camel@castor.rsk\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ec8363dfc1451f8c8f86825731fe712798ada02",
      "tree": "12db5b26a3ffa179ef119ac945c4d9a6fb1ced88",
      "parents": [
        "0f933625e7b6c3d91878ae95e341bf1984db7eaf"
      ],
      "author": {
        "name": "Vince Weaver",
        "email": "vweaver1@eecs.utk.edu",
        "time": "Wed Jun 01 15:15:36 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:32 2011 +0200"
      },
      "message": "perf_events: Fix perf buffer watermark setting\n\nSince 2.6.36 (specifically commit d57e34fdd60b (\"perf: Simplify the\nring-buffer logic: make perf_buffer_alloc() do everything needed\"),\nthe perf_buffer_init_code() has been mis-setting the buffer watermark\nif perf_event_attr.wakeup_events has a non-zero value.\n\nThis is because perf_event_attr.wakeup_events is a union with\nperf_event_attr.wakeup_watermark.\n\nThis commit re-enables the check for perf_event_attr.watermark being\nset before continuing with setting a non-default watermark.\n\nThis bug is most noticable when you are trying to use PERF_IOC_REFRESH\nwith a value larger than one and perf_event_attr.wakeup_events is set to\none.  In this case the buffer watermark will be set to 1 and you will\nget extraneous POLL_IN overflows rather than POLL_HUP as expected.\n\n[ avoid using attr.wakeup_events when attr.watermark is set ]\n\nSigned-off-by: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/alpine.DEB.2.00.1106011506390.5384@cl320.eecs.utk.edu\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f933625e7b6c3d91878ae95e341bf1984db7eaf",
      "tree": "5471d99242096415d38c86b7dbe8a2543906cb23",
      "parents": [
        "4f8b50bbbe63ae4ec6bea28a90a9a603c745ea71"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 28 12:15:51 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:02:25 2011 +0200"
      },
      "message": "irq_work, alpha: Fix up arch hooks\n\nCommit e360adbe29 (\"irq_work: Add generic hardirq context\ncallbacks\") fouled up the Alpha bit, not properly naming the\narch specific function that raises the \u0027self-IPI\u0027.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: stable@kernel.org # 37+\nLink: http://lkml.kernel.org/n/tip-gukh0txmql2l4thgrekzzbfy@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f8b50bbbe63ae4ec6bea28a90a9a603c745ea71",
      "tree": "7eab2f9679823e78a8e0e32d2eee57b70f64935b",
      "parents": [
        "10e6962765f8213941eaa1cbb9de425ff0689e2e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 17:22:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:02:22 2011 +0200"
      },
      "message": "irq_work, ppc: Fix up arch hooks\n\nCommit e360adbe29 (\"irq_work: Add generic hardirq context\ncallbacks\") fouled up the ppc bit, not properly naming the\narch specific function that raises the \u0027self-IPI\u0027.\n\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: stable@kernel.org # 37+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-eg0aqien8p1aqvzu9dft6dtv@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10e6962765f8213941eaa1cbb9de425ff0689e2e",
      "tree": "c277e4ac5b2b7156152454578c39e90da5127dd8",
      "parents": [
        "af07ce3e77d3b24ab1d71fcc5833d41800f23b2b",
        "b0af8dfdd67699e25083478c63eedef2e72ebd85"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 10:28:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 10:28:46 2011 +0200"
      },
      "message": "Merge commit \u0027v3.0-rc5\u0027 into perf/core\n\nMerge reason: Pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb1955b86c86782ff20037da42ef030057501c34",
      "tree": "4d4ed06f8ec32ddc4a47259d82fa470673cdf510",
      "parents": [
        "fd8ea21276adefc7f0133bd42fcf3b2faf0b15f8"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 29 23:52:52 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:26:49 2011 +0200"
      },
      "message": "perf tools: Only display parent field if explictly sorted\n\nWe don\u0027t need to display the parent field if the parent\nsorting machinery is only used for parent filtering\n(as in \"-p foo\").\n\nHowever if parent filtering is used in combination with\nexplicit parent sorting ( -s parent), we want to\ndisplay it.\n\nResult with:\n\n  perf report -p kernel_thread -s parent\n\nBefore:\n\n # Overhead  Parent symbol\n # ........  .............\n #\n     0.07%\n            |\n            --- ioread8\n                ata_sff_check_status\n                ata_sff_tf_load\n                ata_sff_qc_issue\n                ata_bmdma_qc_issue\n                ata_qc_issue\n                ata_scsi_translate\n                ata_scsi_queuecmd\n                scsi_dispatch_cmd\n                scsi_request_fn\n                __blk_run_queue\n                __make_request\n                generic_make_request\n                submit_bio\n                submit_bh\n                journal_submit_commit_record\n                jbd2_journal_commit_transaction\n                kjournald2\n                kthread\n                kernel_thread_helpe\n\nAfter:\n\n # Overhead  Parent symbol\n # ........  .............\n #\n     0.07%  kernel_thread_helper\n            |\n            --- ioread8\n                ata_sff_check_status\n                ata_sff_tf_load\n                ata_sff_qc_issue\n                ata_bmdma_qc_issue\n                ata_qc_issue\n                ata_scsi_translate\n                ata_scsi_queuecmd\n                scsi_dispatch_cmd\n                scsi_request_fn\n                __blk_run_queue\n                __make_request\n                generic_make_request\n                submit_bio\n                submit_bh\n                journal_submit_commit_record\n                jbd2_journal_commit_transaction\n                kjournald2\n                kthread\n                kernel_thread_helper\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\n"
    },
    {
      "commit": "fd8ea21276adefc7f0133bd42fcf3b2faf0b15f8",
      "tree": "7d4025ed1c68162f118bc29005ac76f0e9ea8dd8",
      "parents": [
        "e84d21227c6865fe1f3d0c79d1539b6877f54c84"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 29 23:08:14 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:26:41 2011 +0200"
      },
      "message": "perf tools: Allow sort dimensions to be registered more than once\n\nSo that the parent sort dimension can be registered twice: once\nif we add it as an explicit sort dimension (-s parent) and twice\nif we request a parent filter (-p foo).\n\nWe\u0027ll have only one parent sort dimension in the end but this\nallows to override the default parent filter with we gave in \"-p\"\noption. The goal of this is to prepare to allow the use of\n\"-s parent\" and \"-p foo\" at the same time, ie: sort by filtered\nparent.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\n"
    },
    {
      "commit": "e84d21227c6865fe1f3d0c79d1539b6877f54c84",
      "tree": "51890e149dc9946b8300c38bfb1ebc1a643bfd85",
      "parents": [
        "2fd701bc782fad8792059dd586e1f00b64f6a52e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 29 22:23:03 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:26:33 2011 +0200"
      },
      "message": "perf tools: Don\u0027t display ignored entries on stdio ui\n\nAs for newt ui, don\u0027t display entries that have been marked\nas ignored.\n\nThe practical current effect of this is to make parent\nfiltering really working. Before, entries that were ignored\nwere given a null parent but were still displayed. This\nresulted in some weird effects:\n\n # Overhead      Command      Shared Object        Symbol\n # ........  ...........  .................  ............\n #\n^A\n                   |\n                   --- __lock_acquire\n                      |\n                      |--95.97%-- lock_acquire\n                      |          |\n                      |          |--30.75%-- _raw_spin_lock\n\nDiscard these from the stdio display.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\n"
    },
    {
      "commit": "2fd701bc782fad8792059dd586e1f00b64f6a52e",
      "tree": "5ed938913571fd1052814f490333db26aed5e421",
      "parents": [
        "872a878fb1ee53e21c90040de2c01b3fc53b5942"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 29 03:25:14 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:26:19 2011 +0200"
      },
      "message": "perf tools: Remove sort print helpers declarations\n\nThese are probably some old leftovers.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\n"
    },
    {
      "commit": "872a878fb1ee53e21c90040de2c01b3fc53b5942",
      "tree": "1ee4c10d94e9946a6c8b35a5515fe4feab976a0d",
      "parents": [
        "d797fdc5c5c245fbb05f553e68cb95d962fbdd01"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 29 03:14:52 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:25:12 2011 +0200"
      },
      "message": "perf tools: Make sort operations static\n\nThese don\u0027t need to be globally visible.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Sam Liao \u003cphyomh@gmail.com\u003e\n"
    },
    {
      "commit": "d797fdc5c5c245fbb05f553e68cb95d962fbdd01",
      "tree": "aa28d98f61df71a2fba55e2b4b526c77aec8de0a",
      "parents": [
        "af07ce3e77d3b24ab1d71fcc5833d41800f23b2b"
      ],
      "author": {
        "name": "Sam Liao",
        "email": "phyomh@gmail.com",
        "time": "Tue Jun 07 23:49:46 2011 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 30 00:24:30 2011 +0200"
      },
      "message": "perf tools: Add inverted call graph report support.\n\nAdd \"caller/callee\" option to support inverted butterfly report,\nin the inverted report (with caller option), the call graph start\nfrom the callee\u0027s ancestor. Users can use such view to catch system\u0027s\nperformance bottleneck from a sysprof like view. Using this option\nwith specified sort order like pid gives us high level view of call\ngraph statistics.\n\nAlso add \"-G\" alias for inverted call graph.\n\nSigned-off-by: Sam Liao \u003cphyomh@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "140fe3b1ab9c082182ef13359fab4ddba95c24c3",
      "tree": "e59debeb1aea1650fd490b0264f66b4f70a26aca",
      "parents": [
        "debf1d4948bccf58fa172acb1a7306792d77705d"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Tue Jun 21 10:35:55 2011 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 29 09:59:17 2011 -0400"
      },
      "message": "jump_label: Fix jump_label update for modules\n\nThe jump labels entries for modules do not stop at __stop__jump_table,\nbut after mod-\u003ejump_entries + mod_num_jump_entries.\n\nBy checking the wrong end point, module trace events never get enabled.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nTested-by: Avi Kivity \u003cavi@redhat.com\u003e\nTested-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nLink: http://lkml.kernel.org/r/4E00038B.2060404@cn.fujitsu.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b0af8dfdd67699e25083478c63eedef2e72ebd85",
      "tree": "f20d9e2415fc97137ee3090bea373c8412099015",
      "parents": [
        "ecbec53b1d00ba582f71b210ed96cafc05ebd189"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 19:12:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 19:12:22 2011 -0700"
      },
      "message": "Linux 3.0-rc5\n"
    },
    {
      "commit": "ecbec53b1d00ba582f71b210ed96cafc05ebd189",
      "tree": "d03418464a270e05b769413c8a8183c328f26210",
      "parents": [
        "e2377fe0b65e3c7577ff6df1701c56ef477d336f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:14 2011 -0700"
      },
      "message": "drm/i915: more struct_mutex locking\n\nWhen auditing the locking in i915_gem.c (for a prospective change which\nI then abandoned), I noticed two places where struct_mutex is not held\nacross GEM object manipulations that would usually require it.\n\nSince one is in initial setup and the other in driver unload, I\u0027m\nguessing the mutex is not required for either; but post a patch in case\nit is.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2377fe0b65e3c7577ff6df1701c56ef477d336f",
      "tree": "ba110d07556128a0eff42496294c7dd4880ecfd7",
      "parents": [
        "5949eac4d9b5bf936c12cb7ec3a09084c1326834"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:14 2011 -0700"
      },
      "message": "drm/i915: use shmem_truncate_range\n\nThe interface to -\u003etruncate_range is changing very slightly: once \"tmpfs:\ntake control of its truncate_range\" has been applied, this can be applied.\n For now there is only a slight inefficiency while this remains unapplied,\nbut it will soon become essential for managing shmem\u0027s use of swap.\n\nChange i915_gem_object_truncate() to use shmem_truncate_range() directly:\nwhich should also spare i915 later change if we switch from\ninode_operations-\u003etruncate_range to file_operations-\u003efallocate.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Keith Packard \u003ckeithp@keithp.com\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5949eac4d9b5bf936c12cb7ec3a09084c1326834",
      "tree": "1cb391ffd8ebab379e4c37953923baeeff9d3b65",
      "parents": [
        "3142b651ad2232cf0e375c291ee4b893c8559df5"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drm/i915: use shmem_read_mapping_page\n\nSoon tmpfs will stop supporting -\u003ereadpage and read_cache_page_gfp(): once\n\"tmpfs: add shmem_read_mapping_page_gfp\" has been applied, this patch can\nbe applied to ease the transition.\n\nMake i915_gem_object_get_pages_gtt() use shmem_read_mapping_page_gfp() in\nthe one place it\u0027s needed; elsewhere use shmem_read_mapping_page(), with\nthe mapping\u0027s gfp_mask properly initialized.\n\nForget about __GFP_COLD: since tmpfs initializes its pages with memset,\nasking for a cold page is counter-productive.\n\nInclude linux/shmem_fs.h also in drm_gem.c: with shmem_file_setup() now\ndeclared there too, we shall remove the prototype from linux/mm.h later.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Keith Packard \u003ckeithp@keithp.com\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3142b651ad2232cf0e375c291ee4b893c8559df5",
      "tree": "ec8038ccadc92cbceee37e084c77f73fb61d1d53",
      "parents": [
        "a39bce7bf60e728cb33b6b0415c3f44e7f1a102b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Jun 27 16:18:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drm/ttm: use shmem_read_mapping_page\n\nSoon tmpfs will stop supporting -\u003ereadpage and read_mapping_page(): once\n\"tmpfs: add shmem_read_mapping_page_gfp\" has been applied, this patch can\nbe applied to ease the transition.\n\nttm_tt_swapin() and ttm_tt_swapout() use shmem_read_mapping_page() in\nplace of read_mapping_page(), since their swap_space has been created with\nshmem_file_setup().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a39bce7bf60e728cb33b6b0415c3f44e7f1a102b",
      "tree": "174bdb951546f67880f13936d64f992d87d7b47a",
      "parents": [
        "1fc6e987d8f606371337211f52ff74c6753298a6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jun 27 16:18:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drivers/tty/serial/8250_pci.c: fix warning\n\nFis the warning\n\n  drivers/tty/serial/8250_pci.c:1457: warning: initialization from incompatible pointer type\n\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1fc6e987d8f606371337211f52ff74c6753298a6",
      "tree": "29222b9ec135a747575a14438ee4889b0f1b96b5",
      "parents": [
        "33721bd3d00e7a235f70ba4ec19eb64bcd060c0b"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 27 16:18:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drivers/misc/ioc4.c: fix section mismatch / race condition\n\nFix this section mismatch:\n\n  WARNING: drivers/misc/ioc4.o(.data+0x144): Section mismatch in reference from the variable ioc4_load_modules_work to the function .devinit.text:ioc4_load_modules()\n  The variable ioc4_load_modules_work references\n  the function __devinit ioc4_load_modules()\n  If the reference is valid then annotate the\n  variable with __init* or __refdata (see linux/init.h) or name the variable:\n  *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console\n\nThis one is potentially fatal; by the time ioc4_load_modules is invoked\nit may already have been freed.  For that reason ioc4_load_modules_work\ncan\u0027t be turned to __devinitdata but also because it\u0027s referenced in\nioc4_exit.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Brent Casavant \u003cbcasavan@sgi.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33721bd3d00e7a235f70ba4ec19eb64bcd060c0b",
      "tree": "1c01b043804b8aca6dabbe54387f7380382a8a2b",
      "parents": [
        "5286bd953645408634daa880d04c73dd18d0224a"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 27 16:18:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drivers/leds/leds-lp5523.c: fix section mismatches\n\nFix this section mismatch:\n\n  WARNING: drivers/leds/leds-lp5523.o(.text+0x12f4): Section mismatch in reference from the function lp5523_probe() to the function .init.text:lp5523_init_led()\n  The function lp5523_probe() references\n  the function __init lp5523_init_led().\n  This is often because lp5523_probe lacks a __init\n  annotation or the annotation of lp5523_init_led is wrong.\n\nFixing this one triggers one more mismatch, fix that one as well.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5286bd953645408634daa880d04c73dd18d0224a",
      "tree": "ef7fd3a9201617acb91804e449e7a78425b2d5a1",
      "parents": [
        "ac34a1a3c39da0a1b9188d12a9ce85506364ed2a"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 27 16:18:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "drivers/leds/leds-lp5521.c: fix section mismatches\n\nFix this section mismatch:\n\n  WARNING: drivers/leds/leds-lp5521.o(.text+0xf2c): Section mismatch in reference from the function lp5521_probe() to the function .init.text:lp5521_init_led()\n  The function lp5521_probe() references\n  the function __init lp5521_init_led().\n  This is often because lp5521_probe lacks a __init\n  annotation or the annotation of lp5521_init_led is wrong.\n\nFixing this mismatch triggers one more mismatch, fix that one as well.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac34a1a3c39da0a1b9188d12a9ce85506364ed2a",
      "tree": "f74f34047c6bc516e29196685cc8671aff4a02d2",
      "parents": [
        "26c4caea9d697043cc5a458b96411b86d7f6babd"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Jun 27 16:18:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "memcg: fix direct softlimit reclaim to be called in limit path\n\nCommit d149e3b25d7c (\"memcg: add the soft_limit reclaim in global direct\nreclaim\") adds a softlimit hook to shrink_zones().  By this, soft limit\nis called as\n\n   try_to_free_pages()\n       do_try_to_free_pages()\n           shrink_zones()\n               mem_cgroup_soft_limit_reclaim()\n\nThen, direct reclaim is memcg softlimit hint aware, now.\n\nBut, the memory cgroup\u0027s \"limit\" path can call softlimit shrinker.\n\n   try_to_free_mem_cgroup_pages()\n       do_try_to_free_pages()\n           shrink_zones()\n               mem_cgroup_soft_limit_reclaim()\n\nThis will cause a global reclaim when a memcg hits limit.\n\nThis is bug. soft_limit_reclaim() should be called when\nscanning_global_lru(sc) \u003d\u003d true.\n\nAnd the commit adds a variable \"total_scanned\" for counting softlimit\nscanned pages....it\u0027s not \"total\".  This patch removes the variable and\nupdate sc-\u003enr_scanned instead of it.  This will affect shrink_slab()\u0027s\nscan condition but, global LRU is scanned by softlimit and I think this\nchange makes sense.\n\nTODO: avoid too much scanning of a zone when softlimit did enough work.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "26c4caea9d697043cc5a458b96411b86d7f6babd"
}
