commit cfb27ba97e4a567b2dc6773789938f0bb62f1622
Author: Christian Hergert <chergert@redhat.com>
Date:   Thu Sep 1 21:34:14 2016 -0700

    release 3.21.91

M	NEWS
M	configure.ac

commit 69338ee16e11fde06cfe646e4d43e9f06af0cbc4
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Aug 30 13:01:16 2016 -0700

    callgraph-view: collapse row with Left Arrow

    This makes Left Arrow do the opposite of Right Arrow.

M	lib/sp-callgraph-view.c

commit fb26c2e8c1bf35b527de0722667c49c8571df92c
Author: Kalev Lember <klember@redhat.com>
Date:	Sat Aug 27 11:46:40 2016 +0200

    build: Use correct gettext domain when installing translation files

    https://bugzilla.gnome.org/show_bug.cgi?id=770475

M	po/Makevars

commit 55b374b8be0b53d6ee7243901dce851abae9fc61
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Aug 23 16:11:14 2016 -0700

    build: check for recent GCC with stdatomic.h

M	configure.ac

commit d3a4355a97bc7694474de704f7ce5c639f3fe0b4
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Aug 23 15:42:22 2016 -0700

    build: use -std=gnu11 by default

    We require C11 for stdatomic.h

M	configure.ac

commit f313ca4daefa8aee7837f545a4b43795bd692789
Author: Ray Strode <rstrode@redhat.com>
Date:	Tue Aug 23 16:53:39 2016 -0400

    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.

M	lib/sp-perf-counter.c

commit 1b89cc58cf1de959ace6492dad37059f2502f7b9
Author: Ray Strode <rstrode@redhat.com>
Date:	Tue Aug 23 16:52:29 2016 -0400

    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.

M	lib/Makefile.am
M	lib/sp-callgraph-view.c
M	lib/sp-perf-counter.c
M	lib/util/binfile.c
D	lib/util/util.h

commit 1c1ef02b3dfb227b0b9065e6df5fe483a17bf622
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Aug 23 10:08:37 2016 -0700

    util: add full memory barrier fallback

M	lib/util/util.h

commit 65851f529caba26c24dde9696c8868286dc8fe99
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Aug 22 21:52:53 2016 -0700

    build: release 3.21.90

M	NEWS
M	configure.ac