)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "0a93ea2e897bd793cc0aaaddc397eff32ac8d6fe",
      "tree": "60fd9c282565e803e6d022e7166db34818a33bef",
      "parents": [
        "f129ccc9231c95513a1227ca9da876beeb03e577"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Feb 25 15:33:17 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 11:12:37 2011 -0800"
      },
      "message": "RxRPC: Allocate tokens with kzalloc to avoid oops in rxrpc_destroy\n\nWith slab poisoning enabled, I see the following oops:\n\n  Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6b6b73\n  ...\n  NIP [c0000000006bc61c] .rxrpc_destroy+0x44/0x104\n  LR [c0000000006bc618] .rxrpc_destroy+0x40/0x104\n  Call Trace:\n  [c0000000feb2bc00] [c0000000006bc618] .rxrpc_destroy+0x40/0x104 (unreliable)\n  [c0000000feb2bc90] [c000000000349b2c] .key_cleanup+0x1a8/0x20c\n  [c0000000feb2bd40] [c0000000000a2920] .process_one_work+0x2f4/0x4d0\n  [c0000000feb2be00] [c0000000000a2d50] .worker_thread+0x254/0x468\n  [c0000000feb2bec0] [c0000000000a868c] .kthread+0xbc/0xc8\n  [c0000000feb2bf90] [c000000000020e00] .kernel_thread+0x54/0x70\n\nWe aren\u0027t initialising token-\u003enext, but the code in destroy_context relies\non the list being NULL terminated. Use kzalloc to zero out all the fields.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f129ccc9231c95513a1227ca9da876beeb03e577",
      "tree": "cf894d2358a6a4dc251a42900cc80058255b55dd",
      "parents": [
        "4662db446190ddef8fbab024f72dee77dd04b8f2"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@au1.ibm.com",
        "time": "Fri Feb 25 15:33:02 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 11:12:37 2011 -0800"
      },
      "message": "afs: Fix oops in afs_unlink_writeback\n\nI\u0027m seeing the following oops when testing afs:\n\n  Unable to handle kernel paging request for data at address 0x00000008\n  ...\n  NIP [c0000000003393b0] .afs_unlink_writeback+0x38/0xc0\n  LR [c00000000033987c] .afs_put_writeback+0x98/0xec\n  Call Trace:\n  [c00000000345f600] [c00000000033987c] .afs_put_writeback+0x98/0xec\n  [c00000000345f690] [c00000000033ae80] .afs_write_begin+0x6a4/0x75c\n  [c00000000345f790] [c00000000012b77c] .generic_file_buffered_write+0x148/0x320\n  [c00000000345f8d0] [c00000000012e1b8] .__generic_file_aio_write+0x37c/0x3e4\n  [c00000000345f9d0] [c00000000012e2a8] .generic_file_aio_write+0x88/0xfc\n  [c00000000345fa90] [c0000000003390a8] .afs_file_write+0x10c/0x178\n  [c00000000345fb40] [c000000000188788] .do_sync_write+0xc4/0x128\n  [c00000000345fcc0] [c000000000189658] .vfs_write+0xe8/0x1d8\n  [c00000000345fd70] [c000000000189884] .SyS_write+0x68/0xb0\n  [c00000000345fe30] [c000000000008564] syscall_exit+0x0/0x40\n\nafs_write_begin hits an error and calls afs_unlink_writeback. In there\nwe do list_del_init on an uninitialised list.\n\nThe patch below initialises -\u003elink when creating the afs_writeback struct.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d56addd70c7c0626502569e22cc8fce49ae39f5",
      "tree": "43e5e51dfa7a1b7e566cb235d44d5991e0c806d0",
      "parents": [
        "5a18ec176c934ca1bc9dc61580a5e0e90a9b5733"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 25 14:44:58 2011 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 25 14:44:58 2011 +0100"
      },
      "message": "fuse: fix truncate after open\n\nCommit e1181ee6 \"vfs: pass struct file to do_truncate on O_TRUNC\nopens\" broke the behavior of open(O_TRUNC|O_RDONLY) in fuse.  Fuse\nassumed that when called from open, a truncate() will be done, not an\nftruncate().\n\nFix by restoring the old behavior, based on the ATTR_OPEN flag.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "5a18ec176c934ca1bc9dc61580a5e0e90a9b5733",
      "tree": "6995509f59166fff90ce240ce72e3858f61ac101",
      "parents": [
        "4662db446190ddef8fbab024f72dee77dd04b8f2"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 25 14:44:58 2011 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 25 14:44:58 2011 +0100"
      },
      "message": "fuse: fix hang of single threaded fuseblk filesystem\n\nSingle threaded NTFS-3G could get stuck if a delayed RELEASE reply\ntriggered a DESTROY request via path_put().\n\nFix this by\n\n a) making RELEASE requests synchronous, whenever possible, on fuseblk\n filesystems\n\n b) if not possible (triggered by an asynchronous read/write) then do\n the path_put() in a separate thread with schedule_work().\n\nReported-by: Oliver Neukum \u003coneukum@suse.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "43c63188821dc21b2af23a40a18faea6e386e90a",
      "tree": "4069c791dc31304e81d75a0a5d806805c7c70825",
      "parents": [
        "4bfc4e2508234f9149fd33fae853e99fb9e4a75b"
      ],
      "author": {
        "name": "Eric Bénard",
        "email": "eric@eukrea.com",
        "time": "Fri Feb 25 13:47:46 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 25 12:57:49 2011 +0000"
      },
      "message": "eukrea-tlv320: fix platform_name\n\ncommit f0fba2ad1b6b53d5360125c41953b7afcd6deff0 included a mistake\non the name of the platform in the snd_soc_dai_link structure.\n\nSigned-off-by: Eric Bénard \u003ceric@eukrea.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "4bfc4e2508234f9149fd33fae853e99fb9e4a75b",
      "tree": "43274f086025abfccab5076cf37c6984d36c22cf",
      "parents": [
        "cea2bc50a3dd88e43be2e926a9ae31ab7816bf2d"
      ],
      "author": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Wed Feb 23 02:29:11 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 25 11:42:18 2011 +0000"
      },
      "message": "ASoC: correct pxa AC97 DAI names\n\nCorrect names for pxa AC97 DAI are pxa2xx-ac97 and pxa2xx-ac97-aux. Fix\nthat for all PXA platforms.\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "69cf0218d1f0d1d8f14687fec070126021502451",
      "tree": "a2d7416c17f4d1038a12d649fb88ecc4985868aa",
      "parents": [
        "4a508dd259f5995b8d31c576b894263f5947d654"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 17 10:37:23 2011 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 25 10:55:03 2011 +0100"
      },
      "message": "perf hists: Print number of samples, not the period sum\n\nSo that we match the header where we state the number of events with the\n\"Samples\" column when using \u0027perf report -n/--show-nr-samples\u0027:\n\n [root@emilia ~]# perf record -a sleep 1\n [ perf record: Woken up 1 times to write data ]\n [ perf record: Captured and wrote 0.111 MB perf.data (~4860 samples) ]\n [root@emilia ~]# perf report --stdio --show-nr-samples\n # Events: 11  cycles\n #\n # Overhead  Samples        Command       Shared Object                        Symbol\n # ........ ..........  ...........  ..................  ............................\n #\n     16.65%          1        sleep  [kernel.kallsyms]   [k] unmap_vmas\n     16.10%          1         perf  libpthread-2.12.so  [.] __pthread_cleanup_push_defer\n     15.79%          2         perf  [kernel.kallsyms]   [k] format_decode\n     12.88%          1  kworker/1:2  [kernel.kallsyms]   [k] cache_reap\n     10.69%          1      swapper  [kernel.kallsyms]   [k] _raw_spin_lock\n      7.55%          1        sleep  [kernel.kallsyms]   [k] prepare_exec_creds\n      6.00%          1         perf  [jbd2]              [k] start_this_handle\n      5.29%          1         perf  [kernel.kallsyms]   [k] seq_read\n      4.75%          1         perf  [kernel.kallsyms]   [k] get_pid_task\n      4.30%          1         perf  [kernel.kallsyms]   [k] _raw_spin_unlock_irqrestore\n\n #\n # (For a higher level overview, try: perf report --sort comm,dso)\n #\n [root@emilia ~]#\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nReported-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nAcked-by: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n[ cherry-picked it from perf/core, as it has been reported by others as well. ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4b2f67d756cf4a5ed8e8d11caa7dcea06c41a09e",
      "tree": "35a48fdafe807d07bbf685b589c290a49b3958a4",
      "parents": [
        "9ee291a453c1db310c0298f8e6c28794cd2c52bd"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Wed Feb 23 23:45:55 2011 +0100"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@slimlogic.co.uk",
        "time": "Fri Feb 25 08:51:07 2011 +0000"
      },
      "message": "regulator, mc13xxx: Remove pointless test for unsigned less than zero\n\nThe variable \u0027val\u0027 is a \u0027unsigned int\u0027, so it can never be less than zero.\nThis fact makes the \"val \u003c 0\" part of the test done in BUG_ON() in\nmc13xxx_regulator_get_voltage() rather pointles since it can never have\nany effect.\nThis patch removes the pointless test.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nAcked-by: Alberto Panizzo \u003cmaramaopercheseimorto@gmail.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "9ee291a453c1db310c0298f8e6c28794cd2c52bd",
      "tree": "5f2c2deb0660001f412abe51d76dc0247fb8f5a5",
      "parents": [
        "4662db446190ddef8fbab024f72dee77dd04b8f2"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Feb 02 20:17:22 2011 +0000"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@slimlogic.co.uk",
        "time": "Fri Feb 25 08:51:05 2011 +0000"
      },
      "message": "regulator: Fix warning with CONFIG_BUG disabled\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "4662db446190ddef8fbab024f72dee77dd04b8f2",
      "tree": "404eb2b1276841298c29a7bd485f23e52fa58b8b",
      "parents": [
        "86e2fe9ff3f3eebca2066bcfc2d993f61af787f5",
        "3c0556e9673f79e386b27768e27d18b3ce29e40e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 17:08:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 17:08:48 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/i915: Fix unintended recursion in ironlake_disable_rc6\n  drm/i915: fix corruptions on i8xx due to relaxed fencing\n  drm/i915: skip FDI \u0026 PCH enabling for DP_A\n  agp/intel: Experiment with a 855GM GWB bit\n  drm/i915: don\u0027t enable FDI \u0026 transcoder interrupts after all\n  drm/i915: Ignore a hung GPU when flushing the framebuffer prior to a switch\n"
    },
    {
      "commit": "3c0556e9673f79e386b27768e27d18b3ce29e40e",
      "tree": "2fd33a82b46f27ff350c0de0b7b1c698c5b64c80",
      "parents": [
        "fbf92bea68830c12da9099d7c8a60812194efc4e",
        "995073072c2ae72255b595b192cc63f43fd386ef"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 25 08:40:26 2011 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 25 08:40:26 2011 +1000"
      },
      "message": "Merge branch \u0027drm-intel-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel into drm-fixes\n\n* \u0027drm-intel-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel:\n  drm/i915: Fix unintended recursion in ironlake_disable_rc6\n"
    },
    {
      "commit": "86e2fe9ff3f3eebca2066bcfc2d993f61af787f5",
      "tree": "560dfeb27813e95739a12d2cef09a4029af51fd1",
      "parents": [
        "9f0939bf498273b91f79a8ec2f2aa773f8615bb8",
        "2c46d2aec054e61a33feac8c3992218eabdcc22a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 12:22:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 12:22:14 2011 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.38\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.38\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: SVM: Advance instruction pointer in dr_intercept\n"
    },
    {
      "commit": "cbc9438075ca9dee3f39a2e7310f81c304b40359",
      "tree": "eac5f9ed25b96e64a664f5af441e0c238e44cd18",
      "parents": [
        "c03773206bf2249a890c4d420ed32ef500630095"
      ],
      "author": {
        "name": "Paul Walmsley",
        "email": "paul@pwsan.com",
        "time": "Tue Feb 22 19:59:49 2011 -0700"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Thu Feb 24 12:21:21 2011 -0800"
      },
      "message": "OMAP2+: clocksource: fix crash on boot when !CONFIG_OMAP_32K_TIMER\n\n\nOMAP2+ kernels built without CONFIG_OMAP_32K_TIMER crash on boot after the\n2.6.38 sched_clock changes:\n\n[    0.000000] OMAP clockevent source: GPTIMER1 at 13000000 Hz\n[    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 00000000\n[    0.000000] pgd \u003d c0004000\n[    0.000000] [00000000] *pgd\u003d00000000\n[    0.000000] Internal error: Oops: 80000005 [#1] SMP\n[    0.000000] last sysfs file:\n[    0.000000] Modules linked in:\n[    0.000000] CPU: 0    Not tainted  (2.6.38-rc5-00057-g04aa67d #152)\n[    0.000000] PC is at 0x0\n[    0.000000] LR is at sched_clock_poll+0x2c/0x3c\n\nWithout CONFIG_OMAP_32K_TIMER, the kernel has an clockevent and\nclocksource resolution about three orders of magnitude higher than\nwith CONFIG_OMAP_32K_TIMER set.  The tradeoff is that the lowest\npower consumption states are not available.\n\nFix by calling init_sched_clock() from the GPTIMER clocksource init code.\n\nSigned-off-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "9f0939bf498273b91f79a8ec2f2aa773f8615bb8",
      "tree": "d41218c43c594160c791908a10798d10f9fb3d8e",
      "parents": [
        "e7407d1619713f4b1fdff3a485e1bd8e77bd480d"
      ],
      "author": {
        "name": "Herton Ronaldo Krzesinski",
        "email": "herton.krzesinski@canonical.com",
        "time": "Thu Feb 24 15:18:07 2011 -0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 12:18:00 2011 -0800"
      },
      "message": "MAINTAINERS: Update email address\n\nSigned-off-by: Herton Ronaldo Krzesinski \u003cherton.krzesinski@canonical.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f74f8f28a2bd9db9404f7d364e2097a0c42cc12",
      "tree": "a06deae1932fcbd79e76b0099d411fb2d6953e0f",
      "parents": [
        "7b62dbec908a29f448047099bedb5c64c9cb8808"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann3@amd.com",
        "time": "Thu Feb 24 15:53:46 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 24 20:30:21 2011 +0100"
      },
      "message": "x86 quirk: Fix polarity for IRQ0 pin2 override on SB800 systems\n\nOn some SB800 systems polarity for IOAPIC pin2 is wrongly\nspecified as low active by BIOS. This caused system hangs after\nresume from S3 when HPET was used in one-shot mode on such\nsystems because a timer interrupt was missed (HPET signal is\nhigh active).\n\nFor more details see:\n\n  http://marc.info/?l\u003dlinux-kernel\u0026m\u003d129623757413868\n\nTested-by: Manoj Iyer \u003cmanoj.iyer@canonical.com\u003e\nTested-by: Andre Przywara \u003candre.przywara@amd.com\u003e\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nCc: stable@kernel.org # 37.x, 32.x\nLKML-Reference: \u003c20110224145346.GD3658@alberich.amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec95d35a6bd0047f05fe8a21e6c52f8bb418da55",
      "tree": "e41ca86ebbc06626c7ceab57144b898429f45bc9",
      "parents": [
        "8212a49d1c1e53ad2bc3176b983a2483b48fd989"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Thu Feb 24 10:36:53 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 24 11:16:24 2011 -0800"
      },
      "message": "usb: musb: core: set has_tt flag\n\nMUSB is a non-standard host implementation which\ncan handle all speeds with the same core. We need\nto set has_tt flag after commit\nd199c96d41d80a567493e12b8e96ea056a1350c1 (USB: prevent\nbuggy hubs from crashing the USB stack) in order for\nMUSB HCD to continue working.\n\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Michael Jones \u003cmichael.jones@matrix-vision.de\u003e\nTested-by: Alexander Holler \u003choller@ahsoftware.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "805bdaec1a44155db35f6ee5410d6bbc365324a8",
      "tree": "01f5ba1cca8216de1a6057be8c1877c778603a2d",
      "parents": [
        "2aa15890f3c191326678f1bd68af61ec6b8753ec"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 24 11:10:01 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 24 19:53:06 2011 +0100"
      },
      "message": "PM: Make ACPI wakeup from S5 work again when CONFIG_PM_SLEEP is unset\n\nCommit 074037e (PM / Wakeup: Introduce wakeup source objects and\nevent statistics (v3)) caused ACPI wakeup to only work if\nCONFIG_PM_SLEEP is set, but it also worked for CONFIG_PM_SLEEP unset\nbefore.  This can be fixed by making device_set_wakeup_enable(),\ndevice_init_wakeup() and device_may_wakeup() work in the same way\nas before commit 074037e when CONFIG_PM_SLEEP is unset.\n\nReported-and-tested-by: Justin Maggard \u003cjmaggard10@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "995073072c2ae72255b595b192cc63f43fd386ef",
      "tree": "fd96c7638bf675b7f8c37c6d517ad2b20479082e",
      "parents": [
        "c2e0eb167070a6e9dcb49c84c13c79a30d672431"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Thu Feb 24 09:42:52 2011 +0000"
      },
      "committer": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Thu Feb 24 17:16:43 2011 +0000"
      },
      "message": "drm/i915: Fix unintended recursion in ironlake_disable_rc6\n\nAfter disabling, we\u0027re meant to teardown the bo used for the contexts,\nnot recurse into ourselves again and preventing module unload.\n\nReported-and-tested-by: Ben Widawsky \u003cbwidawsk@gmail.com\u003e\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\n"
    },
    {
      "commit": "4dfb8a45d533808e78d67ef27e0a47d456c12a92",
      "tree": "c250dfb45f5fbce173d499525d3179584a25291a",
      "parents": [
        "ebbd224c22a00dbbee95031a0d6d595460f6f2b3"
      ],
      "author": {
        "name": "Vitaliy Kulikov",
        "email": "Vitaliy.Kulikov@idt.com",
        "time": "Tue Feb 22 17:32:19 2011 -0600"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Feb 24 18:04:56 2011 +0100"
      },
      "message": "ALSA: hda - Add support for new IDT 92HD98 and 92HD99 codecs\n\nAlso fix number of 92HD87 pins to exclude invalid pins.\n\nSigned-off-by: Vitaliy Kulikov \u003cVitaliy.Kulikov@idt.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "e7407d1619713f4b1fdff3a485e1bd8e77bd480d",
      "tree": "18def7871239d5de7dea8cb115badb53d64fccb4",
      "parents": [
        "8074b26f67165bf045d92e778c9c10dc5e207fc6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Feb 24 09:56:32 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 08:55:55 2011 -0800"
      },
      "message": "block: bd_link_disk_holder() should hold on to holder_dir\n\nThe new implementation of bd_link_disk_holder() added by 49731baa41d\n(block: restore multiple bd_link_disk_holder() support) didn\u0027t get an\nextra reference for the holder_dir kobject of the slave bdev; however,\nbdev kills holder_dir on removal, not release, so if the slave bdev is\nremoved while there are holder links, the holder_dir will be destroyed\nwhile there still are holder links, which leads to oops later when\nbd_unlink_disk_order() tries to remove those links.\n\nMake bd_link_disk_holder() grab an extra reference for the slave\u0027s\nholder_dir and put it in bd_unlink_disk_holder().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: \"Hawrylewicz Czarnowski, Przemyslaw\" \u003cprzemyslaw.hawrylewicz.czarnowski@intel.com\u003e\nTested-by: \"Hawrylewicz Czarnowski, Przemyslaw\" \u003cprzemyslaw.hawrylewicz.czarnowski@intel.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8074b26f67165bf045d92e778c9c10dc5e207fc6",
      "tree": "7f4870224b54121fbfea83cd77ea41f7ab3a00d8",
      "parents": [
        "3c522cedb572bb8d2e4867f358bdaa7d0c53d88c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Feb 24 15:49:53 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 08:55:01 2011 -0800"
      },
      "message": "mm: fix refcounting in swapon\n\nGrab a reference to bdev before calling blkdev_get(), which expects\nthe refcount to be already incremented and either returns success or\ndecrements the refcount and returns an error.\n\nThe bug was introduced by e525fd89 (block: make blkdev_get/put()\nhandle exclusive access), which didn\u0027t take into account this behavior\nof blkdev_get().\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c522cedb572bb8d2e4867f358bdaa7d0c53d88c",
      "tree": "b348cabd2574638702f9abcccd0b8b711b136162",
      "parents": [
        "dcace5ac85c628af21878a1fa151e5e6403fb8eb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Feb 24 15:45:41 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 08:54:21 2011 -0800"
      },
      "message": "block: fix refcounting in BLKBSZSET\n\nAdam Kovari and others reported that disconnecting an USB drive with\nan ntfs-3g filesystem would cause \"kernel BUG at fs/inode.c:1421!\" to\nbe triggered.\n\nThe BUG could be traced back to ioctl(BLKBSZSET), which would\nerroneously decrement the refcount on the bdev.  This is because\nblkdev_get() expects the refcount to be already incremented and either\nreturns success or decrements the refcount and returns an error.\n\nThe bug was introduced by e525fd89 (block: make blkdev_get/put()\nhandle exclusive access), which didn\u0027t take into account this behavior\nof blkdev_get().\n\nThis fixes\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d29202\n(and likely 29792 too)\n\nReported-by: Adam Kovari \u003ckovariadam@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcace5ac85c628af21878a1fa151e5e6403fb8eb",
      "tree": "dcd9281b0bd7b10b9400a9f4769d6c887131b44a",
      "parents": [
        "a3e8cc643d22d2c8ed36b9be7d9c9ca21efcf7f7",
        "bf9faa2aa30e2ebf30287536712ed2717bb47002"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 08:39:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 24 08:39:46 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  Unlock vfsmount_lock in do_umount\n"
    },
    {
      "commit": "7b62dbec908a29f448047099bedb5c64c9cb8808",
      "tree": "5d40da35a8e0d619b931fe6c4fb366b27f113093",
      "parents": [
        "e19e074b1525d11a66c8e3386fec7db248ad3005"
      ],
      "author": {
        "name": "Jacob Pan",
        "email": "jacob.jun.pan@linux.intel.com",
        "time": "Wed Feb 23 16:07:26 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 24 08:22:43 2011 +0100"
      },
      "message": "x86/mrst: Fix apb timer rating when lapic timer is used\n\nNeed to adjust the clockevent device rating for the structure\nthat will be registered with clockevent system instead of the\ntemporary structure.\n\nWithout this fix, APB timer rating will be higher than LAPIC\ntimer such that it can not be released later to be used as the\nbroadcast timer.\n\nSigned-off-by: Jacob Pan \u003cjacob.jun.pan@linux.intel.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML-Reference: \u003c1298506046-439-1-git-send-email-jacob.jun.pan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf9faa2aa30e2ebf30287536712ed2717bb47002",
      "tree": "06db8ec432cb57dc507e42cdeda878c2b3038d5c",
      "parents": [
        "2aa15890f3c191326678f1bd68af61ec6b8753ec"
      ],
      "author": {
        "name": "J. R. Okajima",
        "email": "hooanon05@yahoo.co.jp",
        "time": "Wed Feb 23 16:59:49 2011 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Feb 24 02:10:57 2011 -0500"
      },
      "message": "Unlock vfsmount_lock in do_umount\n\nBy the commit\n\tb3e19d9 2011-01-07 fs: scale mntget/mntput\nvfsmount_lock was introduced around testing mnt_count.\nFix the mis-typed \u0027unlock\u0027\n\nSigned-off-by: J. R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f0b4f7e2f29af678bd9af43422c537dcb6008603",
      "tree": "dfc2aa18bbf8411a499ef8117a5e15490eb44728",
      "parents": [
        "93b270f76e7ef3b81001576860c2701931cdc78b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Feb 24 17:26:41 2011 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Feb 24 17:26:41 2011 +1100"
      },
      "message": "md: Fix - again - partition detection when array becomes active\n\nRevert\n    b821eaa572fd737faaf6928ba046e571526c36c6\nand\n    f3b99be19ded511a1bf05a148276239d9f13eefa\n\nWhen I wrote the first of these I had a wrong idea about the\nlifetime of \u0027struct block_device\u0027.  It can disappear at any time that\nthe block device is not open if it falls out of the inode cache.\n\nSo relying on the \u0027size\u0027 recorded with it to detect when the\ndevice size has changed and so we need to revalidate, is wrong.\n\nRather, we really do need the \u0027changed\u0027 attribute stored directly in\nthe mddev and set/tested as appropriate.\n\nWithout this patch, a sequence of:\n   mknod / open / close / unlink\n\n(which can cause a block_device to be created and then destroyed)\nwill result in a rescan of the partition table and consequence removal\nand addition of partitions.\nSeveral of these in a row can get udev racing to create and unlink and\nother code can get confused.\n\nWith the patch, the rescan is only performed when needed and so there\nare no races.\n\nThis is suitable for any stable kernel from 2.6.35.\n\nReported-by: \"Wojcik, Krzysztof\" \u003ckrzysztof.wojcik@intel.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "93b270f76e7ef3b81001576860c2701931cdc78b",
      "tree": "abaca0e4d3e86721815498fafd06295dd9cfd002",
      "parents": [
        "da9cf5050a2e3dbc3cf26a8d908482eb4485ed49"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Feb 24 17:25:47 2011 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Feb 24 17:25:47 2011 +1100"
      },
      "message": "Fix over-zealous flush_disk when changing device size.\n\nThere are two cases when we call flush_disk.\nIn one, the device has disappeared (check_disk_change) so any\ndata will hold becomes irrelevant.\nIn the oter, the device has changed size (check_disk_size_change)\nso data we hold may be irrelevant.\n\nIn both cases it makes sense to discard any \u0027clean\u0027 buffers,\nso they will be read back from the device if needed.\n\nIn the former case it makes sense to discard \u0027dirty\u0027 buffers\nas there will never be anywhere safe to write the data.  In the\nsecond case it *does*not* make sense to discard dirty buffers\nas that will lead to file system corruption when you simply enlarge\nthe containing devices.\n\nflush_disk calls __invalidate_devices.\n__invalidate_device calls both invalidate_inodes and invalidate_bdev.\n\ninvalidate_inodes *does* discard I_DIRTY inodes and this does lead\nto fs corruption.\n\ninvalidate_bev *does*not* discard dirty pages, but I don\u0027t really care\nabout that at present.\n\nSo this patch adds a flag to __invalidate_device (calling it\n__invalidate_device2) to indicate whether dirty buffers should be\nkilled, and this is passed to invalidate_inodes which can choose to\nskip dirty inodes.\n\nflusk_disk then passes true from check_disk_change and false from\ncheck_disk_size_change.\n\ndm avoids tripping over this problem by calling i_size_write directly\nrathher than using check_disk_size_change.\n\nmd does use check_disk_size_change and so is affected.\n\nThis regression was introduced by commit 608aeef17a which causes\ncheck_disk_size_change to call flush_disk, so it is suitable for any\nkernel since 2.6.27.\n\nCc: stable@kernel.org\nAcked-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "a3e8cc643d22d2c8ed36b9be7d9c9ca21efcf7f7",
      "tree": "d3a10397009baeb3cb1802286049111536dbc221",
      "parents": [
        "2aa15890f3c191326678f1bd68af61ec6b8753ec"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Feb 23 21:39:49 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 23 21:55:06 2011 -0800"
      },
      "message": "mm: fix possible cause of a page_mapped BUG\n\nRobert Swiecki reported a BUG_ON(page_mapped) from a fuzzer, punching\na hole with madvise(,, MADV_REMOVE).  That path is under mutex, and\ncannot be explained by lack of serialization in unmap_mapping_range().\n\nReviewing the code, I found one place where vm_truncate_count handling\nshould have been updated, when I switched at the last minute from one\nway of managing the restart_addr to another: mremap move changes the\nvirtual addresses, so it ought to adjust the restart_addr.\n\nBut rather than exporting the notion of restart_addr from memory.c, or\nconverting to restart_pgoff throughout, simply reset vm_truncate_count\nto 0 to force a rescan if mremap move races with preempted truncation.\n\nWe have no confirmation that this fixes Robert\u0027s BUG,\nbut it is a fix that\u0027s worth making anyway.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2aa15890f3c191326678f1bd68af61ec6b8753ec",
      "tree": "347f5fdcd0678b12be92f266cd2a5e7a74749403",
      "parents": [
        "78794b2cdeac37ac1fd950fc9c4454b56d88ac03"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Feb 23 13:49:47 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 23 19:52:52 2011 -0800"
      },
      "message": "mm: prevent concurrent unmap_mapping_range() on the same inode\n\nMichael Leun reported that running parallel opens on a fuse filesystem\ncan trigger a \"kernel BUG at mm/truncate.c:475\"\n\nGurudas Pai reported the same bug on NFS.\n\nThe reason is, unmap_mapping_range() is not prepared for more than\none concurrent invocation per inode.  For example:\n\n  thread1: going through a big range, stops in the middle of a vma and\n     stores the restart address in vm_truncate_count.\n\n  thread2: comes in with a small (e.g. single page) unmap request on\n     the same vma, somewhere before restart_address, finds that the\n     vma was already unmapped up to the restart address and happily\n     returns without doing anything.\n\nAnother scenario would be two big unmap requests, both having to\nrestart the unmapping and each one setting vm_truncate_count to its\nown value.  This could go on forever without any of them being able to\nfinish.\n\nTruncate and hole punching already serialize with i_mutex.  Other\ncallers of unmap_mapping_range() do not, and it\u0027s difficult to get\ni_mutex protection for all callers.  In particular -\u003ed_revalidate(),\nwhich calls invalidate_inode_pages2_range() in fuse, may be called\nwith or without i_mutex.\n\nThis patch adds a new mutex to \u0027struct address_space\u0027 to prevent\nrunning multiple concurrent unmap_mapping_range() on the same mapping.\n\n[ We\u0027ll hopefully get rid of all this with the upcoming mm\n  preemptibility series by Peter Zijlstra, the \"mm: Remove i_mmap_mutex\n  lockbreak\" patch in particular.  But that is for 2.6.39 ]\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nReported-by: Michael Leun \u003clkml20101129@newton.leun.net\u003e\nReported-by: Gurudas Pai \u003cgurudas.pai@oracle.com\u003e\nTested-by: Gurudas Pai \u003cgurudas.pai@oracle.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78794b2cdeac37ac1fd950fc9c4454b56d88ac03",
      "tree": "728a80131f08ea775846c6a70149521e2cec673f",
      "parents": [
        "ef3242859fae47e728b50b7ce3d17b201a71779a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 23 19:42:03 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 23 19:42:03 2011 -0800"
      },
      "message": "Revert \"Bluetooth: Enable USB autosuspend by default on btusb\"\n\nThis reverts commit 556ea928f78a390fe16ae584e6433dff304d3014.\n\nJeff Chua reports that it can cause some bluetooth devices (he mentions\nan Bluetooth Intermec scanner) to just stop responding after a while\nwith messages like\n\n  [ 4533.361959] btusb 8-1:1.0: no reset_resume for driver btusb?\n  [ 4533.361964] btusb 8-1:1.1: no reset_resume for driver btusb?\n\nfrom the kernel. See also\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d26182\n\nfor other reports.\n\nReported-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nReported-by: Andrew Meakovski \u003cmeako@bigmir.net\u003e\nReported-by: Jim Faulkner \u003cjfaulkne@ccs.neu.edu\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nCc: stable@kernel.org (for 2.6.37)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fbf92bea68830c12da9099d7c8a60812194efc4e",
      "tree": "110e2c2476ac98ae298b90881de1fd015ff33739",
      "parents": [
        "ef3242859fae47e728b50b7ce3d17b201a71779a",
        "c2e0eb167070a6e9dcb49c84c13c79a30d672431"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Feb 24 12:19:43 2011 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Feb 24 12:19:43 2011 +1000"
      },
      "message": "Merge branch \u0027drm-intel-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel into drm-fixes\n\n* \u0027drm-intel-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel:\n  drm/i915: fix corruptions on i8xx due to relaxed fencing\n  drm/i915: skip FDI \u0026 PCH enabling for DP_A\n  agp/intel: Experiment with a 855GM GWB bit\n  drm/i915: don\u0027t enable FDI \u0026 transcoder interrupts after all\n  drm/i915: Ignore a hung GPU when flushing the framebuffer prior to a switch\n"
    }
  ],
  "next": "c2e0eb167070a6e9dcb49c84c13c79a30d672431"
}
