)]}'
{
  "log": [
    {
      "commit": "bf59170a66bc3eaf3ee513aa6ce9774aa2ab5188",
      "tree": "aae7b19e61ea88cddf4ba5508ef971c767f15b4d",
      "parents": [
        "44396476a0f24e5174768d3732f1958857c26d22"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Apr 21 09:34:28 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu May 19 12:03:48 2011 -0500"
      },
      "message": "xfs: obey minleft values during extent allocation correctly\n\nWhen allocating an extent that is long enough to consume the\nremaining free space in an AG, we need to ensure that the allocation\nleaves enough space in the AG for any subsequent bmap btree blocks\nthat are needed to track the new extent. These have to be allocated\nin the same AG as we only reserve enough blocks in an allocation\ntransaction for modification of the freespace trees in a single AG.\n\nxfs_alloc_fix_minleft() has been considering blocks on the AGFL as\nfree blocks available for extent and bmbt block allocation, which is\nnot correct - blocks on the AGFL are there exclusively for the use\nof the free space btrees. As a result, when minleft is less than the\nnumber of blocks on the AGFL, xfs_alloc_fix_minleft() does not trim\nthe given extent to leave minleft blocks available for bmbt\nallocation, and hence we can fail allocation during bmbt record\ninsertion.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "44396476a0f24e5174768d3732f1958857c26d22",
      "tree": "2581ab960427ac915ad0684a7d921476097b1d0d",
      "parents": [
        "ee58abdfcc8201f500107c7ba03f738af8b49b85"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Apr 21 09:34:27 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu May 19 12:03:45 2011 -0500"
      },
      "message": "xfs: reset buffer pointers before freeing them\n\nWhen we free a vmapped buffer, we need to ensure the vmap address\nand length we free is the same as when it was allocated. In various\nplaces in the log code we change the memory the buffer is pointing\nto before issuing IO, but we never reset the buffer to point back to\nit\u0027s original memory (or no memory, if that is the case for the\nbuffer).\n\nAs a result, when we free the buffer it points to memory that is\nowned by something else and attempts to unmap and free it. Because\nthe range does not match any known mapped range, it can trigger\nBUG_ON() traps in the vmap code, and potentially corrupt the vmap\narea tracking.\n\nFix this by always resetting these buffers to their original state\nbefore freeing them.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "ee58abdfcc8201f500107c7ba03f738af8b49b85",
      "tree": "626cb302906b221d676c8318a7082663c3e80fdb",
      "parents": [
        "e57375153d7376f2a923d98c388c1e20227b5731"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Apr 21 09:34:26 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu May 19 12:03:42 2011 -0500"
      },
      "message": "xfs: avoid getting stuck during async inode flushes\n\nWhen the underlying inode buffer is locked and xfs_sync_inode_attr()\nis doing a non-blocking flush, xfs_iflush() can return EAGAIN.  When\nthis happens, clear the error rather than returning it to\nxfs_inode_ag_walk(), as returning EAGAIN will result in the AG walk\ndelaying for a short while and trying again. This can result in\nbackground walks getting stuck on the one AG until inode buffer is\nunlocked by some other means.\n\nThis behaviour was noticed when analysing event traces followed by\ncode inspection and verification of the fix via further traces.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "e57375153d7376f2a923d98c388c1e20227b5731",
      "tree": "3370de2711d88a792d573b0234b645c57a7289e4",
      "parents": [
        "1beb65ad45f29fa1d53c13c6a20056a190ac9060"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Apr 21 09:34:25 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu May 19 12:03:36 2011 -0500"
      },
      "message": "xfs: fix xfs_itruncate_start tracing\n\nVariables are ordered incorrectly in trace call.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "1beb65ad45f29fa1d53c13c6a20056a190ac9060",
      "tree": "263eae9c94fd2ae77503322a3387c463475c922f",
      "parents": [
        "e69522a8cc51fbefbfe9d178ad177f7b6ca00ebd"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue May 10 02:05:50 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu May 19 12:03:24 2011 -0500"
      },
      "message": "xfs: fix duplicate workqueue initialisation\n\nThe workqueue initialisation function is called twice when\ninitialising the XFS subsystem. Remove the second initialisation\ncall.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "e69522a8cc51fbefbfe9d178ad177f7b6ca00ebd",
      "tree": "153a8fd226f368164d6b1f21e31e590396c37c9f",
      "parents": [
        "e4d3c4a43b595d5124ae824d300626e6489ae857"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 03 20:14:44 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu May 19 11:38:09 2011 -0500"
      },
      "message": "xfs: kill off xfs_printk()\n\nxfs_alert_tag() can be defined using xfs_alert(), and thereby avoid\nusing xfs_printk() altogether.  This is the only remaining use of\nxfs_printk(), so changing it this way means xfs_printk() can simply\nbe eliminated.can simply be eliminated.can simply be eliminated.can\nsimply be eliminated.can simply be eliminated.can simply be\neliminated.can simply be eliminated.can simply be eliminated.can\nsimply be eliminated.\n\nAlso add format checking to the non-debug inline function xfs_debug.\nMiscellaneous function prototype argument alignment.\n\n(Updated to delete the definition of xfs_printk(), which is\nno longer used or needed.)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "e4d3c4a43b595d5124ae824d300626e6489ae857",
      "tree": "e9bef16559fd47aa0bbea1d16ed13c2695f618b2",
      "parents": [
        "fd5670f22fce247754243cf2ed41941e5762d990"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri May 06 02:54:08 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon May 09 12:17:04 2011 -0500"
      },
      "message": "xfs: fix race condition in AIL push trigger\n\nThe recent conversion of the xfsaild functionality to a work queue\nintroduced a hard-to-hit log space grant hang. One is caused by a\nrace condition in determining whether there is a psh in progress or\nnot.\n\nThe XFS_AIL_PUSHING_BIT is used to determine whether a push is\ncurrently in progress.  When the AIL push work completes, it checked\nwhether the target changed and cleared the PUSHING bit to allow a\nnew push to be requeued. The race condition is as follows:\n\n\tThread 1\t\tpush work\n\n\tsmp_wmb()\n\t\t\t\tsmp_rmb()\n\t\t\t\tcheck ailp-\u003exa_target unchanged\n\tupdate ailp-\u003exa_target\n\ttest/set PUSHING bit\n\tdoes not queue\n\t\t\t\tclear PUSHING bit\n\t\t\t\tdoes not requeue\n\nNow that the push target is updated, new attempts to push the AIL\nwill not trigger as the push target will be the same, and hence\ndespite trying to push the AIL we won\u0027t ever wake it again.\n\nThe fix is to ensure that the AIL push work clears the PUSHING bit\nbefore it checks if the target is unchanged.\n\nAs a result, both push triggers operate on the same test/set bit\ncriteria, so even if we race in the push work and miss the target\nupdate, the thread requesting the push will still set the PUSHING\nbit and queue the push work to occur. For safety sake, the same\nqueue check is done if the push work detects the target change,\nthough only one of the two will will queue new work due to the use\nof test_and_set_bit() checks.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n\n"
    },
    {
      "commit": "fd5670f22fce247754243cf2ed41941e5762d990",
      "tree": "4574bf415df6d3c8a5c501ee3b02727dd573ba03",
      "parents": [
        "cb64026b6e8af50db598ec7c3f59d504259b00bb"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri May 06 02:54:07 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon May 09 12:17:04 2011 -0500"
      },
      "message": "xfs: make AIL target updates and compares 32bit safe.\n\nThe recent conversion of the xfsaild functionality to a work queue\nintroduced a hard-to-hit log space grant hang. One of the problems\nnoticed was that updates of the push target are not 32 bit safe as\nthe target is a 64 bit value.\n\nWe cannot copy a 64 bit LSN without the possibility of corrupting\nthe result when racing with another updating thread. We have\nfunction to do this update safely without needing to care about\n32/64 bit issues - xfs_trans_ail_copy_lsn() - so use that when\nupdating the AIL push target.\n\nAlso move the reading of the target in the push work inside the AIL\nlock, and use XFS_LSN_CMP() for the unlocked comparison during work\ntermination to close read holes as well.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n\n"
    },
    {
      "commit": "cb64026b6e8af50db598ec7c3f59d504259b00bb",
      "tree": "e3c666aadc8f13ceabecbcd82b4bd2cb117ba984",
      "parents": [
        "ea35a20021f8497390d05b93271b4d675516c654"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri May 06 02:54:06 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon May 09 12:17:04 2011 -0500"
      },
      "message": "xfs: always push the AIL to the target\n\nThe recent conversion of the xfsaild functionality to a work queue\nintroduced a hard-to-hit log space grant hang. One of the problems\ndiscovered is a target mismatch between the item pushing loop and\nthe target itself.\n\nThe push trigger checks for the target increasing (i.e. new target \u003e\ncurrent) while the push loop only pushes items that have a LSN \u003c\ncurrent. As a result, we can get the situation where the push target\nis X, the items at the tail of the AIL have LSN X and they don\u0027t get\npushed. The push work then completes thinking it is done, and cannot\nbe restarted until the push target increases to \u003e\u003d X + 1. If the\npush target then never increases (because the tail is not moving),\nthen we never run the push work again and we stall.\n\nFix it by making sure log items with a LSN that matches the target\nexactly are pushed during the loop.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n\n"
    },
    {
      "commit": "ea35a20021f8497390d05b93271b4d675516c654",
      "tree": "f15c8f3b48b197430c8cac9238a7fccb20414ee1",
      "parents": [
        "b223221956675ce8a7b436d198ced974bb388571"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri May 06 02:54:05 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon May 09 12:17:03 2011 -0500"
      },
      "message": "xfs: exit AIL push work correctly when AIL is empty\n\nThe recent conversion of the xfsaild functionality to a work queue\nintroduced a hard-to-hit log space grant hang. The main cause is a\nregression where a work exit path fails to clear the PUSHING state\nand recheck the target correctly.\n\nMake both exit paths do the same PUSHING bit clearing and target\nchecking when the \"no more work to be done\" condition is hit.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n\n"
    },
    {
      "commit": "b223221956675ce8a7b436d198ced974bb388571",
      "tree": "39ec6f27ab10a4be2541dd1417e6355a989d370e",
      "parents": [
        "8c1fdd0be5498f852e00c5fbd9cb0c3969e46cc6"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri May 06 02:54:04 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon May 09 12:17:03 2011 -0500"
      },
      "message": "xfs: ensure reclaim cursor is reset correctly at end of AG\n\nOn a 32 bit highmem PowerPC machine, the XFS inode cache was growing\nwithout bound and exhausting low memory causing the OOM killer to be\ntriggered. After some effort, the problem was reproduced on a 32 bit\nx86 highmem machine.\n\nThe problem is that the per-ag inode reclaim index cursor was not\ngetting reset to the start of the AG if the radix tree tag lookup\nfound no more reclaimable inodes. Hence every further reclaim\nattempt started at the same index beyond where any reclaimable\ninodes lay, and no further background reclaim ever occurred from the\nAG.\n\nWithout background inode reclaim the VM driven cache shrinker\nsimply cannot keep up with cache growth, and OOM is the result.\n\nWhile the change that exposed the problem was the conversion of the\ninode reclaim to use work queues for background reclaim, it was not\nthe cause of the bug. The bug was introduced when the cursor code\nwas added, just waiting for some weird configuration to strike....\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nTested-By: Christian Kujau \u003clists@nerdbynature.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n\n"
    },
    {
      "commit": "8c1fdd0be5498f852e00c5fbd9cb0c3969e46cc6",
      "tree": "72b9653c312f5c379ea886db6e52b28d6f60a67e",
      "parents": [
        "1a18a29478a38e5df382cd299f636187fde773ab"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Apr 21 13:21:03 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Apr 28 13:27:46 2011 -0500"
      },
      "message": "xfs: add an x86 compat handler for XFS_IOC_ZERO_RANGE\n\nXFS_IOC_ZERO_RANGE uses struct xfs_flock64, and thus requires argument\ntranslation for 32-bit binaries on x86.  Add the required\nXFS_IOC_ZERO_RANGE_32 defined and add it to the list of commands that\nrequire xfs_flock64 translation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "1a18a29478a38e5df382cd299f636187fde773ab",
      "tree": "8637c41c27c9b992026a91859394d3e3e86ff777",
      "parents": [
        "45c51b99943c4c74165b19dc2f96e8ba93bdecb9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Apr 24 19:02:58 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Apr 28 13:27:06 2011 -0500"
      },
      "message": "xfs: fix compiler warning in xfs_trace.h\n\nxfs_fsblock_t may be a 32-bit type on if XFS_BIG_BLKNOS is not set,\nmake sure to cast a value of this type to an unsigned long long\nbefore using the ll printk qualifier.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "45c51b99943c4c74165b19dc2f96e8ba93bdecb9",
      "tree": "4f0beaf22aaa7e931540f3a40a722ab4cfaefafe",
      "parents": [
        "8a072a4d4c6a5b6ec32836c467d2996393c76c6f"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Wed Apr 13 22:03:28 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Apr 28 13:25:29 2011 -0500"
      },
      "message": "xfs: cleanup duplicate initializations\n\nfollow these guidelines:\n- leave initialization in the declaration block if it fits the line\n- move to the code where it\u0027s more suitable (\u0027for\u0027 init block)\n\nThe last chunk was modified from David\u0027s original to be a correct\nfix for what appeared to be a duplicate initialization.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "8a072a4d4c6a5b6ec32836c467d2996393c76c6f",
      "tree": "b21dad1310e4351854b9e2e24feb86beed20d1f7",
      "parents": [
        "97d3ac75e5e0ebf7ca38ae74cebd201c09b97ab2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Apr 24 19:06:17 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Apr 28 13:18:09 2011 -0500"
      },
      "message": "xfs: reduce the number of pagb_lock roundtrips in xfs_alloc_clear_busy\n\nInstead of finding the per-ag and then taking and releasing the pagb_lock\nfor every single busy extent completed sort the list of busy extents and\nonly switch betweens AGs where nessecary.  This becomes especially important\nwith the online discard support which will hit this lock more often.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "97d3ac75e5e0ebf7ca38ae74cebd201c09b97ab2",
      "tree": "e08af7a4bbb93c22dfeb1bcb2d3caf83aef717c9",
      "parents": [
        "e26f0501cf743a4289603501413f97ffcb4612f2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Apr 24 19:06:16 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Apr 28 13:18:04 2011 -0500"
      },
      "message": "xfs: exact busy extent tracking\n\nUpdate the extent tree in case we have to reuse a busy extent, so that it\nalways is kept uptodate.  This is done by replacing the busy list searches\nwith a new xfs_alloc_busy_reuse helper, which updates the busy extent tree\nin case of a reuse.  This allows us to allow reusing metadata extents\nunconditionally, and thus avoid log forces especially for allocation btree\nblocks.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "e26f0501cf743a4289603501413f97ffcb4612f2",
      "tree": "6327f071c53ddb494d59ce04b3cf8a760aceb987",
      "parents": [
        "a870acd9b2671de56514a430edfa7867823c31c9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Apr 24 19:06:15 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Apr 28 13:18:01 2011 -0500"
      },
      "message": "xfs: do not immediately reuse busy extent ranges\n\nEvery time we reallocate a busy extent, we cause a synchronous log force\nto occur to ensure the freeing transaction is on disk before we continue\nand use the newly allocated extent.  This is extremely sub-optimal as we\nhave to mark every transaction with blocks that get reused as synchronous.\n\nInstead of searching the busy extent list after deciding on the extent to\nallocate, check each candidate extent during the allocation decisions as\nto whether they are in the busy list.  If they are in the busy list, we\ntrim the busy range out of the extent we have found and determine if that\ntrimmed range is still OK for allocation. In many cases, this check can\nbe incorporated into the allocation extent alignment code which already\ndoes trimming of the found extent before determining if it is a valid\ncandidate for allocation.\n\nBased on earlier patches from Dave Chinner.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "a870acd9b2671de56514a430edfa7867823c31c9",
      "tree": "e288e41227c35c251a675e4901f0be35e0c26aa1",
      "parents": [
        "3eff1268994f72266b660782e87f215720c29639"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Apr 24 19:06:14 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Apr 28 13:17:56 2011 -0500"
      },
      "message": "xfs: optimize AGFL refills\n\nWhile we need to make sure we do not reuse busy extents, there is no need\nto force out busy extents when moving them between the AGFL and the\nfreespace btree as we still take care of that when doing the real allocation.\n\nTo avoid the log force when just moving extents from the different free\nspace tracking structures, move the busy search out of\nxfs_alloc_get_freelist into the callers that need it, and move the busy\nlist insert from xfs_free_ag_extent which is used both by AGFL refills\nand real allocation to xfs_free_extent, which is only used by the latter.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "3eff1268994f72266b660782e87f215720c29639",
      "tree": "8299f6a1e6c5eefcc8597f232146e11b06aad922",
      "parents": [
        "f0e615c3cb72b42191b558c130409335812621d8"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Apr 12 13:34:20 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Apr 20 11:36:49 2011 -0500"
      },
      "message": "xfs: fix duplicate message output\n\nCommit 957935dc (\"xfs: fix xfs_debug warnings\" broke the logic in\n__xfs_printk(). Instead of only printing one of two possible output\nstrings based on whether the fs has a name or not, it outputs both.\nFix it to only output one message again.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "f0e615c3cb72b42191b558c130409335812621d8",
      "tree": "5fc29a4b720686efce545bc3db26567945868113",
      "parents": [
        "e024f69de9bd5b2686019f2491b779044cf89707"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 21:26:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 21:26:00 2011 -0700"
      },
      "message": "Linux 2.6.39-rc4\n"
    },
    {
      "commit": "e024f69de9bd5b2686019f2491b779044cf89707",
      "tree": "ba0bd62ea40e54123911b01007895e5afc192033",
      "parents": [
        "96fd2d57b8252e16dfacf8941f7a74a6119197f5",
        "893b66c39da812e7dd0d7b32aa0633e5d90d950c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 15:44:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 15:44:29 2011 -0700"
      },
      "message": "Merge branch \u0027for-39-rc4\u0027 of git://codeaurora.org/quic/kernel/davidb/linux-msm\n\n* \u0027for-39-rc4\u0027 of git://codeaurora.org/quic/kernel/davidb/linux-msm:\n  msm: timer: fix missing return value\n  msm: Remove extraneous ffa device check\n"
    },
    {
      "commit": "96fd2d57b8252e16dfacf8941f7a74a6119197f5",
      "tree": "095269c51def85fa1be27bb20ec8e562bdc5a564",
      "parents": [
        "8a83f33100c691f5a576dba259cc05502dc358f0",
        "c36b58e8a9112017c2bcc322cc98e71241814303"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 13:29:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 13:29:03 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: xen-kbdfront - fix mouse getting stuck after save/restore\n  Input: estimate number of events per packet\n  Input: evdev - indicate buffer overrun with SYN_DROPPED\n  Input: document event types and codes and their intended use\n  Input: add KEY_IMAGES specifically for AL Image Browser\n  Input: twl4030_keypad - fix potential NULL dereference in twl4030_kp_probe()\n  Input: h3600_ts - fix error handling at connect\n  Input: twl4030_keypad - avoid potential NULL-pointer dereference\n"
    },
    {
      "commit": "8a83f33100c691f5a576dba259cc05502dc358f0",
      "tree": "c10c74bd28026cefdb8caa1362a0ccc30ea695a5",
      "parents": [
        "5d5b1b9f79ebad81215d11e208e9bfa9679a4ddd",
        "24ecfbe27f65563909b14492afda2f1c21f7c044"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 13:21:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 13:21:18 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: add blk_run_queue_async\n  block: blk_delay_queue() should use kblockd workqueue\n  md: fix up raid1/raid10 unplugging.\n  md: incorporate new plugging into raid5.\n  md: provide generic support for handling unplug callbacks.\n  md - remove old plugging code.\n  md/dm - remove remains of plug_fn callback.\n  md: use new plugging interface for RAID IO.\n  block: drop queue lock before calling __blk_run_queue() for kblockd punt\n  Revert \"block: add callback function for unplug notification\"\n  block: Enhance new plugging support to support general callbacks\n"
    },
    {
      "commit": "5d5b1b9f79ebad81215d11e208e9bfa9679a4ddd",
      "tree": "7a8824fce3e8fbd8856eb08d71b81ab1867f096a",
      "parents": [
        "adff377bb1010ec65aada1f94ef2be7c7805c711",
        "7b84b29b8c2711fe64e0dba4db22f02ce0f16015"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 12:24:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 12:24:24 2011 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/powermac: Build fix with SMP and CPU hotplug\n  powerpc/perf_event: Skip updating kernel counters if register value shrinks\n  powerpc: Don\u0027t write protect kernel text with CONFIG_DYNAMIC_FTRACE enabled\n  powerpc: Fix oops if scan_dispatch_log is called too early\n  powerpc/pseries: Use a kmem cache for DTL buffers\n  powerpc/kexec: Fix regression causing compile failure on UP\n  powerpc/85xx: disable Suspend support if SMP enabled\n  powerpc/e500mc: Remove CPU_FTR_MAYBE_CAN_NAP/CPU_FTR_MAYBE_CAN_DOZE\n  powerpc/book3e: Fix CPU feature handling on 64-bit e5500\n  powerpc: Check device status before adding serial device\n  powerpc/85xx: Don\u0027t add disabled PCIe devices\n"
    },
    {
      "commit": "adff377bb1010ec65aada1f94ef2be7c7805c711",
      "tree": "83742ebd4de5c043b2f58969ef4d6634a301bfe7",
      "parents": [
        "d8bdc59f215e62098bc5b4256fd9928bf27053a1",
        "f65647c29b14f5a32ff6f3237b0ef3b375ed5a79"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 12:24:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 12:24:05 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (24 commits)\n  Btrfs: fix free space cache leak\n  Btrfs: avoid taking the chunk_mutex in do_chunk_alloc\n  Btrfs end_bio_extent_readpage should look for locked bits\n  Btrfs: don\u0027t force chunk allocation in find_free_extent\n  Btrfs: Check validity before setting an acl\n  Btrfs: Fix incorrect inode nlink in btrfs_link()\n  Btrfs: Check if btrfs_next_leaf() returns error in btrfs_real_readdir()\n  Btrfs: Check if btrfs_next_leaf() returns error in btrfs_listxattr()\n  Btrfs: make uncache_state unconditional\n  btrfs: using cached extent_state in set/unlock combinations\n  Btrfs: avoid taking the trans_mutex in btrfs_end_transaction\n  Btrfs: fix subvolume mount by name problem when default mount subvolume is set\n  fix user annotation in ioctl.c\n  Btrfs: check for duplicate iov_base\u0027s when doing dio reads\n  btrfs: properly handle overlapping areas in memmove_extent_buffer\n  Btrfs: fix memory leaks in btrfs_new_inode()\n  Btrfs: check for duplicate iov_base\u0027s when doing dio reads\n  Btrfs: reuse the extent_map we found when calling btrfs_get_extent\n  Btrfs: do not use async submit for small DIO io\u0027s\n  Btrfs: don\u0027t split dio bios if we don\u0027t have to\n  ...\n"
    },
    {
      "commit": "d8bdc59f215e62098bc5b4256fd9928bf27053a1",
      "tree": "2f6e233afaf1b7f970e2f0ef0786dff4596dbd0a",
      "parents": [
        "c78193e9c7bcbf25b8237ad0dec82f805c4ea69b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:36:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:36:54 2011 -0700"
      },
      "message": "proc: do proper range check on readdir offset\n\nRather than pass in some random truncated offset to the pid-related\nfunctions, check that the offset is in range up-front.\n\nThis is just cleanup, the previous commit fixed the real problem.\n\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c78193e9c7bcbf25b8237ad0dec82f805c4ea69b",
      "tree": "1d0c3c90770acb003af06d727b794eb002d58ec7",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:35:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:35:30 2011 -0700"
      },
      "message": "next_pidmap: fix overflow condition\n\nnext_pidmap() just quietly accepted whatever \u0027last\u0027 pid that was passed\nin, which is not all that safe when one of the users is /proc.\n\nAdmittedly the proc code should do some sanity checking on the range\n(and that will be the next commit), but that doesn\u0027t mean that the\nhelper functions should just do that pidmap pointer arithmetic without\nchecking the range of its arguments.\n\nSo clamp \u0027last\u0027 to PID_MAX_LIMIT.  The fact that we then do \"last+1\"\ndoesn\u0027t really matter, the for-loop does check against the end of the\npidmap array properly (it\u0027s only the actual pointer arithmetic overflow\ncase we need to worry about, and going one bit beyond isn\u0027t going to\noverflow).\n\n[ Use PID_MAX_LIMIT rather than pid_max as per Eric Biederman ]\n\nReported-by: Tavis Ormandy \u003ctaviso@cmpxchg8b.com\u003e\nAnalyzed-by: Robert Święcki \u003crobert@swiecki.net\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c36b58e8a9112017c2bcc322cc98e71241814303",
      "tree": "64a4a1b7d7719ef40451493a2c049b3b1ddfd5bb",
      "parents": [
        "80b4895aa4578e9372d76cd4063f82d0c3994d77"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "imammedo@redhat.com",
        "time": "Mon Apr 18 10:17:17 2011 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Apr 18 10:17:45 2011 -0700"
      },
      "message": "Input: xen-kbdfront - fix mouse getting stuck after save/restore\n\nMouse gets \"stuck\" after restore of PV guest but buttons are in working\ncondition.\n\nIf driver has been configured for ABS coordinates at start it will get\nXENKBD_TYPE_POS events and then suddenly after restore it\u0027ll start getting\nXENKBD_TYPE_MOTION events, that will be dropped later and they won\u0027t get\ninto user-space.\n\nRegression was introduced by hunk 5 and 6 of\n5ea5254aa0ad269cfbd2875c973ef25ab5b5e9db\n(\"Input: xen-kbdfront - advertise either absolute or relative\ncoordinates\").\n\nDriver on restore should ask xen for request-abs-pointer again if it is\navailable. So restore parts that did it before 5ea5254.\n\nAcked-by: Olaf Hering \u003colaf@aepfle.de\u003e\nSigned-off-by: Igor Mammedov \u003cimammedo@redhat.com\u003e\n[v1: Expanded the commit description]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "80b4895aa4578e9372d76cd4063f82d0c3994d77",
      "tree": "0ac167a8b17e2550ff2d996d153ecbb59e05e643",
      "parents": [
        "9fb0f14e31b6101a0cc69a333b43541044f9b0a6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 18 10:08:02 2011 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Apr 18 10:15:43 2011 -0700"
      },
      "message": "Input: estimate number of events per packet\n\nCalculate a default based on the number of ABS axes, REL axes,\nand MT slots for the device during input device registration.\n\nSigned-off-by: Jeff Brown \u003cjeffbrown@android.com\u003e\nReviewed-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "f65647c29b14f5a32ff6f3237b0ef3b375ed5a79",
      "tree": "4ec6b2a20d37f5ce4098cf77f3eb9606e3f241ba",
      "parents": [
        "6d74119f1a3efad9dc7f79a16c201242324b731f"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 18 08:55:34 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 18 08:55:34 2011 -0400"
      },
      "message": "Btrfs: fix free space cache leak\n\nThe free space caching code was recently reworked to\ncache all the pages it needed instead of using find_get_page everywhere.\n\nOne loop was missed though, so it ended up leaking pages.  This fixes\nit to use our page array instead of find_get_page.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "24ecfbe27f65563909b14492afda2f1c21f7c044",
      "tree": "a7e51d903c400d0925f87be5f3069a5a44e0af24",
      "parents": [
        "4521cc4ed5173f92714f6999a69910c3385fed68"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Apr 18 11:41:33 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Apr 18 11:41:33 2011 +0200"
      },
      "message": "block: add blk_run_queue_async\n\nInstead of overloading __blk_run_queue to force an offload to kblockd\nadd a new blk_run_queue_async helper to do it explicitly.  I\u0027ve kept\nthe blk_queue_stopped check for now, but I suspect it\u0027s not needed\nas the check we do when the workqueue items runs should be enough.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "4521cc4ed5173f92714f6999a69910c3385fed68",
      "tree": "26ff58e87dfd303024df098935cc55e9a7bbe48d",
      "parents": [
        "c3b328ac846bcf6b9a62c5563380a81ab723006d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Apr 18 11:36:39 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Apr 18 11:36:39 2011 +0200"
      },
      "message": "block: blk_delay_queue() should use kblockd workqueue\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "c3b328ac846bcf6b9a62c5563380a81ab723006d",
      "tree": "f9b78651beec3d66cf2ab7cf7a8080fa1cfe5b99",
      "parents": [
        "7c13edc87510f665da3094174e1fd633e06649f4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:43 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:43 2011 +1000"
      },
      "message": "md: fix up raid1/raid10 unplugging.\n\nWe just need to make sure that an unplug event wakes up the md\nthread, which is exactly what mddev_check_plugged does.\n\nAlso remove some plug-related code that is no longer needed.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "7c13edc87510f665da3094174e1fd633e06649f4",
      "tree": "c0c50ab6ac43e9c762199bfd94c787f43a8e0896",
      "parents": [
        "97658cdd3af7d01461874c93b89afa4a2465e7c6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:43 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:43 2011 +1000"
      },
      "message": "md: incorporate new plugging into raid5.\n\nIn raid5 plugging is used for 2 things:\n 1/ collecting writes that require a bitmap update\n 2/ collecting writes in the hope that we can create full\n    stripes - or at least more-full.\n\nWe now release these different sets of stripes when plug_cnt\nis zero.\n\nAlso in make_request, we call mddev_check_plug to hopefully increase\nplug_cnt, and wake up the thread at the end if plugging wasn\u0027t\nachieved for some reason.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "97658cdd3af7d01461874c93b89afa4a2465e7c6",
      "tree": "d4e2f930850eb3981307a3eec8c86399dcebf68a",
      "parents": [
        "482c083492ddaa32ef5864bae3d143dc8bcdf7d1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:42 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:42 2011 +1000"
      },
      "message": "md: provide generic support for handling unplug callbacks.\n\nWhen an md device adds a request to a queue, it can call\nmddev_check_plugged.\nIf this succeeds then we know that the md thread will be woken up\nshortly, and -\u003eplug_cnt will be non-zero until then, so some\nprocessing can be delayed.\n\nIf it fails, then no unplug callback is expected and the make_request\nfunction needs to do whatever is required to make the request happen.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "482c083492ddaa32ef5864bae3d143dc8bcdf7d1",
      "tree": "75017fd1a51fe945c65b3600442ddaa20b636b1a",
      "parents": [
        "af1db72d8b340f97ad12b60175afdef43e6f0e60"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:42 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:42 2011 +1000"
      },
      "message": "md - remove old plugging code.\n\nmd has some plugging infrastructure for RAID5 to use because the\nnormal plugging infrastructure required a \u0027request_queue\u0027, and when\ncalled from dm, RAID5 doesn\u0027t have one of those available.\n\nThis relied on the -\u003eunplug_fn callback which doesn\u0027t exist any more.\n\nSo remove all of that code, both in md and raid5.  Subsequent patches\nwith restore the plugging functionality.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "af1db72d8b340f97ad12b60175afdef43e6f0e60",
      "tree": "c6f3d18bda596d136fdf9f7ba9e2a2ed1fdedc3b",
      "parents": [
        "e1dfa0a29737142c32f00a3bac0f609dc85b4a82"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:41 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:41 2011 +1000"
      },
      "message": "md/dm - remove remains of plug_fn callback.\n\nNow that unplugging is done differently, the unplug_fn callback is\nnever called, so it can be completely discarded.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e1dfa0a29737142c32f00a3bac0f609dc85b4a82",
      "tree": "1af906cc5e959803e7d5ea0e56fb69b56754501a",
      "parents": [
        "99e22598e9a8e0a996d69c8c0f6b7027cb57720a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:41 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 18:25:41 2011 +1000"
      },
      "message": "md: use new plugging interface for RAID IO.\n\nmd/raid submits a lot of IO from the various raid threads.\nSo adding start/finish plug calls to those so that some\nplugging happens.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "99e22598e9a8e0a996d69c8c0f6b7027cb57720a",
      "tree": "9cf18bc4681889bdfcbc0c845e384f809fb29fce",
      "parents": [
        "b4cb290e0a7d19235bd075c2ad4d60dbab0bac15"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Apr 18 09:59:55 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Apr 18 09:59:55 2011 +0200"
      },
      "message": "block: drop queue lock before calling __blk_run_queue() for kblockd punt\n\nIf we know we are going to punt to kblockd, we can drop the queue\nlock before calling into __blk_run_queue() since it only does a\nsafe bit test and a workqueue call. Since kblockd needs to grab\nthis very lock as one of the first things it does, it\u0027s a good\noptimization to drop the lock before waking kblockd.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "b4cb290e0a7d19235bd075c2ad4d60dbab0bac15",
      "tree": "2674fc5e3d0ee76e8b8205ab771fe7bbed173a88",
      "parents": [
        "048c9374a749a27f16493cea033fa4a8ff492356"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Apr 18 09:54:05 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Apr 18 09:54:05 2011 +0200"
      },
      "message": "Revert \"block: add callback function for unplug notification\"\n\nMD can\u0027t use this since it really requires us to be able to\nkeep more than a single piece of state for the unplug. Commit\n048c9374 added the required support for MD, so get rid of this\nnow unused code.\n\nThis reverts commit f75664570d8b75469cc468f23c2b27220984983b.\n\nConflicts:\n\n\tblock/blk-core.c\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "048c9374a749a27f16493cea033fa4a8ff492356",
      "tree": "64f520a1a2d2e1a9c30b45e306ce6f901f8f8d49",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 18 09:52:22 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Apr 18 09:52:22 2011 +0200"
      },
      "message": "block: Enhance new plugging support to support general callbacks\n\nmd/raid requires an unplug callback, but as it does not uses\nrequests the current code cannot provide one.\n\nSo allow arbitrary callbacks to be attached to the blk_plug.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7b84b29b8c2711fe64e0dba4db22f02ce0f16015",
      "tree": "923a9cdfa5948c1b1cb9a164e624307b0c7e6aa3",
      "parents": [
        "86c74ab317c1ef4d37325e0d7ca8a01a796b0bd7"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 18 15:46:35 2011 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 18 15:46:35 2011 +1000"
      },
      "message": "powerpc/powermac: Build fix with SMP and CPU hotplug\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "86c74ab317c1ef4d37325e0d7ca8a01a796b0bd7",
      "tree": "49afb7aae9c12b0cd0361b996a9b9e630a25ea63",
      "parents": [
        "09597cfe93d3cc2c6e064a3ead5956b882511560"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Fri Apr 15 08:12:30 2011 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 18 13:08:23 2011 +1000"
      },
      "message": "powerpc/perf_event: Skip updating kernel counters if register value shrinks\n\nBecause of speculative event roll back, it is possible for some event coutners\nto decrease between reads on POWER7.  This causes a problem with the way that\ncounters are updated.  Delta calues are calculated in a 64 bit value and the\ntop 32 bits are masked.  If the register value has decreased, this leaves us\nwith a very large positive value added to the kernel counters.  This patch\nprotects against this by skipping the update if the delta would be negative.\nThis can lead to a lack of precision in the coutner values, but from my testing\nthe value is typcially fewer than 10 samples at a time.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "09597cfe93d3cc2c6e064a3ead5956b882511560",
      "tree": "9b5912a2576e413aa8bbe1c0da20a19ed54c6e82",
      "parents": [
        "84ffae55af79d7b8834fd0c08d0d1ebf2c77f91e"
      ],
      "author": {
        "name": "Stefan Roese",
        "email": "sr@denx.de",
        "time": "Thu Apr 14 23:49:53 2011 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 18 13:08:21 2011 +1000"
      },
      "message": "powerpc: Don\u0027t write protect kernel text with CONFIG_DYNAMIC_FTRACE enabled\n\nThis problem was noticed on an MPC855T platform. Ftrace did oops\nwhen trying to write to the kernel text segment.\n\nMany thanks to Joakim for finding the root cause of this problem.\n\nSigned-off-by: Stefan Roese \u003csr@denx.de\u003e\nCc: Joakim Tjernlund \u003cjoakim.tjernlund@transmode.se\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "84ffae55af79d7b8834fd0c08d0d1ebf2c77f91e",
      "tree": "05eb620325efeac9cb2ddb4bc845416fdaf6c302",
      "parents": [
        "127493d5dc73589cbe00ea5ec8357cc2a4c0d82a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Apr 07 21:44:21 2011 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 18 13:08:19 2011 +1000"
      },
      "message": "powerpc: Fix oops if scan_dispatch_log is called too early\n\nWe currently enable interrupts before the dispatch log for the boot\ncpu is setup. If a timer interrupt comes in early enough we oops in\nscan_dispatch_log:\n\nUnable to handle kernel paging request for data at address 0x00000010\n\n...\n\n.scan_dispatch_log+0xb0/0x170\n.account_system_vtime+0xa0/0x220\n.irq_enter+0x88/0xc0\n.do_IRQ+0x48/0x230\n\nThe patch below adds a check to scan_dispatch_log to ensure the\ndispatch log has been allocated.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "127493d5dc73589cbe00ea5ec8357cc2a4c0d82a",
      "tree": "aae7b2ce16ed3950cf49cd0ad00a5ee780b40344",
      "parents": [
        "7c7a81b53e581d727d069cc45df5510516faac31"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Wed Apr 13 19:45:59 2011 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 18 13:08:08 2011 +1000"
      },
      "message": "powerpc/pseries: Use a kmem cache for DTL buffers\n\nPAPR specifies that DTL buffers can not cross AMS environments (aka CMO\nin the PAPR) and can not cross a memory entitlement granule boundary\n(4k). This is found in section 14.11.3.2 H_REGISTER_VPA of the PAPR.\nkmalloc does not guarantee an alignment of the allocation, though,\nbeyond 8 bytes (at least in my understanding). Create a special kmem\ncache for DTL buffers with the alignment requirement.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "7c7a81b53e581d727d069cc45df5510516faac31",
      "tree": "c62c2d3acc53987ef0cc569de15dde744eed8e82",
      "parents": [
        "8f3dda75cb942acc049adb2c95a6e5f4c3a8a410"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Apr 13 06:30:08 2011 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 18 13:06:45 2011 +1000"
      },
      "message": "powerpc/kexec: Fix regression causing compile failure on UP\n\nRecent commit b987812b3fcaf70fdf0037589e5d2f5f2453e6ce caused\na compile failure on UP because a considerably large block\nof the file was included within CONFIG_SMP, hence making a stub\nfunction not exposed on UP builds when it needed to be.\n\nRelocate the stub to the #else /* ! CONFIG_SMP */ section\nand also annotate the relevant else/endif so that nobody\nelse falls into the same trap I did.\n\nReported-by: Michael Guntsche \u003cmike@it-loops.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "8f3dda75cb942acc049adb2c95a6e5f4c3a8a410",
      "tree": "d06bac878499d41f33c7937bfe16391d6a833a8f",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077",
        "e5462d16f76ad7a9156a82a97fbafba298da9ca6"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 18 12:09:37 2011 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Apr 18 12:09:37 2011 +1000"
      },
      "message": "Merge remote branch \u0027kumar/merge\u0027 into merge\n"
    },
    {
      "commit": "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077",
      "tree": "7b5b22bc7b9e77f6801d529c40b19c5e34f23825",
      "parents": [
        "59c87de883d30289b82fa3f78e95a0d641f99fc4",
        "d3b3e15da14ded61c9654db05863b04a2435f4cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 17 17:37:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 17 17:37:02 2011 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c-algo-bit: Call pre/post_xfer for bit_test\n  i2c: Improve deprecation warnings\n"
    },
    {
      "commit": "59c87de883d30289b82fa3f78e95a0d641f99fc4",
      "tree": "6e5c314da1019f471754cceb8e2b5de7ac4e1db6",
      "parents": [
        "a78eda5cd3055852231ad10cfd047e65cb44dfde",
        "baab7307c7af963fbd993149d50dd45232b9d04c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 17 17:36:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 17 17:36:45 2011 -0700"
      },
      "message": "Merge branch \u0027s5p-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung\n\n* \u0027s5p-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:\n  ARM: SAMSUNG: Fix warning \u0027s3c_pm_show_resume_irqs\u0027 defined but not used\n  ARM: SAMSUNG: Fix build failure in PM CRC check code\n  ARM: S5P: Remove unused s3c_pm_check_resume_pin\n"
    },
    {
      "commit": "a78eda5cd3055852231ad10cfd047e65cb44dfde",
      "tree": "e177bf66303b0c5b48a74237433140aa2893f6c5",
      "parents": [
        "6181318897258749a637829c542b8448fdce346d"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 17 13:05:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 17 14:41:30 2011 -0700"
      },
      "message": "alpha: Fix uninitialized value in read_persistent_clock.\n\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6181318897258749a637829c542b8448fdce346d",
      "tree": "72b9f25174edf9833c1f6ab83bfb1bc91bf9bd4a",
      "parents": [
        "280da4e4d306667b7faa95152b54f7ca4266ff1e"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 17 13:05:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 17 14:41:30 2011 -0700"
      },
      "message": "alpha: Fix RTC interrupt setup.\n\nFollowing commit 091738a266fc (\"genirq: Remove real old transition\nfunctions\") we removed an automatic conversion of no_irq_chip to\ndummy_irq_chip.  This change needs to be propagated back into the alpha\nbackend.\n\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "280da4e4d306667b7faa95152b54f7ca4266ff1e",
      "tree": "8a9d5f1602ba8d2d9b9376acc8790a13be471764",
      "parents": [
        "90fd30c914ec71eb8dc91259bf720b3641672696"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 17 13:05:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 17 14:41:30 2011 -0700"
      },
      "message": "alpha: Remove set but unused variables.\n\nThis is a new warning in gcc 4.6.  Several of these variables are\nused within #if 0 code, which probably ought to be removed.  Most\nof the changes are legitimate cleanups.\n\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90fd30c914ec71eb8dc91259bf720b3641672696",
      "tree": "8e2adad9236636e5ec06670b98eba3cafb25204c",
      "parents": [
        "fff3e5ade4455a4b42a19c95dd7a167a3cb7956a"
      ],
      "author": {
        "name": "Richard Henderson",
        "email": "rth@twiddle.net",
        "time": "Sun Apr 17 13:05:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 17 14:41:30 2011 -0700"
      },
      "message": "alpha: Don\u0027t force -Werror.\n\nThere are outstanding gcc 4.6 warnings that need to be cleaned up\nin the subdirectory.  No sense forcing the issue immediately.\n\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fff3e5ade4455a4b42a19c95dd7a167a3cb7956a",
      "tree": "782685d5e479c5a5e167304868c43eca623e6a9e",
      "parents": [
        "d733ed6c34be3aef0517a04e4103eed6b369ec50"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Thu Apr 14 10:30:08 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 17 10:42:01 2011 -0700"
      },
      "message": "fs: synchronize_rcu when unregister_filesystem success not failure\n\nWhile checking unregister_filesystem for saftey vs extra calls for\n\"ext4: register ext2 and ext3 alias after ext4\" I realized that\nthe synchronize_rcu() was called on the error path but not on\nthe success path.\n\nCc: stable (2.6.38)\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\n[ This probably won\u0027t really make a difference since commit d863b50ab013\n  (\"vfs: call rcu_barrier after -\u003ekill_sb()\"), but it\u0027s the right thing\n  to do.  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3b3e15da14ded61c9654db05863b04a2435f4cc",
      "tree": "c683f167f9e8049201773e4b2884d40cc30a4fd3",
      "parents": [
        "a920ff41cb3d2b03da095c4fa1a11b71417ae2a4"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Sun Apr 17 10:20:19 2011 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Sun Apr 17 10:20:19 2011 +0200"
      },
      "message": "i2c-algo-bit: Call pre/post_xfer for bit_test\n\nApparently some distros set i2c-algo-bit.bit_test to 1 by\ndefault.  In some cases this causes i2c_bit_add_bus\nto fail and prevents the i2c bus from being added.  In the\nradeon case, we fail to add the ddc i2c buses which prevents\nthe driver from being able to detect attached monitors.\nThe i2c bus works fine even if bit_test fails.  This is likely\ndue to gpio switching that is required and handled in the\npre/post_xfer hooks, so call the pre/post_xfer hooks in the\nbit test as well.\n\nFixes:\nhttps://bugs.freedesktop.org/show_bug.cgi?id\u003d36221\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: stable@kernel.org [.38 down to .34]\n"
    },
    {
      "commit": "a920ff41cb3d2b03da095c4fa1a11b71417ae2a4",
      "tree": "4e6baaa16a9a50fc9caf75b8ced376613317ba84",
      "parents": [
        "d733ed6c34be3aef0517a04e4103eed6b369ec50"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Apr 17 10:20:19 2011 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Sun Apr 17 10:20:19 2011 +0200"
      },
      "message": "i2c: Improve deprecation warnings\n\nWhen warning on the use of deprecated i2c_driver methods\nattach_adapter and detach_adapter, mention the name of the driver\nwhich needs to be updated.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d733ed6c34be3aef0517a04e4103eed6b369ec50",
      "tree": "b49723304c48c2f877b9cb284a4b39361934c670",
      "parents": [
        "08150c533c57981054324b9e87dbf686006d890f",
        "49cac01e1fa74174d72adb0e872504a7fefd7c01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 10:33:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 10:33:41 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: make unplug timer trace event correspond to the schedule() unplug\n  block: let io_schedule() flush the plug inline\n"
    },
    {
      "commit": "08150c533c57981054324b9e87dbf686006d890f",
      "tree": "a34c14f9a4d02b3d40179314d510b5efd0a41fb0",
      "parents": [
        "fdfc552abe2c465ab91b84fb65f36d86c6737ab4",
        "753d8534cc190ed144caebc2ea49ab7a43dca662"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 10:33:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 10:33:13 2011 -0700"
      },
      "message": "Merge branch \u0027usb-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (43 commits)\n  Revert \"USB: isp1760-hcd: move imask clear after pending work is done\"\n  xHCI: Implement AMD PLL quirk\n  xhci: Tell USB core both roothubs lost power.\n  usbcore: Bug fix: system can\u0027t suspend with USB3.0 device connected to USB3.0 hub\n  USB: Fix unplug of device with active streams\n  USB: xhci - also free streams when resetting devices\n  xhci: Fix NULL pointer deref in handle_port_status()\n  USB: xhci - fix math in xhci_get_endpoint_interval()\n  USB: xhci: simplify logic of skipping missed isoc TDs\n  USB: xhci - remove excessive \u0027inline\u0027 markings\n  USB: xhci: unsigned char never equals -1\n  USB: xhci - fix unsafe macro definitions\n  USB: fix formatting of SuperSpeed endpoints in /proc/bus/usb/devices\n  USB: isp1760-hcd: move imask clear after pending work is done\n  USB: fsl_qe_udc: send ZLP when zero flag and length % maxpacket \u003d\u003d 0\n  usb: qcserial add missing errorpath kfrees\n  usb: qcserial avoid pointing to freed memory\n  usb: Fix qcserial memory leak on rmmod\n  USB: ftdi_sio: add ids for Hameg HO720 and HO730\n  USB: option: Added support for Samsung GT-B3730/GT-B3710 LTE USB modem.\n  ...\n"
    },
    {
      "commit": "fdfc552abe2c465ab91b84fb65f36d86c6737ab4",
      "tree": "8c581c34fcf7e462783b9ce404901ee8ad4a6490",
      "parents": [
        "0ebc115da3ed67409792eb8de46361a5c673f072",
        "0cd9c6494ee5c19aef085152bc37f3a4e774a9e1",
        "e566b76ed30768140df8f0023904aed5a41244f7",
        "b30aef17f71cf9e24b10c11cbb5e5f0ebe8a85ab",
        "92f73a62a100d2068e8f327e573da01529184c18",
        "5bbc097d890409d8eff4e3f1d26f11a9d6b7c07e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 09:45:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 09:45:08 2011 -0700"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027perf-fixes-for-linus\u0027, \u0027sched-fixes-for-linus\u0027, \u0027timer-fixes-for-linus\u0027 and \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_event: Fix cgrp event scheduling bug in perf_enable_on_exec()\n  perf: Fix a build error with some GCC versions\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix erroneous all_pinned logic\n  sched: Fix sched-domain avg_load calculation\n\n* \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: rtc-mrst: follow on to the change of rtc_device_register()\n  RTC: add missing \"return 0\" in new alarm func for rtc-bfin.c\n  RTC: Fix s3c compile error due to missing s3c_rtc_setpie\n  RTC: Fix early irqs caused by calling rtc_set_alarm too early\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, amd: Disable GartTlbWlkErr when BIOS forgets it\n  x86, NUMA: Fix fakenuma boot failure\n  x86/mrst: Fix boot crash caused by incorrect pin to irq mapping\n  x86/ce4100: Add reg property to bridges\n"
    },
    {
      "commit": "49cac01e1fa74174d72adb0e872504a7fefd7c01",
      "tree": "a1ab1974eceea3179a604413955ad8369ba715d7",
      "parents": [
        "a237c1c5bc5dc5c76a21be922dca4826f3eca8ca"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:51:05 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:51:05 2011 +0200"
      },
      "message": "block: make unplug timer trace event correspond to the schedule() unplug\n\nIt\u0027s a pretty close match to what we had before - the timer triggering\nwould mean that nobody unplugged the plug in due time, in the new\nscheme this matches very closely what the schedule() unplug now is.\nIt\u0027s essentially the difference between an explicit unplug (IO unplug)\nor an implicit unplug (timer unplug, we scheduled with pending IO\nqueued).\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "a237c1c5bc5dc5c76a21be922dca4826f3eca8ca",
      "tree": "a216c9a6d9e870b84424938e9e0b4722dc8634cd",
      "parents": [
        "5853b4f06f7b9b56f37f457d7923f7b96496074e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:27:55 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:27:55 2011 +0200"
      },
      "message": "block: let io_schedule() flush the plug inline\n\nLinus correctly observes that the most important dispatch cases\nare now done from kblockd, this isn\u0027t ideal for latency reasons.\nThe original reason for switching dispatches out-of-line was to\navoid too deep a stack, so by _only_ letting the \"accidental\"\nflush directly in schedule() be guarded by offload to kblockd,\nwe should be able to get the best of both worlds.\n\nSo add a blk_schedule_flush_plug() that offloads to kblockd,\nand only use that from the schedule() path.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6d74119f1a3efad9dc7f79a16c201242324b731f",
      "tree": "faf541835e82e9d56c7474c04b2d785821fe61d3",
      "parents": [
        "0d399205edf3a4c290e76ebb36e541593af4a1b4"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Apr 11 20:20:11 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Apr 16 07:10:56 2011 -0400"
      },
      "message": "Btrfs: avoid taking the chunk_mutex in do_chunk_alloc\n\nEverytime we try to allocate disk space we try and see if we can pre-emptively\nallocate a chunk, but in the common case we don\u0027t allocate anything, so there is\nno sense in taking the chunk_mutex at all.  So instead if we are allocating a\nchunk, mark it in the space_info so we don\u0027t get two people trying to allocate\nat the same time.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nReviewed-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "0d399205edf3a4c290e76ebb36e541593af4a1b4",
      "tree": "980af1dc3d803727d658aaa7b8565e06009e85e3",
      "parents": [
        "0e4f8f888845f9dca540ad175884244e5db5eea2"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Apr 16 06:55:39 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Apr 16 06:55:39 2011 -0400"
      },
      "message": "Btrfs end_bio_extent_readpage should look for locked bits\n\nA recent commit caches the extent state in end_bio_extent_readpage,\nbut the search it does should look for locked extents.  This\nfixes things to make it more effective.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0ebc115da3ed67409792eb8de46361a5c673f072",
      "tree": "214b1a218dd84c3ac7bb66a3648fbbe41d72226b",
      "parents": [
        "e82e6f16a809bc47eb929c3408921def28638fcd",
        "b76225e22ac98070325ee2ba89473c1e1360c4cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 20:31:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 20:31:15 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  net/9p: nwname should be an unsigned int\n  9p: Fix sparse error\n  fs/9p: Fix error reported by coccicheck\n  9p: revert tsyncfs related changes\n  fs/9p: Use write_inode for data sync on server\n  fs/9p: Fix revalidate to return correct value\n"
    },
    {
      "commit": "e82e6f16a809bc47eb929c3408921def28638fcd",
      "tree": "e211abc7646e5a39a67b1d235a08bfd9136f68ca",
      "parents": [
        "c98ece69fecf246b9e168f4ddd7d90de4027b298",
        "906c3b616dcf8e64b11d7d665d62f5e9940f4d46"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 20:19:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 20:19:17 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://android.git.kernel.org/kernel/tegra\n\n* \u0027for-linus\u0027 of git://android.git.kernel.org/kernel/tegra:\n  arm: tegra: fix error check in tegra2_clocks.c\n  ARM: tegra: gpio: Fix unused variable warnings\n"
    },
    {
      "commit": "c98ece69fecf246b9e168f4ddd7d90de4027b298",
      "tree": "45425a399a7c9340d31d6a1b4afc0761c90b4400",
      "parents": [
        "c1530019e311c91d14b24d8e74d233152d806e45",
        "88b9ef452690233d200abf57a3fa2c0f3bd874c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 20:18:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 20:18:59 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027fixes\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm:\n  ARM: 6879/1: fix personality test wrt usage of domain handlers\n  ARM: 6878/1: fix personality flag propagation across an exec\n  ARM: 6877/1: the ADDR_NO_RANDOMIZE personality flag should be honored with mmap()\n  ARM: 6876/1: Kconfig.debug: Remove unused CONFIG_DEBUG_ERRORS\n  ARM: pxa: convert incorrect IRQ_TO_IRQ() to irq_to_gpio()\n  ARM: mmp: align NR_BUILTIN_GPIO with gpio interrupt number\n  ARM: pxa: align NR_BUILTIN_GPIO with GPIO interrupt number\n  ARM: pxa: always clear LPM bits for PXA168 MFPR\n  pcmcia: limit pxa2xx_trizeps4 subdriver to trizeps4 platform\n  pcmcia: limit pxa2xx_balloon3 subdriver to balloon3 platform\n  ARM: pxafb: Fix access to nonexistent member of pxafb_info\n  ARM: 6872/1: arch:common:Makefile Remove unused config in the Makefile.\n  ARM: 6868/1: Preserve the VFP state during fork\n  ARM: 6867/1: Introduce THREAD_NOTIFY_COPY for copy_thread() hooks\n  ARM: 6866/1: Do not restrict HIGHPTE to !OUTER_CACHE\n  ARM: 6865/1: perf: ensure pass through zero is counted on overflow\n  ARM: 6864/1: hw_breakpoint: clear DBGVCR out of reset\n  ARM: Only allow PM_SLEEP with CPUs which support suspend\n  ARM: Make consolidated PM sleep code depend on PM_SLEEP\n"
    },
    {
      "commit": "5bbc097d890409d8eff4e3f1d26f11a9d6b7c07e",
      "tree": "006300196d8ec4d5ed8e48a7b465f23f7209b731",
      "parents": [
        "7d6b46707f2491a94f4bd3b4329d2d7f809e9368"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Apr 15 14:47:40 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Apr 15 16:03:16 2011 -0700"
      },
      "message": "x86, amd: Disable GartTlbWlkErr when BIOS forgets it\n\nThis patch disables GartTlbWlk errors on AMD Fam10h CPUs if\nthe BIOS forgets to do is (or is just too old). Letting\nthese errors enabled can cause a sync-flood on the CPU\ncausing a reboot.\n\nThe AMD BKDG recommends disabling GART TLB Wlk Error completely.\n\nThis patch is the fix for\n\n\thttps://bugzilla.kernel.org/show_bug.cgi?id\u003d33012\n\non my machine.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nLink: http://lkml.kernel.org/r/20110415131152.GJ18463@8bytes.org\nTested-by: Alexandre Demers \u003calexandre.f.demers@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "c1530019e311c91d14b24d8e74d233152d806e45",
      "tree": "37bd46f1d30534d8f03a186338295b653e75886c",
      "parents": [
        "5853b4f06f7b9b56f37f457d7923f7b96496074e"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Fri Apr 15 11:39:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 15:28:12 2011 -0700"
      },
      "message": "vfs: Fix absolute RCU path walk failures due to uninitialized seq number\n\nDuring RCU walk in path_lookupat and path_openat, the rcu lookup\nfrequently failed if looking up an absolute path, because when root\ndirectory was looked up, seq number was not properly set in nameidata.\n\nWe dropped out of RCU walk in nameidata_drop_rcu due to mismatch in\ndirectory entry\u0027s seq number.  We reverted to slow path walk that need\nto take references.\n\nWith the following patch, I saw a 50% increase in an exim mail server\nbenchmark throughput on a 4-socket Nehalem-EX system.\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: stable@kernel.org (v2.6.38)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b76225e22ac98070325ee2ba89473c1e1360c4cb",
      "tree": "f556275f6238fb395087b2dba3f849ffb0dabd45",
      "parents": [
        "bd8c8ade6b6f109bc3dce14a8d12013f27f2a590"
      ],
      "author": {
        "name": "Harsh Prateek Bora",
        "email": "harsh@linux.vnet.ibm.com",
        "time": "Thu Mar 31 15:49:39 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Apr 15 15:26:15 2011 -0500"
      },
      "message": "net/9p: nwname should be an unsigned int\n\nSigned-off-by: Harsh Prateek Bora \u003charsh@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric VAn Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "bd8c8ade6b6f109bc3dce14a8d12013f27f2a590",
      "tree": "048d4def5cefa6fa7525db43fa1de8e4584465e1",
      "parents": [
        "936bb2d7034165fd6ef7afea54057da65c329a27"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Mar 24 23:14:46 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Apr 15 15:26:14 2011 -0500"
      },
      "message": "9p: Fix sparse error\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "936bb2d7034165fd6ef7afea54057da65c329a27",
      "tree": "04f84ae7997497fe130ae721f83dd99eca398f67",
      "parents": [
        "df5d8c80f1871d9e79af4b0f3656a9528a7d4bab"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Mar 24 23:04:41 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Apr 15 15:26:14 2011 -0500"
      },
      "message": "fs/9p: Fix error reported by coccicheck\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "df5d8c80f1871d9e79af4b0f3656a9528a7d4bab",
      "tree": "e9baf35f25e5dc97e8e2d06d5b5eaf5ecacfc624",
      "parents": [
        "c2ed388021a60bb4a9449fddfef770c95875b052"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Mar 24 20:38:35 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Apr 15 15:26:14 2011 -0500"
      },
      "message": "9p: revert tsyncfs related changes\n\nNow that we use write_inode to flush server\ncache related to fid, we don\u0027t need tsyncfs either fort dotl or dotu\nprotocols. For dotu this helps to do a more efficient server flush.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "c2ed388021a60bb4a9449fddfef770c95875b052",
      "tree": "e31fe132019f5ad671d54108c3309a83b7bd5786",
      "parents": [
        "f2eda2c6cc138710ae775490397657e8877774b6"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Mar 23 15:11:27 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Apr 15 15:26:14 2011 -0500"
      },
      "message": "fs/9p: Use write_inode for data sync on server\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "f2eda2c6cc138710ae775490397657e8877774b6",
      "tree": "9ff1d2414ff8bde4773ad98dc1f43de82bd57663",
      "parents": [
        "5853b4f06f7b9b56f37f457d7923f7b96496074e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Mar 23 19:48:16 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Apr 15 15:26:13 2011 -0500"
      },
      "message": "fs/9p: Fix revalidate to return correct value\n\nrevalidate should return \u003e 0 on success. Also return 0 on ENOENT\nto force do_revalidate to return NULL dentry;\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "0e4f8f888845f9dca540ad175884244e5db5eea2",
      "tree": "cc43a4a6ff229a84f26376f27d9d938ac4dc1b26",
      "parents": [
        "329c5056be8774255db04b01242a9ff4f02eb8ea"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Apr 15 16:05:44 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Apr 15 16:05:44 2011 -0400"
      },
      "message": "Btrfs: don\u0027t force chunk allocation in find_free_extent\n\nfind_free_extent likes to allocate in contiguous clusters,\nwhich makes writeback faster, especially on SSD storage.  As\nthe FS fragments, these clusters become harder to find and we have\nto decide between allocating a new chunk to make more clusters\nor giving up on the cluster to allocate from the free space\nwe have.\n\nRight now it creates too many chunks, and you can end up with\na whole FS that is mostly empty metadata chunks.  This commit\nchanges the allocation code to be more strict and only\nallocate new chunks when we\u0027ve made good use of the chunks we\nalready have.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7d6b46707f2491a94f4bd3b4329d2d7f809e9368",
      "tree": "e5a5085c170c1dd673788a9f48c96cf13102be93",
      "parents": [
        "9d90e49da57fe73a2f35334fdd2fb60dbf3933ed"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Apr 15 20:39:01 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 15 20:28:19 2011 +0200"
      },
      "message": "x86, NUMA: Fix fakenuma boot failure\n\nCurrently, numa\u003dfake boot parameter is broken. If it\u0027s used,\nkernel may panic due to devide by zero error depending on CPU\nconfiguration\n\nCall Trace:\n [\u003cffffffff8104ad4c\u003e] find_busiest_group+0x38c/0xd30\n [\u003cffffffff81086aff\u003e] ? local_clock+0x6f/0x80\n [\u003cffffffff81050533\u003e] load_balance+0xa3/0x600\n [\u003cffffffff81050f53\u003e] idle_balance+0xf3/0x180\n [\u003cffffffff81550092\u003e] schedule+0x722/0x7d0\n [\u003cffffffff81550538\u003e] ? wait_for_common+0x128/0x190\n [\u003cffffffff81550a65\u003e] schedule_timeout+0x265/0x320\n [\u003cffffffff81095815\u003e] ? lock_release_holdtime+0x35/0x1a0\n [\u003cffffffff81550538\u003e] ? wait_for_common+0x128/0x190\n [\u003cffffffff8109bb6c\u003e] ? __lock_release+0x9c/0x1d0\n [\u003cffffffff815534e0\u003e] ? _raw_spin_unlock_irq+0x30/0x40\n [\u003cffffffff815534e0\u003e] ? _raw_spin_unlock_irq+0x30/0x40\n [\u003cffffffff81550540\u003e] wait_for_common+0x130/0x190\n [\u003cffffffff81051920\u003e] ? try_to_wake_up+0x510/0x510\n [\u003cffffffff8155067d\u003e] wait_for_completion+0x1d/0x20\n [\u003cffffffff8107f36c\u003e] kthread_create_on_node+0xac/0x150\n [\u003cffffffff81077bb0\u003e] ? process_scheduled_works+0x40/0x40\n [\u003cffffffff8155045f\u003e] ? wait_for_common+0x4f/0x190\n [\u003cffffffff8107a283\u003e] __alloc_workqueue_key+0x1a3/0x590\n [\u003cffffffff81e0cce2\u003e] cpuset_init_smp+0x6b/0x7b\n [\u003cffffffff81df3d07\u003e] kernel_init+0xc3/0x182\n [\u003cffffffff8155d5e4\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff81553cd4\u003e] ? retint_restore_args+0x13/0x13\n [\u003cffffffff81df3c44\u003e] ? start_kernel+0x400/0x400\n [\u003cffffffff8155d5e0\u003e] ? gs_change+0x13/0x13\n\nThe divede by zero is caused by the following line,\ngroup-\u003ecpu_power\u003d\u003d0:\n\n kernel/sched_fair.c::update_sg_lb_stats()\n        /* Adjust by relative CPU power of the group */\n        sgs-\u003eavg_load \u003d (sgs-\u003egroup_load * SCHED_LOAD_SCALE) / group-\u003ecpu_power;\n\nThis regression was caused by commit e23bba6044 (\"x86-64, NUMA: Unify\nemulated distance mapping\") because it changes cpu -\u003e node\nmapping in the process of dropping fake_physnodes().\n\n  old) all cpus are assinged node 0\n  now) cpus are assigned round robin\n       (the logic is implemented by numa_init_array())\n\n  Note: The change in behavior only happens if the system doesn\u0027t\n        have neither ACPI SRAT table nor AMD northbridge NUMA\n\tinformation.\n\nRound robin assignment doesn\u0027t work because init_numa_sched_groups_power()\nassumes all logical cpus in the same physical cpu share the same node\n(then it only accounts for group_first_cpu()), and the simple round robin\nbreaks the above assumption.\n\nThus, this patch implements a reassignment of node-ids if buggy firmware\nor numa emulation makes wrong cpu node map. Tt enforce all logical cpus\nin the same physical cpu share the same node.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Brian Gerst \u003cbrgerst@gmail.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: Shaohui Zheng \u003cshaohui.zheng@intel.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nLink: http://lkml.kernel.org/r/20110415203928.1303.A69D9226@jp.fujitsu.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5853b4f06f7b9b56f37f457d7923f7b96496074e",
      "tree": "8cf850e91b26af25071f00055fa89fb924796de6",
      "parents": [
        "a970f5d513163a305d46f330d0a7d2dd4c4506f1",
        "f6603783f9f099bf7a83b3f6c689bbbf74f0e96e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 08:01:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 08:01:13 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: only force kblockd unplugging from the schedule() path\n  block: cleanup the block plug helper functions\n  block, blk-sysfs: Use the variable directly instead of a function call\n  block: move queue run on unplug to kblockd\n  block: kill queue_sync_plugs()\n  block: readd plug trace event\n  block: add callback function for unplug notification\n  block: add comment on why we save and disable interrupts in flush_plug_list()\n  block: fixup block IO unplug trace call\n  block: remove block_unplug_timer() trace point\n  block: splice plug list to local context\n"
    },
    {
      "commit": "a970f5d513163a305d46f330d0a7d2dd4c4506f1",
      "tree": "b1f38ab9d31670b909c079ac743651162d2a2e70",
      "parents": [
        "7ebfa57f6d307b66bb88600145afccde31016ab5",
        "1dcffad74183bb00e8129ba1c5bb2c9931d31bd7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 07:44:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 07:44:22 2011 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6:\n  UBIFS: fix compilation warnings when compiling with gcc 4.5\n  UBIFS: fix oops when R/O file-system is fsync\u0027ed\n"
    },
    {
      "commit": "0cd9c6494ee5c19aef085152bc37f3a4e774a9e1",
      "tree": "5d24e41c96d4d80e92213520dd98d05695bc0c03",
      "parents": [
        "a6360dd37e1a144ed11e6548371bade559a1e4df"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhart@linux.intel.com",
        "time": "Thu Apr 14 15:41:57 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 15 16:34:32 2011 +0200"
      },
      "message": "futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup\n\nThe FLAGS_HAS_TIMEOUT flag was not getting set, causing the restart_block to\nrestart futex_wait() without a timeout after a signal.\n\nCommit b41277dc7a18ee332d in 2.6.38 introduced the regression by accidentally\nremoving the the FLAGS_HAS_TIMEOUT assignment from futex_wait() during the setup\nof the restart block. Restore the originaly behavior.\n\nFixes: https://bugzilla.kernel.org/show_bug.cgi?id\u003d32922\n\nReported-by: Tim Smith \u003ctsmith201104@yahoo.com\u003e\nReported-by: Torsten Hilbrich \u003ctorsten.hilbrich@secunet.com\u003e\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/%3Cdaac0eb3af607f72b9a4d3126b2ba8fb5ed3b883.1302820917.git.dvhart%40linux.intel.com%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7ebfa57f6d307b66bb88600145afccde31016ab5",
      "tree": "f2f3574549fa2de097db2b8bb8fc4c35c744fa6a",
      "parents": [
        "e38f5b745075828ac51b12c8c95c85a7be4a3ec7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 07:34:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 07:34:26 2011 -0700"
      },
      "message": "vfs: fix incorrect dentry_update_name_case() BUG_ON() test\n\nThe case we should be verifying when updating the dentry name is that\nthe _parent_ inode (the directory) semaphore is held, not the semaphore\nfor the dentry itself.  It\u0027s the directory locking that rename and\nreaddir() etc all care about.\n\nThe comment just above even says so - but then the BUG_ON() still\nchecked the dentry inode itself.\n\nVery few people noticed, because this helper function really isn\u0027t used\nfor very much, so you had to be using ncpfs to ever hit it.\n\nI think I should just remove the BUG_ON (the function really has just\none user), but let\u0027s run with it fixed for a while before getting rid of\nit entirely.\n\nReported-and-tested-by: Bongani Hlope \u003cbonganih@bankservafrica.com\u003e\nReported-and-tested-by: Bernd Feige \u003cbernd.feige@uniklinik-freiburg.de\u003e\nCc: Petr Vandrovec \u003cpetr@vandrovec.name\u003e,\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6603783f9f099bf7a83b3f6c689bbbf74f0e96e",
      "tree": "450065f77e95b6cd0eee13c9d8f721016be79839",
      "parents": [
        "88b996cd0652280cc9b9fc70008fda15f14175e1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Apr 15 15:49:07 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Apr 15 15:49:07 2011 +0200"
      },
      "message": "block: only force kblockd unplugging from the schedule() path\n\nFor the explicit unplugging, we\u0027d prefer to kick things off\nimmediately and not pay the penalty of the latency to switch\nto kblockd. So let blk_finish_plug() do the run inline, while\nthe implicit-on-schedule-out unplug will punt to kblockd.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "88b996cd0652280cc9b9fc70008fda15f14175e1",
      "tree": "c842575e47ab094bced8a01b241568616e89366a",
      "parents": [
        "80656b67b3988f83edd86a280d9937124fe62050"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Apr 15 15:20:10 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Apr 15 15:20:10 2011 +0200"
      },
      "message": "block: cleanup the block plug helper functions\n\nIt\u0027s a bit of a mess currently. task-\u003eplug is being cleared\nand reset in __blk_finish_plug(), and blk_finish_plug() is\ntesting for a NULL plug which cannot happen even from schedule()\nanymore since it uses blk_needs_flush_plug() to determine\nwhether to call into this function at all.\n\nSo get rid of some of the cruft.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "e38f5b745075828ac51b12c8c95c85a7be4a3ec7",
      "tree": "603387de83d221f62be764de28a841ef84105413",
      "parents": [
        "e6d28318344535331d9473548b210dd267fe7b7e",
        "8d50de9ee77b38a239dc5b1d6a63ad92a78f119d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 19:03:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 19:03:27 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:\n  Blackfin: SMP: fix cache flush loop\n  Blackfin: time-ts: ack gptimer sooner to avoid missing short ints\n  Blackfin: gptimers: fix thinko when disabling timers\n  Blackfin: SMP: make all barriers handle cache issues\n"
    },
    {
      "commit": "e6d28318344535331d9473548b210dd267fe7b7e",
      "tree": "90a4c7dab77900ec531b73151503b4b2e00132d1",
      "parents": [
        "e27e6151b154ff6e5e8162efa291bc60196d29ea",
        "77f38e0eeac290827f41fd2215ab82546b8f73b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 19:02:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 19:02:55 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  libceph: fix linger request requeueing\n"
    },
    {
      "commit": "e27e6151b154ff6e5e8162efa291bc60196d29ea",
      "tree": "0dfef44a7e7e888ff6fe696058b40c458429ca75",
      "parents": [
        "b836aec53e2bce71de1d5415313380688c851477"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Thu Apr 14 15:22:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "mm/thp: use conventional format for boolean attributes\n\nThe conventional format for boolean attributes in sysfs is numeric (\"0\" or\n\"1\" followed by new-line).  Any boolean attribute can then be read and\nwritten using a generic function.  Using the strings \"yes [no]\", \"[yes]\nno\" (read), \"yes\" and \"no\" (write) will frustrate this.\n\n[akpm@linux-foundation.org: use kstrtoul()]\n[akpm@linux-foundation.org: test_bit() doesn\u0027t return 1/0, per Neil]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nTested-by: David Rientjes \u003crientjes@google.com\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e \t[2.6.38.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b836aec53e2bce71de1d5415313380688c851477",
      "tree": "9ee79823fd8ac2ad868ce63f2b3569d04803a5d1",
      "parents": [
        "084189a88754d40e1bb9bfbc278e70c33e571685"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Thu Apr 14 15:22:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "ramfs: fix memleak on no-mmu arch\n\nOn no-mmu arch, there is a memleak during shmem test.  The cause of this\nmemleak is ramfs_nommu_expand_for_mapping() added page refcount to 2\nwhich makes iput() can\u0027t free that pages.\n\nThe simple test file is like this:\n\n  int main(void)\n  {\n\tint i;\n\tkey_t k \u003d ftok(\"/etc\", 42);\n\n\tfor ( i\u003d0; i\u003c100; ++i) {\n\t\tint id \u003d shmget(k, 10000, 0644|IPC_CREAT);\n\t\tif (id \u003d\u003d -1) {\n\t\t\tprintf(\"shmget error\\n\");\n\t\t}\n\t\tif(shmctl(id, IPC_RMID, NULL ) \u003d\u003d -1) {\n\t\t\tprintf(\"shm  rm error\\n\");\n\t\t\treturn -1;\n\t\t}\n\t}\n\tprintf(\"run ok...\\n\");\n\treturn 0;\n  }\n\nAnd the result:\n\n  root:/\u003e free\n               total         used         free       shared      buffers\n  Mem:         60320        17912        42408            0            0\n  -/+ buffers:              17912        42408\n  root:/\u003e shmem\n  run ok...\n  root:/\u003e free\n               total         used         free       shared      buffers\n  Mem:         60320        19096        41224            0            0\n  -/+ buffers:              19096        41224\n  root:/\u003e shmem\n  run ok...\n  root:/\u003e free\n               total         used         free       shared      buffers\n  Mem:         60320        20296        40024            0            0\n  -/+ buffers:              20296        40024\n  ...\n\nAfter this patch the test result is:(no memleak anymore)\n\n  root:/\u003e free\n               total         used         free       shared      buffers\n  Mem:         60320        16668        43652            0            0\n  -/+ buffers:              16668        43652\n  root:/\u003e shmem\n  run ok...\n  root:/\u003e free\n               total         used         free       shared      buffers\n  Mem:         60320        16668        43652            0            0\n  -/+ buffers:              16668        43652\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "084189a88754d40e1bb9bfbc278e70c33e571685",
      "tree": "5cf285a6c648b896ee8590931d74f921c5c7f8dd",
      "parents": [
        "6d56dad3ae070511e59792a62f27b2394cc936bc"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Thu Apr 14 15:22:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "um: disable CONFIG_CMPXCHG_LOCAL\n\nCommit 8a5ec0ba \"Lockless (and preemptless) fastpaths for slub\" makes use\nof this_cpu_cmpxchg_double() which needs this_cpu_cmpxchg16b_emu() on\nx86_64.  Implementing cmpxchg16b emulation for UML would introduce too\nmuch complexity.  So just disable it.\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nReported-by: Sergei Trofimovich \u003cslyich@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d56dad3ae070511e59792a62f27b2394cc936bc",
      "tree": "53b4ae9bea67ae24983858eeb4e9c6dfd7fd7d60",
      "parents": [
        "ed5afeaf422202485bbebc7e911f13b2a6be2666"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Thu Apr 14 15:22:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "um: fix call tracer and bug handler\n\nCommit 1de1502c (\"x86, um: now we can get rid of trivial uml headers\")\nremoved accidentally bug.h which broke UML\u0027s call tracer and bug\nhandler.\n\nWithout asm-generic/bug.h UML uses BUG() from arch/x86/ which makes use\nof ud2.  UML cannot use ud2, it raises SIGILL in user mode.  As UML has\na different stack for handling signals the call trace will be cut off.\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nReported-by: Sergei Trofimovich \u003cslyich@gmail.com\u003e\nTested-by: Sergei Trofimovich \u003cslyich@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed5afeaf422202485bbebc7e911f13b2a6be2666",
      "tree": "479e2f57cef12140d9012a2404d0ad4b0aa2a15c",
      "parents": [
        "6a534c9d265ebabca4c3ae6f8712fc5a27cd3999"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Apr 14 15:22:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "fs/fhandle.c: add \u003clinux/personality.h\u003e for ia64\n\nforce_o_largefile() on ia64 is defined in \u003casm/fcntl.h\u003e and requires\n\u003clinux/personality.h\u003e.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a534c9d265ebabca4c3ae6f8712fc5a27cd3999",
      "tree": "41a556c67e780c5ea64c7f7b9e0b2eef7d82e79a",
      "parents": [
        "59f9996555542f901f2d01ccab5c0612c8c5c480"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@hansjkoch.de",
        "time": "Thu Apr 14 15:22:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "MAINTAINERS: change mail adress of Hans J. Koch\n\nMy old mail address doesn\u0027t exist anymore.  This patch changes all\noccurences in MAINTAINERS to my new address.\n\nSigned-off-by: Hans J. Koch \u003chjk@hansjkoch.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59f9996555542f901f2d01ccab5c0612c8c5c480",
      "tree": "2262a4e5620454fd97a82a276a417d1eaed11674",
      "parents": [
        "13209c2a52afa691ca19e7e6ebd22d4034bdfeed"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Thu Apr 14 15:22:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "RapidIO/mpc85xx: fix possible mport registration problems\n\nFix a possible problem with mport registration left non-cleared after\nfsl_rio_setup() exits on link error.  Abort mport initialization if\nregistration failed.\n\nThis patch is applicable to 2.6.39-rc1 only.  The problem does not exist\nfor earlier versions.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13209c2a52afa691ca19e7e6ebd22d4034bdfeed",
      "tree": "6965a4ca003c531d69d50b6db1000bd409623f25",
      "parents": [
        "341aea2bc48bf652777fb015cc2b3dfa9a451817"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Thu Apr 14 15:22:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "RapidIO: add IDT CPS-1432 switch definitions\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "341aea2bc48bf652777fb015cc2b3dfa9a451817",
      "tree": "46846e06674fdf45542ed3101c7a55aa31a577af",
      "parents": [
        "929bea7c714220fc76ce3f75bef9056477c28e74"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Apr 14 15:22:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "oom-kill: remove boost_dying_task_prio()\n\nThis is an almost-revert of commit 93b43fa (\"oom: give the dying task a\nhigher priority\").\n\nThat commit dramatically improved oom killer logic when a fork-bomb\noccurs.  But I\u0027ve found that it has nasty corner case.  Now cpu cgroup has\nstrange default RT runtime.  It\u0027s 0!  That said, if a process under cpu\ncgroup promote RT scheduling class, the process never run at all.\n\nIf an admin inserts a !RT process into a cpu cgroup by setting\nrtruntime\u003d0, usually it runs perfectly because a !RT task isn\u0027t affected\nby the rtruntime knob.  But if it promotes an RT task via an explicit\nsetscheduler() syscall or an OOM, the task can\u0027t run at all.  In short,\nthe oom killer doesn\u0027t work at all if admins are using cpu cgroup and don\u0027t\ntouch the rtruntime knob.\n\nEventually, kernel may hang up when oom kill occur.  I and the original\nauthor Luis agreed to disable this logic.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Luis Claudio R. Goncalves \u003clclaudio@uudg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "929bea7c714220fc76ce3f75bef9056477c28e74",
      "tree": "d41b4592b658173e00c7b8bad2bce048f02e0ead",
      "parents": [
        "fe936dfc23fed3475b11067e8d9b70553eafcd9e"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Apr 14 15:22:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "vmscan: all_unreclaimable() use zone-\u003eall_unreclaimable as a name\n\nall_unreclaimable check in direct reclaim has been introduced at 2.6.19\nby following commit.\n\n\t2006 Sep 25; commit 408d8544; oom: use unreclaimable info\n\nAnd it went through strange history. firstly, following commit broke\nthe logic unintentionally.\n\n\t2008 Apr 29; commit a41f24ea; page allocator: smarter retry of\n\t\t\t\t      costly-order allocations\n\nTwo years later, I\u0027ve found obvious meaningless code fragment and\nrestored original intention by following commit.\n\n\t2010 Jun 04; commit bb21c7ce; vmscan: fix do_try_to_free_pages()\n\t\t\t\t      return value when priority\u003d\u003d0\n\nBut, the logic didn\u0027t works when 32bit highmem system goes hibernation\nand Minchan slightly changed the algorithm and fixed it .\n\n\t2010 Sep 22: commit d1908362: vmscan: check all_unreclaimable\n\t\t\t\t      in direct reclaim path\n\nBut, recently, Andrey Vagin found the new corner case. Look,\n\n\tstruct zone {\n\t  ..\n\t        int                     all_unreclaimable;\n\t  ..\n\t        unsigned long           pages_scanned;\n\t  ..\n\t}\n\nzone-\u003eall_unreclaimable and zone-\u003epages_scanned are neigher atomic\nvariables nor protected by lock.  Therefore zones can become a state of\nzone-\u003epage_scanned\u003d0 and zone-\u003eall_unreclaimable\u003d1.  In this case, current\nall_unreclaimable() return false even though zone-\u003eall_unreclaimabe\u003d1.\n\nThis resulted in the kernel hanging up when executing a loop of the form\n\n1. fork\n2. mmap\n3. touch memory\n4. read memory\n5. munmmap\n\nas described in\nhttp://www.gossamer-threads.com/lists/linux/kernel/1348725#1348725\n\nIs this ignorable minor issue?  No.  Unfortunately, x86 has very small dma\nzone and it become zone-\u003eall_unreclamble\u003d1 easily.  and if it become\nall_unreclaimable\u003d1, it never restore all_unreclaimable\u003d0.  Why?  if\nall_unreclaimable\u003d1, vmscan only try DEF_PRIORITY reclaim and\na-few-lru-pages\u003e\u003eDEF_PRIORITY always makes 0.  that mean no page scan at\nall!\n\nEventually, oom-killer never works on such systems.  That said, we can\u0027t\nuse zone-\u003epages_scanned for this purpose.  This patch restore\nall_unreclaimable() use zone-\u003eall_unreclaimable as old.  and in addition,\nto add oom_killer_disabled check to avoid reintroduce the issue of commit\nd1908362 (\"vmscan: check all_unreclaimable in direct reclaim path\").\n\nReported-by: Andrey Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe936dfc23fed3475b11067e8d9b70553eafcd9e",
      "tree": "b45ad916853194b26bfe4504879e0bff64a43bf7",
      "parents": [
        "4471a675dfc7ca676c165079e91c712b09dc9ce4"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu Apr 14 15:22:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "mm: check that we have the right vma in __access_remote_vm()\n\nIn __access_remote_vm() we need to check that we have found the right\nvma, not the following vma before we try to access it.  Otherwise we\nmight call the vma\u0027s access routine with an address which does not fall\ninside the vma.\n\nIt was discovered on a current kernel but with an unreleased driver,\nfrom memory it was strace leading to a kernel bad access, but it\nobviously depends on what the access implementation does.\n\nLooking at other access implementations I only see:\n\n  $ git grep -A 5 vm_operations|grep access\n  arch/powerpc/platforms/cell/spufs/file.c-\t.access \u003d spufs_mem_mmap_access,\n  arch/x86/pci/i386.c-\t.access \u003d generic_access_phys,\n  drivers/char/mem.c-\t.access \u003d generic_access_phys\n  fs/sysfs/bin.c-\t.access\t\t\u003d bin_access,\n\nThe spufs one looks like it might behave badly given the wrong vma, it\nassumes vma-\u003evm_file-\u003eprivate_data is a spu_context, and looks like it\nwould probably blow up pretty quickly if it wasn\u0027t.\n\ngeneric_access_phys() only uses the vma to check vm_flags and get the\nmm, and then walks page tables using the address.  So it should bail on\nthe vm_flags check, or at worst let you access some other VM_IO mapping.\n\nAnd bin_access() just proxies to another access implementation.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.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": "4471a675dfc7ca676c165079e91c712b09dc9ce4",
      "tree": "9746321a818cefbb2aa97d8ac4d44c4a6ae84f5a",
      "parents": [
        "5de1743e2434fcb24e3d944a20130029b8fe867a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Apr 14 15:22:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "brk: COMPAT_BRK: fix detection of randomized brk\n\n5520e89 (\"brk: fix min_brk lower bound computation for COMPAT_BRK\")\ntried to get the whole logic of brk randomization for legacy\n(libc5-based) applications finally right.\n\nIt turns out that the way to detect whether brk has actually been\nrandomized in the end or not introduced by that patch still doesn\u0027t work\nfor those binaries, as reported by Geert:\n\n: /sbin/init from my old m68k ramdisk exists prematurely.\n:\n: Before the patch:\n:\n: | brk(0x80005c8e)                         \u003d 0x80006000\n:\n: After the patch:\n:\n: | brk(0x80005c8e)                         \u003d 0x80005c8e\n:\n: Old libc5 considers brk() to have failed if the return value is not\n: identical to the requested value.\n\nI don\u0027t like it, but currently see no better option than a bit flag in\ntask_struct to catch the CONFIG_COMPAT_BRK \u0026\u0026 randomize_va_space \u003d\u003d 2\ncase.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nTested-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5de1743e2434fcb24e3d944a20130029b8fe867a",
      "tree": "0f3a3cb9b2ee2e58d1df8939cc8ab9783aeab896",
      "parents": [
        "fc5da22ae35d4720be59af8787a8a6d5e4da9517"
      ],
      "author": {
        "name": "Wanlong Gao",
        "email": "wanlong.gao@gmail.com",
        "time": "Thu Apr 14 15:22:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "drivers/misc/sgi-gru/grufile.c: fix the wrong members of gru_chip\n\nFix the wrong members and the wrong function\u0027s definition, since the\nirq_chip had changed.\n\nSigned-off-by: Wanlong Gao \u003cwanlong.gao@gmail.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc5da22ae35d4720be59af8787a8a6d5e4da9517",
      "tree": "a072d2d1387d19ea5403ab8adaf7c092c1cf6485",
      "parents": [
        "d00ebeac5f24f290636f7a895dafc124b2930a08"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Thu Apr 14 15:22:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "tmpfs: fix off-by-one in max_blocks checks\n\nIf you fill up a tmpfs, df was showing\n\n  tmpfs                   460800         -         -   -  /tmp\n\nbecause of an off-by-one in the max_blocks checks.  Fix it so df shows\n\n  tmpfs                   460800    460800         0 100% /tmp\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d00ebeac5f24f290636f7a895dafc124b2930a08",
      "tree": "a6c91822f130ffb8d348b655e5be14b7c8ef74e9",
      "parents": [
        "81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Apr 14 15:22:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "MAINTAINERS: update STABLE BRANCH info\n\nDrop Chris Wright from STABLE maintainers.  He hasn\u0027t done STABLE release\nwork for quite some time.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145"
}
