Commit Graph

657 Commits

Author SHA1 Message Date
f313ca4dae lib: Add full barrier before writing data_tail
The kernel says here http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/kernel/events/ring_buffer.c?id=7a1dcf6ad#n61 :

	 * Since the mmap() consumer (userspace) can run on a different CPU:
	 *
	 *   kernel				user
	 *
	 *   if (LOAD ->data_tail) {		LOAD ->data_head
	 *			(A)		smp_rmb()	(C)
	 *	STORE $data			LOAD $data
	 *	smp_wmb()	(B)		smp_mb()	(D)
	 *	STORE ->data_head		STORE ->data_tail
	 *   }
	 *
	 * Where A pairs with D, and B pairs with C.
	 *
	 * In our case (A) is a control dependency that separates the load of
	 * the ->data_tail and the stores of $data. In case ->data_tail
	 * indicates there is no room in the buffer to store $data we do not.
	 *
	 * D needs to be a full barrier since it separates the data READ
	 * from the tail WRITE.
	 *
	 * For B a WMB is sufficient since it separates two WRITEs, and for C
	 * an RMB is sufficient since it separates two READs.
	 *
	 * See perf_output_begin().

So I'm pretty sure we need a full barrier before writing out data_tail.
2016-08-23 16:53:39 -04:00
1b89cc58cf lib: use stdatomic.h for memory barriers
C11 gives us APIs for fencing logic.  Use that instead of a
a long, per-architecture, hand curated list of definitions.
2016-08-23 16:52:29 -04:00
1c1ef02b3d util: add full memory barrier fallback 2016-08-23 10:08:37 -07:00
65851f529c build: release 3.21.90 2016-08-22 21:52:53 -07:00
aaba2b6a4f build: only install sysprof-ui-2.pc if we build the UI
This fixes an error were a pkg-config check could succeed for the UI
being installed when the gtk library was not built.
2016-08-22 19:24:05 -07:00
6ed7ec20ae util: add read_barrier() for ARMv7 2016-08-22 11:54:10 -07:00
3cfcee4757 util: use ifdef instead of if defined 2016-08-22 11:53:58 -07:00
e4e1bf73b3 line-reader: handle invalid parameters more gracefully
This silences coverity which doesn't handle return_if_fail() macros
very well.
2016-08-22 11:02:03 -07:00
46a257da6e elfparser: suppress warnings about cast alignment
These are aligned according to the spec, so we can simply silence them
with the gpointer cast.
2016-08-21 17:32:59 -07:00
e81204dec9 process-model-item: remove duplicate const 2016-08-21 17:32:59 -07:00
a5b08cad94 reader: increment j, not i when swapping counter values 2016-08-21 17:32:59 -07:00
6058c62f44 reader: bswap jitmap item count 2016-08-21 17:32:59 -07:00
94c8551063 kernel-symbol: fix alignment warning
Our pointer is always malloc() aligned, so we have a safe cast here.
2016-08-21 17:32:59 -07:00
aeab954107 Updated Serbian translation 2016-08-21 20:32:24 +02:00
e316bb8bdf Updated Polish translation 2016-08-21 17:02:06 +02:00
2f9055bc7b Add --add-comments to XGETTEXT_OPTIONS in Makevars
So that comments from .desktop file appear in the .po files.
2016-08-21 16:57:34 +02:00
24716d7c88 elf: add more pango mappings 2016-08-18 14:38:14 +02:00
1ad1b23f57 callgraph: ensure cell renderer is available 2016-08-16 18:03:25 +02:00
5a679d11c6 Added Slovak translation 2016-08-10 13:34:03 +00:00
3164d10c69 Add translator comment to .desktop 2016-08-09 15:38:34 +02:00
1ec28630b0 Added Portuguese translation 2016-08-01 11:29:24 +00:00
b57cb40664 Updated Hungarian translation 2016-07-31 18:35:58 +00:00
2bd2be46c5 Added Spanish translation 2016-07-22 09:49:47 +00:00
0e89182300 sp-window: Fix profiler menu button alignment 2016-07-13 09:41:08 +02:00
c45a55b467 lib: avoid using hexpand in SpProfilerMenuButton
This can cause the widget to expand now that GtkHeaderBar supports expand
for start/end packed children.
2016-07-06 23:31:04 -07:00
7bbe8cec72 credits: make strings arrays const 2016-06-21 12:49:26 -07:00
a7a6c59bda build: Add --enable-sysprofd configure flag
This is useful to ensure reproducible builds.

https://bugzilla.gnome.org/show_bug.cgi?id=767902
2016-06-21 12:45:04 -07:00
6e597e8898 window: ignore STATE_0 2016-06-21 12:44:36 -07:00
436e80aa9a README: fix typo
https://bugzilla.gnome.org/show_bug.cgi?id=767832
2016-06-19 14:05:37 -07:00
01ab47f669 Fix typo in help
https://bugzilla.gnome.org/show_bug.cgi?id=767815
2016-06-18 11:52:26 -07:00
329743c917 callgraph: Use U64_TO_POINTER
This fixes a "cast to pointer from integer of different size" on i586.

https://bugzilla.gnome.org/show_bug.cgi?id=767693
2016-06-15 18:06:25 -04:00
15a2873c25 Move from SpScrolledWindow to GtkScrolledWindow
GtkScrolledWindow has max-content-{width,height} properties now. Remove
SpScrolledWindow and bump the gtk+ requirement to 3.21.3 at the same
time.
2016-06-10 21:12:06 +02:00
03ecb8ddfe Updated German translation 2016-06-08 20:26:57 +00:00
28d9a7d8b4 callgraph view: Expand cursor row on Right 2016-06-05 21:08:39 +02:00
96c8032ab0 sp-window: Hide info bar when starting to record 2016-06-05 18:32:52 +02:00
bf293d6128 Updated Swedish translation 2016-05-06 17:28:22 +00:00
a6c9cc25fe doap: add language and app section to sysprof.doap 2016-05-06 12:23:47 +03:00
acfe40f52d Updated Brazilian Portuguese translation 2016-05-03 18:34:31 +00:00
cfd14c3731 Updated Polish translation 2016-05-03 13:18:16 +02:00
3c3eb33930 Updated Czech translation 2016-05-03 12:05:57 +02:00
27be8a1f7a Czech translation 2016-05-03 12:01:12 +02:00
67efcc462b Fix handling plural forms
https://bugzilla.gnome.org/show_bug.cgi?id=765929
2016-05-03 12:42:20 +03:00
395ab9025a doap: update doap for sysprof bugzilla product 2016-04-28 16:04:10 -07:00
273736da98 Updated Hungarian translation 2016-04-28 21:03:26 +00:00
113baca655 build: fix a few warnings from clang 2016-04-28 04:00:27 -07:00
a799765066 Initial Hungarian translation 2016-04-26 19:18:22 +02:00
721f8b3435 Added hu to LINGUAS 2016-04-26 19:16:58 +02:00
012516fc1e tests: fix warning 2016-04-25 23:53:13 -07:00
9c6cec9b49 perf: avoid authorization dialog when user owns target pid
If we check the UID of the pid from /proc/pid/status and the UID matches
our current user, we should be able to forego the authorization dialog.

This should fix a regression where sysprof worked from jhbuild when
profiling a process you have access to.
2016-04-25 15:11:54 -07:00
afadd90834 perf: ping the sysprofd service before we consider it up
This should help catch failures where the peer is not yet up and might
fail to start, before we actually block on communicating with it.
2016-04-24 17:49:03 -07:00