)]}'
{
  "log": [
    {
      "commit": "3942c07ccf98e66b8893f396dca98f5b076f905f",
      "tree": "063ec7aa542d9fa812482c02e2436205fe6a9e8e",
      "parents": [
        "da5338c7498556b760871661ffecb053cc6f708f"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@openvz.org",
        "time": "Wed Aug 28 10:17:53 2013 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 10 18:56:29 2013 -0400"
      },
      "message": "fs: bump inode and dentry counters to long\n\nThis series reworks our current object cache shrinking infrastructure in\ntwo main ways:\n\n * Noticing that a lot of users copy and paste their own version of LRU\n   lists for objects, we put some effort in providing a generic version.\n   It is modeled after the filesystem users: dentries, inodes, and xfs\n   (for various tasks), but we expect that other users could benefit in\n   the near future with little or no modification.  Let us know if you\n   have any issues.\n\n * The underlying list_lru being proposed automatically and\n   transparently keeps the elements in per-node lists, and is able to\n   manipulate the node lists individually.  Given this infrastructure, we\n   are able to modify the up-to-now hammer called shrink_slab to proceed\n   with node-reclaim instead of always searching memory from all over like\n   it has been doing.\n\nPer-node lru lists are also expected to lead to less contention in the lru\nlocks on multi-node scans, since we are now no longer fighting for a\nglobal lock.  The locks usually disappear from the profilers with this\nchange.\n\nAlthough we have no official benchmarks for this version - be our guest to\nindependently evaluate this - earlier versions of this series were\nperformance tested (details at\nhttp://permalink.gmane.org/gmane.linux.kernel.mm/100537) yielding no\nvisible performance regressions while yielding a better qualitative\nbehavior in NUMA machines.\n\nWith this infrastructure in place, we can use the list_lru entry point to\nprovide memcg isolation and per-memcg targeted reclaim.  Historically,\nthose two pieces of work have been posted together.  This version presents\nonly the infrastructure work, deferring the memcg work for a later time,\nso we can focus on getting this part tested.  You can see more about the\nhistory of such work at http://lwn.net/Articles/552769/\n\nDave Chinner (18):\n  dcache: convert dentry_stat.nr_unused to per-cpu counters\n  dentry: move to per-sb LRU locks\n  dcache: remove dentries from LRU before putting on dispose list\n  mm: new shrinker API\n  shrinker: convert superblock shrinkers to new API\n  list: add a new LRU list type\n  inode: convert inode lru list to generic lru list code.\n  dcache: convert to use new lru list infrastructure\n  list_lru: per-node list infrastructure\n  shrinker: add node awareness\n  fs: convert inode and dentry shrinking to be node aware\n  xfs: convert buftarg LRU to generic code\n  xfs: rework buffer dispose list tracking\n  xfs: convert dquot cache lru to list_lru\n  fs: convert fs shrinkers to new scan/count API\n  drivers: convert shrinkers to new count/scan API\n  shrinker: convert remaining shrinkers to count/scan API\n  shrinker: Kill old -\u003eshrink API.\n\nGlauber Costa (7):\n  fs: bump inode and dentry counters to long\n  super: fix calculation of shrinkable objects for small numbers\n  list_lru: per-node API\n  vmscan: per-node deferred work\n  i915: bail out earlier when shrinker cannot acquire mutex\n  hugepage: convert huge zero page shrinker to new shrinker API\n  list_lru: dynamically adjust node arrays\n\nThis patch:\n\nThere are situations in very large machines in which we can have a large\nquantity of dirty inodes, unused dentries, etc.  This is particularly true\nwhen umounting a filesystem, where eventually since every live object will\neventually be discarded.\n\nDave Chinner reported a problem with this while experimenting with the\nshrinker revamp patchset.  So we believe it is time for a change.  This\npatch just moves int to longs.  Machines where it matters should have a\nbig long anyway.\n\nSigned-off-by: Glauber Costa \u003cglommer@openvz.org\u003e\nCc: Dave Chinner \u003cdchinner@redhat.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: Arve Hjønnevåg \u003carve@android.com\u003e\nCc: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nCc: Dave Chinner \u003cdchinner@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: J. Bruce Fields \u003cbfields@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Jerome Glisse \u003cjglisse@redhat.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Kent Overstreet \u003ckoverstreet@google.com\u003e\nCc: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b05430fc9341fea7a6228a3611c850a476809596",
      "tree": "91bd662d269a3478db78d6a04a34901f0cfe521b",
      "parents": [
        "d0d272771035a36a7839bb70ab6ebae3f4f4960b",
        "48f5ec21d9c67e881ff35343988e290ef5cf933f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 10 12:44:24 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 10 12:44:24 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 3 (of many) from Al Viro:\n \"Waiman\u0027s conversion of d_path() and bits related to it,\n  kern_path_mountpoint(), several cleanups and fixes (exportfs\n  one is -stable fodder, IMO).\n\n  There definitely will be more...  ;-/\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  split read_seqretry_or_unlock(), convert d_walk() to resulting primitives\n  dcache: Translating dentry into pathname without taking rename_lock\n  autofs4 - fix device ioctl mount lookup\n  introduce kern_path_mountpoint()\n  rename user_path_umountat() to user_path_mountpoint_at()\n  take unlazy_walk() into umount_lookup_last()\n  Kill indirect include of file.h from eventfd.h, use fdget() in cgroup.c\n  prune_super(): sb-\u003es_op is never NULL\n  exportfs: don\u0027t assume that -\u003eiterate() won\u0027t feed us too long entries\n  afs: get rid of redundant -\u003ed_name.len checks\n"
    },
    {
      "commit": "7eb69529cbaf4229baf5559a400a7a46352c6e52",
      "tree": "e8d16dd5a5f5db83ed6f84439c1416e3a65f74ac",
      "parents": [
        "300893b08f3bc7057a7a5f84074090ba66c8b5ca",
        "a0a5a0561f63905fe94c49bc567615829f42ce1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 09 14:42:15 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 09 14:42:15 2013 -0700"
      },
      "message": "Merge tag \u0027trace-3.12\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace\n\nPull tracing updates from Steven Rostedt:\n \"Not much changes for the 3.12 merge window.  The major tracing changes\n  are still in flux, and will have to wait for 3.13.\n\n  The changes for 3.12 are mostly clean ups and minor fixes.\n\n  H Peter Anvin added a check to x86_32 static function tracing that\n  helps a small segment of the kernel community.\n\n  Oleg Nesterov had a few changes from 3.11, but were mostly clean ups\n  and not worth pushing in the -rc time frame.\n\n  Li Zefan had small clean up with annotating a raw_init with __init.\n\n  I fixed a slight race in updating function callbacks, but the race is\n  so small and the bug that happens when it occurs is so minor it\u0027s not\n  even worth pushing to stable.\n\n  The only real enhancement is from Alexander Z Lam that made the\n  tracing_cpumask work for trace buffer instances, instead of them all\n  sharing a global cpumask\"\n\n* tag \u0027trace-3.12\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:\n  ftrace/rcu: Do not trace debug_lockdep_rcu_enabled()\n  x86-32, ftrace: Fix static ftrace when early microcode is enabled\n  ftrace: Fix a slight race in modifying what function callback gets traced\n  tracing: Make tracing_cpumask available for all instances\n  tracing: Kill the !CONFIG_MODULES code in trace_events.c\n  tracing: Don\u0027t pass file_operations array to event_create_dir()\n  tracing: Kill trace_create_file_ops() and friends\n  tracing/syscalls: Annotate raw_init function with __init\n"
    },
    {
      "commit": "300893b08f3bc7057a7a5f84074090ba66c8b5ca",
      "tree": "5fc5aef0b9dbab8e47e161303d57e631786c7d17",
      "parents": [
        "45150c43b1b0c16e665fd0a5cdcca128b8192db1",
        "1d03c6fa88af35e55047a1f2ab116f0fdf2f55aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 09 11:19:09 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 09 11:19:09 2013 -0700"
      },
      "message": "Merge tag \u0027xfs-for-linus-v3.12-rc1\u0027 of git://oss.sgi.com/xfs/xfs\n\nPull xfs updates from Ben Myers:\n \"For 3.12-rc1 there are a number of bugfixes in addition to work to\n  ease usage of shared code between libxfs and the kernel, the rest of\n  the work to enable project and group quotas to be used simultaneously,\n  performance optimisations in the log and the CIL, directory entry file\n  type support, fixes for log space reservations, some spelling/grammar\n  cleanups, and the addition of user namespace support.\n\n   - introduce readahead to log recovery\n   - add directory entry file type support\n   - fix a number of spelling errors in comments\n   - introduce new Q_XGETQSTATV quotactl for project quotas\n   - add USER_NS support\n   - log space reservation rework\n   - CIL optimisations\n  - kernel/userspace libxfs rework\"\n\n* tag \u0027xfs-for-linus-v3.12-rc1\u0027 of git://oss.sgi.com/xfs/xfs: (112 commits)\n  xfs: XFS_MOUNT_QUOTA_ALL needed by userspace\n  xfs: dtype changed xfs_dir2_sfe_put_ino to xfs_dir3_sfe_put_ino\n  Fix wrong flag ASSERT in xfs_attr_shortform_getvalue\n  xfs: finish removing IOP_* macros.\n  xfs: inode log reservations are too small\n  xfs: check correct status variable for xfs_inobt_get_rec() call\n  xfs: inode buffers may not be valid during recovery readahead\n  xfs: check LSN ordering for v5 superblocks during recovery\n  xfs: btree block LSN escaping to disk uninitialised\n  XFS: Assertion failed: first \u003c\u003d last \u0026\u0026 last \u003c BBTOB(bp-\u003eb_length), file: fs/xfs/xfs_trans_buf.c, line: 568\n  xfs: fix bad dquot buffer size in log recovery readahead\n  xfs: don\u0027t account buffer cancellation during log recovery readahead\n  xfs: check for underflow in xfs_iformat_fork()\n  xfs: xfs_dir3_sfe_put_ino can be static\n  xfs: introduce object readahead to log recovery\n  xfs: Simplify xfs_ail_min() with list_first_entry_or_null()\n  xfs: Register hotcpu notifier after initialization\n  xfs: add xfs sb v4 support for dirent filetype field\n  xfs: Add write support for dirent filetype field\n  xfs: Add read-only support for dirent filetype field\n  ...\n"
    },
    {
      "commit": "4e10f3c98888ee88ea2543aa636db6410fa47477",
      "tree": "b54140b4a3db046bebc404ae57e61d9f1ca31b94",
      "parents": [
        "d040790391f292bbe5bc6b990c66af9787c855a1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 30 12:29:49 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Sep 07 19:54:57 2013 -0400"
      },
      "message": "Kill indirect include of file.h from eventfd.h, use fdget() in cgroup.c\n\nkernel/cgroup.c is the only place in the tree that relies on eventfd.h\npulling file.h; move that include there.  Switch from eventfd_fget()/fput()\nto fdget()/fdput(), while we are at it - eventfd_ctx_fileget() will fail\non non-eventfd descriptors just fine, no need to do that check twice...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c7c4591db64dbd1e504bc4e2806d7ef290a3c81b",
      "tree": "a2fb124f9760eec668d20541383e762822d7cc7b",
      "parents": [
        "11c7b03d42a847db90862d0f9d8be6ce9b2f0553",
        "c7b96acf1456ef127fef461fcfedb54b81fecfbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 07 14:35:32 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 07 14:35:32 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull namespace changes from Eric Biederman:\n \"This is an assorted mishmash of small cleanups, enhancements and bug\n  fixes.\n\n  The major theme is user namespace mount restrictions.  nsown_capable\n  is killed as it encourages not thinking about details that need to be\n  considered.  A very hard to hit pid namespace exiting bug was finally\n  tracked and fixed.  A couple of cleanups to the basic namespace\n  infrastructure.\n\n  Finally there is an enhancement that makes per user namespace\n  capabilities usable as capabilities, and an enhancement that allows\n  the per userns root to nice other processes in the user namespace\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:\n  userns:  Kill nsown_capable it makes the wrong thing easy\n  capabilities: allow nice if we are privileged\n  pidns: Don\u0027t have unshare(CLONE_NEWPID) imply CLONE_THREAD\n  userns: Allow PR_CAPBSET_DROP in a user namespace.\n  namespaces: Simplify copy_namespaces so it is clear what is going on.\n  pidns: Fix hang in zap_pid_ns_processes by sending a potentially extra wakeup\n  sysfs: Restrict mounting sysfs\n  userns: Better restrictions on when proc and sysfs can be mounted\n  vfs: Don\u0027t copy mount bind mounts of /proc/\u003cpid\u003e/ns/mnt between namespaces\n  kernel/nsproxy.c: Improving a snippet of code.\n  proc: Restrict mounting the proc filesystem\n  vfs: Lock in place mounts from more privileged users\n"
    },
    {
      "commit": "6be48f2940af9ea8d93c23a0dd8e322672c92efd",
      "tree": "1bdc85a9d3fd0c19e108ea27a29a83ef2b44f5d0",
      "parents": [
        "0ffb01d9def22f1954e99529b7e4ded497b2e88b",
        "68411521cc6055edc6274e03ab3210a5893533ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 07 14:31:18 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 07 14:31:18 2013 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto update from Herbert Xu:\n \"Here is the crypto update for 3.12:\n\n   - Added MODULE_SOFTDEP to allow pre-loading of modules.\n   - Reinstated crct10dif driver using the module softdep feature.\n   - Allow via rng driver to be auto-loaded.\n\n   - Split large input data when necessary in nx.\n   - Handle zero length messages correctly for GCM/XCBC in nx.\n   - Handle SHA-2 chunks bigger than block size properly in nx.\n\n   - Handle unaligned lengths in omap-aes.\n   - Added SHA384/SHA512 to omap-sham.\n   - Added OMAP5/AM43XX SHAM support.\n   - Added OMAP4 TRNG support.\n\n   - Misc fixes\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (66 commits)\n  Reinstate \"crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework\"\n  hwrng: via - Add MODULE_DEVICE_TABLE\n  crypto: fcrypt - Fix bitoperation for compilation with clang\n  crypto: nx - fix SHA-2 for chunks bigger than block size\n  crypto: nx - fix GCM for zero length messages\n  crypto: nx - fix XCBC for zero length messages\n  crypto: nx - fix limits to sg lists for AES-CCM\n  crypto: nx - fix limits to sg lists for AES-XCBC\n  crypto: nx - fix limits to sg lists for AES-GCM\n  crypto: nx - fix limits to sg lists for AES-CTR\n  crypto: nx - fix limits to sg lists for AES-CBC\n  crypto: nx - fix limits to sg lists for AES-ECB\n  crypto: nx - add offset to nx_build_sg_lists()\n  padata - Register hotcpu notifier after initialization\n  padata - share code between CPU_ONLINE and CPU_DOWN_FAILED, same to CPU_DOWN_PREPARE and CPU_UP_CANCELED\n  hwrng: omap - reorder OMAP TRNG driver code\n  crypto: omap-sham - correct dma burst size\n  crypto: omap-sham - Enable Polling mode if DMA fails\n  crypto: tegra-aes - bitwise vs logical and\n  crypto: sahara - checking the wrong variable\n  ...\n"
    },
    {
      "commit": "eeca9fad52fc4bfdf42c38bfcf383e932eb3e9d6",
      "tree": "cc51c880459d41c0e8d7576405bef4c987bc7aa0",
      "parents": [
        "ff6f83fc9d44db09997937c3475d525a6866fbb4",
        "b48a97be8e6c2afdba2f3b61fd88c3c7743fbd73"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Sep 07 12:53:35 2013 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Sep 07 12:53:35 2013 +1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux\n\nMerge upstream tree in order to reinstate crct10dif.\n"
    },
    {
      "commit": "2e515bf096c245ba87f20ab4b4ea20f911afaeda",
      "tree": "8ce40f811092844ea9da683804db6e2afa410808",
      "parents": [
        "22e04f6b4b04a8afe9af9239224591d06ba3b24d",
        "f8ea61e63442c25cbe6ddee48979b444f1f2a01c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 06 09:36:28 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 06 09:36:28 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree from Jiri Kosina:\n \"The usual trivial updates all over the tree -- mostly typo fixes and\n  documentation updates\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (52 commits)\n  doc: Documentation/cputopology.txt fix typo\n  treewide: Convert retrun typos to return\n  Fix comment typo for init_cma_reserved_pageblock\n  Documentation/trace: Correcting and extending tracepoint documentation\n  mm/hotplug: fix a typo in Documentation/memory-hotplug.txt\n  power: Documentation: Update s2ram link\n  doc: fix a typo in Documentation/00-INDEX\n  Documentation/printk-formats.txt: No casts needed for u64/s64\n  doc: Fix typo \"is is\" in Documentations\n  treewide: Fix printks with 0x%#\n  zram: doc fixes\n  Documentation/kmemcheck: update kmemcheck documentation\n  doc: documentation/hwspinlock.txt fix typo\n  PM / Hibernate: add section for resume options\n  doc: filesystems : Fix typo in Documentations/filesystems\n  scsi/megaraid fixed several typos in comments\n  ppc: init_32: Fix error typo \"CONFIG_START_KERNEL\"\n  treewide: Add __GFP_NOWARN to k.alloc calls with v.alloc fallbacks\n  page_isolation: Fix a comment typo in test_pages_isolated()\n  doc: fix a typo about irq affinity\n  ...\n"
    },
    {
      "commit": "57d730924d5cc2c3e280af16a9306587c3a511db",
      "tree": "78e4c6386f40bdaa1c3a9af869bcdc9b1a52818c",
      "parents": [
        "050ba07cdc9aaef17e1be251aa8fceb9a919d5d3",
        "5a8e01f8fa51f5cbce8f37acc050eb2319d12956"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 05 12:36:46 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 05 12:36:46 2013 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull cputime fix from Ingo Molnar:\n \"This fixes a longer-standing cputime accounting bug that Stanislaw\n  Gruszka finally managed to track down\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/cputime: Do not scale when utime \u003d\u003d 0\n"
    },
    {
      "commit": "45d9a2220f6004b47c362cc7fc7cf9a73cb6353a",
      "tree": "4e2217464c5cd71674a6ffff1f3dddaeb52556b7",
      "parents": [
        "2386a3b0fbb0c2dcf29694c7df9a72cb268458f0",
        "02afc27faec94c9e068517a22acf55400976c698"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 05 08:50:26 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 05 08:50:26 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"Unfortunately, this merge window it\u0027ll have a be a lot of small piles -\n  my fault, actually, for not keeping #for-next in anything that would\n  resemble a sane shape ;-/\n\n  This pile: assorted fixes (the first 3 are -stable fodder, IMO) and\n  cleanups + %pd/%pD formats (dentry/file pathname, up to 4 last\n  components) + several long-standing patches from various folks.\n\n  There definitely will be a lot more (starting with Miklos\u0027\n  check_submount_and_drop() series)\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (26 commits)\n  direct-io: Handle O_(D)SYNC AIO\n  direct-io: Implement generic deferred AIO completions\n  add formats for dentry/file pathnames\n  kvm eventfd: switch to fdget\n  powerpc kvm: use fdget\n  switch fchmod() to fdget\n  switch epoll_ctl() to fdget\n  switch copy_module_from_fd() to fdget\n  git simplify nilfs check for busy subtree\n  ibmasmfs: don\u0027t bother passing superblock when not needed\n  don\u0027t pass superblock to hypfs_{mkdir,create*}\n  don\u0027t pass superblock to hypfs_diag_create_files\n  don\u0027t pass superblock to hypfs_vm_create_files()\n  oprofile: get rid of pointless forward declarations of struct super_block\n  oprofilefs_create_...() do not need superblock argument\n  oprofilefs_mkdir() doesn\u0027t need superblock argument\n  don\u0027t bother with passing superblock to oprofile_create_stats_files()\n  oprofile: don\u0027t bother with passing superblock to -\u003ecreate_files()\n  don\u0027t bother passing sb to oprofile_create_files()\n  coh901318: don\u0027t open-code simple_read_from_buffer()\n  ...\n"
    },
    {
      "commit": "a0a5a0561f63905fe94c49bc567615829f42ce1e",
      "tree": "25b3136d404317ee0298a7387cc7afdd90f34089",
      "parents": [
        "af058ab04d3d11383e5159132fc78a3700be3af5"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Sat Aug 31 01:04:07 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Sep 05 09:31:33 2013 -0400"
      },
      "message": "ftrace/rcu: Do not trace debug_lockdep_rcu_enabled()\n\nThe function debug_lockdep_rcu_enabled() is part of the RCU lockdep\ndebugging, and is called very frequently. I found that if I enable\na lot of debugging and run the function graph tracer, this\nfunction can cause a live lock of the system.\n\nWe don\u0027t usually trace lockdep infrastructure, no need to trace\nthis either.\n\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ae7a835cc546fc67df90edaaa0c48ae2b22a29fe",
      "tree": "b1235437fde066ab0f272f164d75dc1b98a244cf",
      "parents": [
        "cf39c8e5352b4fb9efedfe7e9acb566a85ed847c",
        "6b9e4fa07443f5baf5bbd7ab043abd6976f8d7bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 18:15:06 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 18:15:06 2013 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Gleb Natapov:\n \"The highlights of the release are nested EPT and pv-ticketlocks\n  support (hypervisor part, guest part, which is most of the code, goes\n  through tip tree).  Apart of that there are many fixes for all arches\"\n\nFix up semantic conflicts as discussed in the pull request thread..\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (88 commits)\n  ARM: KVM: Add newlines to panic strings\n  ARM: KVM: Work around older compiler bug\n  ARM: KVM: Simplify tracepoint text\n  ARM: KVM: Fix kvm_set_pte assignment\n  ARM: KVM: vgic: Bump VGIC_NR_IRQS to 256\n  ARM: KVM: Bugfix: vgic_bytemap_get_reg per cpu regs\n  ARM: KVM: vgic: fix GICD_ICFGRn access\n  ARM: KVM: vgic: simplify vgic_get_target_reg\n  KVM: MMU: remove unused parameter\n  KVM: PPC: Book3S PR: Rework kvmppc_mmu_book3s_64_xlate()\n  KVM: PPC: Book3S PR: Make instruction fetch fallback work for system calls\n  KVM: PPC: Book3S PR: Don\u0027t corrupt guest state when kernel uses VMX\n  KVM: x86: update masterclock when kvmclock_offset is calculated (v2)\n  KVM: PPC: Book3S: Fix compile error in XICS emulation\n  KVM: PPC: Book3S PR: return appropriate error when allocation fails\n  arch: powerpc: kvm: add signed type cast for comparation\n  KVM: x86: add comments where MMIO does not return to the emulator\n  KVM: vmx: count exits to userspace during invalid guest emulation\n  KVM: rename __kvm_io_bus_sort_cmp to kvm_io_bus_cmp\n  kvm: optimize away THP checks in kvm_is_mmio_pfn()\n  ...\n"
    },
    {
      "commit": "3398d252a4da80c47fe9b802184fa0a792387732",
      "tree": "3def3b476b597487193718508f5644a6075a736f",
      "parents": [
        "27703bb4a66df49ff16b44b864d307d2eb71774c",
        "942e443127e928a5631c3d5102aca8c8b3c2dd98"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 17:34:29 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 17:34:29 2013 -0700"
      },
      "message": "Merge tag \u0027modules-next-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux\n\nPull module updates from Rusty Russell:\n \"Minor fixes mainly, including a potential use-after-free on remove\n  found by CONFIG_DEBUG_KOBJECT_RELEASE which may be theoretical\"\n\n* tag \u0027modules-next-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:\n  module: Fix mod-\u003emkobj.kobj potentially freed too early\n  kernel/params.c: use scnprintf() instead of sprintf()\n  kernel/module.c: use scnprintf() instead of sprintf()\n  module/lsm: Have apparmor module parameters work with no args\n  module: Add NOARG flag for ops with param_set_bool_enable_only() set function\n  module: Add flag to allow mod params to have no arguments\n  modules: add support for soft module dependencies\n  scripts/mod/modpost.c: permit \u0027.cranges\u0027 secton for sh64 architecture.\n  module: fix sprintf format specifier in param_get_byte()\n"
    },
    {
      "commit": "816434ec4a674fcdb3c2221a6dffdc8f34020550",
      "tree": "6b8a319171270b20bf1b2e1c98d333f47988553a",
      "parents": [
        "f357a82048ff1e5645861475b014570e11ad1911",
        "36bd621337c91a1ecda588e5bbbae8dd9698bae7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 11:55:10 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 11:55:10 2013 -0700"
      },
      "message": "Merge branch \u0027x86-spinlocks-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 spinlock changes from Ingo Molnar:\n \"The biggest change here are paravirtualized ticket spinlocks (PV\n  spinlocks), which bring a nice speedup on various benchmarks.\n\n  The KVM host side will come to you via the KVM tree\"\n\n* \u0027x86-spinlocks-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/kvm/guest: Fix sparse warning: \"symbol \u0027klock_waiting\u0027 was not declared as static\"\n  kvm: Paravirtual ticketlocks support for linux guests running on KVM hypervisor\n  kvm guest: Add configuration support to enable debug information for KVM Guests\n  kvm uapi: Add KICK_CPU and PV_UNHALT definition to uapi\n  xen, pvticketlock: Allow interrupts to be enabled while blocking\n  x86, ticketlock: Add slowpath logic\n  jump_label: Split jumplabel ratelimit\n  x86, pvticketlock: When paravirtualizing ticket locks, increment by 2\n  x86, pvticketlock: Use callee-save for lock_spinning\n  xen, pvticketlocks: Add xen_nopvspin parameter to disable xen pv ticketlocks\n  xen, pvticketlock: Xen implementation for PV ticket locks\n  xen: Defer spinlock setup until boot CPU setup\n  x86, ticketlock: Collapse a layer of functions\n  x86, ticketlock: Don\u0027t inline _spin_unlock when using paravirt spinlocks\n  x86, spinlock: Replace pv spinlocks with pv ticketlocks\n"
    },
    {
      "commit": "6832d9652f395f7d13003e3884942c40f52ac1fa",
      "tree": "40555ad5eda9700cb973dac4db136ad97f5e8b19",
      "parents": [
        "228abe73ad67665d71eacd6a8a347dd76b0115ae",
        "c2e7fcf53c3cb02b4ada1c66a9bc8a4d97d58aba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 09:36:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 09:36:54 2013 -0700"
      },
      "message": "Merge branch \u0027timers-nohz-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timers/nohz changes from Ingo Molnar:\n \"It mostly contains fixes and full dynticks off-case optimizations, by\n  Frederic Weisbecker\"\n\n* \u0027timers-nohz-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  nohz: Include local CPU in full dynticks global kick\n  nohz: Optimize full dynticks\u0027s sched hooks with static keys\n  nohz: Optimize full dynticks state checks with static keys\n  nohz: Rename a few state variables\n  vtime: Always debug check snapshot source _before_ updating it\n  vtime: Always scale generic vtime accounting results\n  vtime: Optimize full dynticks accounting off case with static keys\n  vtime: Describe overriden functions in dedicated arch headers\n  m68k: hardirq_count() only need preempt_mask.h\n  hardirq: Split preempt count mask definitions\n  context_tracking: Split low level state headers\n  vtime: Fix racy cputime delta update\n  vtime: Remove a few unneeded generic vtime state checks\n  context_tracking: User/kernel broundary cross trace events\n  context_tracking: Optimize context switch off case with static keys\n  context_tracking: Optimize guest APIs off case with static key\n  context_tracking: Optimize main APIs off case with static key\n  context_tracking: Ground setup for static key use\n  context_tracking: Remove full dynticks\u0027 hacky dependency on wide context tracking\n  nohz: Only enable context tracking on full dynticks CPUs\n  ...\n"
    },
    {
      "commit": "2a475501b81f06f64c474cfad66f8807294b4534",
      "tree": "e189fbd7807a222b7012754c1aaf4ad15ab9c728",
      "parents": [
        "3d7e5fc37f91c3ad4974262e173d9ba36139652a",
        "eb86b5fd505cb97743d84226140cf247d91a2f03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:42:44 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:42:44 2013 -0700"
      },
      "message": "Merge branch \u0027x86-asmlinkage-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86/asmlinkage changes from Ingo Molnar:\n \"As a preparation for Andi Kleen\u0027s LTO patchset (link time\n  optimizations using GCC\u0027s -flto which build time optimization has\n  steadily increased in quality over the past few years and might\n  eventually be usable for the kernel too) this tree includes a handful\n  of preparatory patches that make function calling convention\n  annotations consistent again:\n\n   - Mark every function without arguments (or 64bit only) that is used\n     by assembly code with asmlinkage()\n\n   - Mark every function with parameters or variables that is used by\n     assembly code as __visible.\n\n  For the vanilla kernel this has documentation, consistency and\n  debuggability advantages, for the time being\"\n\n* \u0027x86-asmlinkage-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/asmlinkage: Fix warning in xen asmlinkage change\n  x86, asmlinkage, vdso: Mark vdso variables __visible\n  x86, asmlinkage, power: Make various symbols used by the suspend asm code visible\n  x86, asmlinkage: Make dump_stack visible\n  x86, asmlinkage: Make 64bit checksum functions visible\n  x86, asmlinkage, paravirt: Add __visible/asmlinkage to xen paravirt ops\n  x86, asmlinkage, apm: Make APM data structure used from assembler visible\n  x86, asmlinkage: Make syscall tables visible\n  x86, asmlinkage: Make several variables used from assembler/linker script visible\n  x86, asmlinkage: Make kprobes code visible and fix assembler code\n  x86, asmlinkage: Make various syscalls asmlinkage\n  x86, asmlinkage: Make 32bit/64bit __switch_to visible\n  x86, asmlinkage: Make _*_start_kernel visible\n  x86, asmlinkage: Make all interrupt handlers asmlinkage / __visible\n  x86, asmlinkage: Change dotraplinkage into __visible on 32bit\n  x86: Fix sys_call_table type in asm/syscall.h\n"
    },
    {
      "commit": "5e0b3a4e88012d259e8b2c0f02f393c79686daf9",
      "tree": "1c6d7be145a7cce77996049eb78877ed95e87a4f",
      "parents": [
        "0d99b7087324978b09b59d8c7a0736214c4a42b1",
        "10866e62e8a6907d9072f10f9a0561db0c0cf50b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:36:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:36:35 2013 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"Various optimizations, cleanups and smaller fixes - no major changes\n  in scheduler behavior\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/fair: Fix the sd_parent_degenerate() code\n  sched/fair: Rework and comment the group_imb code\n  sched/fair: Optimize find_busiest_queue()\n  sched/fair: Make group power more consistent\n  sched/fair: Remove duplicate load_per_task computations\n  sched/fair: Shrink sg_lb_stats and play memset games\n  sched: Clean-up struct sd_lb_stat\n  sched: Factor out code to should_we_balance()\n  sched: Remove one division operation in find_busiest_queue()\n  sched/cputime: Use this_cpu_add() in task_group_account_field()\n  cpumask: Fix cpumask leak in partition_sched_domains()\n  sched/x86: Optimize switch_mm() for multi-threaded workloads\n  generic-ipi: Kill unnecessary variable - csd_flags\n  numa: Mark __node_set() as __always_inline\n  sched/fair: Cleanup: remove duplicate variable declaration\n  sched/__wake_up_sync_key(): Fix nr_exclusive tasks which lead to WF_SYNC clearing\n"
    },
    {
      "commit": "0d99b7087324978b09b59d8c7a0736214c4a42b1",
      "tree": "508585a8df290709e923c6a33548343e48c24ca2",
      "parents": [
        "4689550bb278cb142979c313a0d608e802c6711b",
        "ae23bff1d71f8b416ed740bc458df67355c77c92",
        "61bf86ad86443a710ae7eed372cccb8ed5038eda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:25:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:25:35 2013 -0700"
      },
      "message": "Merge branches \u0027perf-urgent-for-linus\u0027 and \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf changes from Ingo Molnar:\n \"As a first remark I\u0027d like to point out that the obsolete \u0027-f\u0027\n  (--force) option, which has not done anything for several releases,\n  has been removed from \u0027perf record\u0027 and related utilities.  Everyone\n  please update muscle memory accordingly! :-)\n\n  Main changes on the perf kernel side:\n\n   - Performance optimizations:\n        . for trace events, by Steve Rostedt.\n        . for time values, by Peter Zijlstra\n\n   - New hardware support:\n        . for Intel Silvermont (22nm Atom) CPUs, by Zheng Yan\n        . for Intel SNB-EP uncore PMUs, by Zheng Yan\n\n   - Enhanced hardware support:\n        . for Intel uncore PMUs: add filter support for QPI boxes, by Zheng Yan\n\n   - Core perf events code enhancements and fixes:\n        . for full-nohz feature handling, by Frederic Weisbecker\n        . for group events, by Jiri Olsa\n        . for call chains, by Frederic Weisbecker\n        . for event stream parsing, by Adrian Hunter\n\n   - New ABI details:\n        . Add attr-\u003emmap2 attribute, by Stephane Eranian\n        . Add PERF_EVENT_IOC_ID ioctl to return event ID, by Jiri Olsa\n        . Export u64 time_zero on the mmap header page to allow TSC\n          calculation, by Adrian Hunter\n        . Add dummy software event, by Adrian Hunter.\n        . Add a new PERF_SAMPLE_IDENTIFIER to make samples always\n          parseable, by Adrian Hunter.\n        . Make Power7 events available via sysfs, by Runzhen Wang.\n\n   - Code cleanups and refactorings:\n        . for nohz-full, by Frederic Weisbecker\n        . for group events, by Jiri Olsa\n\n   - Documentation updates:\n        . for perf_event_type, by Peter Zijlstra\n\n  Main changes on the perf tooling side (some of these tooling changes\n  utilize the above kernel side changes):\n\n   - Lots of \u0027perf trace\u0027 enhancements:\n\n        . Make \u0027perf trace\u0027 command line arguments consistent with\n          \u0027perf record\u0027, by David Ahern.\n\n        . Allow specifying syscalls a la strace, by Arnaldo Carvalho de Melo.\n\n        . Add --verbose and -o/--output options, by Arnaldo Carvalho de Melo.\n\n        . Support ! in -e expressions, to filter a list of syscalls,\n          by Arnaldo Carvalho de Melo.\n\n        . Arg formatting improvements to allow masking arguments in\n          syscalls such as futex and open, where the some arguments are\n          ignored and thus should not be printed depending on other args,\n          by Arnaldo Carvalho de Melo.\n\n        . Beautify futex open, openat, open_by_handle_at, lseek and futex\n          syscalls, by Arnaldo Carvalho de Melo.\n\n        . Add option to analyze events in a file versus live, so that\n          one can do:\n\n           [root@zoo ~]# perf record -a -e raw_syscalls:* sleep 1\n           [ perf record: Woken up 0 times to write data ]\n           [ perf record: Captured and wrote 25.150 MB perf.data (~1098836 samples) ]\n           [root@zoo ~]# perf trace -i perf.data -e futex --duration 1\n              17.799 ( 1.020 ms): 7127 futex(uaddr: 0x7fff3f6c6674, op: 393, val: 1, utime: 0x7fff3f6c6470, ua\n             113.344 (95.429 ms): 7127 futex(uaddr: 0x7fff3f6c6674, op: 393, val: 1, utime: 0x7fff3f6c6470, uaddr2: 0x7fff3f6c6648, val3: 4294967\n             133.778 ( 1.042 ms): 18004 futex(uaddr: 0x7fff3f6c6674, op: 393, val: 1, utime: 0x7fff3f6c6470, uaddr2: 0x7fff3f6c6648, val3: 429496\n           [root@zoo ~]#\n\n          By David Ahern.\n\n        . Honor target pid / tid options when analyzing a file, by David Ahern.\n\n        . Introduce better formatting of syscall arguments, including so\n          far beautifiers for mmap, madvise, syscall return values,\n          by Arnaldo Carvalho de Melo.\n\n        . Handle HUGEPAGE defines in the mmap beautifier, by David Ahern.\n\n   - \u0027perf report/top\u0027 enhancements:\n\n        . Do annotation using /proc/kcore and /proc/kallsyms when\n          available, removing the forced need for a vmlinux file kernel\n          assembly annotation. This also improves this use case because\n          vmlinux has just the initial kernel image, not what is actually\n          in use after various code patchings by things like alternatives.\n          By Adrian Hunter.\n\n        . Add --ignore-callees\u003d\u003cregex\u003e option to collapse undesired parts\n          of call graphs, by Greg Price.\n\n        . Simplify symbol filtering by doing it at machine class level,\n          by Adrian Hunter.\n\n        . Add support for callchains in the gtk UI, by Namhyung Kim.\n\n        . Add --objdump option to \u0027perf top\u0027, by Sukadev Bhattiprolu.\n\n   - \u0027perf kvm\u0027 enhancements:\n\n        . Add option to print only events that exceed a specified time\n          duration, by David Ahern.\n\n        . Improve stack trace printing, by David Ahern.\n\n        . Update documentation of the live command, by David Ahern\n\n        . Add perf kvm stat live mode that combines aspects of \u0027perf kvm\n          stat\u0027 record and report, by David Ahern.\n\n        . Add option to analyze specific VM in perf kvm stat report, by\n          David Ahern.\n\n        . Do not require /lib/modules/* on a guest, by Jason Wessel.\n\n   - \u0027perf script\u0027 enhancements:\n\n        . Fix symbol offset computation for some dsos, by David Ahern.\n\n        . Fix named threads support, by David Ahern.\n\n        . Don\u0027t install scripting files files when perl/python support\n          is disabled, by Arnaldo Carvalho de Melo.\n\n   - \u0027perf test\u0027 enhancements:\n\n        . Add various improvements and fixes to the \"vmlinux matches\n          kallsyms\" \u0027perf test\u0027 entry, related to the /proc/kcore\n          annotation feature. By Adrian Hunter.\n\n        . Add sample parsing test, by Adrian Hunter.\n\n        . Add test for reading object code, by Adrian Hunter.\n\n        . Add attr record group sampling test, by Jiri Olsa.\n\n        . Misc testing infrastructure improvements and other details,\n          by Jiri Olsa.\n\n   - \u0027perf list\u0027 enhancements:\n\n        . Skip unsupported hardware events, by Namhyung Kim.\n\n        . List pmu events, by Andi Kleen.\n\n   - \u0027perf diff\u0027 enhancements:\n\n        . Add support for more than two files comparison, by Jiri Olsa.\n\n   - \u0027perf sched\u0027 enhancements:\n\n        . Various improvements, including removing reliance on some\n          scheduler tracepoints that provide the same information as the\n          PERF_RECORD_{FORK,EXIT} events. By David Ahern.\n\n        . Remove odd build stall by moving a large struct initialization\n          from a local variable to a global one, by Namhyung Kim.\n\n   - \u0027perf stat\u0027 enhancements:\n\n        . Add --initial-delay option to skip measuring for a defined\n          startup phase, by Andi Kleen.\n\n   - Generic perf tooling infrastructure/plumbing changes:\n\n        . Tidy up sample parsing validation, by Adrian Hunter.\n\n        . Fix up jobserver setup in libtraceevent Makefile.\n          by Arnaldo Carvalho de Melo.\n\n        . Debug improvements, by Adrian Hunter.\n\n        . Fix correlation of samples coming after PERF_RECORD_EXIT event,\n          by David Ahern.\n\n        . Improve robustness of the topology parsing code,\n          by Stephane Eranian.\n\n        . Add group leader sampling, that allows just one event in a group\n          to sample while the other events have just its values read,\n          by Jiri Olsa.\n\n        . Add support for a new modifier \"D\", which requests that the\n          event, or group of events, be pinned to the PMU.\n          By Michael Ellerman.\n\n        . Support callchain sorting based on addresses, by Andi Kleen\n\n        . Prep work for multi perf data file storage, by Jiri Olsa.\n\n        . libtraceevent cleanups, by Namhyung Kim.\n\n  And lots and lots of other fixes and code reorganizations that did not\n  make it into the list, see the shortlog, diffstat and the Git log for\n  details!\"\n\n[ Also merge a leftover from the 3.11 cycle ]\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Prevent race in unthrottling code\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (237 commits)\n  perf trace: Tell arg formatters the arg index\n  perf trace: Add beautifier for open\u0027s flags arg\n  perf trace: Add beautifier for lseek\u0027s whence arg\n  perf tools: Fix symbol offset computation for some dsos\n  perf list: Skip unsupported events\n  perf tests: Add \u0027keep tracking\u0027 test\n  perf tools: Add support for PERF_COUNT_SW_DUMMY\n  perf: Add a dummy software event to keep tracking\n  perf trace: Add beautifier for futex \u0027operation\u0027 parm\n  perf trace: Allow syscall arg formatters to mask args\n  perf: Convert kmalloc_node(...GFP_ZERO...) to kzalloc_node()\n  perf: Export struct perf_branch_entry to userspace\n  perf: Add attr-\u003emmap2 attribute to an event\n  perf/x86: Add Silvermont (22nm Atom) support\n  perf/x86: use INTEL_UEVENT_EXTRA_REG to define MSR_OFFCORE_RSP_X\n  perf trace: Handle missing HUGEPAGE defines\n  perf trace: Honor target pid / tid options when analyzing a file\n  perf trace: Add option to analyze events in a file versus live\n  perf evlist: Add tracepoint lookup by name\n  perf tests: Add a sample parsing test\n  ...\n"
    },
    {
      "commit": "4689550bb278cb142979c313a0d608e802c6711b",
      "tree": "f8776c28f1328ab4077132c636c2706f12c793aa",
      "parents": [
        "b854e4de0bf88d094476af82c0d5a80f6f2af916",
        "15e71911fcc655508e02f767a3d9b8b138051d2b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:18:19 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:18:19 2013 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core/locking changes from Ingo Molnar:\n \"Main changes:\n\n   - another mutex optimization, from Davidlohr Bueso\n\n   - improved lglock lockdep tracking, from Michel Lespinasse\n\n   - [ assorted smaller updates, improvements, cleanups. ]\"\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  generic-ipi/locking: Fix misleading smp_call_function_any() description\n  hung_task debugging: Print more info when reporting the problem\n  mutex: Avoid label warning when !CONFIG_MUTEX_SPIN_ON_OWNER\n  mutex: Do not unnecessarily deal with waiters\n  mutex: Fix/document access-once assumption in mutex_can_spin_on_owner()\n  lglock: Update lockdep annotations to report recursive local locks\n  lockdep: Introduce lock_acquire_exclusive()/shared() helper macros\n"
    },
    {
      "commit": "b854e4de0bf88d094476af82c0d5a80f6f2af916",
      "tree": "6e9b0a9f28468b043bd395fd816c4b44d4ac8f58",
      "parents": [
        "458c3f60ef12996d5a5b390260a5112bb1da1615",
        "7d992feb7694a21ee81f22894b455dadd5d1c110"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:17:12 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 04 08:17:12 2013 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU updates from Ingo Molnar:\n \"Main RCU changes this cycle were:\n\n   - Full-system idle detection.  This is for use by Frederic\n     Weisbecker\u0027s adaptive-ticks mechanism.  Its purpose is to allow the\n     timekeeping CPU to shut off its tick when all other CPUs are idle.\n\n   - Miscellaneous fixes.\n\n   - Improved rcutorture test coverage.\n\n   - Updated RCU documentation\"\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)\n  nohz_full: Force RCU\u0027s grace-period kthreads onto timekeeping CPU\n  nohz_full: Add full-system-idle state machine\n  jiffies: Avoid undefined behavior from signed overflow\n  rcu: Simplify _rcu_barrier() processing\n  rcu: Make rcutorture emit online failures if verbose\n  rcu: Remove unused variable from rcu_torture_writer()\n  rcu: Sort rcutorture module parameters\n  rcu: Increase rcutorture test coverage\n  rcu: Add duplicate-callback tests to rcutorture\n  doc: Fix memory-barrier control-dependency example\n  rcu: Update RTFP documentation\n  nohz_full: Add full-system-idle arguments to API\n  nohz_full: Add full-system idle states and variables\n  nohz_full: Add per-CPU idle-state tracking\n  nohz_full: Add rcu_dyntick data for scalable detection of all-idle state\n  nohz_full: Add Kconfig parameter for scalable detection of all-idle state\n  nohz_full: Add testing information to documentation\n  rcu: Eliminate unused APIs intended for adaptive ticks\n  rcu: Select IRQ_WORK from TREE_PREEMPT_RCU\n  rculist: list_first_or_null_rcu() should use list_entry_rcu()\n  ...\n"
    },
    {
      "commit": "5a8e01f8fa51f5cbce8f37acc050eb2319d12956",
      "tree": "01173781a3b8ea5583cc7d256e8c476c48aab1a9",
      "parents": [
        "c2e7fcf53c3cb02b4ada1c66a9bc8a4d97d58aba"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Wed Sep 04 15:16:03 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Sep 04 16:31:25 2013 +0200"
      },
      "message": "sched/cputime: Do not scale when utime \u003d\u003d 0\n\nscale_stime() silently assumes that stime \u003c rtime, otherwise\nwhen stime \u003d\u003d rtime and both values are big enough (operations\non them do not fit in 32 bits), the resulting scaling stime can\nbe bigger than rtime. In consequence utime \u003d rtime - stime\nresults in negative value.\n\nUser space visible symptoms of the bug are overflowed TIME\nvalues on ps/top, for example:\n\n $ ps aux | grep rcu\n root         8  0.0  0.0      0     0 ?        S    12:42   0:00 [rcuc/0]\n root         9  0.0  0.0      0     0 ?        S    12:42   0:00 [rcub/0]\n root        10 62422329  0.0  0     0 ?        R    12:42 21114581:37 [rcu_preempt]\n root        11  0.1  0.0      0     0 ?        S    12:42   0:02 [rcuop/0]\n root        12 62422329  0.0  0     0 ?        S    12:42 21114581:35 [rcuop/1]\n root        10 62422329  0.0  0     0 ?        R    12:42 21114581:37 [rcu_preempt]\n\nor overflowed utime values read directly from /proc/$PID/stat\n\nReference:\n\n  https://lkml.org/lkml/2013/8/20/259\n\nReported-and-tested-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: stable@vger.kernel.org\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nLink: http://lkml.kernel.org/r/20130904131602.GC2564@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a2e0578be3652406b2ffd2eeb31cdbdffa325d64",
      "tree": "e2e4897fa737c6398c318c99817b44996e85f724",
      "parents": [
        "e95c311e170afc987f87423087f5c7974357f1c8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 30 12:41:41 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 03 23:04:44 2013 -0400"
      },
      "message": "switch copy_module_from_fd() to fdget\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "32dad03d164206ea886885d0740284ba215b0970",
      "tree": "5fd89fe27295bfbe47dce5f274aa645099741a71",
      "parents": [
        "357397a14117f0c2eeafcac06a1f8412a02aa6af",
        "d1625964da51bda61306ad3ec45307a799c21f08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 18:25:03 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 18:25:03 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.12\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup updates from Tejun Heo:\n \"A lot of activities on the cgroup front.  Most changes aren\u0027t visible\n  to userland at all at this point and are laying foundation for the\n  planned unified hierarchy.\n\n   - The biggest change is decoupling the lifetime management of css\n     (cgroup_subsys_state) from that of cgroup\u0027s.  Because controllers\n     (cpu, memory, block and so on) will need to be dynamically enabled\n     and disabled, css which is the association point between a cgroup\n     and a controller may come and go dynamically across the lifetime of\n     a cgroup.  Till now, css\u0027s were created when the associated cgroup\n     was created and stayed till the cgroup got destroyed.\n\n     Assumptions around this tight coupling permeated through cgroup\n     core and controllers.  These assumptions are gradually removed,\n     which consists bulk of patches, and css destruction path is\n     completely decoupled from cgroup destruction path.  Note that\n     decoupling of creation path is relatively easy on top of these\n     changes and the patchset is pending for the next window.\n\n   - cgroup has its own event mechanism cgroup.event_control, which is\n     only used by memcg.  It is overly complex trying to achieve high\n     flexibility whose benefits seem dubious at best.  Going forward,\n     new events will simply generate file modified event and the\n     existing mechanism is being made specific to memcg.  This pull\n     request contains prepatory patches for such change.\n\n   - Various fixes and cleanups\"\n\nFixed up conflict in kernel/cgroup.c as per Tejun.\n\n* \u0027for-3.12\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (69 commits)\n  cgroup: fix cgroup_css() invocation in css_from_id()\n  cgroup: make cgroup_write_event_control() use css_from_dir() instead of __d_cgrp()\n  cgroup: make cgroup_event hold onto cgroup_subsys_state instead of cgroup\n  cgroup: implement CFTYPE_NO_PREFIX\n  cgroup: make cgroup_css() take cgroup_subsys * instead and allow NULL subsys\n  cgroup: rename cgroup_css_from_dir() to css_from_dir() and update its syntax\n  cgroup: fix cgroup_write_event_control()\n  cgroup: fix subsystem file accesses on the root cgroup\n  cgroup: change cgroup_from_id() to css_from_id()\n  cgroup: use css_get() in cgroup_create() to check CSS_ROOT\n  cpuset: remove an unncessary forward declaration\n  cgroup: RCU protect each cgroup_subsys_state release\n  cgroup: move subsys file removal to kill_css()\n  cgroup: factor out kill_css()\n  cgroup: decouple cgroup_subsys_state destruction from cgroup destruction\n  cgroup: replace cgroup-\u003ecss_kill_cnt with -\u003enr_css\n  cgroup: bounce cgroup_subsys_state ref kill confirmation to a work item\n  cgroup: move cgroup-\u003esubsys[] assignment to online_css()\n  cgroup: reorganize css init / exit paths\n  cgroup: add __rcu modifier to cgroup-\u003esubsys[]\n  ...\n"
    },
    {
      "commit": "9ee52a1633a77961cb7b7fb5bd40be682f8412c7",
      "tree": "2b45df88a77cca6eaeac414653a852c3905dd514",
      "parents": [
        "96d4e231d25e3d7d8b7a2a9267043eac5d4560a8",
        "546d30c4a2e61a53d408e5f40d01278f144bb0f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 18:19:21 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 18:19:21 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.12\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue updates from Tejun Heo:\n \"Nothing interesting.  All are doc / comment updates\"\n\n* \u0027for-3.12\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: Correct/Drop references to gcwq in Documentation\n  workqueue: Fix manage_workers() RETURNS description\n  workqueue: Comment correction in file header\n  workqueue: mark WQ_NON_REENTRANT deprecated\n"
    },
    {
      "commit": "59338f754a55f07857342dbcd81652a4f091d72f",
      "tree": "d060266252fcf0dd8fbb399d6c3f26aab6be756e",
      "parents": [
        "ccfe9e42e451232dd17a230d1b4e979c3d15311e"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Sat Aug 31 01:04:07 2013 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Sep 03 19:36:26 2013 -0400"
      },
      "message": "ftrace: Fix a slight race in modifying what function callback gets traced\n\nThere\u0027s a slight race when going from a list function to a non list\nfunction. That is, when only one callback is registered to the function\ntracer, it gets called directly by the mcount trampoline. But if this\nfunction has filters, it may be called by the wrong functions.\n\nAs the list ops callback that handles multiple callbacks that are\nregistered to ftrace, it also handles what functions they call. While\nthe transaction is taking place, use the list function always, and\nafter all the updates are finished (only the functions that should be\ntraced are being traced), then we can update the trampoline to call\nthe function directly.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "40031da445fb4d269af9c7c445b2adf674f171e7",
      "tree": "021df7906708e939dee9978669a5461b12ff1296",
      "parents": [
        "dcaaaeac871ff73043c616db3b2f91482637801d",
        "f41b83126cba53849dd2353476a7715613af648f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 15:59:39 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 15:59:39 2013 -0700"
      },
      "message": "Merge tag \u0027pm+acpi-3.12-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull ACPI and power management updates from Rafael Wysocki:\n\n 1) ACPI-based PCI hotplug (ACPIPHP) subsystem rework and introduction\n    of Intel Thunderbolt support on systems that use ACPI for signalling\n    Thunderbolt hotplug events.  This also should make ACPIPHP work in\n    some cases in which it was known to have problems.  From\n    Rafael J Wysocki, Mika Westerberg and Kirill A Shutemov.\n\n 2) ACPI core code cleanups and dock station support cleanups from\n    Jiang Liu and Rafael J Wysocki.\n\n 3) Fixes for locking problems related to ACPI device hotplug from\n    Rafael J Wysocki.\n\n 4) ACPICA update to version 20130725 includig fixes, cleanups, support\n    for more than 256 GPEs per GPE block and a change to make the ACPI\n    PM Timer optional (we\u0027ve seen systems without the PM Timer in the\n    field already).  One of the fixes, related to the DeRefOf operator,\n    is necessary to prevent some Windows 8 oriented AML from causing\n    problems to happen.  From Bob Moore, Lv Zheng, and Jung-uk Kim.\n\n 5) Removal of the old and long deprecated /proc/acpi/event interface\n    and related driver changes from Thomas Renninger.\n\n 6) ACPI and Xen changes to make the reduced hardware sleep work with\n    the latter from Ben Guthro.\n\n 7) ACPI video driver cleanups and a blacklist of systems that should\n    not tell the BIOS that they are compatible with Windows 8 (or ACPI\n    backlight and possibly other things will not work on them).  From\n    Felipe Contreras.\n\n 8) Assorted ACPI fixes and cleanups from Aaron Lu, Hanjun Guo,\n    Kuppuswamy Sathyanarayanan, Lan Tianyu, Sachin Kamat, Tang Chen,\n    Toshi Kani, and Wei Yongjun.\n\n 9) cpufreq ondemand governor target frequency selection change to\n    reduce oscillations between min and max frequencies (essentially,\n    it causes the governor to choose target frequencies proportional\n    to load) from Stratos Karafotis.\n\n10) cpufreq fixes allowing sysfs attributes file permissions to be\n    preserved over suspend/resume cycles Srivatsa S Bhat.\n\n11) Removal of Device Tree parsing for CPU device nodes from multiple\n    cpufreq drivers that required some changes related to\n    of_get_cpu_node() to be made in a few architectures and in the\n    driver core.  From Sudeep KarkadaNagesha.\n\n12) cpufreq core fixes and cleanups related to mutual exclusion and\n    driver module references from Viresh Kumar, Lukasz Majewski and\n    Rafael J Wysocki.\n\n13) Assorted cpufreq fixes and cleanups from Amit Daniel Kachhap,\n    Bartlomiej Zolnierkiewicz, Hanjun Guo, Jingoo Han, Joseph Lo,\n    Julia Lawall, Li Zhong, Mark Brown, Sascha Hauer, Stephen Boyd,\n    Stratos Karafotis, and Viresh Kumar.\n\n14) Fixes to prevent race conditions in coupled cpuidle from happening\n    from Colin Cross.\n\n15) cpuidle core fixes and cleanups from Daniel Lezcano and\n    Tuukka Tikkanen.\n\n16) Assorted cpuidle fixes and cleanups from Daniel Lezcano,\n    Geert Uytterhoeven, Jingoo Han, Julia Lawall, Linus Walleij,\n    and Sahara.\n\n17) System sleep tracing changes from Todd E Brandt and Shuah Khan.\n\n18) PNP subsystem conversion to using struct dev_pm_ops for power\n    management from Shuah Khan.\n\n* tag \u0027pm+acpi-3.12-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (217 commits)\n  cpufreq: Don\u0027t use smp_processor_id() in preemptible context\n  cpuidle: coupled: fix race condition between pokes and safe state\n  cpuidle: coupled: abort idle if pokes are pending\n  cpuidle: coupled: disable interrupts after entering safe state\n  ACPI / hotplug: Remove containers synchronously\n  driver core / ACPI: Avoid device hot remove locking issues\n  cpufreq: governor: Fix typos in comments\n  cpufreq: governors: Remove duplicate check of target freq in supported range\n  cpufreq: Fix timer/workqueue corruption due to double queueing\n  ACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT\n  ACPI / thermal: Add check of \"_TZD\" availability and evaluating result\n  cpufreq: imx6q: Fix clock enable balance\n  ACPI: blacklist win8 OSI for buggy laptops\n  cpufreq: tegra: fix the wrong clock name\n  cpuidle: Change struct menu_device field types\n  cpuidle: Add a comment warning about possible overflow\n  cpuidle: Fix variable domains in get_typical_interval()\n  cpuidle: Fix menu_device-\u003eintervals type\n  cpuidle: CodingStyle: Break up multiple assignments on single line\n  cpuidle: Check called function parameter in get_typical_interval()\n  ...\n"
    },
    {
      "commit": "2f01ea908bcf838e815c0124b579513dbda3b8c8",
      "tree": "f42db47c1695daaf369f08a21b2267d4a8ece756",
      "parents": [
        "751144271f4b63d5de9005ea4e5e6e5c7c6fd629",
        "2d1d3f3ae985ec5676fb56ff2c7acad2e1c4e6eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 11:38:36 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 11:38:36 2013 -0700"
      },
      "message": "Merge tag \u0027tty-3.12-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nPull tty/serial driver patches from Greg KH:\n \"Here\u0027s the big tty/serial driver pull request for 3.12-rc1.\n\n  Lots of n_tty reworks to resolve some very long-standing issues,\n  removing the 3-4 different locks that were taken for every character.\n  This code has been beaten on for a long time in linux-next with no\n  reported regressions.\n\n  Other than that, a range of serial and tty driver updates and\n  revisions.  Full details in the shortlog\"\n\n* tag \u0027tty-3.12-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (226 commits)\n  hvc_xen: Remove unnecessary __GFP_ZERO from kzalloc\n  serial: imx: initialize the local variable\n  tty: ar933x_uart: add device tree support and binding documentation\n  tty: ar933x_uart: allow to build the driver as a module\n  ARM: dts: msm: Update uartdm compatible strings\n  devicetree: serial: Document msm_serial bindings\n  serial: unify serial bindings into a single dir\n  serial: fsl-imx-uart: Cleanup duplicate device tree binding\n  tty: ar933x_uart: use config_enabled() macro to clean up ifdefs\n  tty: ar933x_uart: remove superfluous assignment of ar933x_uart_driver.nr\n  tty: ar933x_uart: use the clk API to get the uart clock\n  tty: serial: cpm_uart: Adding proper request of GPIO used by cpm_uart driver\n  serial: sirf: fix the amount of serial ports\n  serial: sirf: define macro for some magic numbers of USP\n  serial: icom: move array overflow checks earlier\n  TTY: amiserial, remove unnecessary platform_set_drvdata()\n  serial: st-asc: remove unnecessary platform_set_drvdata()\n  msm_serial: Send more than 1 character on the console w/ UARTDM\n  msm_serial: Add support for non-GSBI UARTDM devices\n  msm_serial: Switch clock consumer strings and simplify code\n  ...\n"
    },
    {
      "commit": "542a086ac72fb193cbc1b996963a572269e57743",
      "tree": "b137c08037cca4ffc8a156a891a01113b3b8edce",
      "parents": [
        "1d1fdd95df681f0c065d90ffaafa215a0e8825e2",
        "1eeeef153c02f5856ec109fa532eb5f31c39f85c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 11:37:15 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 03 11:37:15 2013 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.12-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core patches from Greg KH:\n \"Here\u0027s the big driver core pull request for 3.12-rc1.\n\n  Lots of tiny changes here fixing up the way sysfs attributes are\n  created, to try to make drivers simpler, and fix a whole class race\n  conditions with creations of device attributes after the device was\n  announced to userspace.\n\n  All the various pieces are acked by the different subsystem\n  maintainers\"\n\n* tag \u0027driver-core-3.12-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (119 commits)\n  firmware loader: fix pending_fw_head list corruption\n  drivers/base/memory.c: introduce help macro to_memory_block\n  dynamic debug: line queries failing due to uninitialized local variable\n  sysfs: sysfs_create_groups returns a value.\n  debugfs: provide debugfs_create_x64() when disabled\n  rbd: convert bus code to use bus_groups\n  firmware: dcdbas: use binary attribute groups\n  sysfs: add sysfs_create/remove_groups for when SYSFS is not enabled\n  driver core: add #include \u003clinux/sysfs.h\u003e to core files.\n  HID: convert bus code to use dev_groups\n  Input: serio: convert bus code to use drv_groups\n  Input: gameport: convert bus code to use drv_groups\n  driver core: firmware: use __ATTR_RW()\n  driver core: core: use DEVICE_ATTR_RO\n  driver core: bus: use DRIVER_ATTR_WO()\n  driver core: create write-only attribute macros for devices and drivers\n  sysfs: create __ATTR_WO()\n  driver-core: platform: convert bus code to use dev_groups\n  workqueue: convert bus code to use dev_groups\n  MEI: convert bus code to use dev_groups\n  ...\n"
    },
    {
      "commit": "942e443127e928a5631c3d5102aca8c8b3c2dd98",
      "tree": "67758dd21e63d55bb6cdd06ba2f820b61d101ea7",
      "parents": [
        "f4940ab7c5992d3fabcda039744fb7657749798e"
      ],
      "author": {
        "name": "Li Zhong",
        "email": "zhong@linux.vnet.ibm.com",
        "time": "Tue Sep 03 16:33:57 2013 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Sep 03 16:35:47 2013 +0930"
      },
      "message": "module: Fix mod-\u003emkobj.kobj potentially freed too early\n\nDEBUG_KOBJECT_RELEASE helps to find the issue attached below.\n\nAfter some investigation, it seems the reason is:\nThe mod-\u003emkobj.kobj(ffffffffa01600d0 below) is freed together with mod\nitself in free_module(). However, its children still hold references to\nit, as the delay caused by DEBUG_KOBJECT_RELEASE. So when the\nchild(holders below) tries to decrease the reference count to its parent\nin kobject_del(), BUG happens as it tries to access already freed memory.\n\nThis patch tries to fix it by waiting for the mod-\u003emkobj.kobj to be\nreally released in the module removing process (and some error code\npaths).\n\n[ 1844.175287] kobject: \u0027holders\u0027 (ffff88007c1f1600): kobject_release, parent ffffffffa01600d0 (delayed)\n[ 1844.178991] kobject: \u0027notes\u0027 (ffff8800370b2a00): kobject_release, parent ffffffffa01600d0 (delayed)\n[ 1845.180118] kobject: \u0027holders\u0027 (ffff88007c1f1600): kobject_cleanup, parent ffffffffa01600d0\n[ 1845.182130] kobject: \u0027holders\u0027 (ffff88007c1f1600): auto cleanup kobject_del\n[ 1845.184120] BUG: unable to handle kernel paging request at ffffffffa01601d0\n[ 1845.185026] IP: [\u003cffffffff812cda81\u003e] kobject_put+0x11/0x60\n[ 1845.185026] PGD 1a13067 PUD 1a14063 PMD 7bd30067 PTE 0\n[ 1845.185026] Oops: 0000 [#1] PREEMPT\n[ 1845.185026] Modules linked in: xfs libcrc32c [last unloaded: kprobe_example]\n[ 1845.185026] CPU: 0 PID: 18 Comm: kworker/0:1 Tainted: G           O 3.11.0-rc6-next-20130819+ #1\n[ 1845.185026] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007\n[ 1845.185026] Workqueue: events kobject_delayed_cleanup\n[ 1845.185026] task: ffff88007ca51f00 ti: ffff88007ca5c000 task.ti: ffff88007ca5c000\n[ 1845.185026] RIP: 0010:[\u003cffffffff812cda81\u003e]  [\u003cffffffff812cda81\u003e] kobject_put+0x11/0x60\n[ 1845.185026] RSP: 0018:ffff88007ca5dd08  EFLAGS: 00010282\n[ 1845.185026] RAX: 0000000000002000 RBX: ffffffffa01600d0 RCX: ffffffff8177d638\n[ 1845.185026] RDX: ffff88007ca5dc18 RSI: 0000000000000000 RDI: ffffffffa01600d0\n[ 1845.185026] RBP: ffff88007ca5dd18 R08: ffffffff824e9810 R09: ffffffffffffffff\n[ 1845.185026] R10: ffff8800ffffffff R11: dead4ead00000001 R12: ffffffff81a95040\n[ 1845.185026] R13: ffff88007b27a960 R14: ffff88007c1f1600 R15: 0000000000000000\n[ 1845.185026] FS:  0000000000000000(0000) GS:ffffffff81a23000(0000) knlGS:0000000000000000\n[ 1845.185026] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[ 1845.185026] CR2: ffffffffa01601d0 CR3: 0000000037207000 CR4: 00000000000006b0\n[ 1845.185026] Stack:\n[ 1845.185026]  ffff88007c1f1600 ffff88007c1f1600 ffff88007ca5dd38 ffffffff812cdb7e\n[ 1845.185026]  0000000000000000 ffff88007c1f1640 ffff88007ca5dd68 ffffffff812cdbfe\n[ 1845.185026]  ffff88007c974800 ffff88007c1f1640 ffff88007ff61a00 0000000000000000\n[ 1845.185026] Call Trace:\n[ 1845.185026]  [\u003cffffffff812cdb7e\u003e] kobject_del+0x2e/0x40\n[ 1845.185026]  [\u003cffffffff812cdbfe\u003e] kobject_delayed_cleanup+0x6e/0x1d0\n[ 1845.185026]  [\u003cffffffff81063a45\u003e] process_one_work+0x1e5/0x670\n[ 1845.185026]  [\u003cffffffff810639e3\u003e] ? process_one_work+0x183/0x670\n[ 1845.185026]  [\u003cffffffff810642b3\u003e] worker_thread+0x113/0x370\n[ 1845.185026]  [\u003cffffffff810641a0\u003e] ? rescuer_thread+0x290/0x290\n[ 1845.185026]  [\u003cffffffff8106bfba\u003e] kthread+0xda/0xe0\n[ 1845.185026]  [\u003cffffffff814ff0f0\u003e] ? _raw_spin_unlock_irq+0x30/0x60\n[ 1845.185026]  [\u003cffffffff8106bee0\u003e] ? kthread_create_on_node+0x130/0x130\n[ 1845.185026]  [\u003cffffffff8150751a\u003e] ret_from_fork+0x7a/0xb0\n[ 1845.185026]  [\u003cffffffff8106bee0\u003e] ? kthread_create_on_node+0x130/0x130\n[ 1845.185026] Code: 81 48 c7 c7 28 95 ad 81 31 c0 e8 9b da 01 00 e9 4f ff ff ff 66 0f 1f 44 00 00 55 48 89 e5 53 48 89 fb 48 83 ec 08 48 85 ff 74 1d \u003cf6\u003e 87 00 01 00 00 01 74 1e 48 8d 7b 38 83 6b 38 01 0f 94 c0 84\n[ 1845.185026] RIP  [\u003cffffffff812cda81\u003e] kobject_put+0x11/0x60\n[ 1845.185026]  RSP \u003cffff88007ca5dd08\u003e\n[ 1845.185026] CR2: ffffffffa01601d0\n[ 1845.185026] ---[ end trace 49a70afd109f5653 ]---\n\nSigned-off-by: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "7d992feb7694a21ee81f22894b455dadd5d1c110",
      "tree": "d0f0961186b1c31c536a26a7f986ad7ca677453b",
      "parents": [
        "6e4664525b1db28f8c4e1130957f70a94c19213e",
        "25f27ce4a6a4995c8bdd69b4b2180465ed5ad2b8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 03 07:41:11 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 03 07:41:11 2013 +0200"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu\n\nPull RCU updates from Paul E. McKenney:\n\n\"\n * Update RCU documentation.  These were posted to LKML at\n   https://lkml.org/lkml/2013/8/19/611.\n\n * Miscellaneous fixes.  These were posted to LKML at\n   https://lkml.org/lkml/2013/8/19/619.\n\n * Full-system idle detection.  This is for use by Frederic\n   Weisbecker\u0027s adaptive-ticks mechanism.  Its purpose is\n   to allow the timekeeping CPU to shut off its tick when\n   all other CPUs are idle.  These were posted to LKML at\n   https://lkml.org/lkml/2013/8/19/648.\n\n * Improve rcutorture test coverage.  These were posted to LKML at\n   https://lkml.org/lkml/2013/8/19/675.\n\"\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "13d7a2410fa637f450a29ecb515ac318ee40c741",
      "tree": "04479b0a2b3a96ebeda6a414dfb8a32dc0d5467d",
      "parents": [
        "1fa64180fbf7a33b7a30636a2f174a5cad68d48f"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Wed Aug 21 12:10:24 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:42:48 2013 +0200"
      },
      "message": "perf: Add attr-\u003emmap2 attribute to an event\n\nAdds a new PERF_RECORD_MMAP2 record type which is essence\nan expanded version of PERF_RECORD_MMAP.\n\nUsed to request mmap records with more information about\nthe mapping, including device major, minor and the inode\nnumber and generation for mappings associated with files\nor shared memory segments. Works for code and data\n(with attr-\u003emmap_data set).\n\nExisting PERF_RECORD_MMAP record is unmodified by this patch.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nLink: http://lkml.kernel.org/r/1377079825-19057-2-git-send-email-eranian@google.com\n[ Added Al to the Cc:. Are the ino, maj/min exports of vma-\u003evm_file OK? ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "10866e62e8a6907d9072f10f9a0561db0c0cf50b",
      "tree": "a2edd643b6221d7552b88c1322998d626c1bd50e",
      "parents": [
        "30ce5dabc92b5a349a7d9e9cf499494d230e0691"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Aug 19 16:57:04 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:40 2013 +0200"
      },
      "message": "sched/fair: Fix the sd_parent_degenerate() code\n\nI found that on my WSM box I had a redundant domain:\n\n[    0.949769] CPU0 attaching sched-domain:\n[    0.953765]  domain 0: span 0,12 level SIBLING\n[    0.958335]   groups: 0 (cpu_power \u003d 587) 12 (cpu_power \u003d 588)\n[    0.964548]   domain 1: span 0-5,12-17 level MC\n[    0.969206]    groups: 0,12 (cpu_power \u003d 1175) 1,13 (cpu_power \u003d 1176) 2,14 (cpu_power \u003d 1176) 3,15 (cpu_power \u003d 1176) 4,16 (cpu_power \u003d 1176) 5,17 (cpu_power \u003d 1176)\n[    0.984993]    domain 2: span 0-5,12-17 level CPU\n[    0.989822]     groups: 0-5,12-17 (cpu_power \u003d 7055)\n[    0.995049]     domain 3: span 0-23 level NUMA\n[    0.999620]      groups: 0-5,12-17 (cpu_power \u003d 7055) 6-11,18-23 (cpu_power \u003d 7056)\n\nNote how domain 2 has only a single group and spans the same CPUs as\ndomain 1. We should not keep such domains and do in fact have code to\nprune these.\n\nIt turns out that the \u0027new\u0027 SD_PREFER_SIBLING flag causes this, it\nmakes sd_parent_degenerate() fail on the CPU domain. We can easily\nfix this by \u0027ignoring\u0027 the SD_PREFER_SIBLING bit and transfering it\nto whatever domain ends up covering the span.\n\nWith this patch the domains now look like this:\n\n[    0.950419] CPU0 attaching sched-domain:\n[    0.954454]  domain 0: span 0,12 level SIBLING\n[    0.959039]   groups: 0 (cpu_power \u003d 587) 12 (cpu_power \u003d 588)\n[    0.965271]   domain 1: span 0-5,12-17 level MC\n[    0.969936]    groups: 0,12 (cpu_power \u003d 1175) 1,13 (cpu_power \u003d 1176) 2,14 (cpu_power \u003d 1176) 3,15 (cpu_power \u003d 1176) 4,16 (cpu_power \u003d 1176) 5,17 (cpu_power \u003d 1176)\n[    0.985737]    domain 2: span 0-23 level NUMA\n[    0.990231]     groups: 0-5,12-17 (cpu_power \u003d 7055) 6-11,18-23 (cpu_power \u003d 7056)\n\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-ys201g4jwukj0h8xcamakxq1@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "30ce5dabc92b5a349a7d9e9cf499494d230e0691",
      "tree": "89c316645f6ef3a60c821e0d7a5d3e01379cbdf7",
      "parents": [
        "6906a40839198f33dbb56d20e644c01e00663952"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 15 20:29:29 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:38 2013 +0200"
      },
      "message": "sched/fair: Rework and comment the group_imb code\n\nRik reported some weirdness due to the group_imb code. As a start to\nlooking at it, clean it up a little and add a few explanatory\ncomments.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-caeeqttnla4wrrmhp5uf89gp@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6906a40839198f33dbb56d20e644c01e00663952",
      "tree": "27b31ae4522f4191cb82c17cf30b918b94562412",
      "parents": [
        "3ae11c90fd055ba1b1b03a014f851b395bdd26ff"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Aug 19 15:20:21 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:37 2013 +0200"
      },
      "message": "sched/fair: Optimize find_busiest_queue()\n\nUse for_each_cpu_and() and thereby avoid computing the capacity for\nCPUs we know we\u0027re not interested in.\n\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-lppceyv6kb3a19g8spmrn20b@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "3ae11c90fd055ba1b1b03a014f851b395bdd26ff",
      "tree": "6e2f571ab0ca90206bffacab9bf7aaaa91e25df5",
      "parents": [
        "38d0f7708543bcfa03d5ee55e8346f801b4a59c9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 15 20:37:48 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:37 2013 +0200"
      },
      "message": "sched/fair: Make group power more consistent\n\nFor easier access, less dereferences and more consistent value, store\nthe group power in update_sg_lb_stats() and use it thereafter. The\nactual value in sched_group::sched_group_power::power can change\nthroughout the load-balance pass if we\u0027re unlucky.\n\nReviewed-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-739xxqkyvftrhnh9ncudutc7@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "38d0f7708543bcfa03d5ee55e8346f801b4a59c9",
      "tree": "a5e7441ad2793c614b686a463a1d1be8c1d87a73",
      "parents": [
        "147c5fc2bad780d8093b547f2baa204e78107faf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 15 19:47:56 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:36 2013 +0200"
      },
      "message": "sched/fair: Remove duplicate load_per_task computations\n\nSince we already compute (but don\u0027t store) the sgs load_per_task value\nin update_sg_lb_stats() we might as well store it and not re-compute\nit later on.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-ym1vmljiwbzgdnnrwp9azftq@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "147c5fc2bad780d8093b547f2baa204e78107faf",
      "tree": "d3edc50c11c47dc03d405275adffd116d5d5c480",
      "parents": [
        "56cf515b4b1567c4e8fa9926175b40c66b9ec472"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Aug 19 15:22:57 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:35 2013 +0200"
      },
      "message": "sched/fair: Shrink sg_lb_stats and play memset games\n\nWe can shrink sg_lb_stats because rq::nr_running is an unsigned int\nand cpu numbers are \u0027int\u0027\n\nBefore:\n  sgs:        /* size: 72, cachelines: 2, members: 10 */\n  sds:        /* size: 184, cachelines: 3, members: 7 */\n\nAfter:\n  sgs:        /* size: 56, cachelines: 1, members: 10 */\n  sds:        /* size: 152, cachelines: 3, members: 7 */\n\nFurther we can avoid clearing all of sds since we do a total\nclear/assignment of sg_stats in update_sg_lb_stats() with exception of\nbusiest_stat.avg_load which is referenced in update_sd_pick_busiest().\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-0klzmz9okll8wc0nsudguc9p@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "56cf515b4b1567c4e8fa9926175b40c66b9ec472",
      "tree": "0250d1edd6e92419ec0429c72de386b35f5bfbf1",
      "parents": [
        "23f0d2093c789e612185180c468fa09063834e87"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Aug 06 17:36:43 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:35 2013 +0200"
      },
      "message": "sched: Clean-up struct sd_lb_stat\n\nThere is no reason to maintain separate variables for this_group\nand busiest_group in sd_lb_stat, except saving some space.\nBut this structure is always allocated in stack, so this saving\nisn\u0027t really benificial [peterz: reducing stack space is good; in this\ncase readability increases enough that I think its still beneficial]\n\nThis patch unify these variables, so IMO, readability may be improved.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\n[ Rename this to local -- avoids confusion between this_cpu and the C++ this pointer. ]\nReviewed-by: Paul  Turner \u003cpjt@google.com\u003e\n[ Lots of style edits, a few fixes and a rename. ]\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1375778203-31343-4-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "23f0d2093c789e612185180c468fa09063834e87",
      "tree": "63e1fb698d9e4e66d7932f7195af8f94e8f4004b",
      "parents": [
        "95a79b805b935f4a7b685aa8a117d916c638323e"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Aug 06 17:36:42 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:27:34 2013 +0200"
      },
      "message": "sched: Factor out code to should_we_balance()\n\nNow checking whether this cpu is appropriate to balance or not\nis embedded into update_sg_lb_stats() and this checking has no direct\nrelationship to this function. There is not enough reason to place\nthis checking at update_sg_lb_stats(), except saving one iteration\nfor sched_group_cpus.\n\nIn this patch, I factor out this checking to should_we_balance() function.\nAnd before doing actual work for load_balancing, check whether this cpu is\nappropriate to balance via should_we_balance(). If this cpu is not\na candidate for balancing, it quit the work immediately.\n\nWith this change, we can save two memset cost and can expect better\ncompiler optimization.\n\nBelow is result of this patch.\n\n * Vanilla *\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  34499\t   1136\t    116\t  35751\t   8ba7\tkernel/sched/fair.o\n\n * Patched *\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  34243\t   1136\t    116\t  35495\t   8aa7\tkernel/sched/fair.o\n\nIn addition, rename @balance to @continue_balancing in order to represent\nits purpose more clearly.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\n[ s/should_balance/continue_balancing/g ]\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\n[ Made style changes and a fix in should_we_balance(). ]\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1375778203-31343-3-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "95a79b805b935f4a7b685aa8a117d916c638323e",
      "tree": "e9c7380555d30bf5eea04219aba179696c82b7e5",
      "parents": [
        "a4f61cc03e443647211a5ae0ab8f8cda2e9e1043"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Aug 06 17:36:41 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:26:59 2013 +0200"
      },
      "message": "sched: Remove one division operation in find_busiest_queue()\n\nRemove one division operation in find_busiest_queue() by using\ncrosswise multiplication:\n\n\twl_i / power_i \u003e wl_j / power_j :\u003d\n\twl_i * power_j \u003e wl_j * power_i\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\n[ Expanded the changelog. ]\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1375778203-31343-2-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ae23bff1d71f8b416ed740bc458df67355c77c92",
      "tree": "043d3a94d5a37eca399a04c58d388d28f3210f8d",
      "parents": [
        "41615e811b3031728a003da077005e8dcf9d71cc"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Sat Aug 24 16:45:54 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Sep 02 08:13:24 2013 +0200"
      },
      "message": "perf: Prevent race in unthrottling code\n\nThe current throttling code triggers WARN below via following\nworkload (only hit on AMD machine with 48 CPUs):\n\n  # while [ 1 ]; do perf record perf bench sched messaging; done\n\n  WARNING: at arch/x86/kernel/cpu/perf_event.c:1054 x86_pmu_start+0xc6/0x100()\n  SNIP\n  Call Trace:\n   \u003cIRQ\u003e  [\u003cffffffff815f62d6\u003e] dump_stack+0x19/0x1b\n   [\u003cffffffff8105f531\u003e] warn_slowpath_common+0x61/0x80\n   [\u003cffffffff8105f60a\u003e] warn_slowpath_null+0x1a/0x20\n   [\u003cffffffff810213a6\u003e] x86_pmu_start+0xc6/0x100\n   [\u003cffffffff81129dd2\u003e] perf_adjust_freq_unthr_context.part.75+0x182/0x1a0\n   [\u003cffffffff8112a058\u003e] perf_event_task_tick+0xc8/0xf0\n   [\u003cffffffff81093221\u003e] scheduler_tick+0xd1/0x140\n   [\u003cffffffff81070176\u003e] update_process_times+0x66/0x80\n   [\u003cffffffff810b9565\u003e] tick_sched_handle.isra.15+0x25/0x60\n   [\u003cffffffff810b95e1\u003e] tick_sched_timer+0x41/0x60\n   [\u003cffffffff81087c24\u003e] __run_hrtimer+0x74/0x1d0\n   [\u003cffffffff810b95a0\u003e] ? tick_sched_handle.isra.15+0x60/0x60\n   [\u003cffffffff81088407\u003e] hrtimer_interrupt+0xf7/0x240\n   [\u003cffffffff81606829\u003e] smp_apic_timer_interrupt+0x69/0x9c\n   [\u003cffffffff8160569d\u003e] apic_timer_interrupt+0x6d/0x80\n   \u003cEOI\u003e  [\u003cffffffff81129f74\u003e] ? __perf_event_task_sched_in+0x184/0x1a0\n   [\u003cffffffff814dd937\u003e] ? kfree_skbmem+0x37/0x90\n   [\u003cffffffff815f2c47\u003e] ? __slab_free+0x1ac/0x30f\n   [\u003cffffffff8118143d\u003e] ? kfree+0xfd/0x130\n   [\u003cffffffff81181622\u003e] kmem_cache_free+0x1b2/0x1d0\n   [\u003cffffffff814dd937\u003e] kfree_skbmem+0x37/0x90\n   [\u003cffffffff814e03c4\u003e] consume_skb+0x34/0x80\n   [\u003cffffffff8158b057\u003e] unix_stream_recvmsg+0x4e7/0x820\n   [\u003cffffffff814d5546\u003e] sock_aio_read.part.7+0x116/0x130\n   [\u003cffffffff8112c10c\u003e] ? __perf_sw_event+0x19c/0x1e0\n   [\u003cffffffff814d5581\u003e] sock_aio_read+0x21/0x30\n   [\u003cffffffff8119a5d0\u003e] do_sync_read+0x80/0xb0\n   [\u003cffffffff8119ac85\u003e] vfs_read+0x145/0x170\n   [\u003cffffffff8119b699\u003e] SyS_read+0x49/0xa0\n   [\u003cffffffff810df516\u003e] ? __audit_syscall_exit+0x1f6/0x2a0\n   [\u003cffffffff81604a19\u003e] system_call_fastpath+0x16/0x1b\n  ---[ end trace 622b7e226c4a766a ]---\n\nThe reason is a race in perf_event_task_tick() throttling code.\nThe race flow (simplified code):\n\n  - perf_throttled_count is per cpu variable and is\n    CPU throttling flag, here starting with 0\n\n  - perf_throttled_seq is sequence/domain for allowed\n    count of interrupts within the tick, gets increased\n    each tick\n\n    on single CPU (CPU bounded event):\n\n      ... workload\n\n    perf_event_task_tick:\n    |\n    | T0    inc(perf_throttled_seq)\n    | T1    needs_unthr \u003d xchg(perf_throttled_count, 0) \u003d\u003d 0\n     tick gets interrupted:\n\n            ... event gets throttled under new seq ...\n\n      T2    last NMI comes, event is throttled - inc(perf_throttled_count)\n\n     back to tick:\n    | perf_adjust_freq_unthr_context:\n    |\n    | T3    unthrottling is skiped for event (needs_unthr \u003d\u003d 0)\n    | T4    event is stop and started via freq adjustment\n    |\n    tick ends\n\n      ... workload\n      ... no sample is hit for event ...\n\n    perf_event_task_tick:\n    |\n    | T5    needs_unthr \u003d xchg(perf_throttled_count, 0) !\u003d 0 (from T2)\n    | T6    unthrottling is done on event (interrupts \u003d\u003d MAX_INTERRUPTS)\n    |       event is already started (from T4) -\u003e WARN\n\nFixing this by not checking needs_unthr again and thus\ncheck all events for unthrottling.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nReported-by: Jan Stancek \u003cjstancek@redhat.com\u003e\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1377355554-8934-1-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "25f27ce4a6a4995c8bdd69b4b2180465ed5ad2b8",
      "tree": "82f8d81d448c636699374c434562c05fedc96831",
      "parents": [
        "45c8a36a5519960638a4f331839bb99c1994fd04",
        "5a581b367b5df0531265311fc681c2abd377e5e6",
        "eb75767be0e514f97bf1b5cec763696cfc7f7e2a",
        "7a6a41073c345ff5ef5e81317211481c0da3f7f3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Aug 31 14:44:45 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Aug 31 14:44:45 2013 -0700"
      },
      "message": "Merge branches \u0027doc.2013.08.19a\u0027, \u0027fixes.2013.08.20a\u0027, \u0027sysidle.2013.08.31a\u0027 and \u0027torture.2013.08.20a\u0027 into HEAD\n\ndoc.2013.08.19a: Documentation updates\nfixes.2013.08.20a: Miscellaneous fixes\nsysidle.2013.08.31a: Detect system-wide idle state.\ntorture.2013.08.20a: rcutorture updates.\n"
    },
    {
      "commit": "eb75767be0e514f97bf1b5cec763696cfc7f7e2a",
      "tree": "08cae2878e46409d6f5cffd0d37499bfa4851abc",
      "parents": [
        "0edd1b1784cbdad55aca2c1293be018f53c0ab1d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jun 21 17:10:40 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Aug 31 14:44:02 2013 -0700"
      },
      "message": "nohz_full: Force RCU\u0027s grace-period kthreads onto timekeeping CPU\n\nBecause RCU\u0027s quiescent-state-forcing mechanism is used to drive the\nfull-system-idle state machine, and because this mechanism is executed\nby RCU\u0027s grace-period kthreads, this commit forces these kthreads to\nrun on the timekeeping CPU (tick_do_timer_cpu).  To do otherwise would\nmean that the RCU grace-period kthreads would force the system into\nnon-idle state every time they drove the state machine, which would\nbe just a bit on the futile side.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "0edd1b1784cbdad55aca2c1293be018f53c0ab1d",
      "tree": "61e17002ce447f0042a65429cfa33c6462f872a1",
      "parents": [
        "217af2a2ffbfc1498d1cf3a89fa478b5632df8f7"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jun 21 16:37:22 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Aug 31 14:43:50 2013 -0700"
      },
      "message": "nohz_full: Add full-system-idle state machine\n\nThis commit adds the state machine that takes the per-CPU idle data\nas input and produces a full-system-idle indication as output.  This\nstate machine is driven out of RCU\u0027s quiescent-state-forcing\nmechanism, which invokes rcu_sysidle_check_cpu() to collect per-CPU\nidle state and then rcu_sysidle_report() to drive the state machine.\n\nThe full-system-idle state is sampled using rcu_sys_is_idle(), which\nalso drives the state machine if RCU is idle (and does so by forcing\nRCU to become non-idle).  This function returns true if all but the\ntimekeeping CPU (tick_do_timer_cpu) are idle and have been idle long\nenough to avoid memory contention on the full_sysidle_state state\nvariable.  The rcu_sysidle_force_exit() may be called externally\nto reset the state machine back into non-idle state.\n\nFor large systems the state machine is driven out of RCU\u0027s\nforce-quiescent-state logic, which provides good scalability at the price\nof millisecond-scale latencies on the transition to full-system-idle\nstate.  This is not so good for battery-powered systems, which are usually\nsmall enough that they don\u0027t need to care about scalability, but which\ndo care deeply about energy efficiency.  Small systems therefore drive\nthe state machine directly out of the idle-entry code.  The number of\nCPUs in a \"small\" system is defined by a new NO_HZ_FULL_SYSIDLE_SMALL\nKconfig parameter, which defaults to 8.  Note that this is a build-time\ndefinition.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n[ paulmck: Use true and false for boolean constants per Lai Jiangshan. ]\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n[ paulmck: Simplify logic and provide better comments for memory barriers,\n  based on review comments and questions by Lai Jiangshan. ]\n"
    },
    {
      "commit": "c7b96acf1456ef127fef461fcfedb54b81fecfbb",
      "tree": "1cc9387d23e96685453e545bda6d5a5efea8fa63",
      "parents": [
        "f54fb863c6bbcbafdfc332b4a4260abb5a002137"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Mar 20 12:49:49 2013 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Aug 30 23:44:11 2013 -0700"
      },
      "message": "userns:  Kill nsown_capable it makes the wrong thing easy\n\nnsown_capable is a special case of ns_capable essentially for just CAP_SETUID and\nCAP_SETGID.  For the existing users it doesn\u0027t noticably simplify things and\nfrom the suggested patches I have seen it encourages people to do the wrong\nthing.  So remove nsown_capable.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "6e556ce209b09528dbf1931cbfd5d323e1345926",
      "tree": "5920aa522bb1be12f8c4c458c44d792f72ea3674",
      "parents": [
        "160da84dbb39443fdade7151bc63a88f8e953077"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 05 13:59:48 2013 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Aug 30 23:44:00 2013 -0700"
      },
      "message": "pidns: Don\u0027t have unshare(CLONE_NEWPID) imply CLONE_THREAD\n\nI goofed when I made unshare(CLONE_NEWPID) only work in a\nsingle-threaded process.  There is no need for that requirement and in\nfact I analyzied things right for setns.  The hard requirement\nis for tasks that share a VM to all be in the pid namespace and\nwe properly prevent that in do_fork.\n\nJust to be certain I took a look through do_wait and\nforget_original_parent and there are no cases that make it any harder\nfor children to be in the multiple pid namespaces than it is for\nchildren to be in the same pid namespace.  I also performed a check to\nsee if there were in uses of task-\u003ensproxy_pid_ns I was not familiar\nwith, but it is only used when allocating a new pid for a new task,\nand in checks to prevent craziness from happening.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "a8787645e14ce7bbc3db9788526ed0be968c0df2",
      "tree": "441ac9dbddf0d767ceb7303386a95f7f9f3acad1",
      "parents": [
        "de80963e6108d08f337c55d9b85838b0ba2bde44",
        "0affdf347ffc0c3a4595661c091e8cc5f1346e92"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 30 17:43:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 30 17:43:17 2013 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) There was a simplification in the ipv6 ndisc packet sending\n    attempted here, which avoided using memory accounting on the\n    per-netns ndisc socket for sending NDISC packets.  It did fix some\n    important issues, but it causes regressions so it gets reverted here\n    too.  Specifically, the problem with this change is that the IPV6\n    output path really depends upon there being a valid skb-\u003esk\n    attached.\n\n    The reason we want to do this change in some form when we figure out\n    how to do it right, is that if a device goes down the ndisc_sk\n    socket send queue will fill up and block NDISC packets that we want\n    to send to other devices too.  That\u0027s really bad behavior.\n\n    Hopefully Thomas can come up with a better version of this change.\n\n 2) Fix a severe TCP performance regression by reverting a change made\n    to dev_pick_tx() quite some time ago.  From Eric Dumazet.\n\n 3) TIPC returns wrongly signed error codes, fix from Erik Hugne.\n\n 4) Fix OOPS when doing IPSEC over ipv4 tunnels due to orphaning the\n    skb-\u003esk too early.  Fix from Li Hongjun.\n\n 5) RAW ipv4 sockets can use the wrong routing key during lookup, from\n    Chris Clark.\n\n 6) Similar to #1 revert an older change that tried to use plain\n    alloc_skb() for SYN/ACK TCP packets, this broke the netfilter owner\n    mark which needs to see the skb-\u003esk for such frames.  From Phil\n    Oester.\n\n 7) BNX2x driver bug fixes from Ariel Elior and Yuval Mintz,\n    specifically in the handling of virtual functions.\n\n 8) IPSEC path error propagations to sockets is not done properly when\n    we have v4 in v6, and v6 in v4 type rules.  Fix from Hannes Frederic\n    Sowa.\n\n 9) Fix missing channel context release in mac80211, from Johannes Berg.\n\n10) Fix network namespace handing wrt.  SCM_RIGHTS, from Andy\n    Lutomirski.\n\n11) Fix usage of bogus NAPI weight in jme, netxen, and ps3_gelic\n    drivers.  From Michal Schmidt.\n\n12) Hopefully a complete and correct fix for the genetlink dump locking\n    and module reference counting.  From Pravin B Shelar.\n\n13) sk_busy_loop() must do a cpu_relax(), from Eliezer Tamir.\n\n14) Fix handling of timestamp offset when restoring a snapshotted TCP\n    socket.  From Andrew Vagin.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)\n  net: fec: fix time stamping logic after napi conversion\n  net: bridge: convert MLDv2 Query MRC into msecs_to_jiffies for max_delay\n  mISDN: return -EINVAL on error in dsp_control_req()\n  net: revert 8728c544a9c (\"net: dev_pick_tx() fix\")\n  Revert \"ipv6: Don\u0027t depend on per socket memory for neighbour discovery messages\"\n  ipv4 tunnels: fix an oops when using ipip/sit with IPsec\n  tipc: set sk_err correctly when connection fails\n  tcp: tcp_make_synack() should use sock_wmalloc\n  bridge: separate querier and query timer into IGMP/IPv4 and MLD/IPv6 ones\n  ipv6: Don\u0027t depend on per socket memory for neighbour discovery messages\n  ipv4: sendto/hdrincl: don\u0027t use destination address found in header\n  tcp: don\u0027t apply tsoffset if rcv_tsecr is zero\n  tcp: initialize rcv_tstamp for restored sockets\n  net: xilinx: fix memleak\n  net: usb: Add HP hs2434 device to ZLP exception table\n  net: add cpu_relax to busy poll loop\n  net: stmmac: fixed the pbl setting with DT\n  genl: Hold reference on correct module while netlink-dump.\n  genl: Fix genl dumpit() locking.\n  xfrm: Fix potential null pointer dereference in xdst_queue_output\n  ...\n"
    },
    {
      "commit": "dbef0c1c4c5f8ce5d1f5bd8cee092a7afb4ac21b",
      "tree": "3eaa0a5a45ba52fae938e42e0031f25ac96a482f",
      "parents": [
        "a606488513543312805fab2b93070cefe6a3016c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Mar 09 16:15:23 2013 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Aug 30 17:30:38 2013 -0700"
      },
      "message": "namespaces: Simplify copy_namespaces so it is clear what is going on.\n\nRemove the test for the impossible case where tsk-\u003ensproxy \u003d\u003d NULL.  Fork\nwill never be called with tsk-\u003ensproxy \u003d\u003d NULL.\n\nOnly call get_nsproxy when we don\u0027t need to generate a new_nsproxy,\nand mark the case where we don\u0027t generate a new nsproxy as likely.\n\nRemove the code to drop an unnecessarily acquired nsproxy value.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "a606488513543312805fab2b93070cefe6a3016c",
      "tree": "8f10110ad0cd58f3c2ef09faff599cd6054a1fc5",
      "parents": [
        "7dc5dbc879bd0779924b5132a48b731a0bc04a1e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Aug 29 13:56:50 2013 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Aug 30 17:30:37 2013 -0700"
      },
      "message": "pidns: Fix hang in zap_pid_ns_processes by sending a potentially extra wakeup\n\nSerge Hallyn \u003cserge.hallyn@ubuntu.com\u003e writes:\n\n\u003e Since commit af4b8a83add95ef40716401395b44a1b579965f4 it\u0027s been\n\u003e possible to get into a situation where a pidns reaper is\n\u003e \u003cdefunct\u003e, reparented to host pid 1, but never reaped.  How to\n\u003e reproduce this is documented at\n\u003e\n\u003e https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1168526\n\u003e (and see\n\u003e https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1168526/comments/13)\n\u003e In short, run repeated starts of a container whose init is\n\u003e\n\u003e Process.exit(0);\n\u003e\n\u003e sysrq-t when such a task is playing zombie shows:\n\u003e\n\u003e [  131.132978] init            x ffff88011fc14580     0  2084   2039 0x00000000\n\u003e [  131.132978]  ffff880116e89ea8 0000000000000002 ffff880116e89fd8 0000000000014580\n\u003e [  131.132978]  ffff880116e89fd8 0000000000014580 ffff8801172a0000 ffff8801172a0000\n\u003e [  131.132978]  ffff8801172a0630 ffff88011729fff0 ffff880116e14650 ffff88011729fff0\n\u003e [  131.132978] Call Trace:\n\u003e [  131.132978]  [\u003cffffffff816f6159\u003e] schedule+0x29/0x70\n\u003e [  131.132978]  [\u003cffffffff81064591\u003e] do_exit+0x6e1/0xa40\n\u003e [  131.132978]  [\u003cffffffff81071eae\u003e] ? signal_wake_up_state+0x1e/0x30\n\u003e [  131.132978]  [\u003cffffffff8106496f\u003e] do_group_exit+0x3f/0xa0\n\u003e [  131.132978]  [\u003cffffffff810649e4\u003e] SyS_exit_group+0x14/0x20\n\u003e [  131.132978]  [\u003cffffffff8170102f\u003e] tracesys+0xe1/0xe6\n\u003e\n\u003e Further debugging showed that every time this happened, zap_pid_ns_processes()\n\u003e started with nr_hashed being 3, while we were expecting it to drop to 2.\n\u003e Any time it didn\u0027t happen, nr_hashed was 1 or 2.  So the reaper was\n\u003e waiting for nr_hashed to become 2, but free_pid() only wakes the reaper\n\u003e if nr_hashed hits 1.\n\nThe issue is that when the task group leader of an init process exits\nbefore other tasks of the init process when the init process finally\nexits it will be a secondary task sleeping in zap_pid_ns_processes and\nwaiting to wake up when the number of hashed pids drops to two.  This\ncase waits forever as free_pid only sends a wake up when the number of\nhashed pids drops to 1.\n\nTo correct this the simple strategy of sending a possibly unncessary\nwake up when the number of hashed pids drops to 2 is adopted.\n\nSending one extraneous wake up is relatively harmless, at worst we\nwaste a little cpu time in the rare case when a pid namespace\nappropaches exiting.\n\nWe can detect the case when the pid namespace drops to just two pids\nhashed race free in free_pid.\n\nDereferencing pid_ns-\u003echild_reaper with the pidmap_lock held is safe\nwithout out the tasklist_lock because it is guaranteed that the\ndetach_pid will be called on the child_reaper before it is freed and\ndetach_pid calls __change_pid which calls free_pid which takes the\npidmap_lock.  __change_pid only calls free_pid if this is the\nlast use of the pid.  For a thread that is not the thread group leader\nthe threads pid will only ever have one user because a threads pid\nis not allowed to be the pid of a process, of a process group or\na session.  For a thread that is a thread group leader all of\nthe other threads of that process will be reaped before it is allowed\nfor the thread group leader to be reaped ensuring there will only\nbe one user of the threads pid as a process pid.  Furthermore\nbecause the thread is the init process of a pid namespace all of the\nother processes in the pid namespace will have also been already freed\nleading to the fact that the pid will not be used as a session pid or\na process group pid for any other running process.\n\nCC: stable@vger.kernel.org\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nTested-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nReported-by: Serge Hallyn \u003cserge.hallyn@ubuntu.com\u003e\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "41615e811b3031728a003da077005e8dcf9d71cc",
      "tree": "53a5418d5157e0e58580bda1dd422765baca6317",
      "parents": [
        "ff497452636f4687e517964817b7e2bd99f4b44b",
        "bb78a92f47696b2da49f2692b6a9fa56d07c444a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 29 17:03:48 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 29 17:03:48 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.11-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup fix from Tejun Heo:\n \"During the percpu reference counting update which was merged during\n  v3.11-rc1, the cgroup destruction path was updated so that a cgroup in\n  the process of dying may linger on the children list, which was\n  necessary as the cgroup should still be included in child/descendant\n  iteration while percpu ref is being killed.\n\n  Unfortunately, I forgot to update cgroup destruction path accordingly\n  and cgroup destruction may fail spuriously with -EBUSY due to\n  lingering dying children even when there\u0027s no live child left - e.g.\n  \"rmdir parent/child parent\" will usually fail.\n\n  This can be easily fixed by iterating through the children list to\n  verify that there\u0027s no live child left.  While this is very late in\n  the release cycle, this bug is very visible to userland and I believe\n  the fix is relatively safe.\n\n  Thanks Hugh for spotting and providing fix for the issue\"\n\n* \u0027for-3.11-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: fix rmdir EBUSY regression in 3.11\n"
    },
    {
      "commit": "ff3d527cebc1fa3707c617bfe9e74f53fcfb0955",
      "tree": "64181865fd8b48a2ea99d11724e79844c193b5cf",
      "parents": [
        "ef89325f773bc9f2f4e6019bd7f3d968ba85df9a"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Tue Aug 27 11:23:07 2013 +0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Aug 29 15:40:03 2013 -0300"
      },
      "message": "perf: make events stream always parsable\n\nThe event stream is not always parsable because the format of a sample\nis dependent on the sample_type of the selected event.  When there is\nmore than one selected event and the sample_types are not the same then\nparsing becomes problematic.  A sample can be matched to its selected\nevent using the ID that is allocated when the event is opened.\nUnfortunately, to get the ID from the sample means first parsing it.\n\nThis patch adds a new sample format bit PERF_SAMPLE_IDENTIFER that puts\nthe ID at a fixed position so that the ID can be retrieved without\nparsing the sample.  For sample events, that is the first position\nimmediately after the header.  For non-sample events, that is the last\nposition.\n\nIn this respect parsing samples requires that the sample_type and ID\nvalues are recorded.  For example, perf tools records struct\nperf_event_attr and the IDs within the perf.data file.  Those must be\nread first before it is possible to parse samples found later in the\nperf.data file.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nTested-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\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/r/1377591794-30553-6-git-send-email-adrian.hunter@intel.com\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "bb78a92f47696b2da49f2692b6a9fa56d07c444a",
      "tree": "6750776493dcfd0cd180b7fc0a666406708547c8",
      "parents": [
        "c95389b4cd6a4b52af78bea706a274453e886251"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 28 16:31:23 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 29 11:05:07 2013 -0400"
      },
      "message": "cgroup: fix rmdir EBUSY regression in 3.11\n\nOn 3.11-rc we are seeing cgroup directories left behind when they should\nhave been removed.  Here\u0027s a trivial reproducer:\n\ncd /sys/fs/cgroup/memory\nmkdir parent parent/child; rmdir parent/child parent\nrmdir: failed to remove `parent\u0027: Device or resource busy\n\nIt\u0027s because cgroup_destroy_locked() (step 1 of destruction) leaves\ncgroup on parent\u0027s children list, letting cgroup_offline_fn() (step 2 of\ndestruction) remove it; but step 2 is run by work queue, which may not\nyet have removed the children when parent destruction checks the list.\n\nFix that by checking through a non-empty list of children: if every one\nof them has already been marked CGRP_DEAD, then it\u0027s safe to proceed:\nthose children are invisible to userspace, and should not obstruct rmdir.\n\n(I didn\u0027t see any reason to keep the cgrp-\u003echildren checks under the\nunrelated css_set_lock, so moved them out.)\n\ntj: Flattened nested ifs a bit and updated comment so that it\u0027s\n    correct on both for-3.11-fixes and for-3.12.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "b22ce2785d97423846206cceec4efee0c4afd980",
      "tree": "b58beb6df891299ca0d827979c32042ce7969cc4",
      "parents": [
        "c95389b4cd6a4b52af78bea706a274453e886251"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Aug 28 17:33:37 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 29 09:19:28 2013 -0400"
      },
      "message": "workqueue: cond_resched() after processing each work item\n\nIf !PREEMPT, a kworker running work items back to back can hog CPU.\nThis becomes dangerous when a self-requeueing work item which is\nwaiting for something to happen races against stop_machine.  Such\nself-requeueing work item would requeue itself indefinitely hogging\nthe kworker and CPU it\u0027s running on while stop_machine would wait for\nthat CPU to enter stop_machine while preventing anything else from\nhappening on all other CPUs.  The two would deadlock.\n\nJamie Liu reports that this deadlock scenario exists around\nscsi_requeue_run_queue() and libata port multiplier support, where one\nport may exclude command processing from other ports.  With the right\ntiming, scsi_requeue_run_queue() can end up requeueing itself trying\nto execute an IO which is asked to be retried while another device has\nan exclusive access, which in turn can\u0027t make forward progress due to\nstop_machine.\n\nFix it by invoking cond_resched() after executing each work item.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Jamie Liu \u003cjamieliu@google.com\u003e\nReferences: http://thread.gmane.org/gmane.linux.kernel/1552567\nCc: stable@vger.kernel.org\n--\n kernel/workqueue.c |    9 +++++++++\n 1 file changed, 9 insertions(+)\n"
    },
    {
      "commit": "aee2bce3cfdcb9bf2c51c24496ee776e8202ed11",
      "tree": "66ff8e345cf693cfb39383f25ad796e2f59ab6ad",
      "parents": [
        "5ec4c599a52362896c3e7c6a31ba6145dca9c6f5",
        "c95389b4cd6a4b52af78bea706a274453e886251"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Aug 29 12:02:08 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Aug 29 12:02:08 2013 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nPick up the latest upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b8b4a4166e3401b7d8ea9deb8d64d875a468144c",
      "tree": "9c5456399972573e9fb6ff0cb05c0c717632f980",
      "parents": [
        "9c823f9f7e4b392921d0d8b251bec080d58f9077"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Fri Aug 23 13:12:33 2013 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Aug 29 14:37:59 2013 +1000"
      },
      "message": "padata - Register hotcpu notifier after initialization\n\npadata_cpu_callback() takes pinst-\u003elock, to avoid taking\nan uninitialized lock, register the notifier after it\u0027s\ninitialization.\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nAcked-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "9c823f9f7e4b392921d0d8b251bec080d58f9077",
      "tree": "2ec4cdd213f1268f088c706eadd3d95e911976d8",
      "parents": [
        "a246968edcfcfe0503fa9bcd5a444e7a5b9986dc"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Thu Aug 22 06:43:37 2013 +0000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Aug 29 14:37:59 2013 +1000"
      },
      "message": "padata - share code between CPU_ONLINE and CPU_DOWN_FAILED, same to CPU_DOWN_PREPARE and CPU_UP_CANCELED\n\nShare code between CPU_ONLINE and CPU_DOWN_FAILED, same to\nCPU_DOWN_PREPARE and CPU_UP_CANCELED.\n\nIt will fix 2 bugs:\n\n  \"not check the return value of __padata_remove_cpu() and __padata_add_cpu()\".\n  \"need add \u0027break\u0027 between CPU_UP_CANCELED and CPU_DOWN_FAILED\".\n\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nAcked-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "84a78a6504f5c5394a8e558702e5b54131f01d14",
      "tree": "bd56909861d573e35ef940182891fe1eb210fec8",
      "parents": [
        "fa8218def1b1a16f0a410e2c1c767b4738cc81fa"
      ],
      "author": {
        "name": "Nathan Zimmer",
        "email": "nzimmer@sgi.com",
        "time": "Wed Aug 28 16:35:14 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 28 19:26:38 2013 -0700"
      },
      "message": "timer_list: correct the iterator for timer_list\n\nCorrect an issue with /proc/timer_list reported by Holger.\n\nWhen reading from the proc file with a sufficiently small buffer, 2k so\nnot really that small, there was one could get hung trying to read the\nfile a chunk at a time.\n\nThe timer_list_start function failed to account for the possibility that\nthe offset was adjusted outside the timer_list_next.\n\nSigned-off-by: Nathan Zimmer \u003cnzimmer@sgi.com\u003e\nReported-by: Holger Hans Peter Freyther \u003cholger@freyther.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Berke Durak \u003cberke.durak@xiphos.com\u003e\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@vger.kernel.org\u003e # 3.10.x\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1625964da51bda61306ad3ec45307a799c21f08",
      "tree": "e91a885c04d7ba1e1f4024b84591c09698386ee2",
      "parents": [
        "7c918cbbd829669bf70ffcc45962d5d992942243"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 27 14:27:23 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 27 14:27:23 2013 -0400"
      },
      "message": "cgroup: fix cgroup_css() invocation in css_from_id()\n\nca8bdcaff0 (\"cgroup: make cgroup_css() take cgroup_subsys * instead\nand allow NULL subsys\") missed one conversion in css_from_id(), which\nwas newly added.  As css_from_id() doesn\u0027t have any user yet, this\ndoesn\u0027t break anything other than generating a build warning.\n\nConvert it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nReported-by: kbuild test robot \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "c2b1df2eb42978073ec27c99cc199d20ae48b849",
      "tree": "5b7335ad7fc7e17a26a2e724c7f1f93970bc75fc",
      "parents": [
        "d661684cf6820331feae71146c35da83d794467e"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@amacapital.net",
        "time": "Thu Aug 22 11:39:16 2013 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 27 13:52:52 2013 -0400"
      },
      "message": "Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children\n\nnsproxy.pid_ns is *not* the task\u0027s pid namespace.  The name should clarify\nthat.\n\nThis makes it more obvious that setns on a pid namespace is weird --\nit won\u0027t change the pid namespace shown in procfs.\n\nSigned-off-by: Andy Lutomirski \u003cluto@amacapital.net\u003e\nReviewed-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e51db73532955dc5eaba4235e62b74b460709d5b",
      "tree": "ef2b73dd5e04d5b97a0bb10e8a163811ce9a3845",
      "parents": [
        "4ce5d2b1a8fde84c0eebe70652cf28b9beda6b4e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Mar 30 19:57:41 2013 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 26 19:17:03 2013 -0700"
      },
      "message": "userns: Better restrictions on when proc and sysfs can be mounted\n\nRely on the fact that another flavor of the filesystem is already\nmounted and do not rely on state in the user namespace.\n\nVerify that the mounted filesystem is not covered in any significant\nway.  I would love to verify that the previously mounted filesystem\nhas no mounts on top but there are at least the directories\n/proc/sys/fs/binfmt_misc and /sys/fs/cgroup/ that exist explicitly\nfor other filesystems to mount on top of.\n\nRefactor the test into a function named fs_fully_visible and call that\nfunction from the mount routines of proc and sysfs.  This makes this\ntest local to the filesystems involved and the results current of when\nthe mounts take place, removing a weird threading of the user\nnamespace, the mount namespace and the filesystems themselves.\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "21e851943e31022731cd5fad386ca8fb552dbe64",
      "tree": "53509f2b4aa5ec07fb89d616880b0d78b1555242",
      "parents": [
        "aee1c13dd0f6c2fc56e0e492b349ee8ac655880f"
      ],
      "author": {
        "name": "Raphael S.Carvalho",
        "email": "raphael.scarv@gmail.com",
        "time": "Wed Feb 27 15:32:09 2013 -0300"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 26 17:45:56 2013 -0700"
      },
      "message": "kernel/nsproxy.c: Improving a snippet of code.\n\nIt seems GCC generates a better code in that way, so I changed that statement.\nBtw, they have the same semantic, so I\u0027m sending this patch due to performance issues.\n\nAcked-by: Serge E. Hallyn \u003cserge.hallyn@ubuntu.com\u003e\nSigned-off-by: Raphael S.Carvalho \u003craphael.scarv@gmail.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "e894245c78b4d5b69074dc8d7f671770f513a4b6",
      "tree": "18824efee368b949865532bf9c478ab6031d3aae",
      "parents": [
        "ce63e1862ce81d85df9e3239e4467ac765e04962",
        "536446772f1181f3afdf332780b5325d1b6980c6"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Aug 27 01:41:47 2013 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Aug 27 01:41:47 2013 +0200"
      },
      "message": "Merge branch \u0027pm-sleep\u0027\n\n* pm-sleep:\n  PM / Sleep: new trace event to print device suspend and resume times\n  PM / Sleep: increase ftrace coverage in suspend/resume\n"
    },
    {
      "commit": "551f5c74e17ba9257cdc35bf657ee448cad2d5b0",
      "tree": "f4e4ca5f0624c75dbf285ada81bd564e51b8955e",
      "parents": [
        "8462d9df9d5033da4d25e59016b1e7a9d94a1f22",
        "b9d10be7a8e88fdcb12540387c219cdde87b0795"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Aug 27 01:29:24 2013 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Tue Aug 27 01:29:24 2013 +0200"
      },
      "message": "Merge branch \u0027acpi-processor\u0027\n\n* acpi-processor:\n  ACPI / processor: Acquire writer lock to update CPU maps\n  ACPI / processor: Remove acpi_processor_get_limit_info()\n"
    },
    {
      "commit": "7c918cbbd829669bf70ffcc45962d5d992942243",
      "tree": "32103bb699a0a70e8b81fdbdbad1bdb3c0cf2b25",
      "parents": [
        "7941cb027dccedec3c047271554ddcf4be2e0697"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 26 18:40:56 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 26 18:40:56 2013 -0400"
      },
      "message": "cgroup: make cgroup_write_event_control() use css_from_dir() instead of __d_cgrp()\n\ncgroup_event will be moved to its only user - memcg.  Replace\n__d_cgrp() usage with css_from_dir(), which is already exported.  This\nalso simplifies the code a bit.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\n"
    },
    {
      "commit": "7941cb027dccedec3c047271554ddcf4be2e0697",
      "tree": "72bf50000b99403d9610ac9d32d21900e06c1bc6",
      "parents": [
        "9fa4db334c7d9570aec7a5121e84fae99aae1d04"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 26 18:40:56 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 26 18:40:56 2013 -0400"
      },
      "message": "cgroup: make cgroup_event hold onto cgroup_subsys_state instead of cgroup\n\nCurrently, each registered cgroup_event holds an extra reference to\nthe cgroup.  This is a bit weird as events are subsystem specific and\nwill also be incorrect in the planned unified hierarchy as css\n(cgroup_subsys_state) may come and go dynamically across the lifetime\nof a cgroup.  Holding onto cgroup won\u0027t prevent the target css from\ngoing away.\n\nUpdate cgroup_event to hold onto the css the traget file belongs to\ninstead of cgroup.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\n"
    },
    {
      "commit": "9fa4db334c7d9570aec7a5121e84fae99aae1d04",
      "tree": "e9db3a75ec77038f68c1961e947346a33fabafcf",
      "parents": [
        "ca8bdcaff0d77990fb69e0f946018c96a70851cc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 26 18:40:56 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 26 18:40:56 2013 -0400"
      },
      "message": "cgroup: implement CFTYPE_NO_PREFIX\n\nWhen cgroup files are created, cgroup core automatically prepends the\nname of the subsystem as prefix.  This patch adds CFTYPE_NO_ which\ndisables the automatic prefix.  This is to work around historical\nbaggages and shouldn\u0027t be used for new files.\n\nThis will be used to move \"cgroup.event_control\" from cgroup core to\nmemcg.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nCc: Glauber Costa \u003cglommer@gmail.com\u003e\n"
    },
    {
      "commit": "ca8bdcaff0d77990fb69e0f946018c96a70851cc",
      "tree": "ac98548b8fc61cf8017a67df9be6c5a4e87a6201",
      "parents": [
        "35cf083619da5677f83e9a8eae813f0b413d7082"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 26 18:40:56 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 26 18:40:56 2013 -0400"
      },
      "message": "cgroup: make cgroup_css() take cgroup_subsys * instead and allow NULL subsys\n\ncgroup_css() is no longer used in hot paths.  Make it take struct\ncgroup_subsys * and allow the users to specify NULL subsys to obtain\nthe dummy_css.  This removes open-coded NULL subsystem testing in a\ncouple users and generally simplifies the code.\n\nAfter this patch, css_from_dir() also allows NULL @ss and returns the\nmatching dummy_css.  This behavior change doesn\u0027t affect its only user\n- perf.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\n"
    },
    {
      "commit": "35cf083619da5677f83e9a8eae813f0b413d7082",
      "tree": "509ea1ae09644bc82040ec919fa94c928e98db27",
      "parents": [
        "6e6eab0efdf48fb2d8d7aee904d7740acb4661c6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 26 18:40:56 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 26 18:40:56 2013 -0400"
      },
      "message": "cgroup: rename cgroup_css_from_dir() to css_from_dir() and update its syntax\n\ncgroup_css_from_dir() will grow another user.  In preparation, make\nthe following changes.\n\n* All css functions are prefixed with just \"css_\", rename it to\n  css_from_dir().\n\n* Take dentry * instead of file * as dentry is what ultimately\n  identifies a cgroup and file may not always be available.  Note that\n  the function now checkes whether @dentry-\u003ed_inode is NULL as the\n  caller now may specify a negative dentry.\n\n* Make it take cgroup_subsys * instead of integer subsys_id.  This\n  simplifies the function and allows specifying no subsystem for\n  cgroup-\u003edummy_css.\n\n* Make return section a bit less verbose.\n\nThis patch doesn\u0027t introduce any behavior changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "1a6661dafd2528d03d0eaed898ad596816dfe738",
      "tree": "51d915b4967d606155db81cfe5b6a286bc497ff1",
      "parents": [
        "32f389ec5689751bae758c9b3e3982b2acb696c1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Aug 23 14:24:41 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Aug 23 14:38:12 2013 -0700"
      },
      "message": "workqueue: convert bus code to use dev_groups\n\nThe dev_attrs field of struct bus_type is going away soon, dev_groups\nshould be used instead.  This converts the workqueue bus code to use\nthe correct field.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e2982a04ede454b23ea2f5af11ba4d77d8a70155",
      "tree": "e2ca688015cfeadb7f8f3289ba53f1073e113b17",
      "parents": [
        "f07823e163d1296fa47986edb95198390553b2cc",
        "1c09b195d37fa459844036f429a0f378e70c3db6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 23 10:58:50 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 23 10:58:50 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.11-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup fix from Tejun Heo:\n \"A late fix for cgroup.\n\n  This fixes a behavior regression visible to userland which was created\n  by a commit merged during -rc1.  While the behavior change isn\u0027t too\n  likely to be noticeable, the fix is relatively low risk and we\u0027ll need\n  to backport it through -stable anyway if the bug gets released\"\n\n* \u0027for-3.11-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cpuset: fix a regression in validating config change\n"
    },
    {
      "commit": "ccfe9e42e451232dd17a230d1b4e979c3d15311e",
      "tree": "44e4f7fab140208e1826c3415bb9229fc847dda5",
      "parents": [
        "836d481ed7c91152c6144ea3a3363cad3940b3e0"
      ],
      "author": {
        "name": "Alexander Z Lam",
        "email": "azl@google.com",
        "time": "Thu Aug 08 09:47:45 2013 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 22 12:45:24 2013 -0400"
      },
      "message": "tracing: Make tracing_cpumask available for all instances\n\nAllow tracer instances to disable tracing by cpu by moving\nthe static global tracing_cpumask into trace_array.\n\nLink: http://lkml.kernel.org/r/921622317f239bfc2283cac2242647801ef584f2.1375980149.git.azl@google.com\n\nCc: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nCc: Alexander Z Lam \u003clambchop468@gmail.com\u003e\nSigned-off-by: Alexander Z Lam \u003cazl@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "836d481ed7c91152c6144ea3a3363cad3940b3e0",
      "tree": "b33beed354fc924b65afd4593ded55cef9f5c488",
      "parents": [
        "620a30e97febc8332590376c94ed0e9dba522bc8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jul 31 19:31:37 2013 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 21 23:28:03 2013 -0400"
      },
      "message": "tracing: Kill the !CONFIG_MODULES code in trace_events.c\n\nMove trace_module_nb under CONFIG_MODULES and kill the dummy\ntrace_module_notify(). Imho it doesn\u0027t make sense to define\n\"struct notifier_block\" and its .notifier_call just to avoid\n\"ifdef\" in event_trace_init(), and all other !CONFIG_MODULES\ncode has already gone away.\n\nLink: http://lkml.kernel.org/r/20130731173137.GA31043@redhat.com\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "620a30e97febc8332590376c94ed0e9dba522bc8",
      "tree": "38bde59c3f7f03117d9bf87532ced86074cd7c39",
      "parents": [
        "779c5e379158de3e96112630c543d3c7b37efab9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jul 31 19:31:35 2013 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 21 23:25:06 2013 -0400"
      },
      "message": "tracing: Don\u0027t pass file_operations array to event_create_dir()\n\nNow that event_create_dir() and __trace_add_new_event() always\nuse the same file_operations we can kill these arguments and\nsimplify the code.\n\nLink: http://lkml.kernel.org/r/20130731173135.GA31040@redhat.com\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "779c5e379158de3e96112630c543d3c7b37efab9",
      "tree": "372c80fb9521ef4ac5d614d481a1a819cf57ba6c",
      "parents": [
        "3ddc77f6f4a58ee2e49e0e8c0216105c7f8ddd8c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jul 31 19:31:32 2013 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 21 22:31:23 2013 -0400"
      },
      "message": "tracing: Kill trace_create_file_ops() and friends\n\ntrace_create_file_ops() allocates the copy of id/filter/format/enable\nfile_operations to set \"f_op-\u003eowner \u003d mod\" for fops_get().\n\nHowever after the recent changes there is no reason to prevent rmmod\neven if one of these files is opened. A file operation can do nothing\nbut fail after remove_event_file_dir() clears -\u003ei_private for every\nfile removed by trace_module_remove_events().\n\nKill \"struct ftrace_module_file_ops\" and fix the compilation errors.\n\nLink: http://lkml.kernel.org/r/20130731173132.GA31033@redhat.com\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3ddc77f6f4a58ee2e49e0e8c0216105c7f8ddd8c",
      "tree": "13ff7a152977cfa81386fe0169f84fbd22eba732",
      "parents": [
        "9457158bbc0ee04ecef76862d73eecd8076e9c7b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Wed Mar 27 14:15:37 2013 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 21 22:24:52 2013 -0400"
      },
      "message": "tracing/syscalls: Annotate raw_init function with __init\n\ninit_syscall_trace() can only be called during kernel bootup only, so we can\nmark it and the functions it calls as __init.\n\nLink: http://lkml.kernel.org/r/51528E89.6080508@huawei.com\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2d498db9814c6f3a79b708c8867c7ffcf7b5e2fc",
      "tree": "af09d25871b0b8768c63411530e5c7d7c6e4c22b",
      "parents": [
        "b11895c45899daff094610f6cdbf7611d74ae2a6"
      ],
      "author": {
        "name": "Libin",
        "email": "huawei.libin@huawei.com",
        "time": "Wed Aug 21 08:50:40 2013 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Aug 21 10:32:09 2013 -0400"
      },
      "message": "workqueue: Fix manage_workers() RETURNS description\n\nNo functional change. The comment of function manage_workers()\nRETURNS description is obvious wrong, same as the CONTEXT.\nFix it.\n\nSigned-off-by: Libin \u003chuawei.libin@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "b11895c45899daff094610f6cdbf7611d74ae2a6",
      "tree": "6f2d4b717a93e71d9dbf061a4f12d7aa63794290",
      "parents": [
        "1207637304990374231fe4e9aeb527904f4ec1e6"
      ],
      "author": {
        "name": "Libin",
        "email": "huawei.libin@huawei.com",
        "time": "Wed Aug 21 08:50:39 2013 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Aug 21 10:32:09 2013 -0400"
      },
      "message": "workqueue: Comment correction in file header\n\nNo functional change. There are two worker pools for each cpu in\ncurrent implementation (one for normal work items and the other for\nhigh priority ones).\n\ntj: Whitespace adjustments.\n\nSigned-off-by: Libin \u003chuawei.libin@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "1c09b195d37fa459844036f429a0f378e70c3db6",
      "tree": "f5a489a926304b07a982ea61a7ea8ebeaf253653",
      "parents": [
        "a903f0865a190f8778c73df1a810ea6e25e5d7cf"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Wed Aug 21 10:22:28 2013 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Aug 21 08:40:27 2013 -0400"
      },
      "message": "cpuset: fix a regression in validating config change\n\nIt\u0027s not allowed to clear masks of a cpuset if there\u0027re tasks in it,\nbut it\u0027s broken:\n\n  # mkdir /cgroup/sub\n  # echo 0 \u003e /cgroup/sub/cpuset.cpus\n  # echo 0 \u003e /cgroup/sub/cpuset.mems\n  # echo $$ \u003e /cgroup/sub/tasks\n  # echo \u003e /cgroup/sub/cpuset.cpus\n  (should fail)\n\nThis bug was introduced by commit 88fa523bff295f1d60244a54833480b02f775152\n(\"cpuset: allow to move tasks to empty cpusets\").\n\ntj: Dropped temp bool variables and nestes the conditionals directly.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "458fb381eacdd23366cfa2fbdf5a467848683e3a",
      "tree": "2e99312defa53ba0576e303021a0a2bf62b664b8",
      "parents": [
        "5361471437a97cf493c2aa7d881bbedc9c248415"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jul 26 20:47:42 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Aug 20 11:45:50 2013 -0700"
      },
      "message": "rcu: Simplify _rcu_barrier() processing\n\nThis commit drops an unneeded ACCESS_ONCE() and simplifies an \"our work\nis done\" check in _rcu_barrier().  This applies feedback from Linus\n(https://lkml.org/lkml/2013/7/26/777) that he gave to similar code\nin an unrelated patch.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n[ paulmck: Fix comment to match code, reported by Lai Jiangshan. ]\n"
    },
    {
      "commit": "7a6a41073c345ff5ef5e81317211481c0da3f7f3",
      "tree": "259691e1f4bd116d57bca9b8919a78822f32cb1a",
      "parents": [
        "ef47db8e99d53f0da5270accd2ee71bcf9e25f11"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jun 21 06:24:56 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Aug 20 11:38:45 2013 -0700"
      },
      "message": "rcu: Make rcutorture emit online failures if verbose\n\nAlthough rcutorture counts CPU-hotplug online failures, it does\nnot explicitly record which CPUs were having trouble coming online.\nThis commit therefore emits a console message when online failure occurs.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "ef47db8e99d53f0da5270accd2ee71bcf9e25f11",
      "tree": "6c4c5fe4c46e4c5d016821e9c13e8426033ca33e",
      "parents": [
        "d10453e9742f4711b004caae7741476073b4f603"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Jun 13 15:30:00 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Aug 20 11:38:43 2013 -0700"
      },
      "message": "rcu: Remove unused variable from rcu_torture_writer()\n\nThe oldbatch variable in rcu_torture_writer() is stored to, but never\nloaded from.  This commit therefore removes it.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "d10453e9742f4711b004caae7741476073b4f603",
      "tree": "235f81d017de09c5c0ff8f8d579d8eb9943e065f",
      "parents": [
        "2ec1f2d98752293f4831ce7d7bdbc3fc36bdd114"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Jun 13 15:12:24 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Aug 20 11:38:42 2013 -0700"
      },
      "message": "rcu: Sort rcutorture module parameters\n\nThere are getting to be too many module parameters to permit the current\nsemi-random order, so this patch orders them.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "2ec1f2d98752293f4831ce7d7bdbc3fc36bdd114",
      "tree": "c1dc25a48d0bfac1381879587986578bc5100d0b",
      "parents": [
        "d2818df168b2c80c7449e47bd349094c308fa323"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 12 15:12:21 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Aug 20 11:38:41 2013 -0700"
      },
      "message": "rcu: Increase rcutorture test coverage\n\nCurrently, rcutorture has separate torture_types to test synchronous,\nasynchronous, and expedited grace-period primitives.  This has\ntwo disadvantages: (1) Three times the number of runs to cover the\ncombinations and (2) Little testing of concurrent combinations of the\nthree options.  This commit therefore adds a pair of module parameters\nthat control normal and expedited state, with the default being both\ntypes, randomly selected, by the fakewriter processes, thus reducing\nsource-code size and increasing test coverage.  In addtion, the writer\ntask switches between asynchronous-normal and expedited grace-period\nprimitives driven by the same pair of module parameters.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "d2818df168b2c80c7449e47bd349094c308fa323",
      "tree": "d27801819b2b0e37d19a3acbbae54901b576288c",
      "parents": [
        "f7f7bac9cb1c50783f15937a11743655a5756a36"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 23 17:05:42 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Aug 20 11:37:54 2013 -0700"
      },
      "message": "rcu: Add duplicate-callback tests to rcutorture\n\nThis commit adds a object_debug option to rcutorture to allow the\ndebug-object-based checks for duplicate call_rcu() invocations to\nbe deterministically tested.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Rik van Riel \u003criel@surriel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\n[ paulmck: Banish mid-function ifdef, more or less per Josh Triplett. ]\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n[ paulmck: Improve duplicate-callback test, per Lai Jiangshan. ]\n"
    },
    {
      "commit": "d185af300fe43c130083851ca918ea2bb9600f0f",
      "tree": "a9785bc08f4854abfb6b8d4ffc4bc4330cacbc9e",
      "parents": [
        "1a5d6d2b1792245bcfd93aa7225f114a27cc45d3"
      ],
      "author": {
        "name": "Yacine Belkadi",
        "email": "yacine.belkadi.1@gmail.com",
        "time": "Wed Jul 31 14:59:24 2013 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Aug 20 12:57:25 2013 +0200"
      },
      "message": "workqueue: fix some scripts/kernel-doc warnings\n\nWhen building the htmldocs (in verbose mode), scripts/kernel-doc reports the\nfollowing type of warnings:\n\nWarning(kernel/workqueue.c:653): No description found for return value of\n\u0027get_work_pool\u0027\n\nFix them by:\n- Using \"Return:\" sections to introduce descriptions of return values\n- Adding some missing descriptions\n\nSigned-off-by: Yacine Belkadi \u003cyacine.belkadi.1@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "f4940ab7c5992d3fabcda039744fb7657749798e",
      "tree": "ea8a5bb3f5c93a0cef4c0e91ad87017f299bfdec",
      "parents": [
        "cc56ded3fdd365e07e03315379ee6612a68fd817"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Tue Aug 20 15:35:04 2013 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 20 15:37:46 2013 +0930"
      },
      "message": "kernel/params.c: use scnprintf() instead of sprintf()\n\nFor some strings (e.g. version string), they are permitted to be larger\nthan PAGE_SIZE (although meaningless), so recommend to use scnprintf()\ninstead of sprintf().\n\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "cc56ded3fdd365e07e03315379ee6612a68fd817",
      "tree": "0335af371e340556297fc4ac041f537e8ff2e5de",
      "parents": [
        "5265fc6219ddbf8dfc9b18223448a4997fb06eae"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Tue Aug 20 15:34:21 2013 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 20 15:37:46 2013 +0930"
      },
      "message": "kernel/module.c: use scnprintf() instead of sprintf()\n\nFor some strings, they are permitted to be larger than PAGE_SIZE, so\nneed use scnprintf() instead of sprintf(), or it will cause issue.\n\nOne case is:\n\n  if a module version is crazy defined (length more than PAGE_SIZE),\n  \u0027modinfo\u0027 command is still OK (print full contents),\n  but for \"cat /sys/modules/\u0027modname\u0027/version\", will cause issue in kernel.\n\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0ce814096f388f6801587f01c1c5ee1d04e746b3",
      "tree": "cb3319659521cfe0288a4670c5160fbd9da744f2",
      "parents": [
        "ab013c5f60b7ead254863c75b9adc2a47992d01b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 20 15:33:19 2013 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 20 15:37:43 2013 +0930"
      },
      "message": "module: Add NOARG flag for ops with param_set_bool_enable_only() set function\n\nThe ops that uses param_set_bool_enable_only() as its set function can\neasily handle being used without an argument. There\u0027s no reason to\nfail the loading of the module if it does not have one.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ab013c5f60b7ead254863c75b9adc2a47992d01b",
      "tree": "9631f1731699398802646d43b170c133c6988fbc",
      "parents": [
        "7cb14ba75d57910cc4b62115dd5db7bd83c93684"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 20 15:33:19 2013 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 20 15:37:42 2013 +0930"
      },
      "message": "module: Add flag to allow mod params to have no arguments\n\nCurrently the params.c code allows only two \"set\" functions to have\nno arguments. If a parameter does not have an argument, then it\nlooks at the set function and tests if it is either param_set_bool()\nor param_set_bint(). If it is not one of these functions, then it\nfails the loading of the module.\n\nBut there may be module parameters that have different set functions\nand still allow no arguments. But unless each of these cases adds\ntheir function to the if statement, it wont be allowed to have no\narguments. This method gets rather messing and does not scale.\n\nInstead, introduce a flags field to the kernel_param_ops, where if\nthe flag KERNEL_PARAM_FL_NOARG is set, the parameter will not fail\nif it does not contain an argument. It will be expected that the\ncorresponding set function can handle a NULL pointer as \"val\".\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "79ac6834c255d9e3832209f3738d6bff7b87c743",
      "tree": "8dbd5a12aa780a450f67533e3f4ec75a83ac7bfe",
      "parents": [
        "ad81f0545ef01ea651886dddac4bef6cec930092"
      ],
      "author": {
        "name": "Christoph Jaeger",
        "email": "christophjaeger@linux.com",
        "time": "Tue Aug 20 15:33:18 2013 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 20 15:37:28 2013 +0930"
      },
      "message": "module: fix sprintf format specifier in param_get_byte()\n\nIn param_get_byte(), to which the macro STANDARD_PARAM_DEF(byte, ...) expands,\n\"%c\" is used to print an unsigned char. So it gets printed as a character what\nis not intended here. Use \"%hhu\" instead.\n\n[Rusty: note drivers which would be effected:\n drivers/net/wireless/cw1200/main.c\n drivers/ntb/ntb_transport.c:68\n drivers/scsi/lpfc/lpfc_attr.c\n drivers/usb/atm/speedtch.c\n drivers/usb/gadget/g_ffs.c\n]\n\nAcked-by: Jon Mason \u003cjon.mason@intel.com\u003e (for ntb)\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e (for g_ffs.c)\nSigned-off-by: Christoph Jaeger \u003cchristophjaeger@linux.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e91dade52b590d821e83bb494df20c93e5384790",
      "tree": "256ed456cb1d21776624020485ce1a79814db29d",
      "parents": [
        "fbf21849edaf0cd2a9b33307ab965757a93b8d75",
        "ae920eb24277e4a174a3ca575ce42b98b18a6748"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 19 09:17:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 19 09:17:35 2013 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer fixes from Ingo Molnar:\n \"Three small fixlets\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  nohz: fix compile warning in tick_nohz_init()\n  nohz: Do not warn about unstable tsc unless user uses nohz_full\n  sched_clock: Fix integer overflow\n"
    },
    {
      "commit": "2203547f82b7727e2cd3fee3e56fceae2b2b691c",
      "tree": "9bf1b84e663c01b39e9a9d098d498d424d1818ad",
      "parents": [
        "b36f4be3de1b123d8601de062e7dbfc904f305fb"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@infradead.org",
        "time": "Sun Aug 18 20:08:07 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 19 09:08:54 2013 -0700"
      },
      "message": "kernel: fix new kernel-doc warning in wait.c\n\nFix new kernel-doc warnings in kernel/wait.c:\n\n  Warning(kernel/wait.c:374): No description found for parameter \u0027p\u0027\n  Warning(kernel/wait.c:374): Excess function parameter \u0027word\u0027 description in \u0027wake_up_atomic_t\u0027\n  Warning(kernel/wait.c:374): Excess function parameter \u0027bit\u0027 description in \u0027wake_up_atomic_t\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e6eab0efdf48fb2d8d7aee904d7740acb4661c6",
      "tree": "7805e157bdbe18844f650fa0a691cd8d1a6e1baf",
      "parents": [
        "0bfb4aa67cef4982adc70590a31624d7b35a0bda"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 15 11:43:15 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 19 09:56:34 2013 -0400"
      },
      "message": "cgroup: fix cgroup_write_event_control()\n\n81eeaf0411 (\"cgroup: make cftype-\u003e[un]register_event() deal with\ncgroup_subsys_state inst ead of cgroup\") updated the cftype event\nmethods to take @css (cgroup_subsys_state) instead of @cgroup;\nhowever, it incorrectly used @css passed to\ncgroup_write_event_control(), which the dummy_css for the cgroup as\nthe file is a cgroup core file.  This leads to oops on event\nregistration.\n\nFix it by using the css matching the event target file.  Note that\ncgroup_write_event_control() now disallows cgroup core files from\nbeing event sources.  This is for simplicity and doesn\u0027t matter as\ncgroup_event will be moved and made specific to memcg.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "0bfb4aa67cef4982adc70590a31624d7b35a0bda",
      "tree": "89a20d8b76a803e2ac6e04c032b97e35f392fd8f",
      "parents": [
        "1cb650b91ba582f6737457b7d22e368585596d2c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Aug 15 11:42:36 2013 -0400"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 19 09:56:25 2013 -0400"
      },
      "message": "cgroup: fix subsystem file accesses on the root cgroup\n\n105347ba5 (\"cgroup: make cgroup_file_open() rcu_read_lock() around\ncgroup_css() and add cfent-\u003ecss\") added cfent-\u003ecss to cache the\nassocited cgroup_subsys_state across file operations.\n\nA cfent is associated with single css throughout its lifetime and the\norigimal commit initialized the cache pointer during cgroup_add_file()\nand verified that it matches the actual one in cgroup_file_open().\nWhile this works fine for !root cgroups, it\u0027s broken for root cgroups\nas files in a root cgroup are created before the css\u0027s are associated\nwith the cgroup and thus cgroup_css() call in cgroup_add_file()\nreturns NULL associating all cfents in the root cgroup with NULL css.\nThis makes cgroup_file_open() trigger WARN and fail with -ENODEV for\nall !core subsystem files in the root cgroups.\n\nThere\u0027s no reason to initialize cfent-\u003ecss separately from\ncgroup_add_file().  As the association never changes,\ncgroup_file_open() can set it unconditionally every time and\ncontaining the logic in cgroup_file_open() makes more sense anyway as\nthe only reason it\u0027s necessary is file-\u003eprivate_data being already\noccupied.\n\nFix it by setting cfent-\u003ecss unconditionally from cgroup_file_open().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "1cb650b91ba582f6737457b7d22e368585596d2c",
      "tree": "1a3d8d4a219dcca229dcc6dc47876091ef0f8438",
      "parents": [
        "930913a31289202d232186b82854b26d7fb7cf4d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Mon Aug 19 10:05:24 2013 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 19 09:52:18 2013 -0400"
      },
      "message": "cgroup: change cgroup_from_id() to css_from_id()\n\nNow we want cgroup core to always provide the css to use to the\nsubsystems, so change this API to css_from_id().\n\nUninline css_from_id(), because it\u0027s getting bigger and cgroup_css()\nhas been unexported.\n\nWhile at it, remove the #ifdef, and shuffle the order of the args.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "15e71911fcc655508e02f767a3d9b8b138051d2b",
      "tree": "120a2912e19157ffb713a9446e9b64dc9ca75c30",
      "parents": [
        "41e85ce8220c6e5fdef706fda6696cd291115b63"
      ],
      "author": {
        "name": "Xie XiuQi",
        "email": "xiexiuqi@huawei.com",
        "time": "Mon Jul 29 11:52:24 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Aug 19 09:03:50 2013 +0200"
      },
      "message": "generic-ipi/locking: Fix misleading smp_call_function_any() description\n\nFix locking description: after commit 8969a5ede0f9e17da4b9437\n(\"generic-ipi: remove kmalloc()\"), wait \u003d 0 can be guaranteed\nbecause we don\u0027t kmalloc() anymore.\n\nSigned-off-by: Xie XiuQi \u003cxiexiuqi@huawei.com\u003e\nCc: Sheng Yang \u003csheng@linux.intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nLink: http://lkml.kernel.org/r/51F5E6F8.1000801@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "217af2a2ffbfc1498d1cf3a89fa478b5632df8f7",
      "tree": "f5552a640177ad9dd8a25118b08d67b7eb88e9ce",
      "parents": [
        "d4bd54fbac2ea5c30eb976ca557e905f489d55f4"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jun 21 15:39:06 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Aug 18 18:59:03 2013 -0700"
      },
      "message": "nohz_full: Add full-system-idle arguments to API\n\nThis commit adds an isidle and jiffies argument to force_qs_rnp(),\ndyntick_save_progress_counter(), and rcu_implicit_dynticks_qs() to enable\nRCU\u0027s force-quiescent-state process to check for full-system idle.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n[ paulmck: Use true and false for boolean constants per Lai Jiangshan. ]\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "d4bd54fbac2ea5c30eb976ca557e905f489d55f4",
      "tree": "c1d75711c87ae061bed07849f0aca94181fdd854",
      "parents": [
        "eb348b898290da242e46df75ab0b9772003e08b8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jun 21 14:51:40 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Aug 18 18:58:51 2013 -0700"
      },
      "message": "nohz_full: Add full-system idle states and variables\n\nThis commit adds control variables and states for full-system idle.\nThe system will progress through the states in numerical order when\nthe system is fully idle (other than the timekeeping CPU), and reset\ndown to the initial state if any non-timekeeping CPU goes non-idle.\nThe current state is kept in full_sysidle_state.\n\nOne flavor of RCU will be in charge of driving the state machine,\ndefined by rcu_sysidle_state.  This should be the busiest flavor of RCU.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "eb348b898290da242e46df75ab0b9772003e08b8",
      "tree": "f35ed4203ca3af3489e780430685a09bcb6a5f92",
      "parents": [
        "2333210b26cf7aaf48d71343029afb860103d9f9"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jun 21 13:00:57 2013 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Aug 18 18:58:43 2013 -0700"
      },
      "message": "nohz_full: Add per-CPU idle-state tracking\n\nThis commit adds the code that updates the rcu_dyntick structure\u0027s\nnew fields to track the per-CPU idle state based on interrupts and\ntransitions into and out of the idle loop (NMIs are ignored because NMI\nhandlers cannot cleanly read out the time anyway).  This code is similar\nto the code that maintains RCU\u0027s idea of per-CPU idleness, but differs\nin that RCU treats CPUs running in user mode as idle, where this new\ncode does not.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    }
  ],
  "next": "2333210b26cf7aaf48d71343029afb860103d9f9"
}
