)]}'
{
  "log": [
    {
      "commit": "9b6096a65f99a89dfd8328c4e469e7b53b3ae04a",
      "tree": "8853a3c389d40bda6fd5e109179be29695d536af",
      "parents": [
        "167400d34070ebbc408dc0f447c4ddb4bf837360"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Thu Mar 17 10:47:06 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 17 10:47:06 2011 +0100"
      },
      "message": "mm: make generic_writepages() use plugging\n\nThis recovers a performance regression caused by the removal\nof the per-device plugging.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "167400d34070ebbc408dc0f447c4ddb4bf837360",
      "tree": "19100b0511a7e3e18f6f61d90a5fe5f1c40f59c4",
      "parents": [
        "1f940bdfc0d03265d178d9dfd840d854819f797d"
      ],
      "author": {
        "name": "Justin TerAvest",
        "email": "teravest@google.com",
        "time": "Sat Mar 12 16:54:00 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Mar 12 16:54:00 2011 +0100"
      },
      "message": "blk-cgroup: Add unaccounted time to timeslice_used.\n\nThere are two kind of times that tasks are not charged for: the first\nseek and the extra time slice used over the allocated timeslice. Both\nof these exported as a new unaccounted_time stat.\n\nI think it would be good to have this reported in \u0027time\u0027 as well, but\nthat is probably a separate discussion.\n\nSigned-off-by: Justin TerAvest \u003cteravest@google.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "1f940bdfc0d03265d178d9dfd840d854819f797d",
      "tree": "b45ef8482ef17ccaee2e754e872fb4047efb3448",
      "parents": [
        "eba2ed9c9636d9e7ed203a2498ed230b48341709"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Mar 11 20:17:08 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Mar 11 20:17:08 2011 +0100"
      },
      "message": "block: fixup plugging stubs for !CONFIG_BLOCK\n\nThey used an older prototype, fix it up.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "eba2ed9c9636d9e7ed203a2498ed230b48341709",
      "tree": "c989fdc098b09947888f67badbfeecb1e04cd1fc",
      "parents": [
        "805f6b5e1cbfedfb9b3d354013e7f4b13a79270f"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Fri Mar 11 20:13:54 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Mar 11 20:13:54 2011 +0100"
      },
      "message": "block: remove obsolete comments for blkdev_issue_zeroout.\n\nbarrier is already removed, so remove the obsolete comments\nin blkdev_issue_zeroout.\n\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "805f6b5e1cbfedfb9b3d354013e7f4b13a79270f",
      "tree": "73b3380e28c642418a0fa3e5f1da9990919325b5",
      "parents": [
        "4c63f5646e405b5010cc9499419060bf2e838f5b"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Fri Mar 11 20:11:59 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Mar 11 20:11:59 2011 +0100"
      },
      "message": "blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n\nIn blk_add_trace_rq, we only chose the minor 2 bits from\nrequest\u0027s cmd_flags and did some check for discard.\nso most of other flags(e.g, REQ_SYNC) are missing.\n\nFor example, with a sync write after blkparse we get:\n  8,16   1        1     0.001776503  7509  A  WS 1349632 + 1024 \u003c- (8,17) 1347584\n  8,16   1        2     0.001776813  7509  Q  WS 1349632 + 1024 [dd]\n  8,16   1        3     0.001780395  7509  G  WS 1349632 + 1024 [dd]\n  8,16   1        5     0.001783186  7509  I   W 1349632 + 1024 [dd]\n  8,16   1       11     0.001816987  7509  D   W 1349632 + 1024 [dd]\n  8,16   0        2     0.006218192     0  C   W 1349632 + 1024 [0]\n\nSince now we have integrated the flags of both bio and request,\nit is safe to pass rq-\u003ecmd_flags directly to __blk_add_trace.\n\nWith this patch, after a sync write we get:\n  8,16   1        1     0.001776900  5425  A  WS 1189888 + 1024 \u003c- (8,17) 1187840\n  8,16   1        2     0.001777179  5425  Q  WS 1189888 + 1024 [dd]\n  8,16   1        3     0.001780797  5425  G  WS 1189888 + 1024 [dd]\n  8,16   1        5     0.001783402  5425  I  WS 1189888 + 1024 [dd]\n  8,16   1       11     0.001817468  5425  D  WS 1189888 + 1024 [dd]\n  8,16   0        2     0.005640709     0  C  WS 1189888 + 1024 [0]\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nAcked-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "4c63f5646e405b5010cc9499419060bf2e838f5b",
      "tree": "df91ba315032c8ec4aafeb3ab96fdfa7c6c656e1",
      "parents": [
        "cafb0bfca1a73efd6d8a4a6a6a716e6134b96c24",
        "69d60eb96ae8a73cf9b79cf28051caf973006011"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:58:35 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:58:35 2011 +0100"
      },
      "message": "Merge branch \u0027for-2.6.39/stack-plug\u0027 into for-2.6.39/core\n\nConflicts:\n\tblock/blk-core.c\n\tblock/blk-flush.c\n\tdrivers/md/raid1.c\n\tdrivers/md/raid10.c\n\tdrivers/md/raid5.c\n\tfs/nilfs2/btnode.c\n\tfs/nilfs2/mdt.c\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "69d60eb96ae8a73cf9b79cf28051caf973006011",
      "tree": "254be7302abbd6a21d4f54cfdad6a0af6db282d0",
      "parents": [
        "721a9602e6607417c6bc15b18e97a2f35266c690"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Wed Mar 09 08:27:37 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:27 2011 +0100"
      },
      "message": "blk-throttle: Use blk_plug in throttle dispatch\n\nUse plug in throttle dispatch also as we are dispatching a bunch of\nbios in throttle context and some of them might merge.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "721a9602e6607417c6bc15b18e97a2f35266c690",
      "tree": "4987991e43f35b8b3b685fea0040c5265b578996",
      "parents": [
        "cf15900e1209d5b46ec2d24643adbf561830935f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 09 11:56:30 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:27 2011 +0100"
      },
      "message": "block: kill off REQ_UNPLUG\n\nWith the plugging now being explicitly controlled by the\nsubmitter, callers need not pass down unplugging hints\nto the block layer. If they want to unplug, it\u0027s because they\nmanually plugged on their own - in which case, they should just\nunplug at will.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "cf15900e1209d5b46ec2d24643adbf561830935f",
      "tree": "f66ed809657402d7c0a082b19a1a64745b604fe7",
      "parents": [
        "9f5b9425468c85a901d863d241ba5c5dff9b23b8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 02 20:12:18 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:27 2011 +0100"
      },
      "message": "aio: remove request submission batching\n\nThis should be useless now that we have on-stack plugging. So lets just\nkill it.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "9f5b9425468c85a901d863d241ba5c5dff9b23b8",
      "tree": "0b24e591059698f1e9cb581038d112d5e3f2f4d2",
      "parents": [
        "2ed1a6bcf97a7ed787e6799bf2e80b9e6f51dca7"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Thu Jul 01 07:55:01 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:27 2011 +0100"
      },
      "message": "fs: make aio plug\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "2ed1a6bcf97a7ed787e6799bf2e80b9e6f51dca7",
      "tree": "bd59ce82d995cc97aa7579000690b9a4d1f4c804",
      "parents": [
        "5b417b1873694ece3291d7f64a943304559a817b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 22 12:52:14 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:26 2011 +0100"
      },
      "message": "fs: make mpage read/write_pages() plug\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5b417b1873694ece3291d7f64a943304559a817b",
      "tree": "156662430fb4fb5341547dec736628424bbddb1a",
      "parents": [
        "55602dd66f5353981b53f734e26c307f310ced37"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Apr 19 10:04:38 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:26 2011 +0100"
      },
      "message": "read-ahead: use plugging\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "55602dd66f5353981b53f734e26c307f310ced37",
      "tree": "c1478f1f0fd8f8e08ce5dceb352fa6b18a534745",
      "parents": [
        "7eaceaccab5f40bbfda044629a6298616aeaed50"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 24 15:05:37 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:26 2011 +0100"
      },
      "message": "fs: make generic file read/write functions plug\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7eaceaccab5f40bbfda044629a6298616aeaed50",
      "tree": "33954d12f63e25a47eb6d86ef3d3d0a5e62bf752",
      "parents": [
        "73c101011926c5832e6e141682180c4debe2cf45"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "message": "block: remove per-queue plugging\n\nCode has been converted over to the new explicit on-stack plugging,\nand delay users have been converted to use the new API for that.\nSo lets kill off the old plugging along with aops-\u003esync_page().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "73c101011926c5832e6e141682180c4debe2cf45",
      "tree": "b8eeb521a7833cb198d6f39d5a931d820e2a663f",
      "parents": [
        "a488e74976bf0a9bccecdd094378394942dacef1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 08 13:19:51 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:45:54 2011 +0100"
      },
      "message": "block: initial patch for on-stack per-task plugging\n\nThis patch adds support for creating a queuing context outside\nof the queue itself. This enables us to batch up pieces of IO\nbefore grabbing the block device queue lock and submitting them to\nthe IO scheduler.\n\nThe context is created on the stack of the process and assigned in\nthe task structure, so that we can auto-unplug it if we hit a schedule\nevent.\n\nThe current queue plugging happens implicitly if IO is submitted to\nan empty device, yet callers have to remember to unplug that IO when\nthey are going to wait for it. This is an ugly API and has caused bugs\nin the past. Additionally, it requires hacks in the vm (-\u003esync_page()\ncallback) to handle that logic. By switching to an explicit plugging\nscheme we make the API a lot nicer and can get rid of the -\u003esync_page()\nhack in the vm.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "a488e74976bf0a9bccecdd094378394942dacef1",
      "tree": "94b69a2dd1e7126b83e311dc7c85def32ecde6dd",
      "parents": [
        "0a41e90bb7c931fd53d73ea770f5b251af6c91ce"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Apr 16 21:13:15 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:45:54 2011 +0100"
      },
      "message": "scsi: convert to blk_delay_queue()\n\nIt was always abuse to reuse the plugging infrastructure for this,\nconvert it to the (new) real API for delaying queueing a bit. A\ndefault delay of 3 msec is defined, to match the previous\nbehaviour.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "0a41e90bb7c931fd53d73ea770f5b251af6c91ce",
      "tree": "efb0bdfece80587bdc4985500eeb43df08585feb",
      "parents": [
        "3cca6dc1c81e2407928dc4c6105252146fd3924f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Apr 16 21:11:21 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:45:54 2011 +0100"
      },
      "message": "ide-cd: convert to blk_delay_queue() for a short pause\n\nIt was always abuse to reuse the plugging infrastructure for this,\nconvert it to the (new) real API for delaying queueing a bit.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cca6dc1c81e2407928dc4c6105252146fd3924f",
      "tree": "b78b0d93e7c02abdc37e1d5a6204ab6b94d56fd4",
      "parents": [
        "53f22956effe1c9e7961b8c6e4362ecca5e460b7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 02 11:08:00 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:45:54 2011 +0100"
      },
      "message": "block: add API for delaying work/request_fn a little bit\n\nCurrently we use plugging for that, but as plugging is going away,\nwe need an alternative mechanism.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "cafb0bfca1a73efd6d8a4a6a6a716e6134b96c24",
      "tree": "e96bb102b905e5856a4d2a46ca3a4deb4922a9af",
      "parents": [
        "3c0d206092f50be82523dba2b0e0a02de9e6aad3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:29 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:29 2011 +0100"
      },
      "message": "staging: Convert to bdops-\u003echeck_events()\n\nConvert two staging drivers - blkvsc_drv and cyasblkdev_block - from\n-\u003emedia_changed() to -\u003echeck_events().  The former always indicated\nmedia changed while the latter always indicated media not changed.\nNot sure what the drivers are trying to achieve but keep the original\nbehavior.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "3c0d206092f50be82523dba2b0e0a02de9e6aad3",
      "tree": "13df83cd499411325d7a05cd60d370dc6beec3db",
      "parents": [
        "6fac80e3aa9e5bfc6cadb9ea8d0584c557c4b198"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "message": "pktcdvd: Convert to bdops-\u003echeck_events()\n\nConvert from -\u003emedia_changed() to -\u003echeck_events().\n\npktcdvd needs to forward all event related operations to the\nunderlying device.  Forward -\u003echeck_events() instead of\n-\u003emedia_changed() and inherit disk-\u003e[async_]events.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\n"
    },
    {
      "commit": "6fac80e3aa9e5bfc6cadb9ea8d0584c557c4b198",
      "tree": "74fae0d24258c3920c3d77f3a8a9cbaebc67fb53",
      "parents": [
        "ffe80cea354519d846767b8165598c2903706c2a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "message": "umem: Drop dummy -\u003emedia_changed()\n\numem doesn\u0027t implement media changed detection and there\u0027s no need to\nimplement dummy callback anymore.  Remove it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "ffe80cea354519d846767b8165598c2903706c2a",
      "tree": "2168adbcba027c96a1e0dfc3b4d7cb105ef2c03d",
      "parents": [
        "f47350fdecb7ce9fe715e2df4431c4b51c4ef46b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "message": "s390/tape_block: Convert to bdops-\u003echeck_events()\n\nConvert from -\u003emedia_changed() to -\u003echeck_events().\n\ns390/tape_block buffers media changed state and clears it on\nrevalidation.  It will behave correctly with kernel event polling.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "f47350fdecb7ce9fe715e2df4431c4b51c4ef46b",
      "tree": "60825db09d0bbbf8a12c168b439fcda39e1ca9c3",
      "parents": [
        "3a200911ada2d5b955c2c6daa22364c6de83c52c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "message": "i2o_block: Convert to bdops-\u003echeck_events()\n\nConvert from -\u003emedia_changed() to -\u003echeck_events().\n\ni2o_block buffers media changed state and clears it after reporting.\nIt will behave correctly with kernel event polling.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\n"
    },
    {
      "commit": "3a200911ada2d5b955c2c6daa22364c6de83c52c",
      "tree": "412d7e212afd7a149fb59ff5c3c03ac4bc99d3f5",
      "parents": [
        "aaa7c01546d3dc944f5758f671284177131ccce3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "message": "xsysace: Convert to bdops-\u003echeck_events()\n\nConvert from -\u003emedia_changed() to -\u003echeck_events().\n\nxsysace buffers media changed state and clears it on revalidation.  It\nwill behave correctly with kernel event polling.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "aaa7c01546d3dc944f5758f671284177131ccce3",
      "tree": "c5632ea8cd538740096db077f52573e3f3b37008",
      "parents": [
        "4bbde77787270e17418dd32c7eb32e42ad16cfc7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "message": "ub: Convert to bdops-\u003echeck_events()\n\nConvert from -\u003emedia_changed() to -\u003echeck_events().\n\nub buffers media changed state and clears it on revalidation.  It will\nbehave correctly with kernel event polling.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\n"
    },
    {
      "commit": "4bbde77787270e17418dd32c7eb32e42ad16cfc7",
      "tree": "325ba3aed0ef7b5f68f20d6577c5e14876ca9107",
      "parents": [
        "507daea2276677785ba8096d90b9e8049632fc46"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "message": "swim[3]: Convert to bdops-\u003echeck_events()\n\nConvert from -\u003emedia_changed() to -\u003echeck_events().\n\nBoth swim and swim3 buffer media changed state and clear it on\nrevalidation.  They will behave correctly with kernel event polling.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Laurent Vivier \u003claurent@lvivier.info\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "507daea2276677785ba8096d90b9e8049632fc46",
      "tree": "fcf9037340b293546f21420a1285a32659cba492",
      "parents": [
        "b1b56b93f331bd61492fdb99e7986f7a528ca730"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "message": "dac960: Convert to bdops-\u003echeck_events()\n\nConvert from -\u003emedia_changed() to -\u003echeck_events().\n\nDAC960 media change notification seems to be one way (once set, never\ncleared) and will generate spurious events when polled once the\ncondition triggers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "b1b56b93f331bd61492fdb99e7986f7a528ca730",
      "tree": "e3740806510666f11d62befd0d7d917be1bc573d",
      "parents": [
        "1c27030bd21e7e2c68ef5be9f28c63778cf4b27f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "message": "paride: Convert to bdops-\u003echeck_events()\n\nConvert paride drivers from -\u003emedia_changed() to -\u003echeck_events().\n\npcd and pd buffer and clear events after reporting; however, pf\nunconditionally reports MEDIA_CHANGE and will generate spurious events\nwhen polled.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\n"
    },
    {
      "commit": "1c27030bd21e7e2c68ef5be9f28c63778cf4b27f",
      "tree": "16308baa3d530d52d517e77e4d9f797647deb2e6",
      "parents": [
        "1a8a74f03fcde1725ff26520220f3d21dbd8faa1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:28 2011 +0100"
      },
      "message": "gdrom,viocd: Convert to bdops-\u003echeck_events()\n\nConvert gdrom and viocd from -\u003emedia_changed() to -\u003echeck_events().\n\nIt\u0027s unclear how the conditions are cleared and it\u0027s possible that it\nmay generate spurious events when polled.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "1a8a74f03fcde1725ff26520220f3d21dbd8faa1",
      "tree": "5ac4195f4b34f815261ec243357f81967e4384c0",
      "parents": [
        "5b03a1b140e13a28ff6be1526892a9dc538ddef6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "message": "floppy,{ami|ata}flop: Convert to bdops-\u003echeck_events()\n\nConvert the floppy drivers from -\u003emedia_changed() to -\u003echeck_events().\nBoth floppy and ataflop buffer media changed state bit and clear them\non revalidation and will behave correctly with kernel event polling.\n\nI can\u0027t tell how amiflop clears its event and it\u0027s possible that it\nmay generate spurious events when polled.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "5b03a1b140e13a28ff6be1526892a9dc538ddef6",
      "tree": "63d6acaaf4d3c7855cbe4a76dca73f66cda72c31",
      "parents": [
        "69e02c59a7d962dced8047401b81a8d897e1702e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "message": "ide: Convert to bdops-\u003echeck_events()\n\nConvert -\u003emedia_changed() to the new -\u003echeck_events() method.  The\nconversion is mostly mechanical.  The only notable change is that\ncdrom now doesn\u0027t generate any event if @slot_nr isn\u0027t CDSL_CURRENT.\nIt used to return -EINVAL which would be treated as media changed.  As\nmedia changer isn\u0027t supported anyway, this doesn\u0027t make any\ndifference.\n\nThis makes ide emit the standard disk events and allows kernel event\npolling.  Currently, only MEDIA_CHANGE event is implemented.  Adding\nsupport for EJECT_REQUEST shouldn\u0027t be difficult; however, given that\nide driver is already deprecated, it probably is best to leave it\nalone.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: linux-ide@vger.kernel.org\n"
    },
    {
      "commit": "69e02c59a7d962dced8047401b81a8d897e1702e",
      "tree": "c1dc1ef45a7f2e8cda6189eb441320bd637e877b",
      "parents": [
        "6936217cc7e58573026bdba25b1bfb778e8f2267"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "message": "block: Don\u0027t check events while open is in progress\n\nNot all block drivers clear events immediately after reporting.  Some\ndo so in -\u003erevalidate_disk() or other steps during -\u003eopen().  There is\na slim chance event poll may happen between the clearing event check\nfrom check_disk_change() and the actual clearing of the events which\nwould result in spurious events.\n\nBlock event checks while block device open is in progress.  There is\nno need to kick explicit event check afterwards as events are always\nchecked during open.\n\n-v2: The original patch could have called disk_unblock_events() with\n     an already released or %NULL @disk causing oops.  Fixed by making\n     sure references are put after disk_unblock_events() is called.\n     It also makes the error path of __blkdev_get() a bit simpler.\n     This problem was reported by Jens.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "6936217cc7e58573026bdba25b1bfb778e8f2267",
      "tree": "7ddfbc4912d9a29a9719c13b8d1b58a3b3291762",
      "parents": [
        "facc31ddc3570a3a0d8951c94f16b898e01b464d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "message": "block: Don\u0027t check events on close unless it was blocked\n\nThe block event mechanism currently always checks events when the\ndevice is being closed regardless of the open mode.  The intention was\nto allow detection of EJECT_REQUEST when a device is closed whether\ndisk event polling is enabled or not.\n\nThis is unnecessary as, for devices of interest, events are checked\nfrom either userland or kernel and in the former case -\u003echeck_events()\nis performed on open of each poll attempt anyway.  Furthermore, this\nunconditional event check on close makes the code susceptible to event\nloop if the block driver doesn\u0027t clear reported events correctly - an\nevent triggers userland to open and close the device which in turn\ncauses another event, rinse and repeat.\n\nCheck events on close only if it was blocked by excl write open.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "facc31ddc3570a3a0d8951c94f16b898e01b464d",
      "tree": "23b8294910c26cabb4335a418b7ca27e52eaaaa8",
      "parents": [
        "df457f845e5449be2e7d96668791f789b3770ac7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "message": "block: Don\u0027t implicitly trigger event check on disk_unblock_events()\n\nCurrently, disk_unblock_events() implicitly kick event check if the\nblock count reaches zero.  This behavior is not described in the\ncomment and hinders with future changes.  Make the unblocker\nexplicitly check events by calling disk_check_events() as necessary.\n\nThis patch doesn\u0027t cause any behavior difference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "df457f845e5449be2e7d96668791f789b3770ac7",
      "tree": "5279d8ad1379ab890a90453d5018bb473c90d7d5",
      "parents": [
        "df677140281beb608f6748c341af7612f7bfe7a0"
      ],
      "author": {
        "name": "Justin TerAvest",
        "email": "teravest@google.com",
        "time": "Tue Mar 08 19:45:00 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 08 19:45:00 2011 +0100"
      },
      "message": "blk-cgroup: Lower minimum weight from 100 to 10.\n\nWe\u0027ve found that we still get good, useful isolation at weights this\nlow. I\u0027d like to adjust the minimum so that any other changes can take\nthese values into account.\n\nSigned-off-by: Justin TerAvest \u003cteravest@google.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "df677140281beb608f6748c341af7612f7bfe7a0",
      "tree": "db977b703e36487ce956cc120bb021565810734f",
      "parents": [
        "de701c74a34005e637e1ca2634fbf28fd1debba2"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Mar 08 08:28:01 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 08 08:28:01 2011 +0100"
      },
      "message": "block: biovec_slab vs. CONFIG_BLK_DEV_INTEGRITY\n\nThe block integrity subsystem no longer uses the bio_vec slabs so this\ncode can safely be compiled in.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "de701c74a34005e637e1ca2634fbf28fd1debba2",
      "tree": "45a4af16e2a76cbf5866cfb3f284956988918a13",
      "parents": [
        "231d704b4ab7491473c0b1a9cd0c6e0d1cba85b9"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Mon Mar 07 21:09:32 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Mar 07 21:09:32 2011 +0100"
      },
      "message": "blk-throttle: Some cleanups and race fixes in limit  update code\n\nWhen throttle group limits are updated through cgroups, a thread is\nwoken up to process these updates. While reviewing that code, oleg noted\ncouple of race conditions existed in the code and he also suggested that\ncode can be simplified.\n\nThis patch fixes the races simplifies the code based on Oleg\u0027s suggestions:\n\n\t- Use xchg().\n\t- Introduced a common function throtl_update_blkio_group_common()\n          which is shared now by all iops/bps update functions.\n\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\n\nFixed a merge issue, throtl_schedule_delayed_work() takes throtl_data\nas the argument now, not the queue.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "231d704b4ab7491473c0b1a9cd0c6e0d1cba85b9",
      "tree": "a4666d35b6e11f92eb0fc4506bdd7f65185a7aa6",
      "parents": [
        "b873c5d692d4d5453cceed18bb06c62bb1a73ac0"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Mon Mar 07 21:05:14 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Mar 07 21:05:14 2011 +0100"
      },
      "message": "blk-throttle: process limit change only through one function\n\nWith the help of cgroup interface one can go and upate the bps/iops\nlimits of existing group. Once the limits are udpated, a thread is\nwoken up to see if some blocked group needs recalculation based on new\nlimits and needs to be requeued.\n\nThere was also a piece of code where I was checking for group limit\nupdate when a fresh bio comes in. This patch gets rid of that piece of\ncode and keeps processing the limit change at one place\nthrotl_process_limit_change().  It just keeps the code simple and easy\nto understand.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "b873c5d692d4d5453cceed18bb06c62bb1a73ac0",
      "tree": "f9d5816bc26ced37f187a141ee6c74c7b8e00fcf",
      "parents": [
        "a60327107b56573c305ecc78e471dbdbb4d2f426",
        "e83a46bbb1d4c03defd733a64b727632a40059ad"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Mar 07 09:40:21 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Mar 07 09:40:21 2011 +0100"
      },
      "message": "Merge branch \u0027block-for-2.6.39-core\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/tj/misc into for-2.6.39/core\n"
    },
    {
      "commit": "a60327107b56573c305ecc78e471dbdbb4d2f426",
      "tree": "239521730642bc2f263d1daa9c49737467d6c1b9",
      "parents": [
        "ef8a41df8c140f10108de75b01b6369d6e49113c"
      ],
      "author": {
        "name": "Gui Jianfeng",
        "email": "guijianfeng@cn.fujitsu.com",
        "time": "Mon Mar 07 09:28:09 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Mar 07 09:28:09 2011 +0100"
      },
      "message": "cfq-iosched: Fix update_vdisktime logic\n\nThe update_vdisktime logic is broken since commit\nb54ce60eb7f61f8e314b8b241b0469eda3bb1d42, st-\u003emin_vdisktime never makes\na progress. Fix it.\n\nThanks Vivek for pointing it out.\n\nSigned-off-by: Gui Jianfeng \u003cguijianfen@cn.fujitsu.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "ef8a41df8c140f10108de75b01b6369d6e49113c",
      "tree": "2407ce27d3b51205a56193f26db1c1b40a5c556f",
      "parents": [
        "93803e0140c6216b68fe926ccc611297120da273"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Mon Mar 07 09:26:29 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Mar 07 09:26:29 2011 +0100"
      },
      "message": "cfq-iosched: give busy sync queue no dispatch limit\n\nIf there are a sync and an async queue and the sync queue\u0027s think time\nis small, we can ignore the sync queue\u0027s dispatch quantum. Because the\nsync queue will always preempt the async queue, we don\u0027t need to care\nabout async\u0027s latency.  This can fix a performance regression of\naiostress test, which is introduced by commit f8ae6e3eb825. The issue\nshould exist even without the commit, but the commit amplifies the\nimpact.\n\nThe initial post does the same optimization for RT queue too, but since\nI have no real workload for it, Vivek suggests to drop it.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nReviewed-by: Gui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "93803e0140c6216b68fe926ccc611297120da273",
      "tree": "c70e354f3029a00f83293b0d6bedf6738437ebab",
      "parents": [
        "da527770007fce8e4541947d47918248286da875"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Mar 07 08:59:06 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Mar 07 08:59:06 2011 +0100"
      },
      "message": "cfq-iosched: fix race in cfq_set_request()\n\nWe need to hold the queue lock over the reference increment,\nit\u0027s not atomic anymore.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "e83a46bbb1d4c03defd733a64b727632a40059ad",
      "tree": "c4bc4822b2d3af1bf38095f531adc0a2aac054a5",
      "parents": [
        "da527770007fce8e4541947d47918248286da875",
        "fd51469fb68b987032e46297e0a4fe9020063c20"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Mar 04 19:09:02 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Mar 04 19:09:02 2011 +0100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of ../linux-2.6-block into block-for-2.6.39/core\n\nThis merge creates two set of conflicts.  One is simple context\nconflicts caused by removal of throtl_scheduled_delayed_work() in\nfor-linus and removal of throtl_shutdown_timer_wq() in\nfor-2.6.39/core.\n\nThe other is caused by commit 255bb490c8 (block: blk-flush shouldn\u0027t\ncall directly into q-\u003erequest_fn() __blk_run_queue()) in for-linus\ncrashing with FLUSH reimplementation in for-2.6.39/core.  The conflict\nisn\u0027t trivial but the resolution is straight-forward.\n\n* __blk_run_queue() calls in flush_end_io() and flush_data_end_io()\n  should be called with @force_kblockd set to %true.\n\n* elv_insert() in blk_kick_flush() should use\n  %ELEVATOR_INSERT_REQUEUE.\n\nBoth changes are to avoid invoking -\u003erequest_fn() directly from\nrequest completion path and closely match the changes in the commit\n255bb490c8.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "fd51469fb68b987032e46297e0a4fe9020063c20",
      "tree": "a108634afe0a0b2113f5df6ef5c00be2087f51c3",
      "parents": [
        "2d3a8497f8cc5aca14b722cd37d51f6c15ff9f74"
      ],
      "author": {
        "name": "Petr Uzel",
        "email": "petr.uzel@suse.cz",
        "time": "Thu Mar 03 11:48:50 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 03 11:53:25 2011 -0500"
      },
      "message": "block: kill loop_mutex\n\nFollowing steps lead to deadlock in kernel:\n\ndd if\u003d/dev/zero of\u003dimg bs\u003d512 count\u003d1000\nlosetup -f img\nmkfs.ext2 /dev/loop0\nmount -t ext2 -o loop /dev/loop0 mnt\numount mnt/\n\nStacktrace:\n[\u003cc102ec04\u003e] irq_exit+0x36/0x59\n[\u003cc101502c\u003e] smp_apic_timer_interrupt+0x6b/0x75\n[\u003cc127f639\u003e] apic_timer_interrupt+0x31/0x38\n[\u003cc101df88\u003e] mutex_spin_on_owner+0x54/0x5b\n[\u003cfe2250e9\u003e] lo_release+0x12/0x67 [loop]\n[\u003cc10c4eae\u003e] __blkdev_put+0x7c/0x10c\n[\u003cc10a4da5\u003e] fput+0xd5/0x1aa\n[\u003cfe2250cf\u003e] loop_clr_fd+0x1a9/0x1b1 [loop]\n[\u003cfe225110\u003e] lo_release+0x39/0x67 [loop]\n[\u003cc10c4eae\u003e] __blkdev_put+0x7c/0x10c\n[\u003cc10a59d9\u003e] deactivate_locked_super+0x17/0x36\n[\u003cc10b6f37\u003e] sys_umount+0x27e/0x2a5\n[\u003cc10b6f69\u003e] sys_oldumount+0xb/0xe\n[\u003cc1002897\u003e] sysenter_do_call+0x12/0x26\n[\u003cffffffff\u003e] 0xffffffff\n\nRegression since 2a48fc0ab24241755dc9, which introduced the private\nloop_mutex as part of the BKL removal process.\n\nAs per [1], the mutex can be safely removed.\n\n[1] http://www.gossamer-threads.com/lists/linux/kernel/1341930\n\nAddresses: https://bugzilla.novell.com/show_bug.cgi?id\u003d669394\nAddresses: https://bugzilla.kernel.org/show_bug.cgi?id\u003d29172\n\nSigned-off-by: Petr Uzel \u003cpetr.uzel@suse.cz\u003e\nCc: stable@kernel.org\nReviewed-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "2d3a8497f8cc5aca14b722cd37d51f6c15ff9f74",
      "tree": "2e0013fdc1eec486a425e666a885b04a1c37befb",
      "parents": [
        "255bb490c8c27eed484d538efe6ef6a7473bd3f6"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Mar 03 10:53:20 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 03 10:53:20 2011 -0500"
      },
      "message": "blktrace: Remove blk_fill_rwbs_rq.\n\nIf we enable trace events to trace block actions, We use\nblk_fill_rwbs_rq to analyze the corresponding actions\nin request\u0027s cmd_flags, but we only choose the minor 2 bits\nfrom it, so most of other flags(e.g, REQ_SYNC) are missing.\nFor example, with a sync write we get:\nwrite_test-2409  [001]   160.013869: block_rq_insert: 3,64 W 0 () 258135 + \u003d\n8 [write_test]\n\nSince now we have integrated the flags of both bio and request,\nit is safe to pass rq-\u003ecmd_flags directly to blk_fill_rwbs and\nblk_fill_rwbs_rq isn\u0027t needed any more.\n\nWith this patch, after a sync write we get:\nwrite_test-2417  [000]   226.603878: block_rq_insert: 3,64 WS 0 () 258135 +\u003d\n 8 [write_test]\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nAcked-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "da527770007fce8e4541947d47918248286da875",
      "tree": "fc518172887409133e8dea827067209adfdb1c3c",
      "parents": [
        "cd25f54961273c2e4cbd47441e04832468382a5e"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Wed Mar 02 19:05:33 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 02 19:06:49 2011 -0500"
      },
      "message": "block: Move blk_throtl_exit() call to blk_cleanup_queue()\n\nMove blk_throtl_exit() in blk_cleanup_queue() as blk_throtl_exit() is\nwritten in such a way that it needs queue lock. In blk_release_queue()\nthere is no gurantee that -\u003equeue_lock is still around.\n\nInitially blk_throtl_exit() was in blk_cleanup_queue() but Ingo reported\none problem.\n\n  https://lkml.org/lkml/2010/10/23/86\n\n  And a quick fix moved blk_throtl_exit() to blk_release_queue().\n\n        commit 7ad58c028652753814054f4e3ac58f925e7343f4\n        Author: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n        Date:   Sat Oct 23 20:40:26 2010 +0200\n\n        block: fix use-after-free bug in blk throttle code\n\nThis patch reverts above change and does not try to shutdown the\nthrotl work in blk_sync_queue(). By avoiding call to\nthrotl_shutdown_timer_wq() from blk_sync_queue(), we should also avoid\nthe problem reported by Ingo.\n\nblk_sync_queue() seems to be used only by md driver and it seems to be\nusing it to make sure q-\u003eunplug_fn is not called as md registers its\nown unplug functions and it is about to free up the data structures\nused by unplug_fn(). Block throttle does not call back into unplug_fn()\nor into md. So there is no need to cancel blk throttle work.\n\nIn fact I think cancelling block throttle work is bad because it might\nhappen that some bios are throttled and scheduled to be dispatched later\nwith the help of pending work and if work is cancelled, these bios might\nnever be dispatched.\n\nBlock layer also uses blk_sync_queue() during blk_cleanup_queue() and\nblk_release_queue() time. That should be safe as we are also calling\nblk_throtl_exit() which should make sure all the throttling related\ndata structures are cleaned up.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "cd25f54961273c2e4cbd47441e04832468382a5e",
      "tree": "1c0e0442ce87000c2f24d13892aea3371b056153",
      "parents": [
        "c94a96ac93b4f5b8d1ff8430b1afa1a25610cf53"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Wed Mar 02 19:04:50 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 02 19:06:49 2011 -0500"
      },
      "message": "loop: No need to initialize -\u003equeue_lock explicitly before calling blk_cleanup_queue()\n\nNow we initialize -\u003equeue_lock at queue allocation time so driver does\nnot have to worry about initializing it before calling\nblk_cleanup_queue().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "c94a96ac93b4f5b8d1ff8430b1afa1a25610cf53",
      "tree": "3cc138b16df4c0802ec42868a6d1f2eed42ba695",
      "parents": [
        "53f22956effe1c9e7961b8c6e4362ecca5e460b7"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Wed Mar 02 19:04:42 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 02 19:06:49 2011 -0500"
      },
      "message": "block: Initialize -\u003equeue_lock to internal lock at queue allocation time\n\nThere does not seem to be a clear convention whether q-\u003equeue_lock is\ninitialized or not when blk_cleanup_queue() is called. In the past it\nwas not necessary but now blk_throtl_exit() takes up queue lock by\ndefault and needs queue lock to be available.\n\nIn fact elevator_exit() code also has similar requirement just that it\nis less stringent in the sense that elevator_exit() is called only if\nelevator is initialized.\n\nTwo problems have been noticed because of ambiguity about spin lock\nstatus.\n\n      - If a driver calls blk_alloc_queue() and then soon calls\n        blk_cleanup_queue() almost immediately, (because some other\n\tdriver structure allocation failed or some other error happened)\n\tthen blk_throtl_exit() will run into issues as queue lock is not\n\tinitialized. Loop driver ran into this issue recently and I\n\tnoticed error paths in md driver too. Similar error paths should\n\texist in other drivers too.\n\n      - If some driver provided external spin lock and zapped the lock\n        before blk_cleanup_queue(), then it can lead to issues.\n\nSo this patch initializes the default queue lock at queue allocation time.\n\nblock throttling code is one of the users of queue lock and it is\ninitialized at the queue allocation time, so it makes sense to\ninitialize -\u003equeue_lock also to internal lock. A driver can overide that\nlock later. This will take care of the issue where a driver does not have\nto worry about initializing the queue lock to default before calling\nblk_cleanup_queue()\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "53f22956effe1c9e7961b8c6e4362ecca5e460b7",
      "tree": "a2f897a90971f68f0e10d065fe3289a243f2aa19",
      "parents": [
        "0bbfeb8320421989d3e12bd95fae86b9ac0712aa"
      ],
      "author": {
        "name": "Liu Yuan",
        "email": "tailai.ly@taobao.com",
        "time": "Wed Mar 02 11:00:15 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 02 11:00:15 2011 -0500"
      },
      "message": "block/genhd: Change some numerals into macros\n\nRename the numerals in the diskstats_show() into the macros.\n\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Liu Yuan \u003ctailai.ly@taobao.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "255bb490c8c27eed484d538efe6ef6a7473bd3f6",
      "tree": "630289b9de253a1f0575f29d2de019494016ff79",
      "parents": [
        "1654e7411a1ad4999fe7890ef51d2a2bbb1fcf76"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 02 08:48:06 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 02 08:48:06 2011 -0500"
      },
      "message": "block: blk-flush shouldn\u0027t call directly into q-\u003erequest_fn() __blk_run_queue()\n\nblk-flush decomposes a flush into sequence of multiple requests.  On\ncompletion of a request, the next one is queued; however, block layer\nmust not implicitly call into q-\u003erequest_fn() directly from completion\npath.  This makes the queue behave unexpectedly when seen from the\ndrivers and violates the assumption that q-\u003erequest_fn() is called\nwith process context + queue_lock.\n\nThis patch makes blk-flush the following two changes to make sure\nq-\u003erequest_fn() is not called directly from request completion path.\n\n- blk_flush_complete_seq_end_io() now asks __blk_run_queue() to always\n  use kblockd instead of calling directly into q-\u003erequest_fn().\n\n- queue_next_fseq() uses ELEVATOR_INSERT_REQUEUE instead of\n  ELEVATOR_INSERT_FRONT so that elv_insert() doesn\u0027t try to unplug the\n  request queue directly.\n\nReported by Jan in the following threads.\n\n http://thread.gmane.org/gmane.linux.ide/48778\n http://thread.gmane.org/gmane.linux.ide/48786\n\nstable: applicable to v2.6.37.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Jan Beulich \u003cJBeulich@novell.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "1654e7411a1ad4999fe7890ef51d2a2bbb1fcf76",
      "tree": "c8071cf8cc1aef9e776697b72aaca5a22a47c3d7",
      "parents": [
        "291d24f6d9e7bbef81454fade8a44720665c7302"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 02 08:48:05 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 02 08:48:05 2011 -0500"
      },
      "message": "block: add @force_kblockd to __blk_run_queue()\n\n__blk_run_queue() automatically either calls q-\u003erequest_fn() directly\nor schedules kblockd depending on whether the function is recursed.\nblk-flush implementation needs to be able to explicitly choose\nkblockd.  Add @force_kblockd.\n\nAll the current users are converted to specify %false for the\nparameter and this patch doesn\u0027t introduce any behavior change.\n\nstable: This is prerequisite for fixing ide oops caused by the new\n        blk-flush implementation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "0bbfeb8320421989d3e12bd95fae86b9ac0712aa",
      "tree": "a23bb6686bd2586fe7c27d0773c63f9aeb254cd1",
      "parents": [
        "6fae9c25134baffbeeb20031479e7ff6f6d8eec0"
      ],
      "author": {
        "name": "Justin TerAvest",
        "email": "teravest@google.com",
        "time": "Tue Mar 01 15:05:08 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 01 15:05:08 2011 -0500"
      },
      "message": "cfq-iosched: Always provide group isolation.\n\nEffectively, make group_isolation\u003d1 the default and remove the tunable.\nThe setting group_isolation\u003d0 was because by default we idle on\nsync-noidle tree and on fast devices, this can be very harmful for\nthroughput.\n\nHowever, this problem can also be addressed by tuning slice_idle and\npossibly group_idle on faster storage devices.\n\nThis change simplifies the CFQ code by removing the feature entirely.\n\nSigned-off-by: Justin TerAvest \u003cteravest@google.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6fae9c25134baffbeeb20031479e7ff6f6d8eec0",
      "tree": "c9ab89992ce5293a43cd455a81dc8a5926a28a5e",
      "parents": [
        "c186794dbb466b45cf40f942f2d09d6d5b4b0e42",
        "f5412be599602124d2bdd49947b231dd77c0bf99"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 01 15:04:39 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 01 15:04:39 2011 -0500"
      },
      "message": "Merge commit \u0027v2.6.38-rc6\u0027 into for-2.6.39/core\n\nConflicts:\n\tblock/cfq-iosched.c\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "291d24f6d9e7bbef81454fade8a44720665c7302",
      "tree": "8e23a24b51e9a0106cbd7e5375e53a972794b8cd",
      "parents": [
        "450adcbe518ab3a3953d8475309525d22de77cba"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Mar 01 13:45:24 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 01 13:45:24 2011 -0500"
      },
      "message": "block: fix kernel-doc format for blkdev_issue_zeroout\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "450adcbe518ab3a3953d8475309525d22de77cba",
      "tree": "352fd47d75b86804e590fd88c09f953a798ba8b0",
      "parents": [
        "3e1f2356ce231488dc1fa844e5ce91bcb59fc2a1"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Tue Mar 01 13:40:54 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 01 13:41:53 2011 -0500"
      },
      "message": "blk-throttle: Do not use kblockd workqueue for throtl work\n\no Dominik Klein reported a system hang issue while doing some blkio\n  throttling testing.\n\n  https://lkml.org/lkml/2011/2/24/173\n\no Some tracing revealed that CFQ was not dispatching any more jobs as\n  queue unplug was not happening. And queue unplug was not happening\n  because unplug work was not being called as there was one throttling\n  work on same cpu which as not finished yet. And throttling work had not\n  finished as it was tyring to dispatch a bio to CFQ but all the request\n  descriptors were consume to it was put to sleep.\n\no So basically it is a cyclic dependecny between CFQ unplug work and\n  throtl dispatch work. Tejun suggested that use separate workqueue for\n  such cases.\n\no This patch uses a separate workqueue for throttle related work and\n  does not rely on kblockd workqueue anymore.\n\nCc: stable@kernel.org\nReported-by: Dominik Klein \u003cdk@in-telegence.net\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "3e1f2356ce231488dc1fa844e5ce91bcb59fc2a1",
      "tree": "8a72df51c0ff3f7ac9e15b841e6a889c9202ba67",
      "parents": [
        "e6eb5ce1b202ac9cdcfda5be559c9b9d8ec7542c",
        "a7254d68b61c7873ce20591f0c56bf0245b72a76"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 18:09:02 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 18:09:02 2011 -0800"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging:\n  hwmon: (adt7411) add MODULE_DEVICE_TABLE\n  hwmon: (ad7414) add MODULE_DEVICE_TABLE\n"
    },
    {
      "commit": "e6eb5ce1b202ac9cdcfda5be559c9b9d8ec7542c",
      "tree": "804e89136479b335c2d4dd14dd6cbf8041a8ff8a",
      "parents": [
        "af06216a8ef1c430cc6ad22b562f3a11a512c5dd"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Feb 26 10:54:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 18:08:31 2011 -0800"
      },
      "message": "fs/block_dev.c: fix new kernel-doc warning\n\nFix new kernel-doc warning in fs/block_dev.c:\n\nWarning(fs/block_dev.c:937): No description found for parameter \u0027kill_dirty\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af06216a8ef1c430cc6ad22b562f3a11a512c5dd",
      "tree": "8c258db7e165cc160a8c85c3d06afa5f1e07a063",
      "parents": [
        "dbc39ec4b69de34e2c2c937131649cc4a104283f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 01 01:12:19 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 18:00:31 2011 -0800"
      },
      "message": "ACPI: Fix build for CONFIG_NET unset\n\nSeveral ACPI drivers fail to build if CONFIG_NET is unset, because\nthey refer to things depending on CONFIG_THERMAL that in turn depends\non CONFIG_NET.  However, CONFIG_THERMAL doesn\u0027t really need to depend\non CONFIG_NET, because the only part of it requiring CONFIG_NET is\nthe netlink interface in thermal_sys.c.\n\nPut the netlink interface in thermal_sys.c under #ifdef CONFIG_NET\nand remove the dependency of CONFIG_THERMAL on CONFIG_NET from\ndrivers/thermal/Kconfig.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Luming Yu \u003cluming.yu@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dbc39ec4b69de34e2c2c937131649cc4a104283f",
      "tree": "23a034fb6994c91289adc830e33ced1d2618d04f",
      "parents": [
        "4f427634b127f5fdc4e9fd2e5780f0a6caef936b",
        "467a29ea5ad1c1e3b1ffd6aab1166331fcd39361"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:58:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:58:09 2011 -0800"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm: fix unsigned vs signed comparison issue in modeset ctl ioctl.\n  drm/nv50-nvc0: make sure vma is definitely unmapped when destroying bo\n"
    },
    {
      "commit": "4f427634b127f5fdc4e9fd2e5780f0a6caef936b",
      "tree": "1c1651abea7d54a9de8d852030a344a1705253f6",
      "parents": [
        "7f233dee2149245bc7ee1194c31a04ea43cd127e",
        "02fa9f0451ac639a687bfc145eefe58703ff220e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:57:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:57:30 2011 -0800"
      },
      "message": "Merge branch \u0027omap-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6\n\n* \u0027omap-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:\n  omap4: prcm: Fix the CPUx clockdomain offsets\n  OMAP2+: clocksource: fix crash on boot when !CONFIG_OMAP_32K_TIMER\n  OMAP2/3: clock: fix fint calculation for DPLL_FREQSEL\n  OMAP2+: mailbox: fix lookups for multiple mailboxes\n  OMAP2420: mailbox: fix IVA vs DSP IRQ numbering\n  mach-omap2: smartreflex: world-writable debugfs voltage files\n  mach-omap2: pm: world-writable debugfs timer files\n  mach-omap2: mux: world-writable debugfs files\n"
    },
    {
      "commit": "7f233dee2149245bc7ee1194c31a04ea43cd127e",
      "tree": "84cf63b826aad6cb3c849a3368ede15d4473b51b",
      "parents": [
        "58da94f0139d848884ec4827593f1082276bbbf8",
        "54b08f5f90feebc9756d96e0c7bf2fdffe4af7c3",
        "299c56966a72b9109d47c71a6db52097098703dd",
        "3a142a0672b48a853f00af61f184c7341ac9c99d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:55:08 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:55:08 2011 -0800"
      },
      "message": "Merge branches \u0027perf-fixes-for-linus\u0027, \u0027x86-fixes-for-linus\u0027 and \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf timechart: Fix max number of cpus\n  perf timechart: Fix black idle boxes in the title\n  perf hists: Print number of samples, not the period sum\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Use u32 instead of long to set reset vector back to 0\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clockevents: Prevent oneshot mode when broadcast device is periodic\n"
    },
    {
      "commit": "58da94f0139d848884ec4827593f1082276bbbf8",
      "tree": "10c06edc4788327c53f53c8b9b67236ffb718d0e",
      "parents": [
        "158a5d61f780b707da0b559cf60d72294006aa97",
        "8d56addd70c7c0626502569e22cc8fce49ae39f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:53:04 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:53:04 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: fix truncate after open\n  fuse: fix hang of single threaded fuseblk filesystem\n"
    },
    {
      "commit": "158a5d61f780b707da0b559cf60d72294006aa97",
      "tree": "f4e86dfdca114123f282ba9000ee7470844e91c0",
      "parents": [
        "c4319c7db8c3805e4811eaceeee6c2fa51411bd4",
        "52c303c56c3638944b5f733e3961dc58eb8c7270"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:52:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:52:47 2011 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Check heartbeat mode for kernel stacks only\n  Ocfs2/refcounttree: Fix a bug for refcounttree to writeback clusters in a right number.\n  ocfs2: Fix estimate of necessary credits for mkdir\n"
    },
    {
      "commit": "c4319c7db8c3805e4811eaceeee6c2fa51411bd4",
      "tree": "d47c9a0e422695fba3120af9fa3310e811bba723",
      "parents": [
        "fbd71844852c9458bf73c7cbdae7189c2d4b377c",
        "11be6a269d2ad3e94c0597f21786092b8340a822"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:47:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:47:09 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  eukrea-tlv320: fix platform_name\n  ASoC: correct pxa AC97 DAI names\n  ALSA: hda - Add support for new IDT 92HD98 and 92HD99 codecs\n  ALSA: HDA: Add ideapad quirk for two Dell machines\n  ALSA: HDA: Add a new Conexant codec 506e (20590)\n  ALSA: usb-audio: fix oops due to cleanup race when disconnecting\n  ASoC: Hook wm_hubs micbiases up to CLK_SYS\n  ASoC: Correct definition of WM8903_VMID_RES_5K\n  ASoC: Fix WM8958 default microphone detection argument ordering\n  ALSA: HDA: Fix mic initialization in VIA auto parser\n  ALSA: fix one memory leak in sound jack\n"
    },
    {
      "commit": "fbd71844852c9458bf73c7cbdae7189c2d4b377c",
      "tree": "30127c1231cff88df019fa775a630a1bb2374a31",
      "parents": [
        "493f3358cb289ccf716c5a14fa5bb52ab75943e5"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Sun Feb 27 05:41:35 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 17:46:49 2011 -0800"
      },
      "message": "mm: \u003casm-generic/pgtable.h\u003e must include \u003clinux/mm_types.h\u003e\n\nCommit e2cda3226481 (\"thp: add pmd mangling generic functions\") replaced\nsome macros in \u003casm-generic/pgtable.h\u003e with inline functions.\n\nIf the functions are to be defined (not all architectures need them)\nthen struct vm_area_struct must be defined first.  So include\n\u003clinux/mm_types.h\u003e.\n\nFixes a build failure seen in Debian:\n\n    CC [M]  drivers/media/dvb/mantis/mantis_pci.o\n  In file included from arch/arm/include/asm/pgtable.h:460,\n                   from drivers/media/dvb/mantis/mantis_pci.c:25:\n  include/asm-generic/pgtable.h: In function \u0027ptep_test_and_clear_young\u0027:\n  include/asm-generic/pgtable.h:29: error: dereferencing pointer to incomplete type\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "299c56966a72b9109d47c71a6db52097098703dd",
      "tree": "e2cbb4a2f38a6002cfb53112fc8e04e959585939",
      "parents": [
        "493f3358cb289ccf716c5a14fa5bb52ab75943e5"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Mon Feb 07 23:25:00 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 28 16:22:18 2011 +0100"
      },
      "message": "x86: Use u32 instead of long to set reset vector back to 0\n\nA customer of ours, complained that when setting the reset\nvector back to 0, it trashed other data and hung their box.\nThey noticed when only 4 bytes were set to 0 instead of 8,\neverything worked correctly.\n\nMathew pointed out:\n\n |\n | We\u0027re supposed to be resetting trampoline_phys_low and\n | trampoline_phys_high here, which are two 16-bit values.\n | Writing 64 bits is definitely going to overwrite space\n | that we\u0027re not supposed to be touching.\n |\n\nSo limit the area modified to u32.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1297139100-424-1-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54b08f5f90feebc9756d96e0c7bf2fdffe4af7c3",
      "tree": "1187a88a0bd3250b2093086e961403e2cb767b25",
      "parents": [
        "e853072055a01d8b3c4dc89d231649189454c4f1"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Sun Feb 27 22:36:46 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 28 08:56:15 2011 +0100"
      },
      "message": "perf timechart: Fix max number of cpus\n\nCurrently numcpus is determined in pid_put_sample which is only\ncalled on sched_switch/sched_wakeup sample processing.\n\nOn a machine with a lot cpus I often saw the last cpu missing.\n\nCheck for (max) numcpus on every event happening and in the\nbeginning. -\u003e fixes the issue for me.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: lenb@kernel.org\nLKML-Reference: \u003c1298842606-55712-6-git-send-email-trenn@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e853072055a01d8b3c4dc89d231649189454c4f1",
      "tree": "dbb21ff1ae1b56dc60132bfdf71d2126f591d78d",
      "parents": [
        "69cf0218d1f0d1d8f14687fec070126021502451"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Sun Feb 27 22:36:45 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 28 08:56:14 2011 +0100"
      },
      "message": "perf timechart: Fix black idle boxes in the title\n\nThis fix is needed for eye of gnome and firefox svg viewers.\nOnly Inkscape can handle the broken case.\n\nCompare with the other svg_legenda_box declarations, looks\nlike a typo slipped in at this place.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: lenb@kernel.org\nLKML-Reference: \u003c1298842606-55712-5-git-send-email-trenn@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "467a29ea5ad1c1e3b1ffd6aab1166331fcd39361",
      "tree": "596eff2f23ed4a40ea83083b0ac1811a93c1f649",
      "parents": [
        "1922756124ddd53846877416d92ba4a802bc658f",
        "7db26623257a16c901a4b77bfc5096ee05304932"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Feb 28 15:35:16 2011 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Feb 28 15:35:16 2011 +1000"
      },
      "message": "Merge remote branch \u0027nouveau/drm-nouveau-fixes\u0027 of /ssd/git/drm-nouveau-next into drm-fixes\n\n* \u0027nouveau/drm-nouveau-fixes\u0027 of /ssd/git/drm-nouveau-next:\n  drm/nv50-nvc0: make sure vma is definitely unmapped when destroying bo\n"
    },
    {
      "commit": "1922756124ddd53846877416d92ba4a802bc658f",
      "tree": "22b5b5e5457d5eab364cd2c860814b29874e56f7",
      "parents": [
        "3c0556e9673f79e386b27768e27d18b3ce29e40e"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Feb 24 08:35:06 2011 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Feb 28 15:24:35 2011 +1000"
      },
      "message": "drm: fix unsigned vs signed comparison issue in modeset ctl ioctl.\n\nThis fixes CVE-2011-1013.\n\nReported-by: Matthiew Herrb (OpenBSD X.org team)\nCc: stable@kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "7db26623257a16c901a4b77bfc5096ee05304932",
      "tree": "6c92f51db3b30ed6089f25b80e21d296bb4639a5",
      "parents": [
        "3c0556e9673f79e386b27768e27d18b3ce29e40e"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Mon Feb 28 14:22:12 2011 +1000"
      },
      "committer": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Mon Feb 28 15:00:16 2011 +1000"
      },
      "message": "drm/nv50-nvc0: make sure vma is definitely unmapped when destroying bo\n\nSomehow fixes a misrendering + hang at GDM startup on my NVA8...\n\nMy first guess would have been stale TLB entries laying around that a new\nbo then accidentally inherits.  That doesn\u0027t make a great deal of sense\nhowever, as when we mapped the pages for the new bo the TLBs would\u0027ve\ngotten flushed anyway.\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\n"
    },
    {
      "commit": "a7254d68b61c7873ce20591f0c56bf0245b72a76",
      "tree": "94380b94352586be8ab9d7488b7c918b0c4615e4",
      "parents": [
        "6407deb59466372fd7addca38fa2f44898591897"
      ],
      "author": {
        "name": "axel lin",
        "email": "axel.lin@gmail.com",
        "time": "Thu Feb 24 02:22:01 2011 +0000"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Sat Feb 26 08:59:32 2011 -0800"
      },
      "message": "hwmon: (adt7411) add MODULE_DEVICE_TABLE\n\nThe device table is required to load modules based on modaliases.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "6407deb59466372fd7addca38fa2f44898591897",
      "tree": "0b59111e3f77d1ed1f5037d116d02d71d5a6eb9d",
      "parents": [
        "493f3358cb289ccf716c5a14fa5bb52ab75943e5"
      ],
      "author": {
        "name": "axel lin",
        "email": "axel.lin@gmail.com",
        "time": "Thu Feb 24 02:20:37 2011 +0000"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Sat Feb 26 08:59:32 2011 -0800"
      },
      "message": "hwmon: (ad7414) add MODULE_DEVICE_TABLE\n\nThe device table is required to load modules based on modaliases.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "11be6a269d2ad3e94c0597f21786092b8340a822",
      "tree": "a1b244c74f210750d0bb7a6af03332d7ccbfacbd",
      "parents": [
        "4dfb8a45d533808e78d67ef27e0a47d456c12a92",
        "43c63188821dc21b2af23a40a18faea6e386e90a"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Sat Feb 26 11:27:47 2011 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Sat Feb 26 11:27:47 2011 +0100"
      },
      "message": "Merge branch \u0027fix/asoc\u0027 into for-linus\n"
    },
    {
      "commit": "3a142a0672b48a853f00af61f184c7341ac9c99d",
      "tree": "e84f2647dc2ae71f2e54f2256ebce87624c11d97",
      "parents": [
        "493f3358cb289ccf716c5a14fa5bb52ab75943e5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 25 22:34:23 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 26 09:45:28 2011 +0100"
      },
      "message": "clockevents: Prevent oneshot mode when broadcast device is periodic\n\nWhen the per cpu timer is marked CLOCK_EVT_FEAT_C3STOP, then we only\ncan switch into oneshot mode, when the backup broadcast device\nsupports oneshot mode as well. Otherwise we would try to switch the\nbroadcast device into an unsupported mode unconditionally. This went\nunnoticed so far as the current available broadcast devices support\noneshot mode. Seth unearthed this problem while debugging and working\naround an hpet related BIOS wreckage.\n\nAdd the necessary check to tick_is_oneshot_available().\n\nReported-and-tested-by: Seth Forshee \u003cseth.forshee@canonical.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1102252231200.2701@localhost6.localdomain6\u003e\nCc: stable@kernel.org # .21 -\u003e\n"
    },
    {
      "commit": "493f3358cb289ccf716c5a14fa5bb52ab75943e5",
      "tree": "86b5385a63281824908d59107066b1267f75a386",
      "parents": [
        "fe41947e1aa12e96a50edaee123b4e4de03b668b",
        "805bdaec1a44155db35f6ee5410d6bbc365324a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:15:17 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:15:17 2011 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Make ACPI wakeup from S5 work again when CONFIG_PM_SLEEP is unset\n"
    },
    {
      "commit": "fe41947e1aa12e96a50edaee123b4e4de03b668b",
      "tree": "fe29db5a488a7bb175801102c3d9372c7e5bbe1d",
      "parents": [
        "99b0d365e5ade293c5fa25a9f1a49ac764656670"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Fri Feb 25 14:44:31 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:37 2011 -0800"
      },
      "message": "rapidio: fix sysfs config attribute to access 16MB of maint space\n\nFixes sysfs config attribute to allow access to entire 16MB maintenance\nspace of RapidIO devices.\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\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99b0d365e5ade293c5fa25a9f1a49ac764656670",
      "tree": "990a7b08fa9be6e347c4325fd976ad3df2181a08",
      "parents": [
        "e5598f8bf5449bc09e4005600ead32e6f2a3e79b"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "lasaine@lvk.cs.msu.su",
        "time": "Fri Feb 25 14:44:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:37 2011 -0800"
      },
      "message": "pps: initialize ts_real properly\n\nInitialize ts_real.flags to fix compiler warning about possible\nuninitialized use of this field.\n\nSigned-off-by: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5598f8bf5449bc09e4005600ead32e6f2a3e79b",
      "tree": "c9c26f9274668d2d47e444d512b2d3d892f9c314",
      "parents": [
        "8eac563c1c3a2047083022357ae63722b19e4e08"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Fri Feb 25 14:44:29 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:37 2011 -0800"
      },
      "message": "memcg: more mem_cgroup_uncharge() batching\n\nIt seems odd that truncate_inode_pages_range(), called not only when\ntruncating but also when evicting inodes, has mem_cgroup_uncharge_start\nand _end() batching in its second loop to clear up a few leftovers, but\nnot in its first loop that does almost all the work: add them there too.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8eac563c1c3a2047083022357ae63722b19e4e08",
      "tree": "724280edfbf6bd8206b0cc0337ee242d2a2518e0",
      "parents": [
        "7137c6bd455234bcb7560fd829e6ee49cae5fed6"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Fri Feb 25 14:44:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:37 2011 -0800"
      },
      "message": "thp: fix interleaving for transparent hugepages\n\nThe THP code didn\u0027t pass the correct interleaving shift to the memory\npolicy code.  Fix this here by adjusting for the order.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7137c6bd455234bcb7560fd829e6ee49cae5fed6",
      "tree": "7b463cfaf8a051fd6bc2bd2aaf4141659c982ee5",
      "parents": [
        "3bd9a5d734c7cc7533b27abf451416c7f50095a7"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Feb 25 14:44:27 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:37 2011 -0800"
      },
      "message": "aio: fix race between io_destroy() and io_submit()\n\nA race can occur when io_submit() races with io_destroy():\n\n CPU1\t\t\t\t\t\tCPU2\nio_submit()\n  do_io_submit()\n    ...\n    ctx \u003d lookup_ioctx(ctx_id);\n\t\t\t\t\t\tio_destroy()\n    Now do_io_submit() holds the last reference to ctx.\n    ...\n    queue new AIO\n    put_ioctx(ctx) - frees ctx with active AIOs\n\nWe solve this issue by checking whether ctx is being destroyed in AIO\nsubmission path after adding new AIO to ctx.  Then we are guaranteed that\neither io_destroy() waits for new AIO or we see that ctx is being\ndestroyed and bail out.\n\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3bd9a5d734c7cc7533b27abf451416c7f50095a7",
      "tree": "357fc4ec95d7163cb96891151df51f6d7d130d0a",
      "parents": [
        "29723fccc837d20039078f7a571e8d457eb0d6c6"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@gmail.com",
        "time": "Fri Feb 25 14:44:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:37 2011 -0800"
      },
      "message": "aio: fix rcu ioctx lookup\n\naio-dio-invalidate-failure GPFs in aio_put_req from io_submit.\n\nlookup_ioctx doesn\u0027t implement the rcu lookup pattern properly.\nrcu_read_lock does not prevent refcount going to zero, so we might take\na refcount on a zero count ioctx.\n\nFix the bug by atomically testing for zero refcount before incrementing.\n\n[jack@suse.cz: added comment into the code]\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29723fccc837d20039078f7a571e8d457eb0d6c6",
      "tree": "f11e37b20388eb12f04ae8718b247e931ce99379",
      "parents": [
        "a2d6d2fa90c0e1d2cc1d59ccb5bbe93bb28b7413"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Fri Feb 25 14:44:25 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:37 2011 -0800"
      },
      "message": "mm: fix dubious code in __count_immobile_pages()\n\nWhen pfn_valid_within() failed \u0027iter\u0027 was incremented twice.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.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": "a2d6d2fa90c0e1d2cc1d59ccb5bbe93bb28b7413",
      "tree": "e3bfa7bba089dfee61efa7d8954fe3475e70f3a1",
      "parents": [
        "294f6cf48666825d23c9372ef37631232746e40d"
      ],
      "author": {
        "name": "Lei Xu",
        "email": "B33228@freescale.com",
        "time": "Fri Feb 25 14:44:23 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:37 2011 -0800"
      },
      "message": "drivers/rtc/rtc-ds3232.c: fix time range difference between linux and RTC chip\n\nIn linux rtc_time struct, tm_mon range is 0~11, tm_wday range is 0~6,\nwhile in RTC HW REG, month range is 1~12, day of the week range is 1~7,\nthis patch adjusts difference of them.\n\nThe efect of this bug was that most of month will be operated on as the\nnext month by the hardware (When in Jan it maybe even worse).  For\nexample, if in May, software wrote 4 to the hardware, which handled it as\nApril.  Then the logic would be different between software and hardware,\nwhich would cause weird things to happen.\n\nSigned-off-by: Lei Xu \u003cB33228@freescale.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Jack Lan \u003cjack.lan@freescale.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": "294f6cf48666825d23c9372ef37631232746e40d",
      "tree": "2190540b4d02534d17d1c4ee11b1ce96dba16daa",
      "parents": [
        "2876592f231d436c295b67726313f6f3cfb6e243"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "Warns@pre-sense.de",
        "time": "Fri Feb 25 14:44:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "ldm: corrupted partition table can cause kernel oops\n\nThe kernel automatically evaluates partition tables of storage devices.\nThe code for evaluating LDM partitions (in fs/partitions/ldm.c) contains\na bug that causes a kernel oops on certain corrupted LDM partitions.  A\nkernel subsystem seems to crash, because, after the oops, the kernel no\nlonger recognizes newly connected storage devices.\n\nThe patch changes ldm_parse_vmdb() to Validate the value of vblk_size.\n\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nAcked-by: Richard Russon \u003cldm@flatcap.org\u003e\nCc: Harvey Harrison \u003charvey.harrison@gmail.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": "2876592f231d436c295b67726313f6f3cfb6e243",
      "tree": "e53c6db2aed6e672481c31083287d79f32ad45f4",
      "parents": [
        "ac3c8304190ed0daaa2fb01ce2a069be5e2a52a7"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Fri Feb 25 14:44:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "mm: vmscan: stop reclaim/compaction earlier due to insufficient progress if !__GFP_REPEAT\n\nshould_continue_reclaim() for reclaim/compaction allows scanning to\ncontinue even if pages are not being reclaimed until the full list is\nscanned.  In terms of allocation success, this makes sense but potentially\nit introduces unwanted latency for high-order allocations such as\ntransparent hugepages and network jumbo frames that would prefer to fail\nthe allocation attempt and fallback to order-0 pages.  Worse, there is a\npotential that the full LRU scan will clear all the young bits, distort\npage aging information and potentially push pages into swap that would\nhave otherwise remained resident.\n\nThis patch will stop reclaim/compaction if no pages were reclaimed in the\nlast SWAP_CLUSTER_MAX pages that were considered.  For allocations such as\nhugetlbfs that use __GFP_REPEAT and have fewer fallback options, the full\nLRU list may still be scanned.\n\nOrder-0 allocation should not be affected because RECLAIM_MODE_COMPACTION\nis not set so the following avoids the gfp_mask being examined:\n\n        if (!(sc-\u003ereclaim_mode \u0026 RECLAIM_MODE_COMPACTION))\n                return false;\n\nA tool was developed based on ftrace that tracked the latency of\nhigh-order allocations while transparent hugepage support was enabled and\nthree benchmarks were run.  The \"fix-infinite\" figures are 2.6.38-rc4 with\nJohannes\u0027s patch \"vmscan: fix zone shrinking exit when scan work is done\"\napplied.\n\n  STREAM Highorder Allocation Latency Statistics\n                 fix-infinite     break-early\n  1 :: Count            10298           10229\n  1 :: Min             0.4560          0.4640\n  1 :: Mean            1.0589          1.0183\n  1 :: Max            14.5990         11.7510\n  1 :: Stddev          0.5208          0.4719\n  2 :: Count                2               1\n  2 :: Min             1.8610          3.7240\n  2 :: Mean            3.4325          3.7240\n  2 :: Max             5.0040          3.7240\n  2 :: Stddev          1.5715          0.0000\n  9 :: Count           111696          111694\n  9 :: Min             0.5230          0.4110\n  9 :: Mean           10.5831         10.5718\n  9 :: Max            38.4480         43.2900\n  9 :: Stddev          1.1147          1.1325\n\nMean time for order-1 allocations is reduced.  order-2 looks increased but\nwith so few allocations, it\u0027s not particularly significant.  THP mean\nallocation latency is also reduced.  That said, allocation time varies so\nsignificantly that the reductions are within noise.\n\nMax allocation time is reduced by a significant amount for low-order\nallocations but reduced for THP allocations which presumably are now\nbreaking before reclaim has done enough work.\n\n  SysBench Highorder Allocation Latency Statistics\n                 fix-infinite     break-early\n  1 :: Count            15745           15677\n  1 :: Min             0.4250          0.4550\n  1 :: Mean            1.1023          1.0810\n  1 :: Max            14.4590         10.8220\n  1 :: Stddev          0.5117          0.5100\n  2 :: Count                1               1\n  2 :: Min             3.0040          2.1530\n  2 :: Mean            3.0040          2.1530\n  2 :: Max             3.0040          2.1530\n  2 :: Stddev          0.0000          0.0000\n  9 :: Count             2017            1931\n  9 :: Min             0.4980          0.7480\n  9 :: Mean           10.4717         10.3840\n  9 :: Max            24.9460         26.2500\n  9 :: Stddev          1.1726          1.1966\n\nAgain, mean time for order-1 allocations is reduced while order-2\nallocations are too few to draw conclusions from.  The mean time for THP\nallocations is also slightly reduced albeit the reductions are within\nvarianes.\n\nOnce again, our maximum allocation time is significantly reduced for\nlow-order allocations and slightly increased for THP allocations.\n\n  Anon stream mmap reference Highorder Allocation Latency Statistics\n  1 :: Count             1376            1790\n  1 :: Min             0.4940          0.5010\n  1 :: Mean            1.0289          0.9732\n  1 :: Max             6.2670          4.2540\n  1 :: Stddev          0.4142          0.2785\n  2 :: Count                1               -\n  2 :: Min             1.9060               -\n  2 :: Mean            1.9060               -\n  2 :: Max             1.9060               -\n  2 :: Stddev          0.0000               -\n  9 :: Count            11266           11257\n  9 :: Min             0.4990          0.4940\n  9 :: Mean        27250.4669      24256.1919\n  9 :: Max      11439211.0000    6008885.0000\n  9 :: Stddev     226427.4624     186298.1430\n\nThis benchmark creates one thread per CPU which references an amount of\nanonymous memory 1.5 times the size of physical RAM.  This pounds swap\nquite heavily and is intended to exercise THP a bit.\n\nMean allocation time for order-1 is reduced as before.  It\u0027s also reduced\nfor THP allocations but the variations here are pretty massive due to\nswap.  As before, maximum allocation times are significantly reduced.\n\nOverall, the patch reduces the mean and maximum allocation latencies for\nthe smaller high-order allocations.  This was with Slab configured so it\nwould be expected to be more significant with Slub which uses these size\nallocations more aggressively.\n\nThe mean allocation times for THP allocations are also slightly reduced.\nThe maximum latency was slightly increased as predicted by the comments\ndue to reclaim/compaction breaking early.  However, workloads care more\nabout the latency of lower-order allocations than THP so it\u0027s an\nacceptable trade-off.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Kent Overstreet \u003ckent.overstreet@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": "ac3c8304190ed0daaa2fb01ce2a069be5e2a52a7",
      "tree": "baebdd925a0f9d2b959b116e50d107c9dfee69e7",
      "parents": [
        "d73fa4b914eab332d9919132b273b6797b8aface"
      ],
      "author": {
        "name": "Matti J. Aaltonen",
        "email": "matti.j.aaltonen@nokia.com",
        "time": "Fri Feb 25 14:44:19 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "drivers/nfc/pn544.c: add missing regulator\n\nThe regulator framework is used for power management.  The regulators are\nonly named in the driver code, the actual control stuff is in the board\nfile for each architecture or use case.\n\nThe PN544 chip has three regulators that can be controlled or not -\ndepending on the architecture where the chip is being used.  So some of\nthe regulators may not be controllable.  In our current case the third\nregulator, which was missing from the code, went unnoticed because we\ndidn\u0027t need to control it.  To be as general as possible - in this respect\n- the driver needs to list all regulators.  Then the board file can be\nused to actually set the usage.\n\nSigned-off-by: Matti J. Aaltonen \u003cmatti.j.aaltonen@nokia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d73fa4b914eab332d9919132b273b6797b8aface",
      "tree": "72c9fb4d97577b14d103e3f2c124c737d5e64350",
      "parents": [
        "fba99fa38b023224680308a482e12a0eca87e4e1"
      ],
      "author": {
        "name": "Matti J. Aaltonen",
        "email": "matti.j.aaltonen@nokia.com",
        "time": "Fri Feb 25 14:44:18 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "drivers/nfc/Kconfig: use full form of the NFC acronym\n\nSpell out the NFC acronym when it\u0027s shown for the first time.\n\nSigned-off-by: Matti J. Aaltonen \u003cmatti.j.aaltonen@nokia.com\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fba99fa38b023224680308a482e12a0eca87e4e1",
      "tree": "c4dba5806fbe88b626805293cf14e6c2b08ca870",
      "parents": [
        "f8407f26b4c9a36aab74fcdbd6e14ffe4f8d9476"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Feb 25 14:44:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "swiotlb: fix wrong panic\n\nswiotlb\u0027s map_page wrongly calls panic() when it can\u0027t find a buffer fit\nfor device\u0027s dma mask.  It should return an error instead.\n\nDevices with an odd dma mask (i.e.  under 4G) like b44 network card hit\nthis bug (the system crashes):\n\n   http://marc.info/?l\u003dlinux-kernel\u0026m\u003d129648943830106\u0026w\u003d2\n\nIf swiotlb returns an error, b44 driver can use the own bouncing\nmechanism.\n\nReported-by: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nTested-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\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": "f8407f26b4c9a36aab74fcdbd6e14ffe4f8d9476",
      "tree": "dc8664d7a125e0ae7bfea75e6a1b55dddf130b5c",
      "parents": [
        "a879bf582dfb3a79d30d76ca3af2ae8a0f39010c"
      ],
      "author": {
        "name": "Harry Wei",
        "email": "jiaweiwei.xiyou@gmail.com",
        "time": "Fri Feb 25 14:44:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "MAINTAINERS: add Chinese documentation maintainer\n\nI have translated some kernel documentation so I wish to maintain the\nChinese documentation in our kernel directories.\n\nSigned-off-by: Harry Wei \u003charryxiyou@gmail.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a879bf582dfb3a79d30d76ca3af2ae8a0f39010c",
      "tree": "6ca0b3f361f80a1a996af0d46378ae5943098656",
      "parents": [
        "22bacca48a1755f79b7e0f192ddb9fbb7fc6e64e"
      ],
      "author": {
        "name": "Greg Thelen",
        "email": "gthelen@google.com",
        "time": "Fri Feb 25 14:44:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "mm: grab rcu read lock in move_pages()\n\nThe move_pages() usage of find_task_by_vpid() requires rcu_read_lock() to\nprevent free_pid() from reclaiming the pid.\n\nWithout this patch, RCU warnings are printed in v2.6.38-rc4 move_pages()\nwith:\n\n  CONFIG_LOCKUP_DETECTOR\u003dy\n  CONFIG_PREEMPT\u003dy\n  CONFIG_LOCKDEP\u003dy\n  CONFIG_PROVE_LOCKING\u003dy\n  CONFIG_PROVE_RCU\u003dy\n\nPreviously, migrate_pages() went through a similar transformation\nreplacing usage of tasklist_lock with rcu read lock:\n\n  commit 55cfaa3cbdd29c4919ecb5fb8965c310f357e48c\n  Author: Zeng Zhaoming \u003czengzm.kernel@gmail.com\u003e\n  Date:   Thu Dec 2 14:31:13 2010 -0800\n\n      mm/mempolicy.c: add rcu read lock to protect pid structure\n\n  commit 1e50df39f6e2c3a4a3394df62baa8a213df16c54\n  Author: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\n  Date:   Thu Jan 13 15:46:14 2011 -0800\n\n      mempolicy: remove tasklist_lock from migrate_pages\n\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Zeng Zhaoming \u003czengzm.kernel@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": "22bacca48a1755f79b7e0f192ddb9fbb7fc6e64e",
      "tree": "7762c2923b3bded3f6c01f9fc509b4726401794f",
      "parents": [
        "6366213ee3355278a90d1c20a1971c68fa3af68b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Fri Feb 25 14:44:12 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "epoll: prevent creating circular epoll structures\n\nIn several places, an epoll fd can call another file\u0027s -\u003ef_op-\u003epoll()\nmethod with ep-\u003emtx held.  This is in general unsafe, because that other\nfile could itself be an epoll fd that contains the original epoll fd.\n\nThe code defends against this possibility in its own -\u003epoll() method using\nep_call_nested, but there are several other unsafe calls to -\u003epoll\nelsewhere that can be made to deadlock.  For example, the following simple\nprogram causes the call in ep_insert recursively call the original fd\u0027s\n-\u003epoll, leading to deadlock:\n\n #include \u003cunistd.h\u003e\n #include \u003csys/epoll.h\u003e\n\n int main(void) {\n     int e1, e2, p[2];\n     struct epoll_event evt \u003d {\n         .events \u003d EPOLLIN\n     };\n\n     e1 \u003d epoll_create(1);\n     e2 \u003d epoll_create(2);\n     pipe(p);\n\n     epoll_ctl(e2, EPOLL_CTL_ADD, e1, \u0026evt);\n     epoll_ctl(e1, EPOLL_CTL_ADD, p[0], \u0026evt);\n     write(p[1], p, sizeof p);\n     epoll_ctl(e1, EPOLL_CTL_ADD, e2, \u0026evt);\n\n     return 0;\n }\n\nOn insertion, check whether the inserted file is itself a struct epoll,\nand if so, do a recursive walk to detect whether inserting this file would\ncreate a loop of epoll structures, which could lead to deadlock.\n\n[nelhage@ksplice.com: Use epmutex to serialize concurrent inserts]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Nelson Elhage \u003cnelhage@ksplice.com\u003e\nReported-by: Nelson Elhage \u003cnelhage@ksplice.com\u003e\nTested-by: Nelson Elhage \u003cnelhage@ksplice.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.34+, possibly earlier]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6366213ee3355278a90d1c20a1971c68fa3af68b",
      "tree": "d5adedb900d10f9c1443ae458e3ad6efa987b487",
      "parents": [
        "4660ba63f1c4e07c20a435e084f12ba48a82bd2b",
        "4b2f67d756cf4a5ed8e8d11caa7dcea06c41a09e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 14:04:44 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 14:04:44 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:\n  regulator, mc13xxx: Remove pointless test for unsigned less than zero\n  regulator: Fix warning with CONFIG_BUG disabled\n"
    },
    {
      "commit": "4660ba63f1c4e07c20a435e084f12ba48a82bd2b",
      "tree": "494973a1dd4102eede20298f478574801af31b86",
      "parents": [
        "958ede7f1b72b29cd0d29ec88ee2bcb4c87dab61",
        "ec29ed5b407d618a8128f5942aade9e1758aa14b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 14:03:39 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 14:03:39 2011 -0800"
      },
      "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:\n  Btrfs: fix fiemap bugs with delalloc\n  Btrfs: set FMODE_EXCL in btrfs_device-\u003emode\n  Btrfs: make btrfs_rm_device() fail gracefully\n  Btrfs: Avoid accessing unmapped kernel address\n  Btrfs: Fix BTRFS_IOC_SUBVOL_SETFLAGS ioctl\n  Btrfs: allow balance to explicitly allocate chunks as it relocates\n  Btrfs: put ENOSPC debugging under a mount option\n"
    },
    {
      "commit": "958ede7f1b72b29cd0d29ec88ee2bcb4c87dab61",
      "tree": "31098a5fd8cb6b59f20d56557551881dfe8a410c",
      "parents": [
        "d40358509ee862d7e4049187bc05eba1911a2959",
        "7f74f8f28a2bd9db9404f7d364e2097a0c42cc12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 14:02:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 14:02:33 2011 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86 quirk: Fix polarity for IRQ0 pin2 override on SB800 systems\n  x86/mrst: Fix apb timer rating when lapic timer is used\n  x86: Fix reboot problem on VersaLogic Menlow boards\n"
    },
    {
      "commit": "d40358509ee862d7e4049187bc05eba1911a2959",
      "tree": "e3537777906af87541ee2c891c855c16b88b6776",
      "parents": [
        "c1bc3beb0663b4aee97914293b2b4d41ac3a909c"
      ],
      "author": {
        "name": "Jelle Martijn Kok",
        "email": "jmkok@youcom.nl",
        "time": "Fri Feb 25 11:13:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 14:00:56 2011 -0800"
      },
      "message": "RTC: fix typo in drivers/rtc/rtc-at91sam9.c\n\nThe member of the rtc_class_ops struct is called alarm_irq_enable and\nnot alarm_irq_enabled\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Jelle Martijn Kok \u003cjmkok@youcom.nl\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02fa9f0451ac639a687bfc145eefe58703ff220e",
      "tree": "fe984acc78f22f6eb8fb98efaba8b1ac2f3ad8d9",
      "parents": [
        "cbc9438075ca9dee3f39a2e7310f81c304b40359",
        "51c404b2c514930e98e81e0b9294f19892a4f871"
      ],
      "author": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Fri Feb 25 12:27:14 2011 -0800"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Fri Feb 25 12:27:14 2011 -0800"
      },
      "message": "Merge branch \u0027patches_for_2.6.38rc\u0027 of git://git.pwsan.com/linux-2.6 into devel-fixes\n"
    },
    {
      "commit": "51c404b2c514930e98e81e0b9294f19892a4f871",
      "tree": "27ad306fb5c9a6234677705808998b6751fefe45",
      "parents": [
        "ea68c00e2623bb5b001c2117a4dcca4754781b4e"
      ],
      "author": {
        "name": "Santosh Shilimkar",
        "email": "santosh.shilimkar@ti.com",
        "time": "Fri Feb 04 15:28:57 2011 +0530"
      },
      "committer": {
        "name": "Paul Walmsley",
        "email": "paul@pwsan.com",
        "time": "Fri Feb 25 12:45:05 2011 -0700"
      },
      "message": "omap4: prcm: Fix the CPUx clockdomain offsets\n\nCPU0 and CPU1 clockdomain is at the offset of 0x18 from the LPRM base.\nThe header file has set it wrongly to 0x0. Offset 0x0 is for CPUx power\ndomain control register\n\nFix the same.\n\nThe autogen scripts is fixed thanks to Benoit Cousson\n\nWith the old value, the clockdomain code would access the\n*_PWRSTCTRL.POWERSTATE field when it thought it was accessing the\n*_CLKSTCTRL.CLKTRCTRL field.  In the worst case, this could cause\nsystem power management to behave incorrectly.\n\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nCc: Paul Walmsley \u003cpaul@pwsan.com\u003e\nCc: Rajendra Nayak \u003crnayak@ti.com\u003e\nCc: Benoit Cousson \u003cb-cousson@ti.com\u003e\n[paul@pwsan.com: added second paragraph to commit message]\nSigned-off-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\n"
    },
    {
      "commit": "c1bc3beb0663b4aee97914293b2b4d41ac3a909c",
      "tree": "5cd64ab9a93dd2c817ea0017eff5f3ddcf76ad13",
      "parents": [
        "638691a7a46a4ae9a7b56c603299e42d7f6e722e",
        "ec95d35a6bd0047f05fe8a21e6c52f8bb418da55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 11:14:44 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 11:14:44 2011 -0800"
      },
      "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:\n  usb: musb: core: set has_tt flag\n  USB: xhci: mark local functions as static\n  USB: xhci: fix couple sparse annotations\n  USB: xhci: rework xhci_print_ir_set() to get ir set from xhci itself\n  USB: Reset USB 3.0 devices on (re)discovery\n  xhci: Fix an error in count_sg_trbs_needed()\n  xhci: Fix errors in the running total calculations in the TRB math\n  xhci: Clarify some expressions in the TRB math\n  xhci: Avoid BUG() in interrupt context\n"
    },
    {
      "commit": "638691a7a46a4ae9a7b56c603299e42d7f6e722e",
      "tree": "f744b3fbdd4704ef9ae122b67a14785b4a7a6b65",
      "parents": [
        "0a93ea2e897bd793cc0aaaddc397eff32ac8d6fe",
        "f0b4f7e2f29af678bd9af43422c537dcb6008603"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 11:13:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 11:13:26 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md:\n  md: Fix - again - partition detection when array becomes active\n  Fix over-zealous flush_disk when changing device size.\n  md: avoid spinlock problem in blk_throtl_exit\n  md: correctly handle probe of an \u0027mdp\u0027 device.\n  md: don\u0027t set_capacity before array is active.\n  md: Fix raid1-\u003eraid0 takeover\n"
    }
  ],
  "next": "0a93ea2e897bd793cc0aaaddc397eff32ac8d6fe"
}
