)]}'
{
  "log": [
    {
      "commit": "a44f13edf0ebb4e41942d0f16ca80489dcf6659d",
      "tree": "42bcbee56a62851e969292033efd600cced80ca5",
      "parents": [
        "1a387d3be2b30c90f20d49a3497a8fc0693a9d18"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:40:03 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:40:03 2010 +1000"
      },
      "message": "xfs: Reduce log force overhead for delayed logging\n\nDelayed logging adds some serialisation to the log force process to\nensure that it does not deference a bad commit context structure\nwhen determining if a CIL push is necessary or not. It does this by\ngrabing the CIL context lock exclusively, then dropping it before\npushing the CIL if necessary. This causes serialisation of all log\nforces and pushes regardless of whether a force is necessary or not.\nAs a result fsync heavy workloads (like dbench) can be significantly\nslower with delayed logging than without.\n\nTo avoid this penalty, copy the current sequence from the context to\nthe CIL structure when they are swapped. This allows us to do\nunlocked checks on the current sequence without having to worry\nabout dereferencing context structures that may have already been\nfreed. Hence we can remove the CIL context locking in the forcing\ncode and only call into the push code if the current context matches\nthe sequence we need to force.\n\nBy passing the sequence into the push code, we can check the\nsequence again once we have the CIL lock held exclusive and abort if\nthe sequence has already been pushed. This avoids a lock round-trip\nand unnecessary CIL pushes when we have racing push calls.\n\nThe result is that the regression in dbench performance goes away -\nthis change improves dbench performance on a ramdisk from ~2100MB/s\nto ~2500MB/s. This compares favourably to not using delayed logging\nwhich retuns ~2500MB/s for the same workload.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "1a387d3be2b30c90f20d49a3497a8fc0693a9d18",
      "tree": "4c8081f6620976dbfc3ecee0e26296c0890bceba",
      "parents": [
        "2fe33661fcd79d4c53022509f7223d526b5fa233"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:46:31 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:46:31 2010 +1000"
      },
      "message": "xfs: dummy transactions should not dirty VFS state\n\nWhen we  need to cover the log, we issue dummy transactions to ensure\nthe current log tail is on disk. Unfortunately we currently use the\nroot inode in the dummy transaction, and the act of committing the\ntransaction dirties the inode at the VFS level.\n\nAs a result, the VFS writeback of the dirty inode will prevent the\nfilesystem from idling long enough for the log covering state\nmachine to complete. The state machine gets stuck in a loop issuing\nnew dummy transactions to cover the log and never makes progress.\n\nTo avoid this problem, the dummy transactions should not cause\nexternally visible state changes. To ensure this occurs, make sure\nthat dummy transactions log an unchanging field in the superblock as\nit\u0027s state is never propagated outside the filesystem. This allows\nthe log covering state machine to complete successfully and the\nfilesystem now correctly enters a fully idle state about 90s after\nthe last modification was made.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "2fe33661fcd79d4c53022509f7223d526b5fa233",
      "tree": "1c26f0ca23372dc7142fa4f9395056c529378801",
      "parents": [
        "efceab1d563153a2b1a6e7d35376241a48126989"
      ],
      "author": {
        "name": "Stuart Brodsky",
        "email": "sbrodsky@sgi.com",
        "time": "Tue Aug 24 11:46:05 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:46:05 2010 +1000"
      },
      "message": "xfs: ensure f_ffree returned by statfs() is non-negative\n\nBecause of delayed updates to sb_icount field in the super block, it\nis possible to allocate over maxicount number of inodes.  This\ncauses the arithmetic to calculate a negative number of free inodes\nin user commands like df or stat -f.\n\nSince maxicount is a somewhat arbitrary number, a slight over\nallocation is not critical but user commands should be displayed as\n0 or greater and never go negative.  To do this the value in the\nstats buffer f_ffree is capped to never go negative.\n\n[ Modified to use max_t as per Christoph\u0027s comment. ]\n\nSigned-off-by: Stu Brodsky \u003csbrodsky@sgi.com\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "efceab1d563153a2b1a6e7d35376241a48126989",
      "tree": "1c3f9cf4d947a60f4fa4055ef4847af084e9db0e",
      "parents": [
        "546a1924224078c6f582e68f890b05b387b42653"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:44:56 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:44:56 2010 +1000"
      },
      "message": "xfs: handle negative wbc-\u003enr_to_write during sync writeback\n\nDuring data integrity (WB_SYNC_ALL) writeback, wbc-\u003enr_to_write will\ngo negative on inodes with more than 1024 dirty pages due to\nimplementation details of write_cache_pages(). Currently XFS will\nabort page clustering in writeback once nr_to_write drops below\nzero, and so for data integrity writeback we will do very\ninefficient page at a time allocation and IO submission for inodes\nwith large numbers of dirty pages.\n\nFix this by only aborting the page clustering code when\nwbc-\u003enr_to_write is negative and the sync mode is WB_SYNC_NONE.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "546a1924224078c6f582e68f890b05b387b42653",
      "tree": "f863df4fd74f85c8177d9eb1467a351cd6d0acfc",
      "parents": [
        "4536f2ad8b330453d7ebec0746c4374eadd649b1"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:44:34 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:44:34 2010 +1000"
      },
      "message": "writeback: write_cache_pages doesn\u0027t terminate at nr_to_write \u003c\u003d 0\n\nI noticed XFS writeback in 2.6.36-rc1 was much slower than it should have\nbeen. Enabling writeback tracing showed:\n\n    flush-253:16-8516  [007] 1342952.351608: wbc_writepage: bdi 253:16: towrt\u003d1024 skip\u003d0 mode\u003d0 kupd\u003d0 bgrd\u003d1 reclm\u003d0 cyclic\u003d1 more\u003d0 older\u003d0x0 start\u003d0x0 end\u003d0x0\n    flush-253:16-8516  [007] 1342952.351654: wbc_writepage: bdi 253:16: towrt\u003d1023 skip\u003d0 mode\u003d0 kupd\u003d0 bgrd\u003d1 reclm\u003d0 cyclic\u003d1 more\u003d0 older\u003d0x0 start\u003d0x0 end\u003d0x0\n    flush-253:16-8516  [000] 1342952.369520: wbc_writepage: bdi 253:16: towrt\u003d0 skip\u003d0 mode\u003d0 kupd\u003d0 bgrd\u003d1 reclm\u003d0 cyclic\u003d1 more\u003d0 older\u003d0x0 start\u003d0x0 end\u003d0x0\n    flush-253:16-8516  [000] 1342952.369542: wbc_writepage: bdi 253:16: towrt\u003d-1 skip\u003d0 mode\u003d0 kupd\u003d0 bgrd\u003d1 reclm\u003d0 cyclic\u003d1 more\u003d0 older\u003d0x0 start\u003d0x0 end\u003d0x0\n    flush-253:16-8516  [000] 1342952.369549: wbc_writepage: bdi 253:16: towrt\u003d-2 skip\u003d0 mode\u003d0 kupd\u003d0 bgrd\u003d1 reclm\u003d0 cyclic\u003d1 more\u003d0 older\u003d0x0 start\u003d0x0 end\u003d0x0\n\nWriteback is not terminating in background writeback if -\u003ewritepage is\nreturning with wbc-\u003enr_to_write \u003d\u003d 0, resulting in sub-optimal single page\nwriteback on XFS.\n\nFix the write_cache_pages loop to terminate correctly when this situation\noccurs and so prevent this sub-optimal background writeback pattern. This\nimproves sustained sequential buffered write performance from around\n250MB/s to 750MB/s for a 100GB file on an XFS filesystem on my 8p test VM.\n\nCc:\u003cstable@kernel.org\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "4536f2ad8b330453d7ebec0746c4374eadd649b1",
      "tree": "55e4804119f4629279b1848b2a35eaf297b1d5bc",
      "parents": [
        "5b3eed756cd37255cad1181bd86bfd0977e97953"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:42:30 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:42:30 2010 +1000"
      },
      "message": "xfs: fix untrusted inode number lookup\n\nCommit 7124fe0a5b619d65b739477b3b55a20bf805b06d (\"xfs: validate untrusted inode\nnumbers during lookup\") changes the inode lookup code to do btree lookups for\nuntrusted inode numbers. This change made an invalid assumption about the\nalignment of inodes and hence incorrectly calculated the first inode in the\ncluster. As a result, some inode numbers were being incorrectly considered\ninvalid when they were actually valid.\n\nThe issue was not picked up by the xfstests suite because it always runs fsr\nand dump (the two utilities that utilise the bulkstat interface) on cache hot\ninodes and hence the lookup code in the cold cache path was not sufficiently\nexercised to uncover this intermittent problem.\n\nFix the issue by relaxing the btree lookup criteria and then checking if the\nrecord returned contains the inode number we are lookup for. If it we get an\nincorrect record, then the inode number is invalid.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "5b3eed756cd37255cad1181bd86bfd0977e97953",
      "tree": "3d6b178c346d5980dd650336c107abd9d75ee584",
      "parents": [
        "d17c701ce6a548a92f7f8a3cec20299465f36ee3"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:42:41 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:42:41 2010 +1000"
      },
      "message": "xfs: ensure we mark all inodes in a freed cluster XFS_ISTALE\n\nUnder heavy load parallel metadata loads (e.g. dbench), we can fail\nto mark all the inodes in a cluster being freed as XFS_ISTALE as we\nskip inodes we cannot get the XFS_ILOCK_EXCL or the flush lock on.\nWhen this happens and the inode cluster buffer has already been\nmarked stale and freed, inode reclaim can try to write the inode out\nas it is dirty and not marked stale. This can result in writing th\nmetadata to an freed extent, or in the case it has already\nbeen overwritten trigger a magic number check failure and return an\nEUCLEAN error such as:\n\nFilesystem \"ram0\": inode 0x442ba1 background reclaim flush failed with 117\n\nFix this by ensuring that we hoover up all in memory inodes in the\ncluster and mark them XFS_ISTALE when freeing the cluster.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "d17c701ce6a548a92f7f8a3cec20299465f36ee3",
      "tree": "26a4e52b998edf3762baea43c0d9755118240c8d",
      "parents": [
        "76be97c1fc945db08aae1f1b746012662d643e97"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Aug 24 11:42:52 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 24 11:42:52 2010 +1000"
      },
      "message": "xfs: unlock items before allowing the CIL to commit\n\nWhen we commit a transaction using delayed logging, we need to\nunlock the items in the transaciton before we unlock the CIL context\nand allow it to be checkpointed. If we unlock them after we release\nthe CIl context lock, the CIL can checkpoint and complete before\nwe free the log items. This breaks stale buffer item unlock and\nunpin processing as there is an implicit assumption that the unlock\nwill occur before the unpin.\n\nAlso, some log items need to store the LSN of the transaction commit\nin the item (inodes and EFIs) and so can race with other transaction\ncompletions if we don\u0027t prevent the CIL from checkpointing before\nthe unlock occurs.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "76be97c1fc945db08aae1f1b746012662d643e97",
      "tree": "3b99e4b7c76bf5e3905dd8d7092f8f56b249d773",
      "parents": [
        "3dc8d7f07e7496c0c6702e7e4b1acc179fa94019"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 17:43:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 17:43:29 2010 -0700"
      },
      "message": "Linux 2.6.36-rc2\n"
    },
    {
      "commit": "3dc8d7f07e7496c0c6702e7e4b1acc179fa94019",
      "tree": "f4ba37e2b0bb88e870df963f7a36b93fc733d846",
      "parents": [
        "4238a417a91643e1162a98770288f630e37f0484",
        "6b5d7a9f6f7ff0e096829c1d82f70d5a6066b889"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 11:27:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 11:27:36 2010 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.36\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.36\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: PIT: free irq source id in handling error path\n  KVM: destroy workqueue on kvm_create_pit() failures\n  KVM: fix poison overwritten caused by using wrong xstate size\n"
    },
    {
      "commit": "4238a417a91643e1162a98770288f630e37f0484",
      "tree": "9a4ec0f4249ebe5c723d3f281f087aa472666c02",
      "parents": [
        "bc584c5107bfd97e2aa41c798e3b213bcdd4eae7",
        "4fefe435626758b14e6c05d2a5f8d71a997c0ad6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 11:03:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 11:03:27 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (58 commits)\n  drm/i915,intel_agp: Add support for Sandybridge D0\n  drm/i915: fix render pipe control notify on sandybridge\n  agp/intel: set 40-bit dma mask on Sandybridge\n  drm/i915: Remove the conflicting BUG_ON()\n  drm/i915/suspend: s/IS_IRONLAKE/HAS_PCH_SPLIT/\n  drm/i915/suspend: Flush register writes before busy-waiting.\n  i915: disable DAC on Ironlake also when doing CRT load detection.\n  drm/i915: wait for actual vblank, not just 20ms\n  drm/i915: make sure eDP PLL is enabled at the right time\n  drm/i915: fix VGA plane disable for Ironlake+\n  drm/i915: eDP mode set sequence corrections\n  drm/i915: add panel reset workaround\n  drm/i915: Enable RC6 on Ironlake.\n  drm/i915/sdvo: Only set is_lvds if we have a valid fixed mode.\n  drm/i915: Set up a render context on Ironlake\n  drm/i915 invalidate indirect state pointers at end of ring exec\n  drm/i915: Wake-up wait_request() from elapsed hang-check (v2)\n  drm/i915: Apply i830 errata for cursor alignment\n  drm/i915: Only update i845/i865 CURBASE when disabled (v2)\n  drm/i915: FBC is updated within set_base() so remove second call in mode_set()\n  ...\n"
    },
    {
      "commit": "bc584c5107bfd97e2aa41c798e3b213bcdd4eae7",
      "tree": "13cb518e2f4f2aac46aefbbaacb6e4fa3fbb58a2",
      "parents": [
        "a28e0852d45e65d9edf249c36e432b5e0a80f01d",
        "1ab335d8f85792e3b107ff8237d53cf64db714df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 10:08:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 10:08:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slab: fix object alignment\n  slub: add missing __percpu markup in mm/slub_def.h\n"
    },
    {
      "commit": "a28e0852d45e65d9edf249c36e432b5e0a80f01d",
      "tree": "b19f4725757252eb070157b06765235138384813",
      "parents": [
        "e36c886a0f9d624377977fa6cae309cfd7f362fa",
        "1cb0c924fa2d616e5e3b5bc62d97191aac9ff442"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 09:44:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 09:44:47 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: wait for discard to finish\n"
    },
    {
      "commit": "4fefe435626758b14e6c05d2a5f8d71a997c0ad6",
      "tree": "efd6adcafcdc73902cf940ec2bfb89055ab37be0",
      "parents": [
        "3fdef0205e69b80c4219f14b834cb85eb719039f"
      ],
      "author": {
        "name": "Zhenyu Wang",
        "email": "zhenyuw@linux.intel.com",
        "time": "Thu Aug 19 09:46:16 2010 +0800"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sat Aug 21 23:29:03 2010 -0700"
      },
      "message": "drm/i915,intel_agp: Add support for Sandybridge D0\n\nSigned-off-by: Zhenyu Wang \u003czhenyuw@linux.intel.com\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "3fdef0205e69b80c4219f14b834cb85eb719039f",
      "tree": "31f0fc0b6d48661bec5f165971b311a3521a8846",
      "parents": [
        "877fdacf8291d7627f339885b5ae52c2f6061734"
      ],
      "author": {
        "name": "Zhenyu Wang",
        "email": "zhenyuw@linux.intel.com",
        "time": "Thu Aug 19 09:46:15 2010 +0800"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sat Aug 21 23:28:54 2010 -0700"
      },
      "message": "drm/i915: fix render pipe control notify on sandybridge\n\nThis one is missed in last pipe control fix for sandybridge,\nthat really unmask interrupt bit for notify in render engine IMR.\n\nSigned-off-by: Zhenyu Wang \u003czhenyuw@linux.intel.com\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "877fdacf8291d7627f339885b5ae52c2f6061734",
      "tree": "2bfa23d723deeeb95298f69a83ab44f70dcac96c",
      "parents": [
        "156dadc180a1bd3a25d644ee6c361afc465ccd0e"
      ],
      "author": {
        "name": "Zhenyu Wang",
        "email": "zhenyuw@linux.intel.com",
        "time": "Thu Aug 19 09:46:13 2010 +0800"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sat Aug 21 23:24:50 2010 -0700"
      },
      "message": "agp/intel: set 40-bit dma mask on Sandybridge\n\nSigned-off-by: Zhenyu Wang \u003czhenyuw@linux.intel.com\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "156dadc180a1bd3a25d644ee6c361afc465ccd0e",
      "tree": "2a4e58c0d79d44bddf626c55abe9080432d6f010",
      "parents": [
        "90eb77baaea35c591bd324b31e9eac032bd603c9"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Sun Aug 15 10:52:34 2010 +0100"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sat Aug 21 23:21:13 2010 -0700"
      },
      "message": "drm/i915: Remove the conflicting BUG_ON()\n\nWe now attempt to free \"active\" objects following a GPU hang as either\nthe GPU will be reset or the hang is permenant. In either case, the GPU\nwrites will not be flushed to main memory and it should be safe to\nreturn that memory back to the system.\n\nThe BUG_ON(active) is thus overkill and can erroneously fire after a\nEIO.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "90eb77baaea35c591bd324b31e9eac032bd603c9",
      "tree": "8dc290a72482fa6cbd4e9695fdb12839ca05433e",
      "parents": [
        "72bcb2690927f04c0479cd0d83825f09f3bf4d4f"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Sat Aug 14 14:41:23 2010 +0100"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sat Aug 21 23:20:21 2010 -0700"
      },
      "message": "drm/i915/suspend: s/IS_IRONLAKE/HAS_PCH_SPLIT/\n\nFor the shared paths on the next generation chipsets.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "72bcb2690927f04c0479cd0d83825f09f3bf4d4f",
      "tree": "19a53b4d114b896aa03af8da7aa5b11e3546965c",
      "parents": [
        "d5dd96cb280993a6096b42ab082f9cfd9c7ae0bd"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Sat Aug 14 14:41:22 2010 +0100"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sat Aug 21 23:20:17 2010 -0700"
      },
      "message": "drm/i915/suspend: Flush register writes before busy-waiting.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "d5dd96cb280993a6096b42ab082f9cfd9c7ae0bd",
      "tree": "4cf724533f51284cc00f9a7623c5ef59c6526496",
      "parents": [
        "9d0498a2bf7455159b317f19531a3e5db2ecc9c4"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 04 15:52:19 2010 +1000"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sat Aug 21 23:07:04 2010 -0700"
      },
      "message": "i915: disable DAC on Ironlake also when doing CRT load detection.\n\nLike on Sandybridge, disabling the DAC here when doing CRT load detect\navoids forever hangs waiting on the hardware.\n\ntest procedure on HP 2740p:\nboot with no VGA plugged in, start X,\nplug in VGA monitor (1280x1024)\nchvt 3\nmachine hangs waiting forever.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "9d0498a2bf7455159b317f19531a3e5db2ecc9c4",
      "tree": "41f2a8b1013d2ee12852d8885b9952120f3d6ebb",
      "parents": [
        "d240f20f545fa4ed78ce48d1eb62ab529f2b1467"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 18 13:20:54 2010 -0700"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sat Aug 21 22:59:23 2010 -0700"
      },
      "message": "drm/i915: wait for actual vblank, not just 20ms\n\nWaiting for a hard coded 20ms isn\u0027t always enough to make sure a vblank\nperiod has actually occurred, so add code to make sure we really have\npassed through a vblank period (or that the pipe is off when disabling).\n\nThis prevents problems with mode setting and link training, and seems to\nfix a bug like https://bugs.freedesktop.org/show_bug.cgi?id\u003d29278, but\non an HP 8440p instead.  Hopefully also fixes\nhttps://bugs.freedesktop.org/show_bug.cgi?id\u003d29141.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "e36c886a0f9d624377977fa6cae309cfd7f362fa",
      "tree": "f75e7c3e50a48c671ed4dff33103f601a2204af9",
      "parents": [
        "69b26c7ad00fd5b6129400725e2ffb95134a0e1b"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Aug 21 13:07:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 13:19:37 2010 -0700"
      },
      "message": "workqueue: Add basic tracepoints to track workqueue execution\n\nWith the introduction of the new unified work queue thread pools,\nwe lost one feature: It\u0027s no longer possible to know which worker\nis causing the CPU to wake out of idle. The result is that PowerTOP\nnow reports a lot of \"kworker/a:b\" instead of more readable results.\n\nThis patch adds a pair of tracepoints to the new workqueue code,\nsimilar in style to the timer/hrtimer tracepoints.\n\nWith this pair of tracepoints, the next PowerTOP can correctly\nreport which work item caused the wakeup (and how long it took):\n\nInterrupt (43)            i915      time   3.51ms    wakeups 141\nWork      ieee80211_iface_work      time   0.81ms    wakeups  29\nWork              do_dbs_timer      time   0.55ms    wakeups  24\nProcess                   Xorg      time  21.36ms    wakeups   4\nTimer    sched_rt_period_timer      time   0.01ms    wakeups   1\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69b26c7ad00fd5b6129400725e2ffb95134a0e1b",
      "tree": "1986375f189313cc5a32560663c635e9110588c9",
      "parents": [
        "ddb0c5a689c857bb13a42d9a3f0a7604497b3a29",
        "cfe3fdadb16162327773ef01a575a32000b8c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 12:47:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 12:47:05 2010 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  mtd: nand: Fix probe of Samsung NAND chips\n  mtd: nand: Fix regression in BBM detection\n  pxa3xx: fix ns2cycle equation\n"
    },
    {
      "commit": "ddb0c5a689c857bb13a42d9a3f0a7604497b3a29",
      "tree": "7d7e5eb9d8763e7503138735ec5de2ce2505dc60",
      "parents": [
        "0e8e50e20c837eeec8323bba7dcd25fe5479194c"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sat Aug 21 21:32:41 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 12:38:58 2010 -0700"
      },
      "message": "Replace Configure with Enable in description of MAXSMP\n\nThe \"Configure\" word tends to make user believe they have to say \u0027yes\u0027\nto be able to choose the number of procs/nodes.  \"Enable\" should be\nunambiguous enough.\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e8e50e20c837eeec8323bba7dcd25fe5479194c",
      "tree": "12c7ec767a4a8508be33442c6fb55c28a26c94cd",
      "parents": [
        "7798330ac8114c731cfab83e634c6ecedaa233d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 16:49:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 08:50:00 2010 -0700"
      },
      "message": "mm: make stack guard page logic use vm_prev pointer\n\nLike the mlock() change previously, this makes the stack guard check\ncode use vma-\u003evm_prev to see what the mapping below the current stack\nis, rather than have to look it up with find_vma().\n\nAlso, accept an abutting stack segment, since that happens naturally if\nyou split the stack with mlock or mprotect.\n\nTested-by: Ian Campbell \u003cijc@hellion.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7798330ac8114c731cfab83e634c6ecedaa233d7",
      "tree": "76c15db91609ad3355add2a6f23823ea27cf920d",
      "parents": [
        "297c5eee372478fc32fec5fe8eed711eedb13f3d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 16:39:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 08:49:50 2010 -0700"
      },
      "message": "mm: make the mlock() stack guard page checks stricter\n\nIf we\u0027ve split the stack vma, only the lowest one has the guard page.\nNow that we have a doubly linked list of vma\u0027s, checking this is trivial.\n\nTested-by: Ian Campbell \u003cijc@hellion.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "297c5eee372478fc32fec5fe8eed711eedb13f3d",
      "tree": "18415eae0833ff4767943f985900524d6b1d73f1",
      "parents": [
        "36423a5ed5e4ea95ceedb68fad52965033e11639"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 16:24:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 08:49:21 2010 -0700"
      },
      "message": "mm: make the vma list be doubly linked\n\nIt\u0027s a really simple list, and several of the users want to go backwards\nin it to find the previous vma.  So rather than have to look up the\nprevious entry with \u0027find_vma_prev()\u0027 or something similar, just make it\ndoubly linked instead.\n\nTested-by: Ian Campbell \u003cijc@hellion.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfe3fdadb16162327773ef01a575a32000b8c7f4",
      "tree": "e93dd6e4a80c1cdb23f9a2b562d4cb2bfb955f37",
      "parents": [
        "065a1ed8de85583888b3d4f22c64b534a1fbdaaa"
      ],
      "author": {
        "name": "Tilman Sauerbeck",
        "email": "tilman@code-monkey.de",
        "time": "Fri Aug 20 14:01:47 2010 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Aug 20 22:26:20 2010 +0100"
      },
      "message": "mtd: nand: Fix probe of Samsung NAND chips\n\nApparently, the check for a 6-byte ID string introduced by commit\n426c457a3216fac74e3d44dd39729b0689f4c7ab (\"mtd: nand: extend NAND flash\ndetection to new MLC chips\") is NOT sufficient to determine whether or\nnot a Samsung chip uses their new MLC detection scheme or the old,\nstandard scheme. This adds a condition to check cell type.\n\nSigned-off-by: Tilman Sauerbeck \u003ctilman@code-monkey.de\u003e\nSigned-off-by: Brian Norris \u003cnorris@broadcom.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "36423a5ed5e4ea95ceedb68fad52965033e11639",
      "tree": "6835f907a07b5d5d4861455e8b46398da652a3d4",
      "parents": [
        "f6143a9b732977859cb6e04c604d04976aa5ccbd",
        "05e407603e527f9d808dd3866d3a17c2ce4dfcc5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 14:25:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 14:25:08 2010 -0700"
      },
      "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, apic: Fix apic\u003ddebug boot crash\n  x86, hotplug: Serialize CPU hotplug to avoid bringup concurrency issues\n  x86-32: Fix dummy trampoline-related inline stubs\n  x86-32: Separate 1:1 pagetables from swapper_pg_dir\n  x86, cpu: Fix regression in AMD errata checking code\n"
    },
    {
      "commit": "f6143a9b732977859cb6e04c604d04976aa5ccbd",
      "tree": "3b5583a70e34a3a53415fe1ef23bb2b47b42125f",
      "parents": [
        "a4724ed6f084fd294b001103a68c3196eb60364c"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri Aug 20 19:56:31 2010 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:55:41 2010 -0700"
      },
      "message": "Documentation: fix ozlabs.org mailing list address\n\nThis list moved to lists.ozlabs.org quite some time ago.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a4724ed6f084fd294b001103a68c3196eb60364c",
      "tree": "a4b36746783fe839241933ecc7e0ef6c7b80d783",
      "parents": [
        "1ee41680572971e34d90d5f584daf33195ec6dcb"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri Aug 20 19:52:45 2010 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:55:41 2010 -0700"
      },
      "message": "MAINTAINERS: Fix ozlabs.org mailing list addresses\n\nAll these lists moved to lists.ozlabs.org quite a while ago.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ee41680572971e34d90d5f584daf33195ec6dcb",
      "tree": "f34cc8afcba020e0b47e676b5583e5d59fc26306",
      "parents": [
        "626115cda9a31d7618cfd5ca8928811e5947d360"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Aug 19 14:13:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:56 2010 -0700"
      },
      "message": "Documentation: kernel-locking: mutex_trylock cannot be used in interrupt context\n\nChapter 6 is right about mutex_trylock, but chapter 10 wasn\u0027t.  This error\nwas introduced during semaphore-to-mutex conversion of the Unreliable\nguide.  :-)\n\nIf user context which performs mutex_lock() or mutex_trylock() is\npreempted by interrupt context which performs mutex_trylock() on the same\nmutex instance, a deadlock occurs.  This is because these functions do not\ndisable local IRQs when they operate on mutex-\u003ewait_lock.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "626115cda9a31d7618cfd5ca8928811e5947d360",
      "tree": "32c72343734bd6088d10bfc00d13f0fcdcde0815",
      "parents": [
        "f3c072ad727617f00bffae17dba8cd895f5b7bdb"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Aug 19 14:13:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:56 2010 -0700"
      },
      "message": "drivers/scsi/qla4xxx: fix build\n\ngcc-4.0.2:\n\n  drivers/scsi/qla4xxx/ql4_os.c: In function \u0027qla4_8xxx_error_recovery\u0027:\n  drivers/scsi/qla4xxx/ql4_glbl.h:135: sorry, unimplemented: inlining failed in call to \u0027qla4_8xxx_set_drv_active\u0027: function body not available\n  drivers/scsi/qla4xxx/ql4_os.c:2377: sorry, unimplemented: called from here\n  drivers/scsi/qla4xxx/ql4_glbl.h:135: sorry, unimplemented: inlining failed in call to \u0027qla4_8xxx_set_drv_active\u0027: function body not available\n  drivers/scsi/qla4xxx/ql4_os.c:2393: sorry, unimplemented: called from here\n\nCc: Ravi Anand \u003cravi.anand@qlogic.com\u003e\nCc: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3c072ad727617f00bffae17dba8cd895f5b7bdb",
      "tree": "adfc9f4da5f4ce01fb7e936bea2f6ec0ab9a68c4",
      "parents": [
        "8d6c83f0ba5e1bd1e8bb2e3c7de4c276dc247f99"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Aug 19 14:13:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:55 2010 -0700"
      },
      "message": "uml: fix compile error in dma_get_cache_alignment()\n\nFix uml compile error:\n\n  include/linux/dma-mapping.h:145: error: redefinition of \u0027dma_get_cache_alignment\u0027\n  arch/um/include/asm/dma-mapping.h:99: note: previous definition of \u0027dma_get_cache_alignment\u0027 was here\n\nIntroduced by commit 4565f0170dfc (\"dma-mapping: unify\ndma_get_cache_alignment implementations\")\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.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": "8d6c83f0ba5e1bd1e8bb2e3c7de4c276dc247f99",
      "tree": "58b777adffdaf754b97e6359a325bccdd8919346",
      "parents": [
        "b52723c5607f7684c2c0c075f86f86da0d7fb6d0"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Aug 19 14:13:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:55 2010 -0700"
      },
      "message": "oom: __task_cred() need rcu_read_lock()\n\ndump_tasks() needs to hold the RCU read lock around its access of the\ntarget task\u0027s UID.  To this end it should use task_uid() as it only needs\nthat one thing from the creds.\n\nThe fact that dump_tasks() holds tasklist_lock is insufficient to prevent the\ntarget process replacing its credentials on another CPU.\n\nThen, this patch change to call rcu_read_lock() explicitly.\n\n\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\t[ INFO: suspicious rcu_dereference_check() usage. ]\n\t---------------------------------------------------\n\tmm/oom_kill.c:410 invoked rcu_dereference_check() without protection!\n\n\tother info that might help us debug this:\n\n\trcu_scheduler_active \u003d 1, debug_locks \u003d 1\n\t4 locks held by kworker/1:2/651:\n\t #0:  (events){+.+.+.}, at: [\u003cffffffff8106aae7\u003e]\n\tprocess_one_work+0x137/0x4a0\n\t #1:  (moom_work){+.+...}, at: [\u003cffffffff8106aae7\u003e]\n\tprocess_one_work+0x137/0x4a0\n\t #2:  (tasklist_lock){.+.+..}, at: [\u003cffffffff810fafd4\u003e]\n\tout_of_memory+0x164/0x3f0\n\t #3:  (\u0026(\u0026p-\u003ealloc_lock)-\u003erlock){+.+...}, at: [\u003cffffffff810fa48e\u003e]\n\tfind_lock_task_mm+0x2e/0x70\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b52723c5607f7684c2c0c075f86f86da0d7fb6d0",
      "tree": "97db08ef9d74c8fcacff6a96070854a5bc276419",
      "parents": [
        "be71cf2202971e50ce4953d473649c724799eb8a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Aug 19 14:13:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:55 2010 -0700"
      },
      "message": "oom: fix tasklist_lock leak\n\nCommit 0aad4b3124 (\"oom: fold __out_of_memory into out_of_memory\")\nintroduced a tasklist_lock leak.  Then it caused following obvious\ndanger warnings and panic.\n\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    [ BUG: lock held when returning to user space! ]\n    ------------------------------------------------\n    rsyslogd/1422 is leaving the kernel with locks still held!\n    1 lock held by rsyslogd/1422:\n     #0:  (tasklist_lock){.+.+.+}, at: [\u003cffffffff810faf64\u003e] out_of_memory+0x164/0x3f0\n    BUG: scheduling while atomic: rsyslogd/1422/0x00000002\n    INFO: lockdep is turned off.\n\nThis patch fixes it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be71cf2202971e50ce4953d473649c724799eb8a",
      "tree": "4bc4b927c3f55c12128929ab0d52e061c2a257ec",
      "parents": [
        "f522886e202a34a2191dd5d471b3c4d46410a9a0"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Aug 19 14:13:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:55 2010 -0700"
      },
      "message": "oom: fix NULL pointer dereference\n\nCommit b940fd7035 (\"oom: remove unnecessary code and cleanup\") added an\nunnecessary NULL pointer dereference.  remove it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f522886e202a34a2191dd5d471b3c4d46410a9a0",
      "tree": "1ce0fcadd9bc584337146955f8aa2c9a5eaa463c",
      "parents": [
        "5193250168ccdf87364e35a11965336dc088578c"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Thu Aug 19 14:13:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:55 2010 -0700"
      },
      "message": "drivers/mmc/host/sdhci-s3c.c: use the correct mutex and card detect function\n\nThere\u0027s some merge problem between sdhic core and sdhci-s3c host.  After\nmutex is changed to spinlock.  It needs to use use spin lock functions and\nuse the correct card detection function.\n\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: \u003clinux-mmc@vger.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": "5193250168ccdf87364e35a11965336dc088578c",
      "tree": "30bf8a281f27020f413033a7acc3be65d63c8377",
      "parents": [
        "930a6f70fa3b9c79a57dd6850ef9cb1efa470575"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Thu Aug 19 14:13:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:55 2010 -0700"
      },
      "message": "sdhci: add no hi-speed bit quirk support\n\nSome SDHCI controllers like s5pc110 don\u0027t have an HISPD bit in the HOSTCTL\nregister.\n\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: \u003clinux-mmc@vger.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": "930a6f70fa3b9c79a57dd6850ef9cb1efa470575",
      "tree": "62b12caea3d3a283c4700b7dfe32567e65b61e22",
      "parents": [
        "944645c33e4ada914f4c045525a9293610085ccd"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Thu Aug 19 14:13:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:55 2010 -0700"
      },
      "message": "s5pc110: SDHCI-s3c support on s5pc110\n\ns5pc110 (aka s5pv210) uses the same SDHCI IP.\n\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: \u003clinux-mmc@vger.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": "944645c33e4ada914f4c045525a9293610085ccd",
      "tree": "c8551425b131a58595fc7dd31648e15b8b018059",
      "parents": [
        "d5ed3a4af77b851b6271ad3d9abc4c57fa3ce0f5"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Thu Aug 19 14:13:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:55 2010 -0700"
      },
      "message": "s5pc110: SDHCI-s3c can override host capabilities\n\nEach board can override the default sdhci host capabilities.\nSome board has broken features by hardwares and support 8-bit bandwidth.\n\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: \u003clinux-mmc@vger.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": "d5ed3a4af77b851b6271ad3d9abc4c57fa3ce0f5",
      "tree": "f06894404e4af25051e8918bfd3fdac95974fc97",
      "parents": [
        "f2e41e910320197d55b52e28d99a07130f2ae738"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Aug 19 14:13:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:55 2010 -0700"
      },
      "message": "lib/radix-tree.c: fix overflow in radix_tree_range_tag_if_tagged()\n\nWhen radix_tree_maxindex() is ~0UL, it can happen that scanning overflows\nindex and tree traversal code goes astray reading memory until it hits\nunreadable memory.  Check for overflow and exit in that case.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2e41e910320197d55b52e28d99a07130f2ae738",
      "tree": "110e2a253c05d01faa01e7eb7a2fdbeef93b31b9",
      "parents": [
        "a25effa4d265eb5028c7d4a92a0ddd9267c3c43d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Aug 19 14:13:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:55 2010 -0700"
      },
      "message": "revert \"hwmon: f71882fg: add support for the Fintek F71808E\"\n\nRevert commit 7721fea3d0fd93fb4d000eb737b444369358d6d3 (\"hwmon:\nf71882fg: add support for the Fintek F71808E\").\n\nHans said:\n\n: A second review after I\u0027ve received a data sheet for this device from\n: Fintek has turned up a few bugs.\n:\n: Unfortunately Giel (nor I) have time to fix this in time for the 2.6.36\n: cycle.  Therefor I would like to see this patch reverted as not having any\n: support for the hwmon function of this superio chip is better then having\n: unreliable support.\n\nCc: Giel van Schijndel \u003cme@mortis.eu\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Hans de Goede \u003chdegoede@redhat.com\u003e\nCc: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a25effa4d265eb5028c7d4a92a0ddd9267c3c43d",
      "tree": "207c392483a80d7b21fdb92289c5c1b3e49c961a",
      "parents": [
        "d83a71c4219191a9a881318ae5ca9b39aa1d0540"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "arighi@develer.com",
        "time": "Thu Aug 19 14:13:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:54 2010 -0700"
      },
      "message": "kfifo: add explicit error checking in all the examples\n\nProvide a check in all the kfifo examples to validate the correct\nexecution of each testcase.\n\nSigned-off-by: Andrea Righi \u003carighi@develer.com\u003e\nAcked-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d83a71c4219191a9a881318ae5ca9b39aa1d0540",
      "tree": "8556b81fb6a07e53735f4984780f8a8caf133383",
      "parents": [
        "7b34d5257a90c419d67c1c3b52f87a679845ef1e"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "arighi@develer.com",
        "time": "Thu Aug 19 14:13:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:54 2010 -0700"
      },
      "message": "kfifo: fix a memory leak in dma example\n\nWe use a dynamically allocated kfifo in the dma example, so we need to\nfree it when unloading the module.\n\nSigned-off-by: Andrea Righi \u003carighi@develer.com\u003e\nAcked-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b34d5257a90c419d67c1c3b52f87a679845ef1e",
      "tree": "f5b0a4c3d3c52155f026cf5323ea4f8b9ea6fd55",
      "parents": [
        "2aaf2092c168fc02df0645415f524b357ee7ec2e"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "arighi@develer.com",
        "time": "Thu Aug 19 14:13:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:54 2010 -0700"
      },
      "message": "kfifo: fix kernel BUG in dma example\n\nThe scatterlist is used uninitialized in kfifo_dma_in_prepare().  This\ntriggers the following bug if CONFIG_DEBUG_SG\u003dy:\n\n  ------------[ cut here ]------------\n  kernel BUG at include/linux/scatterlist.h:65!\n  invalid opcode: 0000 [#1] PREEMPT SMP\n  ...\n  Call Trace:\n   [\u003cffffffff810a1eab\u003e] setup_sgl+0x6b/0xe0\n   [\u003cffffffffa03d7000\u003e] ? example_init+0x0/0x265 [dma_example]\n   [\u003cffffffff810a2021\u003e] __kfifo_dma_in_prepare+0x21/0x30\n   [\u003cffffffffa03d7124\u003e] example_init+0x124/0x265 [dma_example]\n   [\u003cffffffff810f9c55\u003e] ? trace_module_notify+0x25/0x370\n   [\u003cffffffff81110c6e\u003e] ? free_pages_prepare+0x11e/0x1e0\n   [\u003cffffffff8106f2b1\u003e] ? get_parent_ip+0x11/0x50\n   [\u003cffffffff810f9c55\u003e] ? trace_module_notify+0x25/0x370\n   [\u003cffffffff810b65fd\u003e] ? trace_hardirqs_on+0xd/0x10\n   [\u003cffffffff814beade\u003e] ? mutex_unlock+0xe/0x10\n   [\u003cffffffff810f9c71\u003e] ? trace_module_notify+0x41/0x370\n   [\u003cffffffff810a77d5\u003e] ? __blocking_notifier_call_chain+0x45/0x80\n   [\u003cffffffff81137b7a\u003e] ? vfree+0x2a/0x30\n   [\u003cffffffff810a6ac3\u003e] ? up_read+0x23/0x40\n   [\u003cffffffff810a77f5\u003e] ? __blocking_notifier_call_chain+0x65/0x80\n   [\u003cffffffff810001e3\u003e] do_one_initcall+0x43/0x180\n   [\u003cffffffff810c577a\u003e] sys_init_module+0xba/0x200\n   [\u003cffffffff8103819b\u003e] system_call_fastpath+0x16/0x1b\n  RIP  [\u003cffffffff810a1e31\u003e] setup_sgl_buf+0x1a1/0x1b0\n   RSP \u003cffff88006720dc98\u003e\n  ---[ end trace a72b979fd3c1d3a5 ]---\n\nAdd the proper initialization to avoid the bug.\n\nSigned-off-by: Andrea Righi \u003carighi@develer.com\u003e\nAcked-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2aaf2092c168fc02df0645415f524b357ee7ec2e",
      "tree": "998b8c3f82abb46a5a1c297a20ea0d5c4a7c0408",
      "parents": [
        "5ddf83912c8b49a24ab0841f6d77f33781dcf10f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "arighi@develer.com",
        "time": "Thu Aug 19 14:13:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:54 2010 -0700"
      },
      "message": "kfifo: add explicit error checking in byte stream example\n\nProvide a static array of expected items that kfifo should contain at the\nend of the test to validate it.\n\nSigned-off-by: Andrea Righi \u003carighi@develer.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ddf83912c8b49a24ab0841f6d77f33781dcf10f",
      "tree": "e3a9b61f4d79ac9ea57cb9775fa7c29ae76b4f33",
      "parents": [
        "b35de43b31040828f83046f40fd34ba33146409d"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "arighi@develer.com",
        "time": "Thu Aug 19 14:13:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:54 2010 -0700"
      },
      "message": "kfifo: add kfifo_skip() testcase\n\nAdd a testcase for kfifo_skip() to the byte stream fifo example.\n\nSigned-off-by: Andrea Righi \u003carighi@develer.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b35de43b31040828f83046f40fd34ba33146409d",
      "tree": "693ffff84f463da3a7d81d8bd7bb26e144d7d499",
      "parents": [
        "c81476df1b4241aefba4ff83a7701b3a926bd7ce"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "arighi@develer.com",
        "time": "Thu Aug 19 14:13:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:54 2010 -0700"
      },
      "message": "kfifo: implement missing __kfifo_skip_r()\n\nkfifo_skip() is currently broken, due to the missing of the internal\nhelper function.  Add it.\n\nSigned-off-by: Andrea Righi \u003carighi@develer.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c81476df1b4241aefba4ff83a7701b3a926bd7ce",
      "tree": "ada3e578b5bf65302cdabc7fd101e9b60c71440d",
      "parents": [
        "b3ea36b7a242773d7a05cec6c071a47b6581c178"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Thu Aug 19 14:13:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:54 2010 -0700"
      },
      "message": "matroxfb: fix incorrect use of memcpy_toio()\n\nScreen is completely corrupted since 2.6.34.  Bisection revealed that it\u0027s\ncaused by commit 6175ddf06b61720 (\"x86: Clean up mem*io functions.\").\n\nH.  Peter Anvin explained that memcpy_toio() does not copy data in 32bit\nchunks anymore on x86.\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nCc: Brian Gerst \u003cbrgerst@gmail.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Petr Vandrovec \u003cvandrove@vc.cvut.cz\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.34.x, 2.6.35.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05e407603e527f9d808dd3866d3a17c2ce4dfcc5",
      "tree": "e6b6b956d70b1a9624b11b8d597559ca4b2a8cdf",
      "parents": [
        "d7c53c9e822a4fefa13a0cae76f3190bfd0d5c11"
      ],
      "author": {
        "name": "Daniel Kiper",
        "email": "dkiper@net-space.pl",
        "time": "Fri Aug 20 00:46:16 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 20 10:18:28 2010 +0200"
      },
      "message": "x86, apic: Fix apic\u003ddebug boot crash\n\nFix a boot crash when apic\u003ddebug is used and the APIC is\nnot properly initialized.\n\nThis issue appears during Xen Dom0 kernel boot but the\nfix is generic and the crash could occur on real hardware\nas well.\n\nSigned-off-by: Daniel Kiper \u003cdkiper@net-space.pl\u003e\nCc: xen-devel@lists.xensource.com\nCc: konrad.wilk@oracle.com\nCc: jeremy@goop.org\nCc: \u003cstable@kernel.org\u003e # .35.x, .34.x, .33.x, .32.x\nLKML-Reference: \u003c20100819224616.GB9967@router-fw-old.local.net-space.pl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7c53c9e822a4fefa13a0cae76f3190bfd0d5c11",
      "tree": "9f4910ad6e95470bb67f504a09b096a4c2822a8d",
      "parents": [
        "8848a91068c018bc91f597038a0f41462a0f88a4"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bp@amd64.org",
        "time": "Thu Aug 19 20:10:29 2010 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Aug 19 14:47:43 2010 -0700"
      },
      "message": "x86, hotplug: Serialize CPU hotplug to avoid bringup concurrency issues\n\nWhen testing cpu hotplug code on 32-bit we kept hitting the \"CPU%d:\nStuck ??\" message due to multiple cores concurrently accessing the\ncpu_callin_mask, among others.\n\nSince these codepaths are not protected from concurrent access due to\nthe fact that there\u0027s no sane reason for making an already complex\ncode unnecessarily more complex - we hit the issue only when insanely\nswitching cores off- and online - serialize hotplugging cores on the\nsysfs level and be done with it.\n\n[ v2.1: fix !HOTPLUG_CPU build ]\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nLKML-Reference: \u003c20100819181029.GC17171@aftab\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "b3ea36b7a242773d7a05cec6c071a47b6581c178",
      "tree": "53edfe621b34f30b6f5212f4479d21e2c68dc743",
      "parents": [
        "763008c4357b73c8d18396dfd8d79dc58fa3f99d",
        "737480a0d525dae13306296da08029dff545bc72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 19 09:06:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 19 09:06:49 2010 -0700"
      },
      "message": "Merge branch \u0027perf-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  kprobes/x86: Fix the return address of multiple kretprobes\n  perf tools: Fix build error on read only source.\n  perf, x86: Fix Intel-nhm PMU programming errata workaround\n"
    },
    {
      "commit": "065a1ed8de85583888b3d4f22c64b534a1fbdaaa",
      "tree": "141e93d9d7db8412794cd6e34e9b91b88139a78c",
      "parents": [
        "93b352fce679945845664b56b0c3afbd655a7a12"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "norris@broadcom.com",
        "time": "Wed Aug 18 11:25:04 2010 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Aug 19 15:02:19 2010 +0100"
      },
      "message": "mtd: nand: Fix regression in BBM detection\n\nCommit c7b28e25cb9beb943aead770ff14551b55fa8c79 (\"mtd: nand: refactor BB \nmarker detection\") caused a regression in detection of factory-set bad \nblock markers, especially for certain small-page NAND. This fix removes \nsome unneeded constraints on using NAND_SMALL_BADBLOCK_POS, making the \ndetection code more correct.\n\nThis regression can be seen, for example, in Hynix HY27US081G1M and\nsimilar.\n\nSigned-off-by: Brian Norris \u003cnorris@broadcom.com\u003e\nTested-by: Michael Guntsche \u003cmike@it-loops.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "737480a0d525dae13306296da08029dff545bc72",
      "tree": "e769b99529b60a55b6a9ef80bf38c8f1937cf3cc",
      "parents": [
        "f2036884400a1d867eae992681ecfd3e6725ece8"
      ],
      "author": {
        "name": "KUMANO Syuhei",
        "email": "kumano.prog@gmail.com",
        "time": "Sun Aug 15 15:18:04 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 19 12:49:56 2010 +0200"
      },
      "message": "kprobes/x86: Fix the return address of multiple kretprobes\n\nFix the return address of subsequent kretprobes when multiple\nkretprobes are set on the same function.\n\nFor example:\n\n # cd /sys/kernel/debug/tracing\n # echo \"r:event1 sys_symlink\" \u003e kprobe_events\n # echo \"r:event2 sys_symlink\" \u003e\u003e kprobe_events\n # echo 1 \u003e events/kprobes/enable\n # ln -s /tmp/foo /tmp/bar\n\n(without this patch)\n\n # cat trace\n              ln-897   [000] 20404.133727: event1: (kretprobe_trampoline+0x0/0x4c \u003c- sys_symlink)\n              ln-897   [000] 20404.133747: event2: (system_call_fastpath+0x16/0x1b \u003c- sys_symlink)\n\n(with this patch)\n\n # cat trace\n              ln-740   [000] 13799.491076: event1: (system_call_fastpath+0x16/0x1b \u003c- sys_symlink)\n              ln-740   [000] 13799.491096: event2: (system_call_fastpath+0x16/0x1b \u003c- sys_symlink)\n\nSigned-off-by: KUMANO Syuhei \u003ckumano.prog@gmail.com\u003e\nReviewed-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nLKML-Reference: \u003c1281853084.3254.11.camel@camp10-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f2036884400a1d867eae992681ecfd3e6725ece8",
      "tree": "22162dfd438179928ef79d479cadf2d0587216b6",
      "parents": [
        "351af0725e5222e35741011d1ea62215c1ed06db",
        "ecafda60e88031bcc4271c446f984ee883d69ea8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 19 12:25:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 19 12:25:29 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/urgent\n"
    },
    {
      "commit": "763008c4357b73c8d18396dfd8d79dc58fa3f99d",
      "tree": "818add523a6b81b560bebac727c57c6a8ea6fd63",
      "parents": [
        "d1126ad907ce197ff45fbc2369fbeaf8ae6f75a8",
        "0a377cff9428af2da2b293d11e07bc4dbf064ee5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 15:45:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 15:45:23 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix an Oops in the NFSv4 atomic open code\n  NFS: Fix the selection of security flavours in Kconfig\n  NFS: fix the return value of nfs_file_fsync()\n  rpcrdma: Fix SQ size calculation when memreg is FRMR\n  xprtrdma: Do not truncate iova_start values in frmr registrations.\n  nfs: Remove redundant NULL check upon kfree()\n  nfs: Add \"lookupcache\" to displayed mount options\n  NFS: allow close-to-open cache semantics to apply to root of NFS filesystem\n  SUNRPC: fix NFS client over TCP hangs due to packet loss (Bug 16494)\n"
    },
    {
      "commit": "d1126ad907ce197ff45fbc2369fbeaf8ae6f75a8",
      "tree": "59204d2c9d41f6d43119ff0750077dcc2223929e",
      "parents": [
        "2a554736f0d518b7c4d9939c6a6842bffebc7475",
        "83e4491818040ae6b2d9fc60434616304a101d39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 15:29:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 15:29:38 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  USB HID: Add ID for eGalax Multitouch used in JooJoo tablet\n  HID: hiddev: fix memory corruption due to invalid intfdata\n  HID: hiddev: protect against disconnect/NULL-dereference race\n  HID: picolcd: correct ordering of framebuffer freeing\n  HID: picolcd: testing the wrong variable\n"
    },
    {
      "commit": "2a554736f0d518b7c4d9939c6a6842bffebc7475",
      "tree": "466ffd550f978b1e066bb9935af456f4db463275",
      "parents": [
        "d15ca3203754359cfe5d18910722d3089b204cc4",
        "145e5aa269d54e4ea53fdb5e597007bd287fbe49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 13:27:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 13:27:41 2010 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Fix build error: conflicting types for ‘sys_execve’\n"
    },
    {
      "commit": "d240f20f545fa4ed78ce48d1eb62ab529f2b1467",
      "tree": "77f410b91940ae2e42cd2b328d538a71bdcbb991",
      "parents": [
        "9cce37f4855a30cc7c364edf18522282782f7ddc"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Aug 13 15:43:26 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 18 13:21:50 2010 -0700"
      },
      "message": "drm/i915: make sure eDP PLL is enabled at the right time\n\nWe need to make sure the eDP PLL is enabled before the pipes or planes,\nso do it as part of the DP prepare mode set function.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "9cce37f4855a30cc7c364edf18522282782f7ddc",
      "tree": "62727f7142a8b4942895cb9f3cadd7b13b984d6d",
      "parents": [
        "7643a7fa16edf180d593f705f4fa5930c40e8d2d"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Aug 13 15:11:26 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 18 13:21:45 2010 -0700"
      },
      "message": "drm/i915: fix VGA plane disable for Ironlake+\n\nWe need to use I/O port instructions to access VGA registers on\nIronlake+, and it doesn\u0027t hurt on other platforms, so switch the VGA\nplane disable function over to using them.  Move it to init time as well\nwhile we\u0027re at it, no need to repeatedly disable the VGA plane with\nevery mode set and DPMS event.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7643a7fa16edf180d593f705f4fa5930c40e8d2d",
      "tree": "d1ba775fb61c8344532e77ad51d099068c17c975",
      "parents": [
        "37c6c9b0e941fbb7f37a93d36abaf5fcafea87a8"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 11 10:06:44 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 18 13:00:21 2010 -0700"
      },
      "message": "drm/i915: eDP mode set sequence corrections\n\nWe should disable the panel first when shutting down an eDP link.  And\nwhen turning one on, the panel needs to be enabled before link training\nor eDP I/O won\u0027t be enabled.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "37c6c9b0e941fbb7f37a93d36abaf5fcafea87a8",
      "tree": "e79d565e39575a526cb6714ce1287e8a1fb203f7",
      "parents": [
        "ce17178094f368d9e3f39b2cb4303da5ed633dd4"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 11 10:04:43 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 18 12:57:21 2010 -0700"
      },
      "message": "drm/i915: add panel reset workaround\n\nIronlake requires that we clear the reset panel bit during power\nsequences and restore it afterwards.  Uncondtionally add code to do that\nsince it should be harmless on SNB+.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "8848a91068c018bc91f597038a0f41462a0f88a4",
      "tree": "99803048b81afcc60fd5d0d300894d629f764bf6",
      "parents": [
        "fd89a137924e0710078c3ae855e7cec1c43cb845"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Aug 18 11:42:23 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Aug 18 12:42:24 2010 -0700"
      },
      "message": "x86-32: Fix dummy trampoline-related inline stubs\n\nFix dummy inline stubs for trampoline-related functions when no\ntrampolines exist (until we get rid of the no-trampoline case\nentirely.)\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nCc: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nLKML-Reference: \u003c4C6C294D.3030404@zytor.com\u003e\n"
    },
    {
      "commit": "d15ca3203754359cfe5d18910722d3089b204cc4",
      "tree": "879a1970ad82008d86c831a252b9c344f93eb7ad",
      "parents": [
        "145c3ae46b37993b0debb0b3da6256daea4a6ec5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Aug 18 18:55:33 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 12:12:38 2010 -0700"
      },
      "message": "Fix the declaration of sys_execve() in asm-generic/syscalls.h\n\nFix the declaration of sys_execve() in asm-generic/syscalls.h to have\nvarious consts applied to its pointers.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "145e5aa269d54e4ea53fdb5e597007bd287fbe49",
      "tree": "f0939ba35a64546ce71a93e1f3f048f0306da509",
      "parents": [
        "3b89f56783a4ef796190ef1192c25e72e0b986b6"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Aug 18 10:17:44 2010 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Aug 18 10:17:44 2010 -0700"
      },
      "message": "[IA64] Fix build error: conflicting types for ‘sys_execve’\n\narch/ia64/kernel/process.c:636: error: conflicting types for ‘sys_execve’\n\ncommit d7627467b7a8dd6944885290a03a07ceb28c10eb\nMake do_execve() take a const filename pointer\n\nMissed the declaration of sys_execve in the ia64 asm/unistd.h (perhaps\nbecause there is no reason for it to be there ... it might be a left over\nfrom the COMPAT code?). Just delete the conflicting version.\n\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "145c3ae46b37993b0debb0b3da6256daea4a6ec5",
      "tree": "0dbff382ce36b23b3d2dbff87d3eaab73a07a2a4",
      "parents": [
        "81ca03a0e2ea0207b2df80e0edcf4c775c07a505",
        "99b7db7b8ffd6bb755eb0a175596421a0b581cb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:35:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:35:08 2010 -0700"
      },
      "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  fs: brlock vfsmount_lock\n  fs: scale files_lock\n  lglock: introduce special lglock and brlock spin locks\n  tty: fix fu_list abuse\n  fs: cleanup files_lock locking\n  fs: remove extra lookup in __lookup_hash\n  fs: fs_struct rwlock to spinlock\n  apparmor: use task path helpers\n  fs: dentry allocation consolidation\n  fs: fix do_lookup false negative\n  mbcache: Limit the maximum number of cache entries\n  hostfs -\u003efollow_link() braino\n  hostfs: dumb (and usually harmless) tpyo - strncpy instead of strlcpy\n  remove SWRITE* I/O types\n  kill BH_Ordered flag\n  vfs: update ctime when changing the file\u0027s permission by setfacl\n  cramfs: only unlock new inodes\n  fix reiserfs_evict_inode end_writeback second call\n"
    },
    {
      "commit": "81ca03a0e2ea0207b2df80e0edcf4c775c07a505",
      "tree": "090dfd9cea5bf5f019c7cfb84b1d3cec18bf8bca",
      "parents": [
        "1ca72feb9343d10a620c3076b0aa6e80d613fcf7"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Aug 18 09:25:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:34:05 2010 -0700"
      },
      "message": "mmc: build fix: mmc_pm_notify is only available with CONFIG_PM\u003dy\n\nThis fixes a build breakage introduced by commit 4c2ef25fe0b8 (\"mmc: fix\nall hangs related to mmc/sd card insert/removal during suspend/resume\")\n\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: linux-mmc@vger.kernel.org\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nAcked-by: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\nAcked-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecafda60e88031bcc4271c446f984ee883d69ea8",
      "tree": "adada92125b2fd0d0d26e9edd04621b61799e467",
      "parents": [
        "033a273f9836b592dd568abd0f655be469d66704"
      ],
      "author": {
        "name": "Kusanagi Kouichi",
        "email": "slash@ac.auone-net.jp",
        "time": "Wed Aug 18 13:32:37 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Aug 18 13:32:37 2010 -0300"
      },
      "message": "perf tools: Fix build error on read only source.\n\nParts of the build process were generating files outside the specified\nO\u003d directory, causing the build to fail on systems where the sources are\nin a read only file system.\n\nFix it by using $(OUTPUT) on these locations.\n\nAlso check that $(OUTPUT) actually exists, just like the top level\nkernel Makefile does. Otherwise the failure message emitted is\ncompletely misleading.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20100817140841.0859362C03A@msa106.auone-net.jp\u003e\nSigned-off-by: Kusanagi Kouichi \u003cslash@ac.auone-net.jp\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "1ca72feb9343d10a620c3076b0aa6e80d613fcf7",
      "tree": "911ddec19e97d06877f3f00ee90f51389e030549",
      "parents": [
        "7dfb2d4069cc698da925327e8c2106852a0c77a2",
        "9d5f3714e4705a66b6be693f7202192f756f498e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:32:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:32:13 2010 -0700"
      },
      "message": "Merge branch \u0027perf-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 tools: Fix build on POSIX shells\n  latencytop: Fix kconfig dependency warnings\n  perf annotate tui: Fix exit and RIGHT keys handling\n  tracing: Sanitize value returned from write(trace_marker, \"...\", len)\n  tracing/events: Convert format output to seq_file\n  tracing: Extend recordmcount to better support Blackfin mcount\n  tracing: Fix ring_buffer_read_page reading out of page boundary\n  tracing: Fix an unallocated memory access in function_graph\n"
    },
    {
      "commit": "7dfb2d4069cc698da925327e8c2106852a0c77a2",
      "tree": "a4143d70c25365f21d46be44eda3bbb5eb98bc9f",
      "parents": [
        "6c8bfb7f7d43602c7f76060253bdaa493cd2e8b8",
        "2ea1ef5789c52dfdff6da81bc0d2eb8b62f73c23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:30:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:30:08 2010 -0700"
      },
      "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  ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter)\n  ALSA: hda - Fix ALC680 base model capture\n  ASoC: Remove DSP mode support for WM8776\n  ALSA: hda - Add quirk for Dell Vostro 1220\n  ALSA: riptide - Fix detection / load of firmware files\n"
    },
    {
      "commit": "6c8bfb7f7d43602c7f76060253bdaa493cd2e8b8",
      "tree": "33e4072d5539741e775788eb7dd0ffcf84208d3b",
      "parents": [
        "d9f5d41569731189e519fcee8578fcef5c916978",
        "5e1c53356d79591b10cdea12e3d5ebace8e7b6fa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:27:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:27:10 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:\n  m68knommu: include sched.h in ColdFire/SPI driver\n  m68knommu: formatting of pointers in printk()\n  m68knommu: arch/m68k/include/asm/ide.h fix for nommu\n"
    },
    {
      "commit": "d9f5d41569731189e519fcee8578fcef5c916978",
      "tree": "ec90968350d618431921f327f0dc3e378ea9a157",
      "parents": [
        "86ea51d4a27ec79e9da7d2ce0c4a58f1dc4544c0",
        "2c7d46ec192e4f2b350f67a0e185b9bce646cd6b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:26:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:26:42 2010 -0700"
      },
      "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 raid-1/10 Fix bio_rw bit manipulations again\n  md: provide appropriate return value for spare_active functions.\n  md: Notify sysfs when RAID1/5/10 disk is In_sync.\n  Update recovery_offset even when external metadata is used.\n"
    },
    {
      "commit": "86ea51d4a27ec79e9da7d2ce0c4a58f1dc4544c0",
      "tree": "dadb5d86c9f05bdbfe3180c3b307630c08f721b3",
      "parents": [
        "3b89f56783a4ef796190ef1192c25e72e0b986b6",
        "5c79a5ae23e72fa12f1c7c528f62bf3ea35da0dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:26:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:26:17 2010 -0700"
      },
      "message": "Merge branch \u0027merge-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027merge-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  spi.h: missing kernel-doc notation, please fix\n  of: fix missing headers for of_address_to_resource() in MTD and SysACE drivers\n  of: Fix missing includes\n  ata: update for of_device to platform_device replacement\n  microblaze: Fix of: eliminate of_device-\u003enode and dev_archdata-\u003e{of,prom}_node\n  microblaze: Fix of/address: Merge all of the bus translation code\n  booting-without-of: Remove nonexistent chapters from TOC, fix numbering\n"
    },
    {
      "commit": "fd89a137924e0710078c3ae855e7cec1c43cb845",
      "tree": "901f2048e637d3369ea4f0431dd618081ebeef93",
      "parents": [
        "07a7795ca2e6e66d00b184efb46bd0e23d90d3fe"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Aug 16 14:38:33 2010 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Aug 18 09:17:20 2010 -0700"
      },
      "message": "x86-32: Separate 1:1 pagetables from swapper_pg_dir\n\nThis patch fixes machine crashes which occur when heavily exercising the\nCPU hotplug codepaths on a 32-bit kernel. These crashes are caused by\nAMD Erratum 383 and result in a fatal machine check exception. Here\u0027s\nthe scenario:\n\n1. On 32-bit, the swapper_pg_dir page table is used as the initial page\ntable for booting a secondary CPU.\n\n2. To make this work, swapper_pg_dir needs a direct mapping of physical\nmemory in it (the low mappings). By adding those low, large page (2M)\nmappings (PAE kernel), we create the necessary conditions for Erratum\n383 to occur.\n\n3. Other CPUs which do not participate in the off- and onlining game may\nuse swapper_pg_dir while the low mappings are present (when leave_mm is\ncalled). For all steps below, the CPU referred to is a CPU that is using\nswapper_pg_dir, and not the CPU which is being onlined.\n\n4. The presence of the low mappings in swapper_pg_dir can result\nin TLB entries for addresses below __PAGE_OFFSET to be established\nspeculatively. These TLB entries are marked global and large.\n\n5. When the CPU with such TLB entry switches to another page table, this\nTLB entry remains because it is global.\n\n6. The process then generates an access to an address covered by the\nabove TLB entry but there is a permission mismatch - the TLB entry\ncovers a large global page not accessible to userspace.\n\n7. Due to this permission mismatch a new 4kb, user TLB entry gets\nestablished. Further, Erratum 383 provides for a small window of time\nwhere both TLB entries are present. This results in an uncorrectable\nmachine check exception signalling a TLB multimatch which panics the\nmachine.\n\nThere are two ways to fix this issue:\n\n        1. Always do a global TLB flush when a new cr3 is loaded and the\n        old page table was swapper_pg_dir. I consider this a hack hard\n        to understand and with performance implications\n\n        2. Do not use swapper_pg_dir to boot secondary CPUs like 64-bit\n        does.\n\nThis patch implements solution 2. It introduces a trampoline_pg_dir\nwhich has the same layout as swapper_pg_dir with low_mappings. This page\ntable is used as the initial page table of the booting CPU. Later in the\nbringup process, it switches to swapper_pg_dir and does a global TLB\nflush. This fixes the crashes in our test cases.\n\n-v2: switch to swapper_pg_dir right after entering start_secondary() so\nthat we are able to access percpu data which might not be mapped in the\ntrampoline page table.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nLKML-Reference: \u003c20100816123833.GB28147@aftab\u003e\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "07a7795ca2e6e66d00b184efb46bd0e23d90d3fe",
      "tree": "79dcc946b66f44498c1c4021420bf74971d74e37",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Hans Rosenfeld",
        "email": "hans.rosenfeld@amd.com",
        "time": "Wed Aug 18 16:19:50 2010 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Aug 18 09:16:28 2010 -0700"
      },
      "message": "x86, cpu: Fix regression in AMD errata checking code\n\nA bug in the family-model-stepping matching code caused the presence of\nerrata to go undetected when OSVW was not used. This causes hangs on\nsome K8 systems because the E400 workaround is not enabled.\n\nSigned-off-by: Hans Rosenfeld \u003chans.rosenfeld@amd.com\u003e\nLKML-Reference: \u003c1282141190-930137-1-git-send-email-hans.rosenfeld@amd.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "1cb0c924fa2d616e5e3b5bc62d97191aac9ff442",
      "tree": "199a9ffc425033d27620e70d8ffd44a9e44ad931",
      "parents": [
        "3b89f56783a4ef796190ef1192c25e72e0b986b6"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Aug 18 21:11:11 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Aug 19 00:11:06 2010 +0900"
      },
      "message": "nilfs2: wait for discard to finish\n\nnilfs_discard_segment() doesn\u0027t wait for completion of discard\nrequests.  This specifies BLKDEV_IFL_WAIT flag when calling\nblkdev_issue_discard() in order to fix the sync failure.\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "0a377cff9428af2da2b293d11e07bc4dbf064ee5",
      "tree": "af97cd65f7e662bef87866b6a876831416f60a1f",
      "parents": [
        "df486a25900f4dba9cdc3886c4ac871951c6aef3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 18 09:25:42 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 18 09:25:42 2010 -0400"
      },
      "message": "NFS: Fix an Oops in the NFSv4 atomic open code\n\nAdam Lackorzynski reports:\n\nwith 2.6.35.2 I\u0027m getting this reproducible Oops:\n\n[  110.825396] BUG: unable to handle kernel NULL pointer dereference at\n(null)\n[  110.828638] IP: [\u003cffffffff811247b7\u003e] encode_attrs+0x1a/0x2a4\n[  110.828638] PGD be89f067 PUD bf18f067 PMD 0\n[  110.828638] Oops: 0000 [#1] SMP\n[  110.828638] last sysfs file: /sys/class/net/lo/operstate\n[  110.828638] CPU 2\n[  110.828638] Modules linked in: rtc_cmos rtc_core rtc_lib amd64_edac_mod\ni2c_amd756 edac_core i2c_core dm_mirror dm_region_hash dm_log dm_snapshot\nsg sr_mod usb_storage ohci_hcd mptspi tg3 mptscsih mptbase usbcore nls_base\n[last unloaded: scsi_wait_scan]\n[  110.828638]\n[  110.828638] Pid: 11264, comm: setchecksum Not tainted 2.6.35.2 #1\n[  110.828638] RIP: 0010:[\u003cffffffff811247b7\u003e]  [\u003cffffffff811247b7\u003e]\nencode_attrs+0x1a/0x2a4\n[  110.828638] RSP: 0000:ffff88003bf5b878  EFLAGS: 00010296\n[  110.828638] RAX: ffff8800bddb48a8 RBX: ffff88003bf5bb18 RCX:\n0000000000000000\n[  110.828638] RDX: ffff8800be258800 RSI: 0000000000000000 RDI:\nffff88003bf5b9f8\n[  110.828638] RBP: 0000000000000000 R08: ffff8800bddb48a8 R09:\n0000000000000004\n[  110.828638] R10: 0000000000000003 R11: ffff8800be779000 R12:\nffff8800be258800\n[  110.828638] R13: ffff88003bf5b9f8 R14: ffff88003bf5bb20 R15:\nffff8800be258800\n[  110.828638] FS:  0000000000000000(0000) GS:ffff880041e00000(0063)\nknlGS:00000000556bd6b0\n[  110.828638] CS:  0010 DS: 002b ES: 002b CR0: 000000008005003b\n[  110.828638] CR2: 0000000000000000 CR3: 00000000be8ef000 CR4:\n00000000000006e0\n[  110.828638] DR0: 0000000000000000 DR1: 0000000000000000 DR2:\n0000000000000000\n[  110.828638] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:\n0000000000000400\n[  110.828638] Process setchecksum (pid: 11264, threadinfo\nffff88003bf5a000, task ffff88003f232210)\n[  110.828638] Stack:\n[  110.828638]  0000000000000000 ffff8800bfbcf920 0000000000000000\n0000000000000ffe\n[  110.828638] \u003c0\u003e 0000000000000000 0000000000000000 0000000000000000\n0000000000000000\n[  110.828638] \u003c0\u003e 0000000000000000 0000000000000000 0000000000000000\n0000000000000000\n[  110.828638] Call Trace:\n[  110.828638]  [\u003cffffffff81124c1f\u003e] ? nfs4_xdr_enc_setattr+0x90/0xb4\n[  110.828638]  [\u003cffffffff81371161\u003e] ? call_transmit+0x1c3/0x24a\n[  110.828638]  [\u003cffffffff813774d9\u003e] ? __rpc_execute+0x78/0x22a\n[  110.828638]  [\u003cffffffff81371a91\u003e] ? rpc_run_task+0x21/0x2b\n[  110.828638]  [\u003cffffffff81371b7e\u003e] ? rpc_call_sync+0x3d/0x5d\n[  110.828638]  [\u003cffffffff8111e284\u003e] ? _nfs4_do_setattr+0x11b/0x147\n[  110.828638]  [\u003cffffffff81109466\u003e] ? nfs_init_locked+0x0/0x32\n[  110.828638]  [\u003cffffffff810ac521\u003e] ? ifind+0x4e/0x90\n[  110.828638]  [\u003cffffffff8111e2fb\u003e] ? nfs4_do_setattr+0x4b/0x6e\n[  110.828638]  [\u003cffffffff8111e634\u003e] ? nfs4_do_open+0x291/0x3a6\n[  110.828638]  [\u003cffffffff8111ed81\u003e] ? nfs4_open_revalidate+0x63/0x14a\n[  110.828638]  [\u003cffffffff811056c4\u003e] ? nfs_open_revalidate+0xd7/0x161\n[  110.828638]  [\u003cffffffff810a2de4\u003e] ? do_lookup+0x1a4/0x201\n[  110.828638]  [\u003cffffffff810a4733\u003e] ? link_path_walk+0x6a/0x9d5\n[  110.828638]  [\u003cffffffff810a42b6\u003e] ? do_last+0x17b/0x58e\n[  110.828638]  [\u003cffffffff810a5fbe\u003e] ? do_filp_open+0x1bd/0x56e\n[  110.828638]  [\u003cffffffff811cd5e0\u003e] ? _atomic_dec_and_lock+0x30/0x48\n[  110.828638]  [\u003cffffffff810a9b1b\u003e] ? dput+0x37/0x152\n[  110.828638]  [\u003cffffffff810ae063\u003e] ? alloc_fd+0x69/0x10a\n[  110.828638]  [\u003cffffffff81099f39\u003e] ? do_sys_open+0x56/0x100\n[  110.828638]  [\u003cffffffff81027a22\u003e] ? ia32_sysret+0x0/0x5\n[  110.828638] Code: 83 f1 01 e8 f5 ca ff ff 48 83 c4 50 5b 5d 41 5c c3 41\n57 41 56 41 55 49 89 fd 41 54 49 89 d4 55 48 89 f5 53 48 81 ec 18 01 00 00\n\u003c8b\u003e 06 89 c2 83 e2 08 83 fa 01 19 db 83 e3 f8 83 c3 18 a8 01 8d\n[  110.828638] RIP  [\u003cffffffff811247b7\u003e] encode_attrs+0x1a/0x2a4\n[  110.828638]  RSP \u003cffff88003bf5b878\u003e\n[  110.828638] CR2: 0000000000000000\n[  112.840396] ---[ end trace 95282e83fd77358f ]---\n\nWe need to ensure that the O_EXCL flag is turned off if the user doesn\u0027t\nset O_CREAT.\n\nCc: stable@kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2ea1ef5789c52dfdff6da81bc0d2eb8b62f73c23",
      "tree": "9f3b8e39a19c9a1666caf8756513aef2438b054e",
      "parents": [
        "76165a3063356ec898159d942ef4d2c69cc26801",
        "b2c1e07b81a126e5846dfc3d36f559d861df59f4"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Aug 18 15:22:18 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Aug 18 15:22:18 2010 +0200"
      },
      "message": "Merge branch \u0027fix/asoc\u0027 into for-linus\n"
    },
    {
      "commit": "76165a3063356ec898159d942ef4d2c69cc26801",
      "tree": "ae4f6b756dfbbd05d50bb1848e5863925720bf6e",
      "parents": [
        "56385a12d9bb9e173751f74b6c430742018cafc0",
        "c69aefabe004d24e6eedf83b6f253647f77dfc43"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Aug 18 15:22:15 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Aug 18 15:22:15 2010 +0200"
      },
      "message": "Merge branch \u0027fix/hda\u0027 into for-linus\n"
    },
    {
      "commit": "56385a12d9bb9e173751f74b6c430742018cafc0",
      "tree": "a0ccadcd4ab6fe2fa7b7dbde1a8b542b7b105c15",
      "parents": [
        "a5ba6beb839cfa288960c92cd2668a2601c24dda"
      ],
      "author": {
        "name": "Jaroslav Kysela",
        "email": "perex@perex.cz",
        "time": "Wed Aug 18 14:08:17 2010 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Aug 18 15:10:59 2010 +0200"
      },
      "message": "ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter)\n\nWith some hardware combinations, the PCM interrupts are acknowledged\nbefore the period boundary from the emu10k1 chip. The midlevel PCM code\ngets confused and the playback stream is interrupted.\n\nIt seems that the interrupt processing shift by 2 samples is enough\nto fix this issue. This default value does not harm other,\nnon-affected hardware.\n\nMore information: Kernel bugzilla bug#16300\n\n[A copmile warning fixed by tiwai]\n\nSigned-off-by: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "99b7db7b8ffd6bb755eb0a175596421a0b581cb2",
      "tree": "cbaf57d252f0852f967d3fd5a5f87472964a01fe",
      "parents": [
        "6416ccb7899960868f5016751fb81bf25213d24f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:39 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:48 2010 -0400"
      },
      "message": "fs: brlock vfsmount_lock\n\nfs: brlock vfsmount_lock\n\nUse a brlock for the vfsmount lock. It must be taken for write whenever\nmodifying the mount hash or associated fields, and may be taken for read when\nperforming mount hash lookups.\n\nA new lock is added for the mnt-id allocator, so it doesn\u0027t need to take\nthe heavy vfsmount write-lock.\n\nThe number of atomics should remain the same for fastpath rlock cases, though\ncode would be slightly slower due to per-cpu access. Scalability is not not be\nmuch improved in common cases yet, due to other locks (ie. dcache_lock) getting\nin the way. However path lookups crossing mountpoints should be one case where\nscalability is improved (currently requiring the global lock).\n\nThe slowpath is slower due to use of brlock. On a 64 core, 64 socket, 32 node\nAltix system (high latency to remote nodes), a simple umount microbenchmark\n(mount --bind mnt mnt2 ; umount mnt2 loop 1000 times), before this patch it\ntook 6.8s, afterwards took 7.1s, about 5% slower.\n\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6416ccb7899960868f5016751fb81bf25213d24f",
      "tree": "457069571211e4ece844dc332a2f9673705a5bde",
      "parents": [
        "2dc91abe03d8ce6dd7f9251faffafca5f6b9e85d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:38 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:48 2010 -0400"
      },
      "message": "fs: scale files_lock\n\nfs: scale files_lock\n\nImprove scalability of files_lock by adding per-cpu, per-sb files lists,\nprotected with an lglock. The lglock provides fast access to the per-cpu lists\nto add and remove files. It also provides a snapshot of all the per-cpu lists\n(although this is very slow).\n\nOne difficulty with this approach is that a file can be removed from the list\nby another CPU. We must track which per-cpu list the file is on with a new\nvariale in the file struct (packed into a hole on 64-bit archs). Scalability\ncould suffer if files are frequently removed from different cpu\u0027s list.\n\nHowever loads with frequent removal of files imply short interval between\nadding and removing the files, and the scheduler attempts to avoid moving\nprocesses too far away. Also, even in the case of cross-CPU removal, the\nhardware has much more opportunity to parallelise cacheline transfers with N\ncachelines than with 1.\n\nA worst-case test of 1 CPU allocating files subsequently being freed by N CPUs\ndegenerates to contending on a single lock, which is no worse than before. When\nmore than one CPU are allocating files, even if they are always freed by\ndifferent CPUs, there will be more parallelism than the single-lock case.\n\nTesting results:\n\nOn a 2 socket, 8 core opteron, I measure the number of times the lock is taken\nto remove the file, the number of times it is removed by the same CPU that\nadded it, and the number of times it is removed by the same node that added it.\n\nBooting:    locks\u003d  25049 cpu-hits\u003d  23174 (92.5%) node-hits\u003d  23945 (95.6%)\nkbuild -j16 locks\u003d2281913 cpu-hits\u003d2208126 (96.8%) node-hits\u003d2252674 (98.7%)\ndbench 64   locks\u003d4306582 cpu-hits\u003d4287247 (99.6%) node-hits\u003d4299527 (99.8%)\n\nSo a file is removed from the same CPU it was added by over 90% of the time.\nIt remains within the same node 95% of the time.\n\nTim Chen ran some numbers for a 64 thread Nehalem system performing a compile.\n\n                throughput\n2.6.34-rc2      24.5\n+patch          24.9\n\n                us      sys     idle    IO wait (in %)\n2.6.34-rc2      51.25   28.25   17.25   3.25\n+patch          53.75   18.5    19      8.75\n\nSo significantly less CPU time spent in kernel code, higher idle time and\nslightly higher throughput.\n\nSingle threaded performance difference was within the noise of microbenchmarks.\nThat is not to say penalty does not exist, the code is larger and more memory\naccesses required so it will be slightly slower.\n\nCc: linux-kernel@vger.kernel.org\nCc: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2dc91abe03d8ce6dd7f9251faffafca5f6b9e85d",
      "tree": "1712fcb512310a80a7d2c7f92b30ce91750efaf1",
      "parents": [
        "d996b62a8df1d935b01319bf8defb95b5709f7b8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:37 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:48 2010 -0400"
      },
      "message": "lglock: introduce special lglock and brlock spin locks\n\nlglock: introduce special lglock and brlock spin locks\n\nThis patch introduces \"local-global\" locks (lglocks). These can be used to:\n\n- Provide fast exclusive access to per-CPU data, with exclusive access to\n  another CPU\u0027s data allowed but possibly subject to contention, and to provide\n  very slow exclusive access to all per-CPU data.\n- Or to provide very fast and scalable read serialisation, and to provide\n  very slow exclusive serialisation of data (not necessarily per-CPU data).\n\nBrlocks are also implemented as a short-hand notation for the latter use\ncase.\n\nThanks to Paul for local/global naming convention.\n\nCc: linux-kernel@vger.kernel.org\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d996b62a8df1d935b01319bf8defb95b5709f7b8",
      "tree": "d81f8240da776336845a2063555d7bb4dce684bd",
      "parents": [
        "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:36 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "tty: fix fu_list abuse\n\ntty: fix fu_list abuse\n\ntty code abuses fu_list, which causes a bug in remount,ro handling.\n\nIf a tty device node is opened on a filesystem, then the last link to the inode\nremoved, the filesystem will be allowed to be remounted readonly. This is\nbecause fs_may_remount_ro does not find the 0 link tty inode on the file sb\nlist (because the tty code incorrectly removed it to use for its own purpose).\nThis can result in a filesystem with errors after it is marked \"clean\".\n\nTaking idea from Christoph\u0027s initial patch, allocate a tty private struct\nat file-\u003eprivate_data and put our required list fields in there, linking\nfile and tty. This makes tty nodes behave the same way as other device nodes\nand avoid meddling with the vfs, and avoids this bug.\n\nThe error handling is not trivial in the tty code, so for this bugfix, I take\nthe simple approach of using __GFP_NOFAIL and don\u0027t worry about memory errors.\nThis is not a problem because our allocator doesn\u0027t fail small allocs as a rule\nanyway. So proper error handling is left as an exercise for tty hackers.\n\n[ Arguably filesystem\u0027s device inode would ideally be divorced from the\ndriver\u0027s pseudo inode when it is opened, but in practice it\u0027s not clear whether\nthat will ever be worth implementing. ]\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8",
      "tree": "e48400d1a33f8d2e68589ccfd61637aa64462f08",
      "parents": [
        "b04f784e5d19ed58892833dae845738972cea260"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:35 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "fs: cleanup files_lock locking\n\nfs: cleanup files_lock locking\n\nLock tty_files with a new spinlock, tty_files_lock; provide helpers to\nmanipulate the per-sb files list; unexport the files_lock spinlock.\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b04f784e5d19ed58892833dae845738972cea260",
      "tree": "6060e063b5a51461fd60630d57318778fe987148",
      "parents": [
        "2a4419b5b2a77f3f4537c14f7ad7df95770655dd"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:34 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "fs: remove extra lookup in __lookup_hash\n\nfs: remove extra lookup in __lookup_hash\n\nOptimize lookup for create operations, where no dentry should often be\ncommon-case. In cases where it is not, such as unlink, the added overhead\nis much smaller than the removed.\n\nAlso, move comments about __d_lookup racyness to the __d_lookup call site.\nd_lookup is intuitive; __d_lookup is what needs commenting. So in that same\nvein, add kerneldoc comments to __d_lookup and clean up some of the comments:\n\n- We are interested in how the RCU lookup works here, particularly with\n  renames. Make that explicit, and point to the document where it is explained\n  in more detail.\n- RCU is pretty standard now, and macros make implementations pretty mindless.\n  If we want to know about RCU barrier details, we look in RCU code.\n- Delete some boring legacy comments because we don\u0027t care much about how the\n  code used to work, more about the interesting parts of how it works now. So\n  comments about lazy LRU may be interesting, but would better be done in the\n  LRU or refcount management code.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a4419b5b2a77f3f4537c14f7ad7df95770655dd",
      "tree": "ad66519a92b995920ecada788e4a08e265747545",
      "parents": [
        "44672e4fbd40e2dda8bbce7d0f71d24dbfc7e00e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:33 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:46 2010 -0400"
      },
      "message": "fs: fs_struct rwlock to spinlock\n\nfs: fs_struct rwlock to spinlock\n\nstruct fs_struct.lock is an rwlock with the read-side used to protect root and\npwd members while taking references to them. Taking a reference to a path\ntypically requires just 2 atomic ops, so the critical section is very small.\nParallel read-side operations would have cacheline contention on the lock, the\ndentry, and the vfsmount cachelines, so the rwlock is unlikely to ever give a\nreal parallelism increase.\n\nReplace it with a spinlock to avoid one or two atomic operations in typical\npath lookup fastpath.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "44672e4fbd40e2dda8bbce7d0f71d24dbfc7e00e",
      "tree": "7d6251adb6eac69a0d0ba97e64dbf2c41c67928e",
      "parents": [
        "baa0389073eb7beb9d36f6d13df97e16c1bfa626"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:32 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:46 2010 -0400"
      },
      "message": "apparmor: use task path helpers\n\napparmor: use task path helpers\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "baa0389073eb7beb9d36f6d13df97e16c1bfa626",
      "tree": "38567c4e315f74fe086e4f7459df2a1cadd9add6",
      "parents": [
        "2e2e88ea8c3bd9e1bd6e42faf047a4ac3fbb3b2f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:31 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:45 2010 -0400"
      },
      "message": "fs: dentry allocation consolidation\n\nfs: dentry allocation consolidation\n\nThere are 2 duplicate copies of code in dentry allocation in path lookup.\nConsolidate them into a single function.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2e2e88ea8c3bd9e1bd6e42faf047a4ac3fbb3b2f",
      "tree": "398f6de92d9e41419297354a26e25e0db8a693f6",
      "parents": [
        "3a48ee8a4ad26c3a538b6fc11a86a8f80c3dce18"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:30 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:45 2010 -0400"
      },
      "message": "fs: fix do_lookup false negative\n\nfs: fix do_lookup false negative\n\nIn do_lookup, if we initially find no dentry, we take the directory i_mutex and\nre-check the lookup. If we find a dentry there, then we revalidate it if\nneeded. However if that revalidate asks for the dentry to be invalidated, we\nreturn -ENOENT from do_lookup. What should happen instead is an attempt to\nallocate and lookup a new dentry.\n\nThis is probably not noticed because it is rare. It is only reached if a\nconcurrent create races in first (in which case, the dentry probably won\u0027t be\ninvalidated anyway), or if the racy __d_lookup has failed due to a\nfalse-negative (which is very rare).\n\nFix this by removing code and have it use the normal reval path.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "93b352fce679945845664b56b0c3afbd655a7a12",
      "tree": "066af0c86ff07111f5a569aae432ad657cf4d844",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Mon Aug 16 16:09:09 2010 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Aug 18 13:32:47 2010 +0100"
      },
      "message": "pxa3xx: fix ns2cycle equation\n\nTest on a PXA310 platform with Samsung K9F2G08X0B NAND flash,\nwith tCH\u003d5 and clk is 156MHz, ns2cycle(5, 156000000) returns -1.\n\nns2cycle returns negtive value will break NDTR0_tXX macros.\n\nAfter checking the commit log, I found the problem is introduced by\ncommit 5b0d4d7c8a67c5ba3d35e6ceb0c5530cc6846db7\n\"[MTD] [NAND] pxa3xx: convert from ns to clock ticks more accurately\"\n\nTo get num of clock cycles, we use below equation:\nnum of clock cycles \u003d time (ns) / one clock cycle (ns) + 1\nWe need to add 1 cycle here because integer division will truncate the result.\nIt is possible the developers set the Min values in SPEC for timing settings.\nThus the truncate may cause problem, and it is safe to add an extra cycle here.\n\nThe various fields in NDTR{01} are in units of clock ticks minus one,\nthus we should subtract 1 cycle then.\n\nThus the correct equation should be:\nnum of clock cycles \u003d time (ns) / one clock cycle (ns) + 1 - 1\n                    \u003d time (ns) / one clock cycle (ns)\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Lei Wen \u003cleiwen@marvell.com\u003e\nAcked-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "3a48ee8a4ad26c3a538b6fc11a86a8f80c3dce18",
      "tree": "3e89deaa14c8d72c7484f61c2babc5755a9e991e",
      "parents": [
        "3b6036d148bad5bb7928b021a49bb9e395361084"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Mon Aug 16 19:05:23 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 06:24:41 2010 -0400"
      },
      "message": "mbcache: Limit the maximum number of cache entries\n\nLimit the maximum number of mb_cache entries depending on the number of\nhash buckets: if the only limit to the number of cache entries is the\navailable memory the hash chains can grow very long, taking a long time\nto search.\n\nAt least partially solves https://bugzilla.lustre.org/show_bug.cgi?id\u003d22771.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3b6036d148bad5bb7928b021a49bb9e395361084",
      "tree": "f64408944d4ef7f74290a689750484f1fb473d20",
      "parents": [
        "850a496f969719b494cc972ab1d0e088737358d7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 06:21:10 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 06:21:10 2010 -0400"
      },
      "message": "hostfs -\u003efollow_link() braino\n\nwe want the assignment to err done inside the if () to be\nvisible after it, so (re)declaring err inside if () body\nis wrong.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "850a496f969719b494cc972ab1d0e088737358d7",
      "tree": "9892f09f246b8e855d0e89e58b649e0c5224bb20",
      "parents": [
        "9cb569d601e0b93e01c20a22872270ec663b75f6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 06:18:57 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 06:18:57 2010 -0400"
      },
      "message": "hostfs: dumb (and usually harmless) tpyo - strncpy instead of strlcpy\n\n... not harmless in this case - we have a string in the end of buffer\nalready.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "351af0725e5222e35741011d1ea62215c1ed06db",
      "tree": "1b58323fb9bc7a86c814c3883cd09c3e859b32c3",
      "parents": [
        "9d5f3714e4705a66b6be693f7202192f756f498e"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Fri Aug 06 13:39:08 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 18 11:17:39 2010 +0200"
      },
      "message": "perf, x86: Fix Intel-nhm PMU programming errata workaround\n\nFix the Errata AAK100/AAP53/BD53 workaround, the officialy documented\nworkaround we implemented in:\n\n 11164cd: perf, x86: Add Nehelem PMU programming errata workaround\n\ndoesn\u0027t actually work fully and causes a stuck PMU state\nunder load and non-functioning perf profiling.\n\nA functional workaround was found by trial \u0026 error.\n\nAffects all Nehalem-class Intel PMUs.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1281073148.2125.63.camel@ymzhang.sh.intel.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003cstable@kernel.org\u003e # .35.x\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9d5f3714e4705a66b6be693f7202192f756f498e",
      "tree": "0c267731aec529baf15ad70ed239c25152099f1e",
      "parents": [
        "625fdcaa6d2a3db6a922bbd833450424e906111c",
        "033a273f9836b592dd568abd0f655be469d66704"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 18 09:53:36 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 18 09:53:36 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/urgent\n"
    },
    {
      "commit": "2c7d46ec192e4f2b350f67a0e185b9bce646cd6b",
      "tree": "2a49c1e99de3442184726be20d03e3a15d80cee0",
      "parents": [
        "6b9656205469269c050963c71fca1998b247a560"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Aug 18 16:16:05 2010 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Aug 18 16:16:05 2010 +1000"
      },
      "message": "md raid-1/10 Fix bio_rw bit manipulations again\n\ncommit 7b6d91daee5cac6402186ff224c3af39d79f4a0e changed the behaviour\nof a few variables in raid1 and raid10 from flags to bit-sets, but\nleft them as type \u0027bool\u0027 so they did not work.\n\nChange them (back) to unsigned long.\n(historical note: see 1ef04fefe2241087d9db7e9615c3f11b516e36cf)\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nReported-by: Jiri Slaby \u003cjslaby@suse.cz\u003e and many others\n"
    },
    {
      "commit": "9cb569d601e0b93e01c20a22872270ec663b75f6",
      "tree": "80b2568fae48018806e82f8884062dae8a5494ae",
      "parents": [
        "87e99511ea54510ffb60b98001d108794d5037f8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Aug 11 17:06:24 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 01:09:01 2010 -0400"
      },
      "message": "remove SWRITE* I/O types\n\nThese flags aren\u0027t real I/O types, but tell ll_rw_block to always\nlock the buffer instead of giving up on a failed trylock.\n\nInstead add a new write_dirty_buffer helper that implements this semantic\nand use it from the existing SWRITE* callers.  Note that the ll_rw_block\ncode had a bug where it didn\u0027t promote WRITE_SYNC_PLUG properly, which\nthis patch fixes.\n\nIn the ufs code clean up the helper that used to call ll_rw_block\nto mirror sync_dirty_buffer, which is the function it implements for\ncompound buffers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "87e99511ea54510ffb60b98001d108794d5037f8",
      "tree": "359228828515e02302d9b259a066a1f1118eba0a",
      "parents": [
        "dad5eb6daa7eeb63d4fc9d982892c59faa07e797"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Aug 11 17:05:45 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 01:09:00 2010 -0400"
      },
      "message": "kill BH_Ordered flag\n\nInstead of abusing a buffer_head flag just add a variant of\nsync_dirty_buffer which allows passing the exact type of write\nflag required.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "dad5eb6daa7eeb63d4fc9d982892c59faa07e797"
}
