diff options
| author | Ingo Molnar <mingo@kernel.org> | 2013-01-25 05:33:41 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2013-01-25 05:34:00 -0500 |
| commit | a2d28d0c198b65fac28ea6212f5f8edc77b29c27 (patch) | |
| tree | 130c1b4464f1eb685e56ff2ce122e3e36bb52e88 | |
| parent | 203e04c16330c880538588e932743f404ee4fd66 (diff) | |
| parent | 2ae828786c65ab8f587647bd0f22f8fe00f1f238 (diff) | |
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
. Allow skipping problematic entries in 'perf test'.
. Fix some namespace problems in the event parsing routines.
. Add 'perf test' entry to make sure the python binding doesn't have
linking problems.
. Adjust 'perf test' attr tests verbosity levels.
. Make tools/perf build with GNU make v3.80, fix from Al Cooper.
. Do missing feature fallbacks in just one place, removing duplicated
code in multiple tools.
. Fix some memory leaks, from David Ahern.
. Fix segfault when drawing out-of-bounds jumps, from Frederik Deweerdt.
. Allow of casting an array of char to string in 'perf probe', from
Hyeoncheol Lee.
. Add support for wildcard in tracepoint system name, from Jiri Olsa.
. Update FSF postal address to be URL's, from Jon Stanley.
. Add anonymous huge page recognition, from Joshua Zhu.
. Remove some needless feature test checks, from Namhyung Kim.
. Multiple improvements to the sort routines, from Namhyung Kim.
. Fix warning on '>=' operator in libtraceevent, from Namhyung Kim.
. Use ARRAY_SIZE instead of reinventing it in 'perf script' and 'perf kmem',
from Sasha Levin.
. Remove some redundant checks, from Sasha Levin.
. Test correct variable after allocation in libtraceevent, fix from Sasha Levin.
. Mark branch_info maps as referenced, fix from Stephane Eranian.
. Fix PMU format parsing test failure, from Sukadev Bhattiprolu.
. Fix possible (unlikely) buffer overflow, from Thomas Jarosch.
. Multiple 'perf script' fixes, from Tom Zanussi.
. Add missing field in PERF_RECORD_SAMPLE documentation, from Vince Weaver.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
81 files changed, 1816 insertions, 1202 deletions
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index 4f63c05d27c9..9fa9c622a7f4 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h | |||
| @@ -579,7 +579,8 @@ enum perf_event_type { | |||
| 579 | * { u32 size; | 579 | * { u32 size; |
| 580 | * char data[size];}&& PERF_SAMPLE_RAW | 580 | * char data[size];}&& PERF_SAMPLE_RAW |
| 581 | * | 581 | * |
| 582 | * { u64 from, to, flags } lbr[nr];} && PERF_SAMPLE_BRANCH_STACK | 582 | * { u64 nr; |
| 583 | * { u64 from, to, flags } lbr[nr];} && PERF_SAMPLE_BRANCH_STACK | ||
| 583 | * | 584 | * |
| 584 | * { u64 abi; # enum perf_sample_regs_abi | 585 | * { u64 abi; # enum perf_sample_regs_abi |
| 585 | * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_USER | 586 | * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_USER |
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index dea7acfbb071..30ea9a4f4ab4 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c | |||
| @@ -901,8 +901,7 @@ void uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consume | |||
| 901 | } | 901 | } |
| 902 | 902 | ||
| 903 | mutex_unlock(uprobes_hash(inode)); | 903 | mutex_unlock(uprobes_hash(inode)); |
| 904 | if (uprobe) | 904 | put_uprobe(uprobe); |
| 905 | put_uprobe(uprobe); | ||
| 906 | } | 905 | } |
| 907 | 906 | ||
| 908 | static struct rb_node * | 907 | static struct rb_node * |
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c index 5a824e355d04..bb8b3db0e583 100644 --- a/tools/lib/traceevent/event-parse.c +++ b/tools/lib/traceevent/event-parse.c | |||
| @@ -13,8 +13,7 @@ | |||
| 13 | * GNU Lesser General Public License for more details. | 13 | * GNU Lesser General Public License for more details. |
| 14 | * | 14 | * |
| 15 | * You should have received a copy of the GNU Lesser General Public | 15 | * You should have received a copy of the GNU Lesser General Public |
| 16 | * License along with this program; if not, write to the Free Software | 16 | * License along with this program; if not, see <http://www.gnu.org/licenses> |
| 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
| 18 | * | 17 | * |
| 19 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 18 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 20 | * | 19 | * |
| @@ -1463,7 +1462,8 @@ static int event_read_fields(struct event_format *event, struct format_field **f | |||
| 1463 | if (read_expect_type(EVENT_ITEM, &token)) | 1462 | if (read_expect_type(EVENT_ITEM, &token)) |
| 1464 | goto fail; | 1463 | goto fail; |
| 1465 | 1464 | ||
| 1466 | /* add signed type */ | 1465 | if (strtoul(token, NULL, 0)) |
| 1466 | field->flags |= FIELD_IS_SIGNED; | ||
| 1467 | 1467 | ||
| 1468 | free_token(token); | ||
