)]}'
{
  "log": [
    {
      "commit": "7b2a2d4a18fffac3c4872021529b0657896db788",
      "tree": "a0f05be191f12711a774368f6feb15bcd2eebf1a",
      "parents": [
        "5647bc293ab15f66a7b1cda850c5e9d162a6c7c2"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Oct 19 14:07:31 2012 +0100"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:35 2012 +0000"
      },
      "message": "mm: migrate: Add a tracepoint for migrate_pages\n\nThe pgmigrate_success and pgmigrate_fail vmstat counters tells the user\nabout migration activity but not the type or the reason. This patch adds\na tracepoint to identify the type of page migration and why the page is\nbeing migrated.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "95a7d76897c1e7243d4137037c66d15cbf2cce76",
      "tree": "d70ce3f79c8c5f7824ff277b2ab424ab975fdf2c",
      "parents": [
        "c8d258a7b2b6633b79cad4464e8dfb3dc328d897"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Oct 31 12:38:31 2012 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Oct 31 12:38:31 2012 -0400"
      },
      "message": "xen/mmu: Use Xen specific TLB flush instead of the generic one.\n\nAs Mukesh explained it, the MMUEXT_TLB_FLUSH_ALL allows the\nhypervisor to do a TLB flush on all active vCPUs. If instead\nwe were using the generic one (which ends up being xen_flush_tlb)\nwe end up making the MMUEXT_TLB_FLUSH_LOCAL hypercall. But\nbefore we make that hypercall the kernel will IPI all of the\nvCPUs (even those that were asleep from the hypervisor\nperspective). The end result is that we needlessly wake them\nup and do a TLB flush when we can just let the hypervisor\ndo it correctly.\n\nThis patch gives around 50% speed improvement when migrating\nidle guest\u0027s from one host to another.\n\nOracle-bug: 14630170\n\nCC: stable@vger.kernel.org\nTested-by:  Jingjie Jiang \u003cjingjie.jiang@oracle.com\u003e\nSuggested-by:  Mukesh Rathor \u003cmukesh.rathor@oracle.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "72055425e53540d9d0e59a57ac8c9b8ce77b62d5",
      "tree": "8033d7d7bfdf8725eed785d02f7121d201052d2e",
      "parents": [
        "fc81c038c2d61d4fcd8150f383fec1ce23087597",
        "f46dbe3dee853f8a860f889cb2b7ff4c624f2a7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 10 10:49:20 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 10 10:49:20 2012 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\nPull btrfs update from Chris Mason:\n \"This is a large pull, with the bulk of the updates coming from:\n\n   - Hole punching\n\n   - send/receive fixes\n\n   - fsync performance\n\n   - Disk format extension allowing more hardlinks inside a single\n     directory (btrfs-progs patch required to enable the compat bit for\n     this one)\n\n  I\u0027m cooking more unrelated RAID code, but I wanted to make sure this\n  original batch makes it in.  The largest updates here are relatively\n  old and have been in testing for some time.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (121 commits)\n  btrfs: init ref_index to zero in add_inode_ref\n  Btrfs: remove repeated eb-\u003epages check in, disk-io.c/csum_dirty_buffer\n  Btrfs: fix page leakage\n  Btrfs: do not warn_on when we cannot alloc a page for an extent buffer\n  Btrfs: don\u0027t bug on enomem in readpage\n  Btrfs: cleanup pages properly when ENOMEM in compression\n  Btrfs: make filesystem read-only when submitting barrier fails\n  Btrfs: detect corrupted filesystem after write I/O errors\n  Btrfs: make compress and nodatacow mount options mutually exclusive\n  btrfs: fix message printing\n  Btrfs: don\u0027t bother committing delayed inode updates when fsyncing\n  btrfs: move inline function code to header file\n  Btrfs: remove unnecessary IS_ERR in bio_readpage_error()\n  btrfs: remove unused function btrfs_insert_some_items()\n  Btrfs: don\u0027t commit instead of overcommitting\n  Btrfs: confirmation of value is added before trace_btrfs_get_extent() is called\n  Btrfs: be smarter about dropping things from the tree log\n  Btrfs: don\u0027t lookup csums for prealloc extents\n  Btrfs: cache extent state when writing out dirty metadata pages\n  Btrfs: do not hold the file extent leaf locked when adding extent item\n  ...\n"
    },
    {
      "commit": "c654345924f7cce87bb221b89db91cba890421ba",
      "tree": "980c9a496ac0e2497ef156ff5b83701295d1ecf8",
      "parents": [
        "075663d19885eb3738fd2d7dbdb8947e12563b68"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Mon Oct 08 16:28:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 09 16:22:15 2012 +0900"
      },
      "message": "mm: remove __GFP_NO_KSWAPD\n\nWhen transparent huge pages were introduced, memory compaction and swap\nstorms were an issue, and the kernel had to be careful to not make THP\nallocations cause pageout or compaction.\n\nNow that we have working compaction deferral, kswapd is smart enough to\ninvoke compaction and the quadratic behaviour around isolate_free_pages\nhas been fixed, it should be safe to remove __GFP_NO_KSWAPD.\n\n[minchan@kernel.org: Comment fix]\n[mgorman@suse.de: Avoid direct reclaim for deferred compaction]\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6432f2128414edbea5fd4f6c4fa4c28d0e1c6151",
      "tree": "d3c63c5f2f043ce52d98d8dfd3c9c0a7bc76ed95",
      "parents": [
        "1b033447bf847ba49c3816c564c9191c97456b36",
        "c278531d39f3158bfee93dc67da0b77e09776de2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 08 06:36:39 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 08 06:36:39 2012 +0900"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 updates from Ted Ts\u0027o:\n \"The big new feature added this time is supporting online resizing\n  using the meta_bg feature.  This allows us to resize file systems\n  which are greater than 16TB.  In addition, the speed of online\n  resizing has been improved in general.\n\n  We also fix a number of races, some of which could lead to deadlocks,\n  in ext4\u0027s Asynchronous I/O and online defrag support, thanks to good\n  work by Dmitry Monakhov.\n\n  There are also a large number of more minor bug fixes and cleanups\n  from a number of other ext4 contributors, quite of few of which have\n  submitted fixes for the first time.\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (69 commits)\n  ext4: fix ext4_flush_completed_IO wait semantics\n  ext4: fix mtime update in nodelalloc mode\n  ext4: fix ext_remove_space for punch_hole case\n  ext4: punch_hole should wait for DIO writers\n  ext4: serialize truncate with owerwrite DIO workers\n  ext4: endless truncate due to nonlocked dio readers\n  ext4: serialize unlocked dio reads with truncate\n  ext4: serialize dio nonlocked reads with defrag workers\n  ext4: completed_io locking cleanup\n  ext4: fix unwritten counter leakage\n  ext4: give i_aiodio_unwritten a more appropriate name\n  ext4: ext4_inode_info diet\n  ext4: convert to use leXX_add_cpu()\n  ext4: ext4_bread usage audit\n  fs: reserve fallocate flag codepoint\n  ext4: remove redundant offset check in mext_check_arguments()\n  ext4: don\u0027t clear orphan list on ro mount with errors\n  jbd2: fix assertion failure in commit code due to lacking transaction credits\n  ext4: release donor reference when EXT4_IOC_MOVE_EXT ioctl fails\n  ext4: enable FITRIM ioctl on bigalloc file system\n  ...\n"
    },
    {
      "commit": "a1ce39288e6fbefdd8d607021d02384eb4a20b99",
      "tree": "c72e67f0c9d828420788f9086a19df1b9a7e39ae",
      "parents": [
        "760285e7e7ab282c25b5e90816f7c47000557f4f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:25 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:25 2012 +0100"
      },
      "message": "UAPI: (Scripted) Convert #include \"...\" to #include \u003cpath/...\u003e in kernel system headers\n\nConvert #include \"...\" to #include \u003cpath/...\u003e in kernel system headers.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "dea7d76ecbfb53cda6aadd9bed33e87d255c5b02",
      "tree": "4869d75ed1804607ea4a2e449ad3506a1fb529e5",
      "parents": [
        "0647d6bd16c03c928a22d1b90c4c8684c5908f08"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "bo.li.liu@oracle.com",
        "time": "Fri Sep 07 20:01:27 2012 -0600"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Mon Oct 01 15:19:17 2012 -0400"
      },
      "message": "Btrfs: update delayed ref\u0027s tracepoints to show sequence\n\nWe\u0027ve added a new field \u0027sequence\u0027 to delayed ref node, so update related\ntracepoints.\n\nSigned-off-by: Liu Bo \u003cbo.li.liu@oracle.com\u003e\n"
    },
    {
      "commit": "99dbb1632f1165c2726056ebfce6edde0e5a0208",
      "tree": "2b2fc83db20b4c6d13842496899774b0dc2868e2",
      "parents": [
        "aae6f989c6e97ff8197717fa4d032ad4eba091a7",
        "9c33c512b2d3167a3580659942ee78437b1b1bc6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 09:06:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 09:06:36 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull the trivial tree from Jiri Kosina:\n \"Tiny usual fixes all over the place\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)\n  doc: fix old config name of kprobetrace\n  fs/fs-writeback.c: cleanup riteback_sb_inodes kerneldoc\n  btrfs: fix the commment for the action flags in delayed-ref.h\n  btrfs: fix trivial typo for the comment of BTRFS_FREE_INO_OBJECTID\n  vfs: fix kerneldoc for generic_fh_to_parent()\n  treewide: fix comment/printk/variable typos\n  ipr: fix small coding style issues\n  doc: fix broken utf8 encoding\n  nfs: comment fix\n  platform/x86: fix asus_laptop.wled_type module parameter\n  mfd: printk/comment fixes\n  doc: getdelays.c: remember to close() socket on error in create_nl_socket()\n  doc: aliasing-test: close fd on write error\n  mmc: fix comment typos\n  dma: fix comments\n  spi: fix comment/printk typos in spi\n  Coccinelle: fix typo in memdup_user.cocci\n  tmiofb: missing NULL pointer checks\n  tools: perf: Fix typo in tools/perf\n  tools/testing: fix comment / output typos\n  ...\n"
    },
    {
      "commit": "85f2a2ef1d0ab99523e0b947a2b723f5650ed6aa",
      "tree": "be9256de42d2f2411355858fccb3c58aac8c5381",
      "parents": [
        "20a36e39d59757252edbbdcf9574ae2998733ce9"
      ],
      "author": {
        "name": "Wen Congyang",
        "email": "wency@cn.fujitsu.com",
        "time": "Thu Sep 20 14:04:47 2012 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Sep 20 15:51:16 2012 -0400"
      },
      "message": "tracing: Don\u0027t call page_to_pfn() if page is NULL\n\nWhen allocating memory fails, page is NULL. page_to_pfn() will\ncause the kernel panicked if we don\u0027t use sparsemem vmemmap.\n\nLink: http://lkml.kernel.org/r/505AB1FF.8020104@cn.fujitsu.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4907cb7b193a4f91c1fd30cf679c035e3644c64d",
      "tree": "3a11b6fed733b906e005a7f7cfa5b5c6c78dbd49",
      "parents": [
        "203fa3fe9c9d79b3f4cd044cab13622123b6c578"
      ],
      "author": {
        "name": "Anatol Pomozov",
        "email": "anatol.pomozov@gmail.com",
        "time": "Sat Sep 01 10:31:09 2012 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sat Sep 01 10:33:05 2012 -0700"
      },
      "message": "treewide: fix comment/printk/variable typos\n\nSigned-off-by: Anatol Pomozov \u003canatol.pomozov@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "81370291722ac1e0ec95234a0ea91a5bc76b6185",
      "tree": "cea806d89ff429779fbf2e04f85118b4975200c3",
      "parents": [
        "210c05264d46ddf688bc26861ffb8e2323fb25cb"
      ],
      "author": {
        "name": "Anatol Pomozov",
        "email": "anatol.pomozov@gmail.com",
        "time": "Fri Aug 17 09:52:17 2012 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Aug 17 09:52:17 2012 -0400"
      },
      "message": "ext4: add missing space to trace message\n\nSigned-off-by: Anatol Pomozov \u003canatol.pomozov@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "210c05264d46ddf688bc26861ffb8e2323fb25cb",
      "tree": "98a1faad4b5dfdd5d4c8443136fcaeaa47bbab66",
      "parents": [
        "df981d03eeff7971ac7e6ff37000bfa702327ef1"
      ],
      "author": {
        "name": "Anatol Pomozov",
        "email": "anatol.pomozov@gmail.com",
        "time": "Fri Aug 17 09:50:17 2012 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Aug 17 09:50:17 2012 -0400"
      },
      "message": "ext4: realign trace events structs to make it smaller\n\nMost hardware architectures require that data (including struct fields)\nhave to be aligned in memory. To make it happen compiler inserts padding\nbetween struct fields if they are not aligned correctly.\n\nReorder fields to remove paddings and make structures denser. Making data\nsmaller saves some memory that is very important for trace events.\nTracing buffer has limited size and making objects smaller we can put more\nof them without overflowing the tracing buffer.\n\nTo find data struct holes I used \u0027pahole -H 1 -E -I vmlinux.o\u0027 from\n\u0027dwarves\u0027 package.\n\nSigned-off-by: Anatol Pomozov \u003canatol.pomozov@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bd463a06064c4bc8497f6aa6dfb4437be8f07a3b",
      "tree": "3499f105c565d977d0ae9486f0a4572cd5fcbd2e",
      "parents": [
        "148311d2ade909a79afb85a853c7979eb499563f",
        "e6dab5ffab59e910ec0e3355f4a6f29f7a7be474"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:57:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:57:20 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n \"Fix merge window fallout and fix sleep profiling (this was always\n  broken, so it\u0027s not a fix for the merge window - we can skip this one\n  from the head of the tree).\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf/trace: Add ability to set a target task for events\n  perf/x86: Fix USER/KERNEL tagging of samples properly\n  perf/x86/intel/uncore: Make UNCORE_PMU_HRTIMER_INTERVAL 64-bit\n"
    },
    {
      "commit": "ac694dbdbc403c00e2c14d10bc7b8412cc378259",
      "tree": "e37328cfbeaf43716dd5914cad9179e57e84df76",
      "parents": [
        "a40a1d3d0a2fd613fdec6d89d3c053268ced76ed",
        "437ea90cc3afdca5229b41c6b1d38c4842756cb9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge Andrew\u0027s second set of patches:\n - MM\n - a few random fixes\n - a couple of RTC leftovers\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (120 commits)\n  rtc/rtc-88pm80x: remove unneed devm_kfree\n  rtc/rtc-88pm80x: assign ret only when rtc_register_driver fails\n  mm: hugetlbfs: close race during teardown of hugetlbfs shared page tables\n  tmpfs: distribute interleave better across nodes\n  mm: remove redundant initialization\n  mm: warn if pg_data_t isn\u0027t initialized with zero\n  mips: zero out pg_data_t when it\u0027s allocated\n  memcg: gix memory accounting scalability in shrink_page_list\n  mm/sparse: remove index_init_lock\n  mm/sparse: more checks on mem_section number\n  mm/sparse: optimize sparse_index_alloc\n  memcg: add mem_cgroup_from_css() helper\n  memcg: further prevent OOM with too many dirty pages\n  memcg: prevent OOM with too many dirty pages\n  mm: mmu_notifier: fix freed page still mapped in secondary MMU\n  mm: memcg: only check anon swapin page charges for swap cache\n  mm: memcg: only check swap cache pages for repeated charging\n  mm: memcg: split swapin charge function into private and public part\n  mm: memcg: remove needless !mm fixup to init_mm when charging\n  mm: memcg: remove unneeded shmem charge type\n  ...\n"
    },
    {
      "commit": "3e9a97082fa639394e905e1fc4a0a7f719ca7644",
      "tree": "9985cfa26e0597128eae03a2ee7e4614efea571f",
      "parents": [
        "941c8726e4e737e74d418ccec3d8e7b946a65541",
        "d2e7c96af1e54b507ae2a6a7dd2baf588417a7e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:07:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:07:42 2012 -0700"
      },
      "message": "Merge tag \u0027random_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random\n\nPull random subsystem patches from Ted Ts\u0027o:\n \"This patch series contains a major revamp of how we collect entropy\n  from interrupts for /dev/random and /dev/urandom.\n\n  The goal is to addresses weaknesses discussed in the paper \"Mining\n  your Ps and Qs: Detection of Widespread Weak Keys in Network Devices\",\n  by Nadia Heninger, Zakir Durumeric, Eric Wustrow, J.  Alex Halderman,\n  which will be published in the Proceedings of the 21st Usenix Security\n  Symposium, August 2012.  (See https://factorable.net for more\n  information and an extended version of the paper.)\"\n\nFix up trivial conflicts due to nearby changes in\ndrivers/{mfd/ab3100-core.c, usb/gadget/omap_udc.c}\n\n* tag \u0027random_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: (33 commits)\n  random: mix in architectural randomness in extract_buf()\n  dmi: Feed DMI table to /dev/random driver\n  random: Add comment to random_initialize()\n  random: final removal of IRQF_SAMPLE_RANDOM\n  um: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  sparc/ldc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  [ARM] pxa: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  board-palmz71: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  isp1301_omap: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  pxa25x_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  omap_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  goku_udc: remove IRQF_SAMPLE_RANDOM which was commented out\n  uartlite: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  drivers: hv: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  xen-blkfront: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  n2_crypto: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  pda_power: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  i2c-pmcmsp: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  input/serio/hp_sdc.c: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  ...\n"
    },
    {
      "commit": "b37f1dd0f543d9714f96c2f9b9f74f7bdfdfdf31",
      "tree": "4d01913bd950d60c65605cd14e0ff88b74f5f716",
      "parents": [
        "5091b74a95d447e34530e713a8971450a45498b3"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:44:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:45 2012 -0700"
      },
      "message": "mm: introduce __GFP_MEMALLOC to allow access to emergency reserves\n\n__GFP_MEMALLOC will allow the allocation to disregard the watermarks, much\nlike PF_MEMALLOC.  It allows one to pass along the memalloc state in\nobject related allocation flags as opposed to task related flags, such as\nsk-\u003esk_allocation.  This removes the need for ALLOC_PFMEMALLOC as callers\nusing __GFP_MEMALLOC can get the ALLOC_NO_WATERMARK flag which is now\nenough to identify allocations related to page reclaim.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6dab5ffab59e910ec0e3355f4a6f29f7a7be474",
      "tree": "87acf0fb071b8d09794ac7d834cb256de030cceb",
      "parents": [
        "d07bdfd322d307789f15b427dbcc39257665356f"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Wed Jul 11 18:14:58 2012 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:02:05 2012 +0200"
      },
      "message": "perf/trace: Add ability to set a target task for events\n\nA few events are interesting not only for a current task.\nFor example, sched_stat_* events are interesting for a task\nwhich wakes up. For this reason, it will be good if such\nevents will be delivered to a target task too.\n\nNow a target task can be set by using __perf_task().\n\nThe original idea and a draft patch belongs to Peter Zijlstra.\n\nI need these events for profiling sleep times. sched_switch is used for\ngetting callchains and sched_stat_* is used for getting time periods.\nThese events are combined in user space, then it can be analyzed by\nperf tools.\n\nInspired-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arun Sharma \u003casharma@fb.com\u003e\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1342016098-213063-1-git-send-email-avagin@openvz.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4cb38750d49010ae72e718d46605ac9ba5a851b4",
      "tree": "8c991a900fd176288f4acbc340512b90d604374d",
      "parents": [
        "0a2fe19ccc4bc552a8083a595a3aa737b8bea727",
        "7efa1c87963d23cc57ba40c07316d3e28cc75a3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 26 13:17:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 26 13:17:17 2012 -0700"
      },
      "message": "Merge branch \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86/mm changes from Peter Anvin:\n \"The big change here is the patchset by Alex Shi to use INVLPG to flush\n  only the affected pages when we only need to flush a small page range.\n\n  It also removes the special INVALIDATE_TLB_VECTOR interrupts (32\n  vectors!) and replace it with an ordinary IPI function call.\"\n\nFix up trivial conflicts in arch/x86/include/asm/apic.h (added code next\nto changed line)\n\n* \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/tlb: Fix build warning and crash when building for !SMP\n  x86/tlb: do flush_tlb_kernel_range by \u0027invlpg\u0027\n  x86/tlb: replace INVALIDATE_TLB_VECTOR by CALL_FUNCTION_VECTOR\n  x86/tlb: enable tlb flush range support for x86\n  mm/mmu_gather: enable tlb flush range in generic mmu_gather\n  x86/tlb: add tlb_flushall_shift knob into debugfs\n  x86/tlb: add tlb_flushall_shift for specific CPU\n  x86/tlb: fall back to flush all when meet a THP large page\n  x86/flush_tlb: try flush_tlb_single one by one in flush_tlb_range\n  x86/tlb_info: get last level TLB entry number of CPU\n  x86: Add read_mostly declaration/definition to variables from smp.h\n  x86: Define early read-mostly per-cpu macros\n"
    },
    {
      "commit": "a08489c569dc174cff97d2cb165aa81e3f1501cc",
      "tree": "c583700a11bab82ea864425004dd5bb03bf8a987",
      "parents": [
        "08d9329c29ec98477e8ac2f7a513f2bfa3e9f3c5",
        "6fec10a1a5866dda3cd6a825a521fc7c2f226ba5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:46:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 17:46:16 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"There are three major changes.\n\n   - WQ_HIGHPRI has been reimplemented so that high priority work items\n     are served by worker threads with -20 nice value from dedicated\n     highpri worker pools.\n\n   - CPU hotplug support has been reimplemented such that idle workers\n     are kept across CPU hotplug events.  This makes CPU hotplug cheaper\n     (for PM) and makes the code simpler.\n\n   - flush_kthread_work() has been reimplemented so that a work item can\n     be freed while executing.  This removes an annoying behavior\n     difference between kthread_worker and workqueue.\"\n\n* \u0027for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: fix spurious CPU locality WARN from process_one_work()\n  kthread_worker: reimplement flush_kthread_work() to allow freeing the work item being executed\n  kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation\n  workqueue: simplify CPU hotplug code\n  workqueue: remove CPU offline trustee\n  workqueue: don\u0027t butcher idle workers on an offline CPU\n  workqueue: reimplement CPU online rebinding to handle idle workers\n  workqueue: drop @bind from create_worker()\n  workqueue: use mutex for global_cwq manager exclusion\n  workqueue: ROGUE workers are UNBOUND workers\n  workqueue: drop CPU_DYING notifier operation\n  workqueue: perform cpu down operations from low priority cpu_notifier()\n  workqueue: reimplement WQ_HIGHPRI using a separate worker_pool\n  workqueue: introduce NR_WORKER_POOLS and for_each_worker_pool()\n  workqueue: separate out worker_pool flags\n  workqueue: use @pool instead of @gcwq or @cpu where applicable\n  workqueue: factor out worker_pool from global_cwq\n  workqueue: don\u0027t use WQ_HIGHPRI for unbound workqueues\n"
    },
    {
      "commit": "5fecc9d8f59e765c2a48379dd7c6f5cf88c7d75a",
      "tree": "d1fc25d9650d3ac24591bba6f5e2e7a1afc54796",
      "parents": [
        "3c4cfadef6a1665d9cd02a543782d03d3e6740c6",
        "1a577b72475d161b6677c05abe57301362023bb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 12:01:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 12:01:20 2012 -0700"
      },
      "message": "Merge tag \u0027kvm-3.6-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Avi Kivity:\n \"Highlights include\n  - full big real mode emulation on pre-Westmere Intel hosts (can be\n    disabled with emulate_invalid_guest_state\u003d0)\n  - relatively small ppc and s390 updates\n  - PCID/INVPCID support in guests\n  - EOI avoidance; 3.6 guests should perform better on 3.6 hosts on\n    interrupt intensive workloads)\n  - Lockless write faults during live migration\n  - EPT accessed/dirty bits support for new Intel processors\"\n\nFix up conflicts in:\n - Documentation/virtual/kvm/api.txt:\n\n   Stupid subchapter numbering, added next to each other.\n\n - arch/powerpc/kvm/booke_interrupts.S:\n\n   PPC asm changes clashing with the KVM fixes\n\n - arch/s390/include/asm/sigp.h, arch/s390/kvm/sigp.c:\n\n   Duplicated commits through the kvm tree and the s390 tree, with\n   subsequent edits in the KVM tree.\n\n* tag \u0027kvm-3.6-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (93 commits)\n  KVM: fix race with level interrupts\n  x86, hyper: fix build with !CONFIG_KVM_GUEST\n  Revert \"apic: fix kvm build on UP without IOAPIC\"\n  KVM guest: switch to apic_set_eoi_write, apic_write\n  apic: add apic_set_eoi_write for PV use\n  KVM: VMX: Implement PCID/INVPCID for guests with EPT\n  KVM: Add x86_hyper_kvm to complete detect_hypervisor_platform check\n  KVM: PPC: Critical interrupt emulation support\n  KVM: PPC: e500mc: Fix tlbilx emulation for 64-bit guests\n  KVM: PPC64: booke: Set interrupt computation mode for 64-bit host\n  KVM: PPC: bookehv: Add ESR flag to Data Storage Interrupt\n  KVM: PPC: bookehv64: Add support for std/ld emulation.\n  booke: Added crit/mc exception handler for e500v2\n  booke/bookehv: Add host crit-watchdog exception support\n  KVM: MMU: document mmu-lock and fast page fault\n  KVM: MMU: fix kvm_mmu_pagetable_walk tracepoint\n  KVM: MMU: trace fast page fault\n  KVM: MMU: fast path of handling guest page fault\n  KVM: MMU: introduce SPTE_MMU_WRITEABLE bit\n  KVM: MMU: fold tlb flush judgement into mmu_spte_update\n  ...\n"
    },
    {
      "commit": "2eafeb6a415864bc4c59df79151cf40f6ac74b9e",
      "tree": "331ee730275276aebbda5dd278a97c941067d5fd",
      "parents": [
        "16d286e656250859946786de0df0fb01f8f241bc",
        "6e0f17be0361444862637e8986c8c1a3b3f8dcf8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 22 11:10:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 22 11:10:36 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf events changes from Ingo Molnar:\n\n \"- kernel side:\n\n   - Intel uncore PMU support for Nehalem and Sandy Bridge CPUs, we\n     support both the events available via the MSR and via the PCI\n     access space.\n\n   - various uprobes cleanups and restructurings\n\n   - PMU driver quirks by microcode version and required x86 microcode\n     loader cleanups/robustization\n\n   - various tracing robustness updates\n\n   - static keys: remove obsolete static_branch()\n\n  - tooling side:\n\n   - GTK browser improvements\n\n   - perf report browser: support screenshots to file\n\n   - more automated tests\n\n   - perf kvm improvements\n\n   - perf bench refinements\n\n   - build environment improvements\n\n   - pipe mode improvements\n\n   - libtraceevent updates, we have now hopefully merged most bits with\n     the out of tree forked code base\n\n  ... and many other goodies.\"\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (138 commits)\n  tracing: Check for allocation failure in __tracing_open()\n  perf/x86: Fix intel_perfmon_event_mapformatting\n  jump label: Remove static_branch()\n  tracepoint: Use static_key_false(), since static_branch() is deprecated\n  perf/x86: Uncore filter support for SandyBridge-EP\n  perf/x86: Detect number of instances of uncore CBox\n  perf/x86: Fix event constraint for SandyBridge-EP C-Box\n  perf/x86: Use 0xff as pseudo code for fixed uncore event\n  perf/x86: Save a few bytes in \u0027struct x86_pmu\u0027\n  perf/x86: Add a microcode revision check for SNB-PEBS\n  perf/x86: Improve debug output in check_hw_exists()\n  perf/x86/amd: Unify AMD\u0027s generic and family 15h pmus\n  perf/x86: Move Intel specific code to intel_pmu_init()\n  perf/x86: Rename Intel specific macros\n  perf/x86: Fix USER/KERNEL tagging of samples\n  perf tools: Split event symbols arrays to hw and sw parts\n  perf tools: Split out PE_VALUE_SYM parsing token to SW and HW tokens\n  perf tools: Add empty rule for new line in event syntax parsing\n  perf test: Use ARRAY_SIZE in parse events tests\n  tools lib traceevent: Cleanup realloc use\n  ...\n"
    },
    {
      "commit": "00ce1db1a634746040ace24c09a4e3a7949a3145",
      "tree": "a9c97eab912d149ebaaab3dc3393d75416b5c6b4",
      "parents": [
        "c2557a303ab6712bb6e09447df828c557c710ac9"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 04 16:19:30 2012 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jul 14 20:17:48 2012 -0400"
      },
      "message": "random: add tracepoints for easier debugging and verification\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bd7bdd43dcb81bb08240b9401b36a104f77dc135",
      "tree": "4d12a15e7e72f2d64fb6e58a145e56b4da1a341a",
      "parents": [
        "974271c485a4d8bb801decc616748f90aafb07ec"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 12 14:46:37 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 12 14:46:37 2012 -0700"
      },
      "message": "workqueue: factor out worker_pool from global_cwq\n\nMove worklist and all worker management fields from global_cwq into\nthe new struct worker_pool.  worker_pool points back to the containing\ngcwq.  worker and cpu_workqueue_struct are updated to point to\nworker_pool instead of gcwq too.\n\nThis change is mechanical and doesn\u0027t introduce any functional\ndifference other than rearranging of fields and an added level of\nindirection in some places.  This is to prepare for multiple pools per\ngcwq.\n\nv2: Comment typo fixes as suggested by Namhyung.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\n"
    },
    {
      "commit": "35c2f48c66d9c1b8d794c3936c3be22aa7c89adb",
      "tree": "de0233d45fec273920bce0bc8640465cbf439600",
      "parents": [
        "47fbc518a4b5c9a949f7cab8b14a00d3549bf138",
        "a5fb833172eca69136e9ee1ada778e404086ab8a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jul 06 11:12:17 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jul 06 11:12:17 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n\nPull tracing updates from Steve Rostedt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a83eff0a82a7f3f14fea477fd41e6c082e7fc96a",
      "tree": "9fb65b061716c622962c42b8318f06fd0d2919cd",
      "parents": [
        "cf3a9c4842b1e097dbe0854933c471d43dd24f69"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed May 23 18:47:05 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jul 02 12:33:23 2012 -0700"
      },
      "message": "rcu: Add tracing for _rcu_barrier()\n\nThis commit adds event tracing for _rcu_barrier() execution.  This\nis defined only if RCU_TRACE\u003dy.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "b102f1d0f1cd0bb5ec82e5aeb1e33502d6ad6710",
      "tree": "5aabd6027158361aaf5f74996b19db6067a7de37",
      "parents": [
        "0be61ebc18b919dddbdbcd1c4f42513c310ecf59"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Wed Jun 27 09:41:39 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 28 13:52:15 2012 -0400"
      },
      "message": "tracing/kvm: Use __print_hex() for kvm_emulate_insn tracepoint\n\nThe kvm_emulate_insn tracepoint used __print_insn()\nfor printing its instructions. However it makes the\nformat of the event hard to parse as it reveals TP\ninternals.\n\nFortunately, kernel provides __print_hex for almost\nsame purpose, we can use it instead of open coding\nit. The user-space can be changed to parse it later.\n\nThat means raw kernel tracing will not be affected\nby this change:\n\n # cd /sys/kernel/debug/tracing/\n # cat events/kvm/kvm_emulate_insn/format\n name: kvm_emulate_insn\n ID: 29\n format:\n\t...\n print fmt: \"%x:%llx:%s (%s)%s\", REC-\u003ecsbase, REC-\u003erip, __print_hex(REC-\u003einsn, REC-\u003elen), \\\n __print_symbolic(REC-\u003eflags, { 0, \"real\" }, { (1 \u003c\u003c 0) | (1 \u003c\u003c 1), \"vm16\" }, \\\n { (1 \u003c\u003c 0), \"prot16\" }, { (1 \u003c\u003c 0) | (1 \u003c\u003c 2), \"prot32\" }, { (1 \u003c\u003c 0) | (1 \u003c\u003c 3), \"prot64\" }), \\\n REC-\u003efailed ? \" failed\" : \"\"\n\n # echo 1 \u003e events/kvm/kvm_emulate_insn/enable\n # cat trace\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 2183/2183   #P:12\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n         qemu-kvm-1782  [002] ...1   140.931636: kvm_emulate_insn: 0:c102fa25:89 10 (prot32)\n         qemu-kvm-1781  [004] ...1   140.931637: kvm_emulate_insn: 0:c102fa25:89 10 (prot32)\n\nLink: http://lkml.kernel.org/n/tip-wfw6y3b9ugtey8snaow9nmg5@git.kernel.org\nLink: http://lkml.kernel.org/r/1340757701-10711-2-git-send-email-namhyung@kernel.org\n\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: kvm@vger.kernel.org\nAcked-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e7b52ffd45a6d834473f43b349e7d86593d763c7",
      "tree": "12a930bdf1c43608e932f422505bf228afaf9880",
      "parents": [
        "e0ba94f14f747c2661c4d21f8c44e5b0b8cd8e48"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 28 09:02:17 2012 +0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jun 27 19:29:07 2012 -0700"
      },
      "message": "x86/flush_tlb: try flush_tlb_single one by one in flush_tlb_range\n\nx86 has no flush_tlb_range support in instruction level. Currently the\nflush_tlb_range just implemented by flushing all page table. That is not\nthe best solution for all scenarios. In fact, if we just use \u0027invlpg\u0027 to\nflush few lines from TLB, we can get the performance gain from later\nremain TLB lines accessing.\n\nBut the \u0027invlpg\u0027 instruction costs much of time. Its execution time can\ncompete with cr3 rewriting, and even a bit more on SNB CPU.\n\nSo, on a 512 4KB TLB entries CPU, the balance points is at:\n\t(512 - X) * 100ns(assumed TLB refill cost) \u003d\n\t\tX(TLB flush entries) * 100ns(assumed invlpg cost)\n\nHere, X is 256, that is 1/2 of 512 entries.\n\nBut with the mysterious CPU pre-fetcher and page miss handler Unit, the\nassumed TLB refill cost is far lower then 100ns in sequential access. And\n2 HT siblings in one core makes the memory access more faster if they are\naccessing the same memory. So, in the patch, I just do the change when\nthe target entries is less than 1/16 of whole active tlb entries.\nActually, I have no data support for the percentage \u00271/16\u0027, so any\nsuggestions are welcomed.\n\nAs to hugetlb, guess due to smaller page table, and smaller active TLB\nentries, I didn\u0027t see benefit via my benchmark, so no optimizing now.\n\nMy micro benchmark show in ideal scenarios, the performance improves 70\npercent in reading. And in worst scenario, the reading/writing\nperformance is similar with unpatched 3.4-rc4 kernel.\n\nHere is the reading data on my 2P * 4cores *HT NHM EP machine, with THP\n\u0027always\u0027:\n\nmulti thread testing, \u0027-t\u0027 paramter is thread number:\n\t       \t        with patch   unpatched 3.4-rc4\n./mprotect -t 1           14ns\t\t24ns\n./mprotect -t 2           13ns\t\t22ns\n./mprotect -t 4           12ns\t\t19ns\n./mprotect -t 8           14ns\t\t16ns\n./mprotect -t 16          28ns\t\t26ns\n./mprotect -t 32          54ns\t\t51ns\n./mprotect -t 128         200ns\t\t199ns\n\nSingle process with sequencial flushing and memory accessing:\n\n\t\t       \twith patch   unpatched 3.4-rc4\n./mprotect\t\t    7ns\t\t\t11ns\n./mprotect -p 4096  -l 8 -n 10240\n\t\t\t    21ns\t\t21ns\n\n[ hpa: http://lkml.kernel.org/r/1B4B44D9196EFF41AE41FDA404FC0A100BFF94@SHSMSX101.ccr.corp.intel.com\n  has additional performance numbers. ]\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nLink: http://lkml.kernel.org/r/1340845344-27557-3-git-send-email-alex.shi@intel.com\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "a1e4ccb990447df0fe83d164d9a7bc2e6c4b7db7",
      "tree": "2068a67dbcf1d34455956c9ecd416aa2a3e2b1e1",
      "parents": [
        "9900b4b48b095895cf962054e45aafa49ef70f74"
      ],
      "author": {
        "name": "Christoffer Dall",
        "email": "c.dall@virtualopensystems.com",
        "time": "Fri Jun 15 15:07:13 2012 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jun 18 16:06:35 2012 +0300"
      },
      "message": "KVM: Introduce __KVM_HAVE_IRQ_LINE\n\nThis is a preparatory patch for the KVM/ARM implementation. KVM/ARM will use\nthe KVM_IRQ_LINE ioctl, which is currently conditional on\n__KVM_HAVE_IOAPIC, but ARM obviously doesn\u0027t have any IOAPIC support and we\nneed a separate define.\n\nSigned-off-by: Christoffer Dall \u003cc.dall@virtualopensystems.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "dcce0489477f07ac1331aee71f18d6274e19a9c1",
      "tree": "263b8b2f706a95857f7bc9cb6119d987c1075600",
      "parents": [
        "cd1834591fe9564720ac4b0193bf1c790fe89f0d"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jun 11 18:39:50 2012 +0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Jun 13 20:53:46 2012 -0300"
      },
      "message": "KVM: trace events: update list of exit reasons\n\nThe list of exit reasons for the kvm_userspace_exit event was\nmissing recent additions; bring it into sync again.\n\nReviewed-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "fd4b352687fd8604d49c190c4c9ea9e369fd42d5",
      "tree": "1e20de9090f7d74eef642ac263dd71da0b494d7d",
      "parents": [
        "8f5af6f1f2d09fe5eac86a5dc1731a5917c1503a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sat May 05 19:10:35 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 06 20:43:27 2012 -0700"
      },
      "message": "rcu: Update RCU_FAST_NO_HZ tracing for lazy callbacks\n\nIn the current code, a short dyntick-idle interval (where there is\nat least one non-lazy callback on the CPU) and a long dyntick-idle\ninterval (where there are only lazy callbacks on the CPU) are traced\nidentically, which can be less than helpful.  This commit therefore\nemits different event traces in these two cases.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\n"
    },
    {
      "commit": "23b9da55c5b0feb484bd5e8615f4eb1ce4169453",
      "tree": "84ce2cce4aca6c5e5ca4b7066faa21db1148b370",
      "parents": [
        "41ac1999c3e3563e1810b14878a869c79c9368bb"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue May 29 15:06:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:19 2012 -0700"
      },
      "message": "mm: vmscan: remove reclaim_mode_t\n\nThere is little motiviation for reclaim_mode_t once RECLAIM_MODE_[A]SYNC\nand lumpy reclaim have been removed.  This patch gets rid of\nreclaim_mode_t as well and improves the documentation about what\nreclaim/compaction is and when it is triggered.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41ac1999c3e3563e1810b14878a869c79c9368bb",
      "tree": "3ee7d3778dd638ae1f429444af4ea0360cca191f",
      "parents": [
        "c53919adc045bf803252e912f23028a68525753d"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue May 29 15:06:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:19 2012 -0700"
      },
      "message": "mm: vmscan: do not stall on writeback during memory compaction\n\nThis patch stops reclaim/compaction entering sync reclaim as this was\nonly intended for lumpy reclaim and an oversight.  Page migration has\nits own logic for stalling on writeback pages if necessary and memory\ncompaction is already using it.\n\nWaiting on page writeback is bad for a number of reasons but the primary\none is that waiting on writeback to a slow device like USB can take a\nconsiderable length of time.  Page reclaim instead uses\nwait_iff_congested() to throttle if too many dirty pages are being\nscanned.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c53919adc045bf803252e912f23028a68525753d",
      "tree": "352361d84125b06ca890f3a2b3568512cc14c458",
      "parents": [
        "e709ffd6169ccd259eb5874e853303e91e94e829"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue May 29 15:06:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:19 2012 -0700"
      },
      "message": "mm: vmscan: remove lumpy reclaim\n\nThis series removes lumpy reclaim and some stalling logic that was\nunintentionally being used by memory compaction.  The end result is that\nstalling on dirty pages during page reclaim now depends on\nwait_iff_congested().\n\nFour kernels were compared\n\n  3.3.0     vanilla\n  3.4.0-rc2 vanilla\n  3.4.0-rc2 lumpyremove-v2 is patch one from this series\n  3.4.0-rc2 nosync-v2r3 is the full series\n\nRemoving lumpy reclaim saves almost 900 bytes of text whereas the full\nseries removes 1200 bytes.\n\n     text     data      bss       dec     hex  filename\n  6740375  1927944  2260992  10929311  a6c49f  vmlinux-3.4.0-rc2-vanilla\n  6739479  1927944  2260992  10928415  a6c11f  vmlinux-3.4.0-rc2-lumpyremove-v2\n  6739159  1927944  2260992  10928095  a6bfdf  vmlinux-3.4.0-rc2-nosync-v2\n\nThere are behaviour changes in the series and so tests were run with\nmonitoring of ftrace events.  This disrupts results so the performance\nresults are distorted but the new behaviour should be clearer.\n\nfs-mark running in a threaded configuration showed little of interest as\nit did not push reclaim aggressively\n\n  FS-Mark Multi Threaded\n                          3.3.0-vanilla       rc2-vanilla       lumpyremove-v2r3       nosync-v2r3\n  Files/s  min           3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)\n  Files/s  mean          3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)\n  Files/s  stddev        0.00 ( 0.00%)        0.00 ( 0.00%)        0.00 ( 0.00%)        0.00 ( 0.00%)\n  Files/s  max           3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)\n  Overhead min      508667.00 ( 0.00%)   521350.00 (-2.49%)   544292.00 (-7.00%)   547168.00 (-7.57%)\n  Overhead mean     551185.00 ( 0.00%)   652690.73 (-18.42%)   991208.40 (-79.83%)   570130.53 (-3.44%)\n  Overhead stddev    18200.69 ( 0.00%)   331958.29 (-1723.88%)  1579579.43 (-8578.68%)     9576.81 (47.38%)\n  Overhead max      576775.00 ( 0.00%)  1846634.00 (-220.17%)  6901055.00 (-1096.49%)   585675.00 (-1.54%)\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             309.90    300.95    307.33    298.95\n  User+Sys Time Running Test (seconds)        319.32    309.67    315.69    307.51\n  Total Elapsed Time (seconds)               1187.85   1193.09   1191.98   1193.73\n\n  MMTests Statistics: vmstat\n  Page Ins                                       80532       82212       81420       79480\n  Page Outs                                  111434984   111456240   111437376   111582628\n  Swap Ins                                           0           0           0           0\n  Swap Outs                                          0           0           0           0\n  Direct pages scanned                           44881       27889       27453       34843\n  Kswapd pages scanned                        25841428    25860774    25861233    25843212\n  Kswapd pages reclaimed                      25841393    25860741    25861199    25843179\n  Direct pages reclaimed                         44881       27889       27453       34843\n  Kswapd efficiency                                99%         99%         99%         99%\n  Kswapd velocity                            21754.791   21675.460   21696.029   21649.127\n  Direct efficiency                               100%        100%        100%        100%\n  Direct velocity                               37.783      23.375      23.031      29.188\n  Percentage direct scans                           0%          0%          0%          0%\n\nftrace showed that there was no stalling on writeback or pages submitted\nfor IO from reclaim context.\n\npostmark was similar and while it was more interesting, it also did not\npush reclaim heavily.\n\n  POSTMARK\n                                       3.3.0-vanilla       rc2-vanilla  lumpyremove-v2r3       nosync-v2r3\n  Transactions per second:               16.00 ( 0.00%)    20.00 (25.00%)    18.00 (12.50%)    17.00 ( 6.25%)\n  Data megabytes read per second:        18.80 ( 0.00%)    24.27 (29.10%)    22.26 (18.40%)    20.54 ( 9.26%)\n  Data megabytes written per second:     35.83 ( 0.00%)    46.25 (29.08%)    42.42 (18.39%)    39.14 ( 9.24%)\n  Files created alone per second:        28.00 ( 0.00%)    38.00 (35.71%)    34.00 (21.43%)    30.00 ( 7.14%)\n  Files create/transact per second:       8.00 ( 0.00%)    10.00 (25.00%)     9.00 (12.50%)     8.00 ( 0.00%)\n  Files deleted alone per second:       556.00 ( 0.00%)  1224.00 (120.14%)  3062.00 (450.72%)  6124.00 (1001.44%)\n  Files delete/transact per second:       8.00 ( 0.00%)    10.00 (25.00%)     9.00 (12.50%)     8.00 ( 0.00%)\n\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             113.34    107.99    109.73    108.72\n  User+Sys Time Running Test (seconds)        145.51    139.81    143.32    143.55\n  Total Elapsed Time (seconds)               1159.16    899.23    980.17   1062.27\n\n  MMTests Statistics: vmstat\n  Page Ins                                    13710192    13729032    13727944    13760136\n  Page Outs                                   43071140    42987228    42733684    42931624\n  Swap Ins                                           0           0           0           0\n  Swap Outs                                          0           0           0           0\n  Direct pages scanned                               0           0           0           0\n  Kswapd pages scanned                         9941613     9937443     9939085     9929154\n  Kswapd pages reclaimed                       9940926     9936751     9938397     9928465\n  Direct pages reclaimed                             0           0           0           0\n  Kswapd efficiency                                99%         99%         99%         99%\n  Kswapd velocity                             8576.567   11051.058   10140.164    9347.109\n  Direct efficiency                               100%        100%        100%        100%\n  Direct velocity                                0.000       0.000       0.000       0.000\n\nIt looks like here that the full series regresses performance but as\nftrace showed no usage of wait_iff_congested() or sync reclaim I am\nassuming it\u0027s a disruption due to monitoring.  Other data such as memory\nusage, page IO, swap IO all looked similar.\n\nRunning a benchmark with a plain DD showed nothing very interesting.\nThe full series stalled in wait_iff_congested() slightly less but stall\ntimes on vanilla kernels were marginal.\n\nRunning a benchmark that hammered on file-backed mappings showed stalls\ndue to congestion but not in sync writebacks\n\n  MICRO\n                                       3.3.0-vanilla       rc2-vanilla  lumpyremove-v2r3       nosync-v2r3\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             308.13    294.50    298.75    299.53\n  User+Sys Time Running Test (seconds)        330.45    316.28    318.93    320.79\n  Total Elapsed Time (seconds)               1814.90   1833.88   1821.14   1832.91\n\n  MMTests Statistics: vmstat\n  Page Ins                                      108712      120708       97224      110344\n  Page Outs                                  155514576   156017404   155813676   156193256\n  Swap Ins                                           0           0           0           0\n  Swap Outs                                          0           0           0           0\n  Direct pages scanned                         2599253     1550480     2512822     2414760\n  Kswapd pages scanned                        69742364    71150694    68839041    69692533\n  Kswapd pages reclaimed                      34824488    34773341    34796602    34799396\n  Direct pages reclaimed                         53693       94750       61792       75205\n  Kswapd efficiency                                49%         48%         50%         49%\n  Kswapd velocity                            38427.662   38797.901   37799.972   38022.889\n  Direct efficiency                                 2%          6%          2%          3%\n  Direct velocity                             1432.174     845.464    1379.807    1317.446\n  Percentage direct scans                           3%          2%          3%          3%\n  Page writes by reclaim                             0           0           0           0\n  Page writes file                                   0           0           0           0\n  Page writes anon                                   0           0           0           0\n  Page reclaim immediate                             0           0           0        1218\n  Page rescued immediate                             0           0           0           0\n  Slabs scanned                                  15360       16384       13312       16384\n  Direct inode steals                                0           0           0           0\n  Kswapd inode steals                             4340        4327        1630        4323\n\n  FTrace Reclaim Statistics: congestion_wait\n  Direct number congest     waited                 0          0          0          0\n  Direct time   congest     waited               0ms        0ms        0ms        0ms\n  Direct full   congest     waited                 0          0          0          0\n  Direct number conditional waited               900        870        754        789\n  Direct time   conditional waited               0ms        0ms        0ms       20ms\n  Direct full   conditional waited                 0          0          0          0\n  KSwapd number congest     waited              2106       2308       2116       1915\n  KSwapd time   congest     waited          139924ms   157832ms   125652ms   132516ms\n  KSwapd full   congest     waited              1346       1530       1202       1278\n  KSwapd number conditional waited             12922      16320      10943      14670\n  KSwapd time   conditional waited               0ms        0ms        0ms        0ms\n  KSwapd full   conditional waited                 0          0          0          0\n\nReclaim statistics are not radically changed.  The stall times in kswapd\nare massive but it is clear that it is due to calls to congestion_wait()\nand that is almost certainly the call in balance_pgdat().  Otherwise\nstalls due to dirty pages are non-existant.\n\nI ran a benchmark that stressed high-order allocation.  This is very\nartifical load but was used in the past to evaluate lumpy reclaim and\ncompaction.  Generally I look at allocation success rates and latency\nfigures.\n\n  STRESS-HIGHALLOC\n                   3.3.0-vanilla       rc2-vanilla  lumpyremove-v2r3       nosync-v2r3\n  Pass 1          81.00 ( 0.00%)    28.00 (-53.00%)    24.00 (-57.00%)    28.00 (-53.00%)\n  Pass 2          82.00 ( 0.00%)    39.00 (-43.00%)    38.00 (-44.00%)    43.00 (-39.00%)\n  while Rested    88.00 ( 0.00%)    87.00 (-1.00%)    88.00 ( 0.00%)    88.00 ( 0.00%)\n\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             740.93    681.42    685.14    684.87\n  User+Sys Time Running Test (seconds)       2922.65   3269.52   3281.35   3279.44\n  Total Elapsed Time (seconds)               1161.73   1152.49   1159.55   1161.44\n\n  MMTests Statistics: vmstat\n  Page Ins                                     4486020     2807256     2855944     2876244\n  Page Outs                                    7261600     7973688     7975320     7986120\n  Swap Ins                                       31694           0           0           0\n  Swap Outs                                      98179           0           0           0\n  Direct pages scanned                           53494       57731       34406      113015\n  Kswapd pages scanned                         6271173     1287481     1278174     1219095\n  Kswapd pages reclaimed                       2029240     1281025     1260708     1201583\n  Direct pages reclaimed                          1468       14564       16649       92456\n  Kswapd efficiency                                32%         99%         98%         98%\n  Kswapd velocity                             5398.133    1117.130    1102.302    1049.641\n  Direct efficiency                                 2%         25%         48%         81%\n  Direct velocity                               46.047      50.092      29.672      97.306\n  Percentage direct scans                           0%          4%          2%          8%\n  Page writes by reclaim                       1616049           0           0           0\n  Page writes file                             1517870           0           0           0\n  Page writes anon                               98179           0           0           0\n  Page reclaim immediate                        103778       27339        9796       17831\n  Page rescued immediate                             0           0           0           0\n  Slabs scanned                                1096704      986112      980992      998400\n  Direct inode steals                              223      215040      216736      247881\n  Kswapd inode steals                           175331       61548       68444       63066\n  Kswapd skipped wait                            21991           0           1           0\n  THP fault alloc                                    1         135         125         134\n  THP collapse alloc                               393         311         228         236\n  THP splits                                        25          13           7           8\n  THP fault fallback                                 0           0           0           0\n  THP collapse fail                                  3           5           7           7\n  Compaction stalls                                865        1270        1422        1518\n  Compaction success                               370         401         353         383\n  Compaction failures                              495         869        1069        1135\n  Compaction pages moved                        870155     3828868     4036106     4423626\n  Compaction move failure                        26429       23865       29742       27514\n\nSuccess rates are completely hosed for 3.4-rc2 which is almost certainly\ndue to commit fe2c2a106663 (\"vmscan: reclaim at order 0 when compaction\nis enabled\").  I expected this would happen for kswapd and impair\nallocation success rates (https://lkml.org/lkml/2012/1/25/166) but I did\nnot anticipate this much a difference: 80% less scanning, 37% less\nreclaim by kswapd\n\nIn comparison, reclaim/compaction is not aggressive and gives up easily\nwhich is the intended behaviour.  hugetlbfs uses __GFP_REPEAT and would\nbe much more aggressive about reclaim/compaction than THP allocations\nare.  The stress test above is allocating like neither THP or hugetlbfs\nbut is much closer to THP.\n\nMainline is now impaired in terms of high order allocation under heavy\nload although I do not know to what degree as I did not test with\n__GFP_REPEAT.  Keep this in mind for bugs related to hugepage pool\nresizing, THP allocation and high order atomic allocation failures from\nnetwork devices.\n\nIn terms of congestion throttling, I see the following for this test\n\n  FTrace Reclaim Statistics: congestion_wait\n  Direct number congest     waited                 3          0          0          0\n  Direct time   congest     waited               0ms        0ms        0ms        0ms\n  Direct full   congest     waited                 0          0          0          0\n  Direct number conditional waited               957        512       1081       1075\n  Direct time   conditional waited               0ms        0ms        0ms        0ms\n  Direct full   conditional waited                 0          0          0          0\n  KSwapd number congest     waited                36          4          3          5\n  KSwapd time   congest     waited            3148ms      400ms      300ms      500ms\n  KSwapd full   congest     waited                30          4          3          5\n  KSwapd number conditional waited             88514        197        332        542\n  KSwapd time   conditional waited            4980ms        0ms        0ms        0ms\n  KSwapd full   conditional waited                49          0          0          0\n\nThe \"conditional waited\" times are the most interesting as this is\ndirectly impacted by the number of dirty pages encountered during scan.\nAs lumpy reclaim is no longer scanning contiguous ranges, it is finding\nfewer dirty pages.  This brings wait times from about 5 seconds to 0.\nkswapd itself is still calling congestion_wait() so it\u0027ll still stall but\nit\u0027s a lot less.\n\nIn terms of the type of IO we were doing, I see this\n\n  FTrace Reclaim Statistics: mm_vmscan_writepage\n  Direct writes anon  sync                         0          0          0          0\n  Direct writes anon  async                        0          0          0          0\n  Direct writes file  sync                         0          0          0          0\n  Direct writes file  async                        0          0          0          0\n  Direct writes mixed sync                         0          0          0          0\n  Direct writes mixed async                        0          0          0          0\n  KSwapd writes anon  sync                         0          0          0          0\n  KSwapd writes anon  async                    91682          0          0          0\n  KSwapd writes file  sync                         0          0          0          0\n  KSwapd writes file  async                   822629          0          0          0\n  KSwapd writes mixed sync                         0          0          0          0\n  KSwapd writes mixed async                        0          0          0          0\n\nIn 3.2, kswapd was doing a bunch of async writes of pages but\nreclaim/compaction was never reaching a point where it was doing sync\nIO.  This does not guarantee that reclaim/compaction was not calling\nwait_on_page_writeback() but I would consider it unlikely.  It indicates\nthat merging patches 2 and 3 to stop reclaim/compaction calling\nwait_on_page_writeback() should be safe.\n\nThis patch:\n\nLumpy reclaim had a purpose but in the mind of some, it was to kick the\nsystem so hard it trashed.  For others the purpose was to complicate\nvmscan.c.  Over time it was giving softer shoes and a nicer attitude but\nmemory compaction needs to step up and replace it so this patch sends\nlumpy reclaim to the farm.\n\nThe tracepoint format changes for isolating LRU pages with this patch\napplied.  Furthermore reclaim/compaction can no longer queue dirty pages\nin pageout() if the underlying BDI is congested.  Lumpy reclaim used\nthis logic and reclaim/compaction was using it in error.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e709ffd6169ccd259eb5874e853303e91e94e829",
      "tree": "796b56c2507b8581492da73e354d651c9dd7076b",
      "parents": [
        "edad9d2c337d43278a9d5aeb0ed531c2e838f8a6"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue May 29 15:06:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:19 2012 -0700"
      },
      "message": "mm: remove swap token code\n\nThe swap token code no longer fits in with the current VM model.  It\ndoes not play well with cgroups or the better NUMA placement code in\ndevelopment, since we have only one swap token globally.\n\nIt also has the potential to mess with scalability of the system, by\nincreasing the number of non-reclaimable pages on the active and\ninactive anon LRU lists.\n\nLast but not least, the swap token code has been broken for a year\nwithout complaints, as reported by Konstantin Khlebnikov.  This suggests\nwe no longer have much use for it.\n\nThe days of sub-1G memory systems with heavy use of swap are over.  If\nwe ever need thrashing reducing code in the future, we will have to\nimplement something that does scale.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Bob Picco \u003cbpicco@meloft.net\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90324cc1b11a211e37eabd8cb863e1a1561d6b1d",
      "tree": "c8b79c6850420a114ca6660c1b44fc486b1ba86d",
      "parents": [
        "fb8b00675eb6462aacab56bca31ed6107bda5314",
        "169ebd90131b2ffca74bb2dbe7eeacd39fb83714"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 28 09:54:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 28 09:54:45 2012 -0700"
      },
      "message": "Merge tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\nPull writeback tree from Wu Fengguang:\n \"Mainly from Jan Kara to avoid iput() in the flusher threads.\"\n\n* tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Avoid iput() from flusher thread\n  vfs: Rename end_writeback() to clear_inode()\n  vfs: Move waiting for inode writeback from end_writeback() to evict_inode()\n  writeback: Refactor writeback_single_inode()\n  writeback: Remove wb-\u003elist_lock from writeback_single_inode()\n  writeback: Separate inode requeueing after writeback\n  writeback: Move I_DIRTY_PAGES handling\n  writeback: Move requeueing when I_SYNC set to writeback_sb_inodes()\n  writeback: Move clearing of I_SYNC into inode_sync_complete()\n  writeback: initialize global_dirty_limit\n  fs: remove 8 bytes of padding from struct writeback_control on 64 bit builds\n  mm: page-writeback.c: local functions should not be exposed globally\n"
    },
    {
      "commit": "ece78b7df734726e790dcab207f463401ff80440",
      "tree": "4a0b23c28c6a727d5eebc8a88a22fe3720c425fd",
      "parents": [
        "07acfc2a9349a8ce45b236c2624dad452001966b",
        "0324876628a9c7faf8127e20af29373dc6dec876"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 25 08:14:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 25 08:14:59 2012 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs\n\nPull ext2, ext3 and quota fixes from Jan Kara:\n \"Interesting bits are:\n   - removal of a special i_mutex locking subclass (I_MUTEX_QUOTA) since\n     quota code does not need i_mutex anymore in any unusual way.\n   - backport (from ext4) of a fix of a checkpointing bug (missing cache\n     flush) that could lead to fs corruption on power failure\n\n  The rest are just random small fixes \u0026 cleanups.\"\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:\n  ext2: trivial fix to comment for ext2_free_blocks\n  ext2: remove the redundant comment for ext2_export_ops\n  ext3: return 32/64-bit dir name hash according to usage type\n  quota: Get rid of nested I_MUTEX_QUOTA locking subclass\n  quota: Use precomputed value of sb_dqopt in dquot_quota_sync\n  ext2: Remove i_mutex use from ext2_quota_write()\n  reiserfs: Remove i_mutex use from reiserfs_quota_write()\n  ext4: Remove i_mutex use from ext4_quota_write()\n  ext3: Remove i_mutex use from ext3_quota_write()\n  quota: Fix double lock in add_dquot_ref() with CONFIG_QUOTA_DEBUG\n  jbd: Write journal superblock with WRITE_FUA after checkpointing\n  jbd: protect all log tail updates with j_checkpoint_mutex\n  jbd: Split updating of journal superblock and marking journal empty\n  ext2: do not register write_super within VFS\n  ext2: Remove s_dirt handling\n  ext2: write superblock only once on unmount\n  ext3: update documentation with barrier\u003d1 default\n  ext3: remove max_debt in find_group_orlov()\n  jbd: Refine commit writeout logic\n"
    },
    {
      "commit": "644473e9c60c1ff4f6351fed637a6e5551e3dce7",
      "tree": "10316518bedc735a2c6552886658d69dfd9f1eb0",
      "parents": [
        "fb827ec68446c83e9e8754fa9b55aed27ecc4661",
        "4b06a81f1daee668fbd6de85557bfb36dd36078f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:42:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:42:39 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull user namespace enhancements from Eric Biederman:\n \"This is a course correction for the user namespace, so that we can\n  reach an inexpensive, maintainable, and reasonably complete\n  implementation.\n\n  Highlights:\n   - Config guards make it impossible to enable the user namespace and\n     code that has not been converted to be user namespace safe.\n\n   - Use of the new kuid_t type ensures the if you somehow get past the\n     config guards the kernel will encounter type errors if you enable\n     user namespaces and attempt to compile in code whose permission\n     checks have not been updated to be user namespace safe.\n\n   - All uids from child user namespaces are mapped into the initial\n     user namespace before they are processed.  Removing the need to add\n     an additional check to see if the user namespace of the compared\n     uids remains the same.\n\n   - With the user namespaces compiled out the performance is as good or\n     better than it is today.\n\n   - For most operations absolutely nothing changes performance or\n     operationally with the user namespace enabled.\n\n   - The worst case performance I could come up with was timing 1\n     billion cache cold stat operations with the user namespace code\n     enabled.  This went from 156s to 164s on my laptop (or 156ns to\n     164ns per stat operation).\n\n   - (uid_t)-1 and (gid_t)-1 are reserved as an internal error value.\n     Most uid/gid setting system calls treat these value specially\n     anyway so attempting to use -1 as a uid would likely cause\n     entertaining failures in userspace.\n\n   - If setuid is called with a uid that can not be mapped setuid fails.\n     I have looked at sendmail, login, ssh and every other program I\n     could think of that would call setuid and they all check for and\n     handle the case where setuid fails.\n\n   - If stat or a similar system call is called from a context in which\n     we can not map a uid we lie and return overflowuid.  The LFS\n     experience suggests not lying and returning an error code might be\n     better, but the historical precedent with uids is different and I\n     can not think of anything that would break by lying about a uid we\n     can\u0027t map.\n\n   - Capabilities are localized to the current user namespace making it\n     safe to give the initial user in a user namespace all capabilities.\n\n  My git tree covers all of the modifications needed to convert the core\n  kernel and enough changes to make a system bootable to runlevel 1.\"\n\nFix up trivial conflicts due to nearby independent changes in fs/stat.c\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (46 commits)\n  userns:  Silence silly gcc warning.\n  cred: use correct cred accessor with regards to rcu read lock\n  userns: Convert the move_pages, and migrate_pages permission checks to use uid_eq\n  userns: Convert cgroup permission checks to use uid_eq\n  userns: Convert tmpfs to use kuid and kgid where appropriate\n  userns: Convert sysfs to use kgid/kuid where appropriate\n  userns: Convert sysctl permission checks to use kuid and kgids.\n  userns: Convert proc to use kuid/kgid where appropriate\n  userns: Convert ext4 to user kuid/kgid where appropriate\n  userns: Convert ext3 to use kuid/kgid where appropriate\n  userns: Convert ext2 to use kuid/kgid where appropriate.\n  userns: Convert devpts to use kuid/kgid where appropriate\n  userns: Convert binary formats to use kuid/kgid where appropriate\n  userns: Add negative depends on entries to avoid building code that is userns unsafe\n  userns: signal remove unnecessary map_cred_ns\n  userns: Teach inode_capable to understand inodes whose uids map to other namespaces.\n  userns: Fail exec for suid and sgid binaries with ids outside our user namespace.\n  userns: Convert stat to return values mapped from kuids and kgids\n  userns: Convert user specfied uids and gids in chown into kuids and kgid\n  userns: Use uid_eq gid_eq helpers when comparing kuids and kgids in the vfs\n  ...\n"
    },
    {
      "commit": "468f4d1a855f8039dabf441b8bf68cae264033ff",
      "tree": "303ac5bc1ac3f86f136a30f9356e84f20dcbf13f",
      "parents": [
        "eb2689e06b3526c7684b09beecf26070f05ee825",
        "8714c8d74d313c3ba27bf9c2aaacb1ad71c644f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 14:07:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 14:07:06 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management updates from Rafael Wysocki:\n\n - Implementation of opportunistic suspend (autosleep) and user space\n   interface for manipulating wakeup sources.\n\n - Hibernate updates from Bojan Smojver and Minho Ban.\n\n - Updates of the runtime PM core and generic PM domains framework\n   related to PM QoS.\n\n - Assorted fixes.\n\n* tag \u0027pm-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (25 commits)\n  epoll: Fix user space breakage related to EPOLLWAKEUP\n  PM / Domains: Make it possible to add devices to inactive domains\n  PM / Hibernate: Use get_gendisk to verify partition if resume_file is integer format\n  PM / Domains: Fix computation of maximum domain off time\n  PM / Domains: Fix link checking when add subdomain\n  PM / Sleep: User space wakeup sources garbage collector Kconfig option\n  PM / Sleep: Make the limit of user space wakeup sources configurable\n  PM / Documentation: suspend-and-cpuhotplug.txt: Fix typo\n  PM / Domains: Cache device stop and domain power off governor results, v3\n  PM / Domains: Make device removal more straightforward\n  PM / Sleep: Fix a mistake in a conditional in autosleep_store()\n  epoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll events are ready\n  PM / QoS: Create device constraints objects on notifier registration\n  PM / Runtime: Remove device fields related to suspend time, v2\n  PM / Domains: Rework default domain power off governor function, v2\n  PM / Domains: Rework default device stop governor function, v2\n  PM / Sleep: Add user space interface for manipulating wakeup sources, v3\n  PM / Sleep: Add \"prevent autosleep time\" statistics to wakeup sources\n  PM / Sleep: Implement opportunistic sleep, v2\n  PM / Sleep: Add wakeup_source_activate and wakeup_source_deactivate tracepoints\n  ...\n"
    },
    {
      "commit": "2e341ca686042aa464efa755447e7bcee91d1eb6",
      "tree": "c6b16b6b6a6e871fa04396cb2c7eb759bcad5be3",
      "parents": [
        "927ad551031798d4cba49766549600bbb33872d7",
        "85e184e4c3cd3e2285ceab91ff8f0cac094e8a85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 13:05:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 13:05:43 2012 -0700"
      },
      "message": "Merge tag \u0027sound-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\nPull sound updates from Takashi Iwai:\n \"This is the first big chunk for 3.5 merges of sound stuff.\n\n  There are a few big changes in different areas.  First off, the\n  streaming logic of USB-audio endpoints has been largely rewritten for\n  the better support of \"implicit feedback\".  If anything about USB got\n  broken, this change has to be checked.\n\n  For HD-audio, the resume procedure was changed; instead of delaying\n  the resume of the hardware until the first use, now waking up\n  immediately at resume.  This is for buggy BIOS.\n\n  For ASoC, dynamic PCM support and the improved support for digital\n  links between off-SoC devices are major framework changes.\n\n  Some highlights are below:\n\n  * HD-audio\n   - Avoid accesses of invalid pin-control bits that may stall the codec\n   - V-ref setup cleanups\n   - Fix the races in power-saving code\n   - Fix the races in codec cache hashes and connection lists\n   - Split some common codes for BIOS auto-parser to hda_auto_parser.c\n   - Changed the PM resume code to wake up immediately for buggy BIOS\n   - Creative SoundCore3D support\n   - Add Conexant CX20751/2/3/4 codec support\n\n  * ASoC\n   - Dynamic PCM support, allowing support for SoCs with internal\n     routing through components with tight sequencing and formatting\n     constraints within their internal paths or where there are multiple\n     components connected with CPU managed DMA controllers inside the\n     SoC.\n   - Greatly improved support for direct digital links between off-SoC\n     devices, providing a much simpler way of connecting things like\n     digital basebands to CODECs.\n   - Much more fine grained and robust locking, cleaning up some of the\n     confusion that crept in with multi-component.\n   - CPU support for nVidia Tegra 30 I2S and audio hub controllers and\n     ST-Ericsson MSP I2S controolers\n   - New CODEC drivers for Cirrus CS42L52, LAPIS Semiconductor ML26124,\n     Texas Instruments LM49453.\n   - Some regmap changes needed by the Tegra I2S driver.\n   - mc13783 audio support.\n\n  * Misc\n   - Rewrite with module_pci_driver()\n   - Xonar DGX support for snd-oxygen\n   - Improvement of packet handling in snd-firewire driver\n   - New USB-endpoint streaming logic\n   - Enhanced M-audio FTU quirks and relevant cleanups\n   - Increment the support of OSS devices to 256\n   - snd-aloop accuracy improvement\n\n  There are a few more pending changes for 3.5, but they will be sent\n  slightly later as partly depending on the changes of DRM.\"\n\nFix up conflicts in regmap (due to duplicate patches, with some further\nupdates then having already come in from the regmap tree).  Also some\nfairly trivial context conflicts in the imx and mcx soc drivers.\n\n* tag \u0027sound-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (280 commits)\n  ALSA: snd-usb: fix stream info output in /proc\n  ALSA: pcm - Add proper state checks to snd_pcm_drain()\n  ALSA: sh: Fix up namespace collision in sh_dac_audio.\n  ALSA: hda/realtek - Fix unused variable compile warning\n  ASoC: sh: fsi: enable chip specific data transfer mode\n  ASoC: sh: fsi: call fsi_hw_startup/shutdown from fsi_dai_trigger()\n  ASoC: sh: fsi: use same format for IN/OUT\n  ASoC: sh: fsi: add fsi_version() and removed meaningless version check\n  ASoC: sh: fsi: use register field macro name on IN/OUT_DMAC\n  ASoC: tegra: Add machine driver for WM8753 codec\n  ALSA: hda - Fix possible races of accesses to connection list array\n  ASoC: OMAP: HDMI: Introduce codec\n  ARM: mx31_3ds: Add sound support\n  ASoC: imx-mc13783 cleanup\n  mx31moboard: Add sound support\n  ASoC: mc13783 codec cleanups\n  ASoC: add imx-mc13783 sound support\n  ASoC: Add mc13783 codec\n  mfd: mc13xxx: add codec platform data\n  ASoC: don\u0027t flip master of DT-instantiated DAI links\n  ...\n"
    },
    {
      "commit": "e8650a08232e75274304b812ff04cfce9af9671c",
      "tree": "0609c942e6ca99016e788ff2ee2bbed1bb9215a4",
      "parents": [
        "3c2c4b73aa79e4a1b601710b59e092441175f4bb",
        "f70d4a95edc7da87f39cd8b603ba131df2c198ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial updates from Jiri Kosina:\n \"As usual, it\u0027s mostly typo fixes, redundant code elimination and some\n  documentation updates.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (57 commits)\n  edac, mips: don\u0027t change code that has been removed in edac/mips tree\n  xtensa: Change mail addresses of Hannes Weiner and Oskar Schirmer\n  lib: Change mail address of Oskar Schirmer\n  net: Change mail address of Oskar Schirmer\n  arm/m68k: Change mail address of Sebastian Hess\n  i2c: Change mail address of Oskar Schirmer\n  net: Fix tcp_build_and_update_options comment in struct tcp_sock\n  atomic64_32.h: fix parameter naming mismatch\n  Kconfig: replace \"--- help ---\" with \"---help---\"\n  c2port: fix bogus Kconfig \"default no\"\n  edac: Fix spelling errors.\n  qla1280: Remove redundant NULL check before release_firmware() call\n  remoteproc: remove redundant NULL check before release_firmware()\n  qla2xxx: Remove redundant NULL check before release_firmware() call.\n  aic94xx: Get rid of redundant NULL check before release_firmware() call\n  tehuti: delete redundant NULL check before release_firmware()\n  qlogic: get rid of a redundant test for NULL before call to release_firmware()\n  bna: remove redundant NULL test before release_firmware()\n  tg3: remove redundant NULL test before release_firmware() call\n  typhoon: get rid of redundant conditional before all to release_firmware()\n  ...\n"
    },
    {
      "commit": "08cefc7ab839cf3ece44b8033968a4732eac06d8",
      "tree": "7264efb33cb3d1249f7be3a7ea6dd12d30c313c1",
      "parents": [
        "1523299d5817773e344d135d4b1c485f269400bc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 15:41:49 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:27 2012 -0700"
      },
      "message": "userns: Convert ext4 to user kuid/kgid where appropriate\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "1523299d5817773e344d135d4b1c485f269400bc",
      "tree": "eef0768f5418facb1d37dbe99f346b9d77223f9f",
      "parents": [
        "b8a9f9e183229d163d8ace855cbbb63c209fba3c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 15:41:24 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:27 2012 -0700"
      },
      "message": "userns: Convert ext3 to use kuid/kgid where appropriate\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "fd2cbd4dfa3db477dd6226d387d3f1911d36a6a9",
      "tree": "b0ada946d14cdcf5db6da2d177be9590a3449e9a",
      "parents": [
        "1ce8486dcc00c1e095af8d155fa4451936b89013"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Apr 07 11:05:19 2012 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 15 23:34:37 2012 +0200"
      },
      "message": "jbd: Write journal superblock with WRITE_FUA after checkpointing\n\nIf journal superblock is written only in disk\u0027s caches and other transaction\nstarts reusing space of the transaction cleaned from the log, it can happen\nblocks of a new transaction reach the disk before journal superblock. When\npower failure happens in such case, subsequent journal replay would still try\nto replay the old transaction but some of it\u0027s blocks may be already\noverwritten by the new transaction. For this reason we must use WRITE_FUA when\nupdating log tail and we must first write new log tail to disk and update\nin-memory information only after that.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9754e39c7bc51328f145e933bfb0df47cd67b6e9",
      "tree": "d2fa043f74939d049d6934aea6ab7b1c272be8a5",
      "parents": [
        "f72cf5e223a28d3b3ea7dc9e40464fd534e359e8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Apr 07 12:33:03 2012 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 15 23:34:36 2012 +0200"
      },
      "message": "jbd: Split updating of journal superblock and marking journal empty\n\nThere are three case of updating journal superblock. In the first case, we want\nto mark journal as empty (setting s_sequence to 0), in the second case we want\nto update log tail, in the third case we want to update s_errno. Split these\ncases into separate functions. It makes the code slightly more straightforward\nand later patches will make the distinction even more important.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "21e52e15666323078b8517a4312712579176b56f",
      "tree": "6e9e75c6e1400e0426a7c7985a3f986fea5a7782",
      "parents": [
        "f511fc624642f0bb8cf65aaa28979737514d4746"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Apr 30 14:16:19 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed May 09 14:26:56 2012 -0700"
      },
      "message": "rcu: Make RCU_FAST_NO_HZ handle timer migration\n\nThe current RCU_FAST_NO_HZ assumes that timers do not migrate unless a\nCPU goes offline, in which case it assumes that the CPU will have to come\nout of dyntick-idle mode (cancelling the timer) in order to go offline.\nThis is important because when RCU_FAST_NO_HZ permits a CPU to enter\ndyntick-idle mode despite having RCU callbacks pending, it posts a timer\non that CPU to force a wakeup on that CPU.  This wakeup ensures that the\nCPU will eventually handle the end of the grace period, including invoking\nits RCU callbacks.\n\nHowever, Pascal Chapperon\u0027s test setup shows that the timer handler\nrcu_idle_gp_timer_func() really does get invoked in some cases.  This is\nproblematic because this can cause the CPU that entered dyntick-idle\nmode despite still having RCU callbacks pending to remain in\ndyntick-idle mode indefinitely, which means that its RCU callbacks might\nnever be invoked.  This situation can result in grace-period delays or\neven system hangs, which matches Pascal\u0027s observations of slow boot-up\nand shutdown (https://lkml.org/lkml/2012/4/5/142).  See also the bugzilla:\n\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d806548\n\nThis commit therefore causes the \"should never be invoked\" timer handler\nrcu_idle_gp_timer_func() to use smp_call_function_single() to wake up\nthe CPU for which the timer was intended, allowing that CPU to invoke\nits RCU callbacks in a timely manner.\n\nReported-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "cc1676d917f32504dbadc858fa790bc524c9f0da",
      "tree": "d665d5ad0a844a6b1aff74deb4c8aa01c7596135",
      "parents": [
        "365b94ae67d2915d412b593d47449a6bffed9d37"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 03 14:47:56 2012 +0200"
      },
      "committer": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Sun May 06 13:43:38 2012 +0800"
      },
      "message": "writeback: Move requeueing when I_SYNC set to writeback_sb_inodes()\n\nWhen writeback_single_inode() is called on inode which has I_SYNC already\nset while doing WB_SYNC_NONE, inode is moved to b_more_io list. However\nthis makes sense only if the caller is flusher thread. For other callers of\nwriteback_single_inode() it doesn\u0027t really make sense and may be even wrong\n- flusher thread may be doing WB_SYNC_ALL writeback in parallel.\n\nSo we move requeueing from writeback_single_inode() to writeback_sb_inodes().\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "6791e36c4a40e8930e08669e60077eea6770c429",
      "tree": "880d7255cc13a270d513e4fb6c4219f85d9536d0",
      "parents": [
        "30e3ce6dcbe3fc29c343b17e768b07d4a795de21"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sun Apr 29 22:53:02 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 01 21:25:25 2012 +0200"
      },
      "message": "PM / Sleep: Add wakeup_source_activate and wakeup_source_deactivate tracepoints\n\nAdd tracepoints to wakeup_source_activate and wakeup_source_deactivate.\nUseful for checking that specific wakeup sources overlap as expected.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2fdbb31b662787f78bb78b3e4e18f1a072058ffc",
      "tree": "c8dbe70ab53102acf7f802eb50c5262c82cd45aa",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Feb 23 15:58:29 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:55:19 2012 -0700"
      },
      "message": "rcu: Add RCU_FAST_NO_HZ tracing for idle exit\n\nTraces of rcu_prep_idle events can be confusing because\nrcu_cleanup_after_idle() does no tracing.  This commit therefore adds\nthis tracing.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c97f3bdd26080c2cb2a648c37b6dcb8eac2f91e7",
      "tree": "b35a0e006486995ce7d18028f9bdbd3f1d803c66",
      "parents": [
        "fde39a6b15612943673555aec7237f9e7228f27d"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Apr 23 10:31:15 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 23 13:15:35 2012 +0100"
      },
      "message": "ASoC: dapm: Fix x86_64 build warning.\n\nFixes the following build warning on x86_64.\n\nIn file included from include/trace/ftrace.h:567:0,\n                 from include/trace/define_trace.h:86,\n                 from include/trace/events/asoc.h:410,\n                 from sound/soc/soc-core.c:45:\ninclude/trace/events/asoc.h: In function \u0027ftrace_raw_event_snd_soc_dapm_output_path\u0027:\ninclude/trace/events/asoc.h:246:1: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]\ninclude/trace/events/asoc.h: In function \u0027ftrace_raw_event_snd_soc_dapm_input_path\u0027:\ninclude/trace/events/asoc.h:275:1: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "ec2e3031b65f23f66840b5c89c4b83076831a435",
      "tree": "b85d6a5590fc0eaa3a5e7ca1a67e97b673629e65",
      "parents": [
        "0cbe4b36b075e80f3149a91ef640bc7930aa94c7"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Apr 18 11:41:11 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Apr 18 18:23:00 2012 +0100"
      },
      "message": "ASoC: dapm: Add API call to query valid DAPM paths\n\nIn preparation for ASoC DSP support.\n\nAdd a DAPM API call to determine whether a DAPM audio path is valid between\nsource and sink widgets. This also takes into account all kcontrol mux and mixer\nsettings in between the source and sink widgets to validate the audio path.\n\nThis will be used by the DSP core to determine the runtime DAI mappings\nbetween FE and BE DAIs in order to run PCM operations.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "2db938bee32e7469ca8ed9bfb3a05535f28c680d",
      "tree": "7d175a486c2e02270839ba18da61455603c2205e",
      "parents": [
        "923e9a1399b620d063cd88537c64561bc3d5f905"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Feb 21 17:25:37 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Apr 11 11:12:44 2012 +0200"
      },
      "message": "jbd: Refine commit writeout logic\n\nCurrently we write out all journal buffers in WRITE_SYNC mode. This improves\nperformance for fsync heavy workloads but hinders performance when writes\nare mostly asynchronous, most noticably it slows down readers and users\ncomplain about slow desktop response etc.\n\nSo submit writes as asynchronous in the normal case and only submit writes as\nWRITE_SYNC if we detect someone is waiting for current transaction commit.\n\nI\u0027ve gathered some numbers to back this change. The first is the read latency\ntest. It measures time to read 1 MB after several seconds of sleeping in\npresence of streaming writes.\n\nTop 10 times (out of 90) in us:\nBefore\t\tAfter\n2131586\t\t697473\n1709932\t\t557487\n1564598\t\t535642\n1480462\t\t347573\n1478579\t\t323153\n1408496\t\t222181\n1388960\t\t181273\n1329565\t\t181070\n1252486\t\t172832\n1223265\t\t172278\n\nAverage:\n619377\t\t82180\n\nSo the improvement in both maximum and average latency is massive.\n\nI\u0027ve measured fsync throughput by:\nfs_mark -n 100 -t 1 -s 16384 -d /mnt/fsync/ -S 1 -L 4\n\nin presence of streaming reader. The numbers (fsyncs/s) are:\nBefore\t\tAfter\n9.9\t\t6.3\n6.8\t\t6.0\n6.3\t\t6.2\n5.8\t\t6.1\n\nSo fsync performance seems unharmed by this change.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b3aa1584e9f3449b0669ab2beb9b9bf99874e1d6",
      "tree": "4bcbf6af794bc00ff949b9b519f6dd5f205bb37c",
      "parents": [
        "e75d660672ddd11704b7f0fdb8ff21968587b266"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Mon Apr 09 10:44:57 2012 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 10 10:49:47 2012 +0200"
      },
      "message": "workqueue: Fix workqueue_execute_end() comment\n\nworkqueue_execute_end() is called after the callback function,\nnot before.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "66cfb32772495068fbb5627b2dc88649ad66c3e5",
      "tree": "4ce3537afdbd9be92a7a3e6ef4e8e8519ee11543",
      "parents": [
        "6742259866d03d5bc19815441ba928e8378343dc",
        "7b8e6da46b921d30ac1553cac56d8fb74f0b431d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 10:04:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 10:04:42 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf/x86/p4: Add format attributes\n  tracing, sched, vfs: Fix \u0027old_pid\u0027 usage in trace_sched_process_exec()\n"
    },
    {
      "commit": "6308191f6f55d3629c7dbe72dfb856ad9fa560fd",
      "tree": "d3f073b0e522fc7dbee52ca6c25d92f28059f2fd",
      "parents": [
        "8ebfdf2babcda5a3b06cc67523bca1f9aed46009"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 30 18:26:36 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 31 11:53:22 2012 +0200"
      },
      "message": "tracing, sched, vfs: Fix \u0027old_pid\u0027 usage in trace_sched_process_exec()\n\n1. TRACE_EVENT(sched_process_exec) forgets to actually use the\n   old pid argument, it sets -\u003eold_pid \u003d p-\u003epid.\n\n2. search_binary_handler() uses the wrong pid number. tracepoint\n   needs the global pid_t from the root namespace, while old_pid\n   is the virtual pid number as it seen by the tracer/parent.\n\nWith this patch we have two pid_t\u0027s in search_binary_handler(),\nnot really nice. Perhaps we should switch to \"struct pid*\", but\nin this case it would be better to cleanup the current code\nfirst and move the \"depth \u003d\u003d 0\" code outside.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Denys Vlasenko \u003cdvlasenk@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120330162636.GA4857@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9613bebb223dea3179c265dc31e1bb41ae39f321",
      "tree": "39bf883573d23775a53be3172323c0237fef5630",
      "parents": [
        "40380f1c7841a5dcbf0b20f0b6da11969211ef77",
        "bc3f116fec194f1d7329b160c266fe16b9266a1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 12:44:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 12:44:29 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\nPull btrfs fixes and features from Chris Mason:\n \"We\u0027ve merged in the error handling patches from SuSE.  These are\n  already shipping in the sles kernel, and they give btrfs the ability\n  to abort transactions and go readonly on errors.  It involves a lot of\n  churn as they clarify BUG_ONs, and remove the ones we now properly\n  deal with.\n\n  Josef reworked the way our metadata interacts with the page cache.\n  page-\u003eprivate now points to the btrfs extent_buffer object, which\n  makes everything faster.  He changed it so we write an whole extent\n  buffer at a time instead of allowing individual pages to go down,,\n  which will be important for the raid5/6 code (for the 3.5 merge\n  window ;)\n\n  Josef also made us more aggressive about dropping pages for metadata\n  blocks that were freed due to COW.  Overall, our metadata caching is\n  much faster now.\n\n  We\u0027ve integrated my patch for metadata bigger than the page size.\n  This allows metadata blocks up to 64KB in size.  In practice 16K and\n  32K seem to work best.  For workloads with lots of metadata, this cuts\n  down the size of the extent allocation tree dramatically and fragments\n  much less.\n\n  Scrub was updated to support the larger block sizes, which ended up\n  being a fairly large change (thanks Stefan Behrens).\n\n  We also have an assortment of fixes and updates, especially to the\n  balancing code (Ilya Dryomov), the back ref walker (Jan Schmidt) and\n  the defragging code (Liu Bo).\"\n\nFixed up trivial conflicts in fs/btrfs/scrub.c that were just due to\nremoval of the second argument to k[un]map_atomic() in commit\n7ac687d9e047.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (75 commits)\n  Btrfs: update the checks for mixed block groups with big metadata blocks\n  Btrfs: update to the right index of defragment\n  Btrfs: do not bother to defrag an extent if it is a big real extent\n  Btrfs: add a check to decide if we should defrag the range\n  Btrfs: fix recursive defragment with autodefrag option\n  Btrfs: fix the mismatch of page-\u003emapping\n  Btrfs: fix race between direct io and autodefrag\n  Btrfs: fix deadlock during allocating chunks\n  Btrfs: show useful info in space reservation tracepoint\n  Btrfs: don\u0027t use crc items bigger than 4KB\n  Btrfs: flush out and clean up any block device pages during mount\n  btrfs: disallow unequal data/metadata blocksize for mixed block groups\n  Btrfs: enhance superblock sanity checks\n  Btrfs: change scrub to support big blocks\n  Btrfs: minor cleanup in scrub\n  Btrfs: introduce common define for max number of mirrors\n  Btrfs: fix infinite loop in btrfs_shrink_device()\n  Btrfs: fix memory leak in resolver code\n  Btrfs: allow dup for data chunks in mixed mode\n  Btrfs: validate target profiles only if we are going to use them\n  ...\n"
    },
    {
      "commit": "69e1aaddd63104f37021d0b0f6abfd9623c9134c",
      "tree": "14ad49741b428d270b681694bb2df349465455b9",
      "parents": [
        "56b59b429b4c26e5e730bc8c3d837de9f7d0a966",
        "9d547c35799a4ddd235f1565cec2fff6c9263504"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:02:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:02:55 2012 -0700"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 updates for 3.4 from Ted Ts\u0027o:\n \"Ext4 commits for 3.3 merge window; mostly cleanups and bug fixes\n\n  The changes to export dirty_writeback_interval are from Artem\u0027s s_dirt\n  cleanup patch series.  The same is true of the change to remove the\n  s_dirt helper functions which never got used by anyone in-tree.  I\u0027ve\n  run these changes by Al Viro, and am carrying them so that Artem can\n  more easily fix up the rest of the file systems during the next merge\n  window.  (Originally we had hopped to remove the use of s_dirt from\n  ext4 during this merge window, but his patches had some bugs, so I\n  ultimately ended dropping them from the ext4 tree.)\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (66 commits)\n  vfs: remove unused superblock helpers\n  mm: export dirty_writeback_interval\n  ext4: remove useless s_dirt assignment\n  ext4: write superblock only once on unmount\n  ext4: do not mark superblock as dirty unnecessarily\n  ext4: correct ext4_punch_hole return codes\n  ext4: remove restrictive checks for EOFBLOCKS_FL\n  ext4: always set then trimmed blocks count into len\n  ext4: fix trimmed block count accunting\n  ext4: fix start and len arguments handling in ext4_trim_fs()\n  ext4: update s_free_{inodes,blocks}_count during online resize\n  ext4: change some printk() calls to use ext4_msg() instead\n  ext4: avoid output message interleaving in ext4_error_\u003cfoo\u003e()\n  ext4: remove trailing newlines from ext4_msg() and ext4_error() messages\n  ext4: add no_printk argument validation, fix fallout\n  ext4: remove redundant \"EXT4-fs: \" from uses of ext4_msg\n  ext4: give more helpful error message in ext4_ext_rm_leaf()\n  ext4: remove unused code from ext4_ext_map_blocks()\n  ext4: rewrite punch hole to use ext4_ext_remove_space()\n  jbd2: cleanup journal tail after transaction commit\n  ...\n"
    },
    {
      "commit": "250f6715a4112d6686670c5a62ceb9305da94616",
      "tree": "ee1c9b41ed1fed8174efb312421902f19c877e8c",
      "parents": [
        "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
        "313162d0b83836e2f57e51b9b8650fb4b9c396ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "message": "Merge tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/device.h\u003e avoidance patches from Paul Gortmaker:\n \"Nearly every subsystem has some kind of header with a proto like:\n\n\tvoid foo(struct device *dev);\n\n  and yet there is no reason for most of these guys to care about the\n  sub fields within the device struct.  This allows us to significantly\n  reduce the scope of headers including headers.  For this instance, a\n  reduction of about 40% is achieved by replacing the include with the\n  simple fact that the device is some kind of a struct.\n\n  Unlike the much larger module.h cleanup, this one is simply two\n  commits.  One to fix the implicit \u003clinux/device.h\u003e users, and then one\n  to delete the device.h includes from the linux/include/ dir wherever\n  possible.\"\n\n* tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  device.h: audit and cleanup users in main include dir\n  device.h: cleanup users outside of linux/include (C files)\n"
    },
    {
      "commit": "f63d395d47f37a4fe771e6d4b1db9d2cdae5ffc5",
      "tree": "3448a14ae965802adb963762cadeb9989ce4caa2",
      "parents": [
        "643ac9fc5429e85b8b7f534544b80bcc4f34c367",
        "5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 08:53:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 08:53:47 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.4-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client updates for Linux 3.4 from Trond Myklebust:\n \"New features include:\n   - Add NFS client support for containers.\n\n     This should enable most of the necessary functionality, including\n     lockd support, and support for rpc.statd, NFSv4 idmapper and\n     RPCSEC_GSS upcalls into the correct network namespace from which\n     the mount system call was issued.\n\n   - NFSv4 idmapper scalability improvements\n\n     Base the idmapper cache on the keyring interface to allow\n     concurrent access to idmapper entries.  Start the process of\n     migrating users from the single-threaded daemon-based approach to\n     the multi-threaded request-key based approach.\n\n   - NFSv4.1 implementation id.\n\n     Allows the NFSv4.1 client and server to mutually identify each\n     other for logging and debugging purposes.\n\n   - Support the \u0027vers\u003d4.1\u0027 mount option for mounting NFSv4.1 instead of\n     having to use the more counterintuitive \u0027vers\u003d4,minorversion\u003d1\u0027.\n\n   - SUNRPC tracepoints.\n\n     Start the process of adding tracepoints in order to improve\n     debugging of the RPC layer.\n\n   - pNFS object layout support for autologin.\n\n  Important bugfixes include:\n\n   - Fix a bug in rpc_wake_up/rpc_wake_up_status that caused them to\n     fail to wake up all tasks when applied to priority waitqueues.\n\n   - Ensure that we handle read delegations correctly, when we try to\n     truncate a file.\n\n   - A number of fixes for NFSv4 state manager loops (mostly to do with\n     delegation recovery).\"\n\n* tag \u0027nfs-for-3.4-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (224 commits)\n  NFS: fix sb-\u003es_id in nfs debug prints\n  xprtrdma: Remove assumption that each segment is \u003c\u003d PAGE_SIZE\n  xprtrdma: The transport should not bug-check when a dup reply is received\n  pnfs-obj: autologin: Add support for protocol autologin\n  NFS: Remove nfs4_setup_sequence from generic rename code\n  NFS: Remove nfs4_setup_sequence from generic unlink code\n  NFS: Remove nfs4_setup_sequence from generic read code\n  NFS: Remove nfs4_setup_sequence from generic write code\n  NFS: Fix more NFS debug related build warnings\n  SUNRPC/LOCKD: Fix build warnings when CONFIG_SUNRPC_DEBUG is undefined\n  nfs: non void functions must return a value\n  SUNRPC: Kill compiler warning when RPC_DEBUG is unset\n  SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG\n  NFS: Use cond_resched_lock() to reduce latencies in the commit scans\n  NFSv4: It is not safe to dereference lsp-\u003els_state in release_lockowner\n  NFS: ncommit count is being double decremented\n  SUNRPC: We must not use list_for_each_entry_safe() in rpc_wake_up()\n  Try using machine credentials for RENEW calls\n  NFSv4.1: Fix a few issues in filelayout_commit_pagelist\n  NFSv4.1: Clean ups and bugfixes for the pNFS read/writeback/commit code\n  ...\n"
    },
    {
      "commit": "9586c959bfc917695893bef0102433a7d0675691",
      "tree": "c8b89e40b7a04c3150e50785e7c48b67df360c83",
      "parents": [
        "34699403e9916060af8ae23f5e4705a6c078e79d",
        "addfd8a09e1f434a73b3d87d36ef050c73511d2b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:33:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:33:14 2012 -0700"
      },
      "message": "Merge tag \u0027regmap-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap\n\nPull regmap updates from Mark Brown:\n \"Things are really quieting down with the regmap API, while we\u0027re still\n  seeing a trickle of new features coming in they\u0027re getting much\n  smaller than they were.  It\u0027s also nice to have some features which\n  support other subsystems building infrastructure on top of regmap.\n  Highlights include:\n\n  - Support for padding between the register and the value when\n    interacting with the device, sometimes needed for fast interfaces.\n  - Support for applying register updates to the device when restoring\n    the register state.  This is intended to be used to apply updates\n    supplied by manufacturers for tuning the performance of the device\n    (many of which are to undocumented registers which aren\u0027t otherwise\n    covered).\n  - Support for multi-register operations on cached registers.\n  - Support for syncing only part of the register cache.\n  - Stubs and parameter query functions intended to make it easier for\n    other subsystems to build infrastructure on top of the regmap API.\n\n  plus a few driver updates making use of the new features which it was\n  easier to merge via this tree.\"\n\n* tag \u0027regmap-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (41 commits)\n  regmap: Fix future missing prototype of devres_alloc() and friends\n  regmap: Rejig struct declarations for stubbed API\n  regmap: Fix rbtree block base in sync\n  regcache: Make sure we sync register 0 in an rbtree cache\n  regmap: delete unused module.h from drivers/base/regmap files\n  regmap: Add stub for regcache_sync_region()\n  mfd: Improve performance of later WM1811 revisions\n  regmap: Fix x86_64 breakage\n  regmap: Allow drivers to sync only part of the register cache\n  regmap: Supply ranges to the sync operations\n  regmap: Add tracepoints for cache only and cache bypass\n  regmap: Mark the cache as clean after a successful sync\n  regmap: Remove default cache sync implementation\n  regmap: Skip hardware defaults for LZO caches\n  regmap: Expose the driver name in debugfs\n  mfd: wm8400: Convert to devm_regmap_init_i2c()\n  mfd: wm831x: Convert to devm_regmap_init()\n  mfd: wm8994: Convert to devm_regmap_init()\n  mfd/ASoC: Convert WM8994 driver to use regmap patches\n  mfd: Add __devinit and __devexit annotations in wm8994\n  ...\n"
    },
    {
      "commit": "143bede527b054a271053f41bfaca2b57baa9408",
      "tree": "95c71d3705c73bf98e7a1547da35e70a44703c1e",
      "parents": [
        "ffd7b33944f4573a063af7a55f8a5199c8185665"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Mar 01 14:56:26 2012 +0100"
      },
      "committer": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Thu Mar 22 01:45:34 2012 +0100"
      },
      "message": "btrfs: return void in functions without error conditions\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\n"
    },
    {
      "commit": "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
      "tree": "7211df5704b743a7667159748c670a9744164482",
      "parents": [
        "d464c92b5234227c1698862a1906827e2e398ae0",
        "f1f996b66cc3908a8f5ffccc2ff41840e92f3b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -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 \"It\u0027s indeed trivial -- mostly documentation updates and a bunch of\n  typo fixes from Masanari.\n\n  There are also several linux/version.h include removals from Jesper.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)\n  kcore: fix spelling in read_kcore() comment\n  constify struct pci_dev * in obvious cases\n  Revert \"char: Fix typo in viotape.c\"\n  init: fix wording error in mm_init comment\n  usb: gadget: Kconfig: fix typo for \u0027different\u0027\n  Revert \"power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c\"\n  writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header\n  writeback: fix typo in the writeback_control comment\n  Documentation: Fix multiple typo in Documentation\n  tpm_tis: fix tis_lock with respect to RCU\n  Revert \"media: Fix typo in mixer_drv.c and hdmi_drv.c\"\n  Doc: Update numastat.txt\n  qla4xxx: Add missing spaces to error messages\n  compiler.h: Fix typo\n  security: struct security_operations kerneldoc fix\n  Documentation: broken URL in libata.tmpl\n  Documentation: broken URL in filesystems.tmpl\n  mtd: simplify return logic in do_map_probe()\n  mm: fix comment typo of truncate_inode_pages_range\n  power: bq27x00: Fix typos in comment\n  ...\n"
    },
    {
      "commit": "9c2b957db1772ebf942ae7a9346b14eba6c8ca66",
      "tree": "0dbb83e57260ea7fc0dc421f214d5f1b26262005",
      "parents": [
        "0bbfcaff9b2a69c71a95e6902253487ab30cb498",
        "bea95c152dee1791dd02cbc708afbb115bb00f9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf events changes for v3.4 from Ingo Molnar:\n\n - New \"hardware based branch profiling\" feature both on the kernel and\n   the tooling side, on CPUs that support it.  (modern x86 Intel CPUs\n   with the \u0027LBR\u0027 hardware feature currently.)\n\n   This new feature is basically a sophisticated \u0027magnifying glass\u0027 for\n   branch execution - something that is pretty difficult to extract from\n   regular, function histogram centric profiles.\n\n   The simplest mode is activated via \u0027perf record -b\u0027, and the result\n   looks like this in perf report:\n\n\t$ perf record -b any_call,u -e cycles:u branchy\n\n\t$ perf report -b --sort\u003dsymbol\n\t    52.34%  [.] main                   [.] f1\n\t    24.04%  [.] f1                     [.] f3\n\t    23.60%  [.] f1                     [.] f2\n\t     0.01%  [k] _IO_new_file_xsputn    [k] _IO_file_overflow\n\t     0.01%  [k] _IO_vfprintf_internal  [k] _IO_new_file_xsputn\n\t     0.01%  [k] _IO_vfprintf_internal  [k] strchrnul\n\t     0.01%  [k] __printf               [k] _IO_vfprintf_internal\n\t     0.01%  [k] main                   [k] __printf\n\n   This output shows from/to branch columns and shows the highest\n   percentage (from,to) jump combinations - i.e.  the most likely taken\n   branches in the system.  \"branches\" can also include function calls\n   and any other synchronous and asynchronous transitions of the\n   instruction pointer that are not \u0027next instruction\u0027 - such as system\n   calls, traps, interrupts, etc.\n\n   This feature comes with (hopefully intuitive) flat ascii and TUI\n   support in perf report.\n\n - Various \u0027perf annotate\u0027 visual improvements for us assembly junkies.\n   It will now recognize function calls in the TUI and by hitting enter\n   you can follow the call (recursively) and back, amongst other\n   improvements.\n\n - Multiple threads/processes recording support in perf record, perf\n   stat, perf top - which is activated via a comma-list of PIDs:\n\n\tperf top -p 21483,21485\n\tperf stat -p 21483,21485 -ddd\n\tperf record -p 21483,21485\n\n - Support for per UID views, via the --uid paramter to perf top, perf\n   report, etc.  For example \u0027perf top --uid mingo\u0027 will only show the\n   tasks that I am running, excluding other users, root, etc.\n\n - Jump label restructurings and improvements - this includes the\n   factoring out of the (hopefully much clearer) include/linux/static_key.h\n   generic facility:\n\n\tstruct static_key key \u003d STATIC_KEY_INIT_FALSE;\n\n\t...\n\n\tif (static_key_false(\u0026key))\n\t        do unlikely code\n\telse\n\t        do likely code\n\n\t...\n\tstatic_key_slow_inc();\n\t...\n\tstatic_key_slow_inc();\n\t...\n\n   The static_key_false() branch will be generated into the code with as\n   little impact to the likely code path as possible.  the\n   static_key_slow_*() APIs flip the branch via live kernel code patching.\n\n   This facility can now be used more widely within the kernel to\n   micro-optimize hot branches whose likelihood matches the static-key\n   usage and fast/slow cost patterns.\n\n - SW function tracer improvements: perf support and filtering support.\n\n - Various hardenings of the perf.data ABI, to make older perf.data\u0027s\n   smoother on newer tool versions, to make new features integrate more\n   smoothly, to support cross-endian recording/analyzing workflows\n   better, etc.\n\n - Restructuring of the kprobes code, the splitting out of \u0027optprobes\u0027,\n   and a corner case bugfix.\n\n - Allow the tracing of kernel console output (printk).\n\n - Improvements/fixes to user-space RDPMC support, allowing user-space\n   self-profiling code to extract PMU counts without performing any\n   system calls, while playing nice with the kernel side.\n\n - \u0027perf bench\u0027 improvements\n\n - ... and lots of internal restructurings, cleanups and fixes that made\n   these features possible.  And, as usual this list is incomplete as\n   there were also lots of other improvements\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (120 commits)\n  perf report: Fix annotate double quit issue in branch view mode\n  perf report: Remove duplicate annotate choice in branch view mode\n  perf/x86: Prettify pmu config literals\n  perf report: Enable TUI in branch view mode\n  perf report: Auto-detect branch stack sampling mode\n  perf record: Add HEADER_BRANCH_STACK tag\n  perf record: Provide default branch stack sampling mode option\n  perf tools: Make perf able to read files from older ABIs\n  perf tools: Fix ABI compatibility bug in print_event_desc()\n  perf tools: Enable reading of perf.data files from different ABI rev\n  perf: Add ABI reference sizes\n  perf report: Add support for taken branch sampling\n  perf record: Add support for sampling taken branch\n  perf tools: Add code to support PERF_SAMPLE_BRANCH_STACK\n  x86/kprobes: Split out optprobe related code to kprobes-opt.c\n  x86/kprobes: Fix a bug which can modify kernel code permanently\n  x86/kprobes: Fix instruction recovery on optimized path\n  perf: Add callback to flush branch_stack on context switch\n  perf: Disable PERF_SAMPLE_BRANCH_* when not supported\n  perf/x86: Add LBR software filter support for Intel CPUs\n  ...\n"
    },
    {
      "commit": "313162d0b83836e2f57e51b9b8650fb4b9c396ea",
      "tree": "8f39f20515a924d392cf9a72db0918fda07a34c7",
      "parents": [
        "51990e825431089747f8896244b5c17d3a6423f1"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Jan 30 11:46:54 2012 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Mar 16 10:38:24 2012 -0400"
      },
      "message": "device.h: audit and cleanup users in main include dir\n\nThe \u003clinux/device.h\u003e header includes a lot of stuff, and\nit in turn gets a lot of use just for the basic \"struct device\"\nwhich appears so often.\n\nClean up the users as follows:\n\n1) For those headers only needing \"struct device\" as a pointer\nin fcn args, replace the include with exactly that.\n\n2) For headers not really using anything from device.h, simply\ndelete the include altogether.\n\n3) For headers relying on getting device.h implicitly before\nbeing included themselves, now explicitly include device.h\n\n4) For files in which doing #1 or #2 uncovers an implicit\ndependency on some other header, fix by explicitly adding\nthe required header(s).\n\nAny C files that were implicitly relying on device.h to be\npresent have already been dealt with in advance.\n\nTotal removals from #1 and #2: 51.  Total additions coming\nfrom #3: 9.  Total other implicit dependencies from #4: 7.\n\nAs of 3.3-rc1, there were 110, so a net removal of 42 gives\nabout a 38% reduction in device.h presence in include/*\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "7d9aca39dcacd2b3f42e2e287162329f410f93e1",
      "tree": "2907b680b2b7625226f46d23d74ccc9c58ad0362",
      "parents": [
        "e1c1c69c8fc7656c33460c8e085ac0d0be22ac3b",
        "a0cc0209abb9fe2b9ab71aa41be70eddd0cbdd61"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:13:25 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:13:25 2012 +0000"
      },
      "message": "Merge remote-tracking branch \u0027regmap/topic/drivers\u0027 into regmap-next\n\nResolved simple add/add conflicts:\n\tdrivers/base/regmap/internal.h\n\tdrivers/base/regmap/regmap.c\n"
    },
    {
      "commit": "79feb521a44705262d15cc819a4117a447b11ea7",
      "tree": "a4de6ed084b7a68c0885049d94841ce8334b64a7",
      "parents": [
        "a78bb11d7acd525623c6a0c2ff4e213d527573fa"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 13 22:22:54 2012 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Mar 13 22:22:54 2012 -0400"
      },
      "message": "jbd2: issue cache flush after checkpointing even with internal journal\n\nWhen we reach jbd2_cleanup_journal_tail(), there is no guarantee that\ncheckpointed buffers are on a stable storage - especially if buffers were\nwritten out by jbd2_log_do_checkpoint(), they are likely to be only in disk\u0027s\ncaches. Thus when we update journal superblock effectively removing old\ntransaction from journal, this write of superblock can get to stable storage\nbefore those checkpointed buffers which can result in filesystem corruption\nafter a crash. Thus we must unconditionally issue a cache flush before we\nupdate journal superblock in these cases.\n\nA similar problem can also occur if journal superblock is written only in\ndisk\u0027s caches, other transaction starts reusing space of the transaction\ncleaned from the log and power failure happens. Subsequent journal replay would\nstill try to replay the old transaction but some of it\u0027s blocks may be already\noverwritten by the new transaction. For this reason we must use WRITE_FUA when\nupdating log tail and we must first write new log tail to disk and update\nin-memory information only after that.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "24bcc89c7e7c64982e6192b4952a0a92379fc341",
      "tree": "0661b6c83fa9bb681f3aa32264323ce96c264958",
      "parents": [
        "31d4f3a2f3c73f279ff96a7135d7202ef6833f12"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 13 15:41:04 2012 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Mar 13 15:41:04 2012 -0400"
      },
      "message": "jbd2: split updating of journal superblock and marking journal empty\n\nThere are three case of updating journal superblock. In the first case, we want\nto mark journal as empty (setting s_sequence to 0), in the second case we want\nto update log tail, in the third case we want to update s_errno. Split these\ncases into separate functions. It makes the code slightly more straightforward\nand later patches will make the distinction even more important.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "737f24bda723fdf89ecaacb99fa2bf5683c32799",
      "tree": "35495fff3e9956679cb5468e74e6814c8e44ee66",
      "parents": [
        "8eedce996556d7d06522cd3a0e6069141c8dffe0",
        "b7c924274c456499264d1cfa3d44063bb11eb5db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\ttools/perf/builtin-record.c\n\ttools/perf/builtin-top.c\n\ttools/perf/perf.h\n\ttools/perf/util/top.h\n\nMerge reason: resolve these cherry-picking conflicts.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bdd4431c8d071491a68a65d9457996f222b5ecd3",
      "tree": "9de69701cdba1dd28bcb804476bff07806f6d7a3",
      "parents": [
        "586c6e7013c8cbb8c91aaa6568ec349b1dc2c691",
        "1cc85961e214773cb7d7f2ccbe3bc644dd466df0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 28 10:16:01 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 28 10:16:10 2012 +0100"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu\n\nThe major features of this series are:\n\n - making RCU more aggressive about entering dyntick-idle mode in order to\n   improve energy efficiency\n\n - converting a few more call_rcu()s to kfree_rcu()s\n\n - applying a number of rcutree fixes and cleanups to rcutiny\n\n - removing CONFIG_SMP #ifdefs from treercu\n\n - allowing RCU CPU stall times to be set via sysfs\n\n - adding CPU-stall capability to rcutorture\n\n - adding more RCU-abuse diagnostics\n\n - updating documentation\n\n - fixing yet more issues located by the still-ongoing top-to-bottom\n   inspection of RCU, this time with a special focus on the\n   CPU-hotplug code path.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d5b7d4f80ed6e861c1c220fd57e3dad0912526e",
      "tree": "40c015040a63379d114b8f33b4d70e248867a9a4",
      "parents": [
        "a3c3774176838bbfa4f6e48133644903818e56dc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 22:02:57 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 22:10:56 2012 +0000"
      },
      "message": "regmap: Add tracepoints for cache only and cache bypass\n\nUseful for figuring out where the hardware interaction went or came from.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4ff16c25e2cc48cbe6956e356c38a25ac063a64d",
      "tree": "27ff21500ab5559497126e6a25e65bcf96d44c59",
      "parents": [
        "034d150a44a2b428e273e69889397c01f63eaf14"
      ],
      "author": {
        "name": "David Smith",
        "email": "dsmith@redhat.com",
        "time": "Tue Feb 07 10:11:05 2012 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 23 09:28:06 2012 +0100"
      },
      "message": "tracepoint, vfs, sched: Add exec() tracepoint\n\nAdded a minimal exec tracepoint. Exec is an important major event\nin the life of a task, like fork(), clone() or exit(), all of\nwhich we already trace.\n\n[ We also do scheduling re-balancing during exec() - so it\u0027s useful\n  from a scheduler instrumentation POV as well. ]\n\nIf you want to watch a task start up, when it gets exec\u0027ed is a good place\nto start.  With the addition of this tracepoint, exec\u0027s can be monitored\nand better picture of general system activity can be obtained. This\ntracepoint will also enable better process life tracking, allowing you to\nanswer questions like \"what process keeps starting up binary X?\".\n\nThis tracepoint can also be useful in ftrace filtering and trigger\nconditions: i.e. starting or stopping filtering when exec is called.\n\nSigned-off-by: David Smith \u003cdsmith@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/4F314D19.7030504@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c79a045fd590a26e81e75f5d8d4ec5c7d23e565",
      "tree": "8123849709e37dc2394373ad40cf333b2f19ebb5",
      "parents": [
        "719741d9986572d64b47c35c09f5e7bb8d389400"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 30 14:51:37 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 12:06:55 2012 +0100"
      },
      "message": "sched/events: Revert trace_sched_stat_sleeptime()\n\nCommit 1ac9bc69 (\"sched/tracing: Add a new tracepoint for sleeptime\")\nadded a new sched:sched_stat_sleeptime tracepoint.\n\nIt\u0027s broken: the first sample we get on a task might be bad because\nof a stale sleep_start value that wasn\u0027t reset at the last task switch\nbecause the tracepoint was not active.\n\nIt also breaks the existing schedstat samples due to the side\neffects of:\n\n-               se-\u003estatistics.sleep_start \u003d 0;\n...\n-               se-\u003estatistics.block_start \u003d 0;\n\nNor do I see means to fix it without adding overhead to the scheduler\nfast path, which I\u0027m not willing to for the sake of redundant\ninstrumentation.\n\nMost importantly, sleep time information can already be constructed\nby tracing context switches and wakeups, and taking the timestamp\ndifference between the schedule-out, the wakeup and the schedule-in.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-pc4c9qhl8q6vg3bs4j6k0rbd@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "486e259340fc4c60474f2c14703e3b3634bb58ca",
      "tree": "70a58702194588fa0773463523f72c682785d040",
      "parents": [
        "0bb7b59d6e2b8440cd7097097dd4bbfc4d76ed07"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 14:11:30 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:25 2012 -0800"
      },
      "message": "rcu: Avoid waking up CPUs having only kfree_rcu() callbacks\n\nWhen CONFIG_RCU_FAST_NO_HZ is enabled, RCU will allow a given CPU to\nenter dyntick-idle mode even if it still has RCU callbacks queued.\nRCU avoids system hangs in this case by scheduling a timer for several\njiffies in the future.  However, if all of the callbacks on that CPU\nare from kfree_rcu(), there is no reason to wake the CPU up, as it is\nnot a problem to defer freeing of memory.\n\nThis commit therefore tracks the number of callbacks on a given CPU\nthat are from kfree_rcu(), and avoids scheduling the timer if all of\na given CPU\u0027s callbacks are from kfree_rcu().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2201c590dd6e802795e21e69e3c152c519f1568e",
      "tree": "a617a8578dd181bbcb83c0e3c6198a3dc836eef8",
      "parents": [
        "3d2b158262826e8b75bbbfb7b97010838dd92ac7"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Mon Feb 20 17:53:01 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 20 17:53:01 2012 -0500"
      },
      "message": "jbd2: add drop_transaction/update_superblock_end tracepoints\n\nThis patch adds trace_jbd2_drop_transaction and\ntrace_jbd2_update_superblock_end because there are similar tracepoints\nin jbd and they are needed in jbd2 as well.\n\nReviewed-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "95100358491abaa2e9a5483811370059bbca4645",
      "tree": "4fc32c4bf2ef4416b4a914f5426f96ba58f29ec1",
      "parents": [
        "cdfb0d30e943f36c8a074a26c3d168a05bdbb372"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 24 20:03:08 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 13:46:05 2012 -0500"
      },
      "message": "printk/tracing: Add console output tracing\n\nAdd a printk.console trace point to record any printk\nmessages into the trace, regardless of the current\nconsole loglevel. This can help correlate (existing)\nprintk debugging with other tracing.\n\nLink: http://lkml.kernel.org/r/1322161388.5366.54.camel@jlt3.sipsolutions.net\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "484546509ce5d49d43ec0a6eb2141c6bf3362bfc",
      "tree": "22145ca23b08aee51d17f335897e035a20a96dcc",
      "parents": [
        "2fbb90db1b8fcc78f43830f1a009f3af243c5f42"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 07 09:40:30 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 09:14:43 2012 -0500"
      },
      "message": "x86/tracing: Denote the power and cpuidle tracepoints as _rcuidle()\n\nThe power and cpuidle tracepoints are called within a rcu_idle_exit()\nsection, and must be denoted with the _rcuidle() version of the tracepoint.\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5753cba17611af108995672c4e2d978014e17a56",
      "tree": "5b0588c60045b155e9dc79e01490b248e19b6c2c",
      "parents": [
        "85c0d24f026ca6935897694be4eb0b5c514b907d"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "steved@redhat.com",
        "time": "Mon Feb 06 10:08:08 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 10:37:53 2012 -0500"
      },
      "message": "SUNRPC: Adding status trace points\n\nThis patch adds three trace points to the status routines\nin the sunrpc state machine.\n\nThe goal of these trace points is to give an Admin\nthe ability to check on binding status or connection\nstatus to see if there is a potential problem.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "85c0d24f026ca6935897694be4eb0b5c514b907d",
      "tree": "1f70f139d093624630c59d1a85054a6a3cc65320",
      "parents": [
        "a4980e7840176b4baa60715c32c5994b084ea9a6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 10:31:35 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 10:31:35 2012 -0500"
      },
      "message": "SUNRPC: Fix up sunrpc trace events\n\nThe reporting of the RPC queue name needs to use the __string()\nevent interface.\n\nReported-by: Neil Horman \u003cnhorman@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "977b7e3a52a7421ad33a393a38ece59f3d41c2fa",
      "tree": "8ad7bb97c2385c3407c4fb647cc932978057559d",
      "parents": [
        "3310225dfc71a35a2cc9340c15c0e08b14b3c754"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sat Feb 04 20:54:03 2012 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Feb 06 11:17:25 2012 +0800"
      },
      "message": "writeback: fix dereferencing NULL bdi-\u003edev on trace_writeback_queue\n\nWhen a SD card is hot removed without umount, del_gendisk() will call\nbdi_unregister() without destroying/freeing it. This leaves the bdi in\nthe bdi-\u003edev \u003d NULL, bdi-\u003ewb.task \u003d NULL, bdi-\u003ebdi_list removed state.\n\nWhen sync(2) gets the bdi before bdi_unregister() and calls\nbdi_queue_work() after the unregister, trace_writeback_queue will be\ndereferencing the NULL bdi-\u003edev. Fix it with a simple test for NULL.\n\nLKML-reference: http://lkml.org/lkml/2012/1/18/346\nCc: stable@kernel.org\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nTested-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "42481ba29033b3e692fe81e6536fc8f59b40ce07",
      "tree": "f9ee3f436e38148d2b5f32a06ba7b3fb3fc11aaa",
      "parents": [
        "241057486646dd42278538218376c79aae2c359f"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sat Feb 04 23:29:19 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Feb 05 15:53:02 2012 +0100"
      },
      "message": "Remove incorrect comment from include/trace/events/power.h\n\nThe code is not going to be removed, so remove the comment stating\nthat it will be.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "972c5ae961d6e5103e2b33d935cfa4145fd47140",
      "tree": "350b2a76b979ba8766c09838617df67ff330eca0",
      "parents": [
        "5196d20305d5e30d871111d3a876cf067dd94255",
        "7c7ed8ec337bf5f62cc5287a6eb6b2f1b7504c2f"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 03 23:12:42 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 03 23:13:05 2012 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nSync with Linus\u0027 tree to be able to apply patch to a newer\ncode (namely drivers/gpu/drm/gma500/psb_intel_lvds.c)\n"
    },
    {
      "commit": "60d3369edb03fb4799c45ac594e2b8a76aa9079c",
      "tree": "e02a4229fbfa914e4768feb535215c7fc25a80ee",
      "parents": [
        "61c54d20d16f098823058b07b399ac5b716ea5ba"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Jan 15 21:48:38 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 03 22:41:34 2012 +0100"
      },
      "message": "Fix up version number reference in include/trace/events/power.h\n\nWhat was originally going to be 2.6.41 became 3.1 .\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "15eb77a07c714ac80201abd0a9568888bcee6276",
      "tree": "cc43dc8458cb431900fd47990772ffa56b36b4f4",
      "parents": [
        "2673b4cf5d59c3ee5e0c12f6d734d38770324dc4"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jan 17 11:18:56 2012 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Feb 01 16:53:40 2012 +0800"
      },
      "message": "writeback: fix NULL bdi-\u003edev in trace writeback_single_inode\n\nbdi_prune_sb() resets sb-\u003es_bdi to default_backing_dev_info when the\ntearing down the original bdi. Fix trace_writeback_single_inode to\nuse sb-\u003es_bdi\u003ddefault_backing_dev_info rather than bdi-\u003edev\u003dNULL for a\nteared down bdi.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nTested-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "82b0a4c3c171b180629696e8d1d5f52516f711e6",
      "tree": "60aab7bc3a767e3c017a228597eaaeedeffe4c00",
      "parents": [
        "a613fa168afc19179a7547fbba45644c5b6912bf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 20 14:52:23 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:21 2012 -0500"
      },
      "message": "SUNRPC: Add trace events to the sunrpc subsystem\n\nAdd declarations to allow tracing of RPC call creation, running, sleeping,\nand destruction.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96070c83b295b31912ad92d3ffb66baec2b86d50",
      "tree": "9ee346398552b40df1a7c7a80cb366bfd6a07181",
      "parents": [
        "87f71ae2dd7471c1b4c94100be1f218e91dc64c3",
        "163566f60bfe6a8176650155e2d98649b0dfabf8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 11:09:19 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 11:09:19 2012 +0100"
      },
      "message": "Merge branch \u0027sigtrace\u0027 of git://github.com/utrace/linux into perf/core\n"
    },
    {
      "commit": "f9156c7288e2d11501ded4d7fe6d9a3a41ee4057",
      "tree": "7bd26fc9a111c6af1601ecd2d1b0ab60da32f3f0",
      "parents": [
        "67175b855bfd6ed95ffeff95532173c07de6432d",
        "96bdc7dc61fb1b1e8e858dafb13abee8482ba064"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:49:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:49:54 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (62 commits)\n  Btrfs: use larger system chunks\n  Btrfs: add a delalloc mutex to inodes for delalloc reservations\n  Btrfs: space leak tracepoints\n  Btrfs: protect orphan block rsv with spin_lock\n  Btrfs: add allocator tracepoints\n  Btrfs: don\u0027t call btrfs_throttle in file write\n  Btrfs: release space on error in page_mkwrite\n  Btrfs: fix btrfsck error 400 when truncating a compressed\n  Btrfs: do not use btrfs_end_transaction_throttle everywhere\n  Btrfs: add balance progress reporting\n  Btrfs: allow for resuming restriper after it was paused\n  Btrfs: allow for canceling restriper\n  Btrfs: allow for pausing restriper\n  Btrfs: add skip_balance mount option\n  Btrfs: recover balance on mount\n  Btrfs: save balance parameters to disk\n  Btrfs: soft profile changing mode (aka soft convert)\n  Btrfs: implement online profile changing\n  Btrfs: do not reduce profile in do_chunk_alloc()\n  Btrfs: virtual address space subset filter\n  ...\n\nFix up trivial conflict in fs/btrfs/ioctl.c due to the use of the new\nmnt_drop_write_file() helper.\n"
    },
    {
      "commit": "8c2a3ca20f6233677ac3222c6506174010eb414f",
      "tree": "88d1105c665d355b363929557ed0c5489795e348",
      "parents": [
        "90290e19820e3323ce6b9c2888eeb68bf29c278b"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jan 10 10:31:31 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jan 16 15:29:43 2012 -0500"
      },
      "message": "Btrfs: space leak tracepoints\n\nThis in addition to a script in my btrfs-tracing tree will help track down space\nleaks when we\u0027re getting space left over in block groups on umount.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "3f7de037fb3727b20bc27332cdcf2488b702394c",
      "tree": "7e355b7e60b584ca7aaaf7c8abfa1f2408c15ff2",
      "parents": [
        "45a8090e626ab470c91142954431a93846030b0d"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Nov 10 08:29:20 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jan 16 15:29:42 2012 -0500"
      },
      "message": "Btrfs: add allocator tracepoints\n\nI used these tracepoints when figuring out what the cluster stuff was doing, so\nadd them to mainline in case we need to profile this stuff again.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "6c303d3ab39f0dc69546f179c424ee1124f50906",
      "tree": "40fd551256229f2ac1f931c3f9e650ba67deefc7",
      "parents": [
        "099469502f62fbe0d7e4f0b83a2f22538367f734"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Nov 22 21:13:48 2011 +0100"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jan 13 18:48:50 2012 +0100"
      },
      "message": "tracing: let trace_signal_generate() report more info, kill overflow_fail/lose_info\n\n__send_signal()-\u003etrace_signal_generate() doesn\u0027t report enough info.\nThe users want to know was the signal actually delivered or not, and\nthey also need the shared/private info.\n\nThe patch moves trace_signal_generate() at the end of __send_signal()\nand adds the 2 additional arguments.\n\nThis also allows us to kill trace_signal_overflow_fail/lose_info, we\ncan simply add the appropriate TRACE_SIGNAL_ \"result\" codes.\n\nReported-by: Seiji Aguchi \u003csaguchi@redhat.com\u003e\nReviewed-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "ea4d349ffa8028c655236497c2ba17c17aaa0d65",
      "tree": "b983961282dea73db03a1257fa4aaec109aee5cc",
      "parents": [
        "45676885b76237a4c236d26fe20a9b0cfdb2eb22"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Jan 12 17:19:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:08 2012 -0800"
      },
      "message": "vmscan/trace: Add \u0027file\u0027 info to trace_mm_vmscan_lru_isolate()\n\nIn trace_mm_vmscan_lru_isolate(), we don\u0027t output \u0027file\u0027 information to\nthe trace event and it is a bit inconvenient for the user to get the\nreal information(like pasted below).  mm_vmscan_lru_isolate:\nisolate_mode\u003d2 order\u003d0 nr_requested\u003d32 nr_scanned\u003d32 nr_taken\u003d32\ncontig_taken\u003d0 contig_dirty\u003d0 contig_failed\u003d0\n\n\u0027active\u0027 can be obtained by analyzing mode(Thanks go to Minchan and\nMel), So this patch adds \u0027file\u0027 to the trace event and it now looks\nlike: mm_vmscan_lru_isolate: isolate_mode\u003d2 order\u003d0 nr_requested\u003d32\nnr_scanned\u003d32 nr_taken\u003d32 contig_taken\u003d0 contig_dirty\u003d0 contig_failed\u003d0\nfile\u003d0\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "001a541ea9163ace5e8243ee0e907ad80a4c0ec2",
      "tree": "a76225046369c440de93739add9823f5ea060245",
      "parents": [
        "40ba587923ae67090d9f141c1d3c951be5c1420e",
        "bc31b86a5923fad5f3fbb6192f767f410241ba27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: move MIN_WRITEBACK_PAGES to fs-writeback.c\n  writeback: balanced_rate cannot exceed write bandwidth\n  writeback: do strict bdi dirty_exceeded\n  writeback: avoid tiny dirty poll intervals\n  writeback: max, min and target dirty pause time\n  writeback: dirty ratelimit - think time compensation\n  btrfs: fix dirtied pages accounting on sub-page writes\n  writeback: fix dirtied pages accounting on redirty\n  writeback: fix dirtied pages accounting on sub-page writes\n  writeback: charge leaked page dirties to active tasks\n  writeback: Include all dirty inodes in background writeback\n"
    },
    {
      "commit": "40ba587923ae67090d9f141c1d3c951be5c1420e",
      "tree": "342a72fc0ee13a0d2496ef970b64dfeadf1355d2",
      "parents": [
        "54c2c5761febcca46c8037d3a81612991e6c209a",
        "6b550f9495947fc279d12c38feaf98500e8d0646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (aka \"Andrew\u0027s patch-bomb\")\n\nAndrew elucidates:\n - First installmeant of MM.  We have a HUGE number of MM patches this\n   time.  It\u0027s crazy.\n - MAINTAINERS updates\n - backlight updates\n - leds\n - checkpatch updates\n - misc ELF stuff\n - rtc updates\n - reiserfs\n - procfs\n - some misc other bits\n\n* akpm: (124 commits)\n  user namespace: make signal.c respect user namespaces\n  workqueue: make alloc_workqueue() take printf fmt and args for name\n  procfs: add hidepid\u003d and gid\u003d mount options\n  procfs: parse mount options\n  procfs: introduce the /proc/\u003cpid\u003e/map_files/ directory\n  procfs: make proc_get_link to use dentry instead of inode\n  signal: add block_sigmask() for adding sigmask to current-\u003eblocked\n  sparc: make SA_NOMASK a synonym of SA_NODEFER\n  reiserfs: don\u0027t lock root inode searching\n  reiserfs: don\u0027t lock journal_init()\n  reiserfs: delay reiserfs lock until journal initialization\n  reiserfs: delete comments referring to the BKL\n  drivers/rtc/interface.c: fix alarm rollover when day or month is out-of-range\n  drivers/rtc/rtc-twl.c: add DT support for RTC inside twl4030/twl6030\n  drivers/rtc/: remove redundant spi driver bus initialization\n  drivers/rtc/rtc-jz4740.c: make jz4740_rtc_driver static\n  drivers/rtc/rtc-mc13xxx.c: make mc13xxx_rtc_idtable static\n  rtc: convert drivers/rtc/* to use module_platform_driver()\n  drivers/rtc/rtc-wm831x.c: convert to devm_kzalloc()\n  drivers/rtc/rtc-wm831x.c: remove unused period IRQ handler\n  ...\n"
    },
    {
      "commit": "43d2b113241d6797b890318767e0af78e313414b",
      "tree": "6f25647f2660f8fca63cc8355b70ad643993dab8",
      "parents": [
        "6bd4837de96e7d9f9bf33e59117c24fc230862ac"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jan 10 15:08:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:44 2012 -0800"
      },
      "message": "tracepoint: add tracepoints for debugging oom_score_adj\n\noom_score_adj is used for guarding processes from OOM-Killer.  One of\nproblem is that it\u0027s inherited at fork().  When a daemon set oom_score_adj\nand make children, it\u0027s hard to know where the value is set.\n\nThis patch adds some tracepoints useful for debugging. This patch adds\n3 trace points.\n  - creating new task\n  - renaming a task (exec)\n  - set oom_score_adj\n\nTo debug, users need to enable some trace pointer. Maybe filtering is useful as\n\n# EVENT\u003d/sys/kernel/debug/tracing/events/task/\n# echo \"oom_score_adj !\u003d 0\" \u003e $EVENT/task_newtask/filter\n# echo \"oom_score_adj !\u003d 0\" \u003e $EVENT/task_rename/filter\n# echo 1 \u003e $EVENT/enable\n# EVENT\u003d/sys/kernel/debug/tracing/events/oom/\n# echo 1 \u003e $EVENT/enable\n\noutput will be like this.\n# grep oom /sys/kernel/debug/tracing/trace\nbash-7699  [007] d..3  5140.744510: oom_score_adj_update: pid\u003d7699 comm\u003dbash oom_score_adj\u003d-1000\nbash-7699  [007] ...1  5151.818022: task_newtask: pid\u003d7729 comm\u003dbash clone_flags\u003d1200011 oom_score_adj\u003d-1000\nls-7729  [003] ...2  5151.818504: task_rename: pid\u003d7729 oldcomm\u003dbash newcomm\u003dls oom_score_adj\u003d-1000\nbash-7699  [002] ...1  5175.701468: task_newtask: pid\u003d7730 comm\u003dbash clone_flags\u003d1200011 oom_score_adj\u003d-1000\ngrep-7730  [007] ...2  5175.701993: task_rename: pid\u003d7730 oldcomm\u003dbash newcomm\u003dgrep oom_score_adj\u003d-1000\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b413d48aa70605701c0b395b2e350ca15f5d643a",
      "tree": "6aa777c589eedfb9dc498f375d553e561e203506",
      "parents": [
        "da066ad3570b88e7dee82e76a06ee9a7adffcf0d"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue Jan 10 15:07:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:41 2012 -0800"
      },
      "message": "mm-tracepoint: rename page-free events\n\nRename mm_page_free_direct into mm_page_free and mm_pagevec_free into\nmm_page_free_batched\n\nSince v2.6.33-5426-gc475dab the kernel triggers mm_page_free_direct for\nall freed pages, not only for directly freed.  So, let\u0027s name it properly.\n For pages freed via page-list we also trigger mm_page_free_batched event.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff9cb1c4eead5e4c292e75cd3170a82d66944101",
      "tree": "cdb132a39e550a9b7b28ea67544cb86cd6ebdb6e",
      "parents": [
        "e4e11180dfa545233e5145919b75b7fac88638df",
        "d50f2ab6f050311dbf7b8f5501b25f0bf64a439b"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 10 11:54:07 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 10 11:54:07 2012 -0500"
      },
      "message": "Merge branch \u0027for_linus\u0027 into for_linus_merged\n\nConflicts:\n\tfs/ext4/ioctl.c\n"
    },
    {
      "commit": "b7d845f8825b058b80e76320f573505afbf4a1fc",
      "tree": "dc66dec44b489723427c9c4a9a92ef6e9f17c55b",
      "parents": [
        "2943c833222ef87c111ee0c6b7b8519ad2983e99",
        "0a92815db789bd5a922d882826cf710f9b0b9d85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:35:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:35:24 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (36 commits)\n  mfd: Clearing events requires event registers to be writable for da9052-core\n  mfd: Fix annotations in da9052-core\n  gpiolib: Mark da9052 driver broken\n  mfd: Declare da9052_regmap_config for the bus drivers\n  MFD: DA9052/53 MFD core module add SPI support v2\n  MFD: DA9052/53 MFD core module\n  regmap: Add irq_base accessor to regmap_irq\n  regmap: Allow drivers to reinitialise the register cache at runtime\n  regmap: Add trace event for successful cache reads\n  regmap: Allow regmap_update_bits() users to detect changes\n  regmap: Report if we actually handled an interrupt in regmap-irq\n  regmap: Fix rbtreee build when not using debugfs\n  regmap: Provide debugfs dump of the rbtree cache data\n  regmap: Do debugfs init before cache init\n  regmap: Suppress noop writes in regmap_update_bits()\n  regmap: Remove indexed cache type\n  regmap: Drop check whether a register is readable in regcache_read\n  regmap: Properly round cache_word_size\n  regmap: Add support for 10/14 register formating\n  regmap: Try cached read before checking if a hardware read is possible\n  ...\n"
    },
    {
      "commit": "0db49b72bce26341274b74fd968501489a361ae3",
      "tree": "cdb076827aefb38d719d4c42f8ef291c36072fa8",
      "parents": [
        "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
        "1ac9bc6943edf7d181b4b1cc734981350d4f6bae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:33:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:44:54 2012 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)\n  sched/tracing: Add a new tracepoint for sleeptime\n  sched: Disable scheduler warnings during oopses\n  sched: Fix cgroup movement of waking process\n  sched: Fix cgroup movement of newly created process\n  sched: Fix cgroup movement of forking process\n  sched: Remove cfs bandwidth period check in tg_set_cfs_period()\n  sched: Fix load-balance lock-breaking\n  sched: Replace all_pinned with a generic flags field\n  sched: Only queue remote wakeups when crossing cache boundaries\n  sched: Add missing rcu_dereference() around -\u003ereal_parent usage\n  [S390] fix cputime overflow in uptime_proc_show\n  [S390] cputime: add sparse checking and cleanup\n  sched: Mark parent and real_parent as __rcu\n  sched, nohz: Fix missing RCU read lock\n  sched, nohz: Set the NOHZ_BALANCE_KICK flag for idle load balancer\n  sched, nohz: Fix the idle cpu check in nohz_idle_balance\n  sched: Use jump_labels for sched_feat\n  sched/accounting: Fix parameter passing in task_group_account_field\n  sched/accounting: Fix user/system tick double accounting\n  sched/accounting: Re-use scheduler statistics for the root cgroup\n  ...\n\nFix up conflicts in\n - arch/ia64/include/asm/cputime.h, include/asm-generic/cputime.h\n\tusecs_to_cputime64() vs the sparse cleanups\n - kernel/sched/fair.c, kernel/time/tick-sched.c\n\tscheduler changes in multiple branches\n"
    },
    {
      "commit": "423d091dfe58d3109d84c408810a7cfa82f6f184",
      "tree": "43c4385d1dc7219582f924d42db1f3e203a577bd",
      "parents": [
        "1483b3823542c9721eddf09a077af1e02ac96b50",
        "919b83452b2e7c1dbced0456015508b4b9585db3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:40 2012 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)\n  cpu: Export cpu_up()\n  rcu: Apply ACCESS_ONCE() to rcu_boost() return value\n  Revert \"rcu: Permit rt_mutex_unlock() with irqs disabled\"\n  docs: Additional LWN links to RCU API\n  rcu: Augment rcu_batch_end tracing for idle and callback state\n  rcu: Add rcutorture tests for srcu_read_lock_raw()\n  rcu: Make rcutorture test for hotpluggability before offlining CPUs\n  driver-core/cpu: Expose hotpluggability to the rest of the kernel\n  rcu: Remove redundant rcu_cpu_stall_suppress declaration\n  rcu: Adaptive dyntick-idle preparation\n  rcu: Keep invoking callbacks if CPU otherwise idle\n  rcu: Irq nesting is always 0 on rcu_enter_idle_common\n  rcu: Don\u0027t check irq nesting from rcu idle entry/exit\n  rcu: Permit dyntick-idle with callbacks pending\n  rcu: Document same-context read-side constraints\n  rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass\n  rcu: Remove dynticks false positives and RCU failures\n  rcu: Reduce latency of rcu_prepare_for_idle()\n  rcu: Eliminate RCU_FAST_NO_HZ grace-period hang\n  rcu: Avoid needlessly IPIing CPUs at GP end\n  ...\n"
    },
    {
      "commit": "1ac9bc6943edf7d181b4b1cc734981350d4f6bae",
      "tree": "c7853336d693e4593488c26b8ce27ceca3803a6f",
      "parents": [
        "664dfa65e84429d0b68694483e1de7365c7c56fb"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Wed Dec 21 16:15:40 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 23 17:56:17 2011 +0100"
      },
      "message": "sched/tracing: Add a new tracepoint for sleeptime\n\nIf CONFIG_SCHEDSTATS is defined, the kernel maintains\ninformation about how long the task was sleeping or\nin the case of iowait, blocking in the kernel before\ngetting woken up.\n\nThis will be useful for sleep time profiling.\n\nNote: this information is only provided for sched_fair.\nOther scheduling classes may choose to provide this in\nthe future.\n\nNote: the delay includes the time spent on the runqueue\nas well.\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1324512940-32060-2-git-send-email-asharma@fb.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60e07cf515e541ea3e13b888d273c9b19a2ad9dd",
      "tree": "d9c2b3a1f4e306cbdb199c4cae9fd3ed03a528b6",
      "parents": [
        "384703b8e6cd4c8ef08512e596024e028c91c339"
      ],
      "author": {
        "name": "Yongqiang Yang",
        "email": "xiaoqiangnk@gmail.com",
        "time": "Sun Dec 18 15:49:54 2011 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Dec 18 15:49:54 2011 -0500"
      },
      "message": "ext4: do not reference pa_inode from group_pa\n\npa_inode in group_pa is set NULL in ext4_mb_new_group_pa, so\npa_inode should be not referenced.\n\nReported-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Yongqiang Yang \u003cxiaoqiangnk@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "83712358ba0a1497ce59a4f84ce4dd0f803fe6fc",
      "tree": "d17ab27a7bff50616e3b63ad137c004d9ccfbcb0",
      "parents": [
        "32c7f202a4801252a0f3578807b75a961f792870"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sat Jun 11 19:25:42 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sun Dec 18 14:20:27 2011 +0800"
      },
      "message": "writeback: dirty ratelimit - think time compensation\n\nCompensate the task\u0027s think time when computing the final pause time,\nso that -\u003edirty_ratelimit can be executed accurately.\n\n        think time :\u003d time spend outside of balance_dirty_pages()\n\nIn the rare case that the task slept longer than the 200ms period time\n(result in negative pause time), the sleep time will be compensated in\nthe following periods, too, if it\u0027s less than 1 second.\n\nAccumulated errors are carefully avoided as long as the max pause area\nis not hitted.\n\nPseudo code:\n\n        period \u003d pages_dirtied / task_ratelimit;\n        think \u003d jiffies - dirty_paused_when;\n        pause \u003d period - think;\n\n1) normal case: period \u003e think\n\n        pause \u003d period - think\n        dirty_paused_when \u003d jiffies + pause\n        nr_dirtied \u003d 0\n\n                             period time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n                  think time      pause time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n        ------|----------------|---------------|------------------------\n        dirty_paused_when   jiffies\n\n2) no pause case: period \u003c\u003d think\n\n        don\u0027t pause; reduce future pause time by:\n        dirty_paused_when +\u003d period\n        nr_dirtied \u003d 0\n\n                           period time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n                                  think time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n        ------|--------------------------------+-------------------|----\n        dirty_paused_when                                       jiffies\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    }
  ],
  "next": "b3bba872ddb0320a7ecb54decae53c13ceb2ed4c"
}
