)]}'
{
  "log": [
    {
      "commit": "fb003b80daa0dead5b87f4e2e4fb8da68b110ff2",
      "tree": "aa9c3694cb21e61774471e88bd22918c5746c706",
      "parents": [
        "e14808b49f55e0e1135da5e4a154a540dd9f3662"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Nov 15 09:01:14 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:51 2012 +0000"
      },
      "message": "sched: numa: Slowly increase the scanning period as NUMA faults are handled\n\nCurrently the rate of scanning for an address space is controlled\nby the individual tasks. The next scan is simply determined by\n2*p-\u003enuma_scan_period.\n\nThe 2*p-\u003enuma_scan_period is arbitrary and never changes. At this point\nthere is still no proper policy that decides if a task or process is\nproperly placed. It just scans and assumes the next NUMA fault will\nplace it properly. As it is assumed that pages will get properly placed\nover time, increase the scan window each time a fault is incurred. This\nis a big assumption as noted in the comments.\n\nIt should be noted that changing to p-\u003enuma_scan_period will increase\nsystem CPU usage because now the scanning rate has effectively doubled.\nIf that is a problem then the min_rate should be made 200ms instead of\nrestoring the 2* logic.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "e14808b49f55e0e1135da5e4a154a540dd9f3662",
      "tree": "d66708455dcc1b6e2e15937d732ab12c121e623a",
      "parents": [
        "a8f6077213d285ca08dbf6d4a67470787388138b"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Nov 19 10:59:15 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:51 2012 +0000"
      },
      "message": "mm: numa: Rate limit setting of pte_numa if node is saturated\n\nIf there are a large number of NUMA hinting faults and all of them\nare resulting in migrations it may indicate that memory is just\nbouncing uselessly around. NUMA balancing cost is likely exceeding\nany benefit from locality. Rate limit the PTE updates if the node\nis migration rate-limited. As noted in the comments, this distorts\nthe NUMA faulting statistics.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "a8f6077213d285ca08dbf6d4a67470787388138b",
      "tree": "1ce0c66b221a97e485d513552c75d29fe84b74bd",
      "parents": [
        "8177a420ed7c16c171ed3c3aec5b0676db38c247"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Nov 14 21:41:46 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:50 2012 +0000"
      },
      "message": "mm: numa: Rate limit the amount of memory that is migrated between nodes\n\nNOTE: This is very heavily based on similar logic in autonuma. It should\n\tbe signed off by Andrea but because there was no standalone\n\tpatch and it\u0027s sufficiently different from what he did that\n\tthe signed-off is omitted. Will be added back if requested.\n\nIf a large number of pages are misplaced then the memory bus can be\nsaturated just migrating pages between nodes. This patch rate-limits\nthe amount of memory that can be migrating between nodes.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "8177a420ed7c16c171ed3c3aec5b0676db38c247",
      "tree": "9d188c65d68af5a8f77913043ab8689c5530508b",
      "parents": [
        "9532fec118d485ea37ab6e3ea372d68cd8b4cd0d"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Fri Mar 23 20:56:34 2012 +0100"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:50 2012 +0000"
      },
      "message": "mm: numa: Structures for Migrate On Fault per NUMA migration rate limiting\n\nThis defines the per-node data used by Migrate On Fault in order to\nrate limit the migration. The rate limiting is applied independently\nto each destination node.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "9532fec118d485ea37ab6e3ea372d68cd8b4cd0d",
      "tree": "5076f3da1ff244df554e99b8701749423a6b92ad",
      "parents": [
        "5606e3877ad8baea42f3a71ebde0a03622bbb551"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Nov 15 01:24:32 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:49 2012 +0000"
      },
      "message": "mm: numa: Migrate pages handled during a pmd_numa hinting fault\n\nTo say that the PMD handling code was incorrectly transferred from autonuma\nis an understatement. The intention was to handle a PMDs worth of pages\nin the same fault and effectively batch the taking of the PTL and page\nmigration. The copied version instead has the impact of clearing a number\nof pte_numa PTE entries and whether any page migration takes place depends\non racing. This just happens to work in some cases.\n\nThis patch handles pte_numa faults in batch when a pmd_numa fault is\nhandled. The pages are migrated if they are currently misplaced.\nEssentially this is making an assumption that NUMA locality is\non a PMD boundary but that could be addressed by only setting\npmd_numa if all the pages within that PMD are on the same node\nif necessary.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "5606e3877ad8baea42f3a71ebde0a03622bbb551",
      "tree": "4fc481ccb482236ced5fca76ad19729ba083e8da",
      "parents": [
        "03c5a6e16322c997bf8f264851bfa3f532ad515f"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Nov 02 18:19:13 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:48 2012 +0000"
      },
      "message": "mm: numa: Migrate on reference policy\n\nThis is the simplest possible policy that still does something of note.\nWhen a pte_numa is faulted, it is moved immediately. Any replacement\npolicy must at least do better than this and in all likelihood this\npolicy regresses normal workloads.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "03c5a6e16322c997bf8f264851bfa3f532ad515f",
      "tree": "df5b09acdcd6d171286afa3f77a7ff56336c8ca6",
      "parents": [
        "4b96a29ba891dd59734cb7be80a900fe93aa2d9f"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Nov 02 14:52:48 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:48 2012 +0000"
      },
      "message": "mm: numa: Add pte updates, hinting and migration stats\n\nIt is tricky to quantify the basic cost of automatic NUMA placement in a\nmeaningful manner. This patch adds some vmstats that can be used as part\nof a basic costing model.\n\nu    \u003d basic unit \u003d sizeof(void *)\nCa   \u003d cost of struct page access \u003d sizeof(struct page) / u\nCpte \u003d Cost PTE access \u003d Ca\nCupdate \u003d Cost PTE update \u003d (2 * Cpte) + (2 * Wlock)\n\twhere Cpte is incurred twice for a read and a write and Wlock\n\tis a constant representing the cost of taking or releasing a\n\tlock\nCnumahint \u003d Cost of a minor page fault \u003d some high constant e.g. 1000\nCpagerw \u003d Cost to read or write a full page \u003d Ca + PAGE_SIZE/u\nCi \u003d Cost of page isolation \u003d Ca + Wi\n\twhere Wi is a constant that should reflect the approximate cost\n\tof the locking operation\nCpagecopy \u003d Cpagerw + (Cpagerw * Wnuma) + Ci + (Ci * Wnuma)\n\twhere Wnuma is the approximate NUMA factor. 1 is local. 1.2\n\twould imply that remote accesses are 20% more expensive\n\nBalancing cost \u003d Cpte * numa_pte_updates +\n\t\tCnumahint * numa_hint_faults +\n\t\tCi * numa_pages_migrated +\n\t\tCpagecopy * numa_pages_migrated\n\nNote that numa_pages_migrated is used as a measure of how many pages\nwere isolated even though it would miss pages that failed to migrate. A\nvmstat counter could have been added for it but the isolation cost is\npretty marginal in comparison to the overall cost so it seemed overkill.\n\nThe ideal way to measure automatic placement benefit would be to count\nthe number of remote accesses versus local accesses and do something like\n\n\tbenefit \u003d (remote_accesses_before - remove_access_after) * Wnuma\n\nbut the information is not readily available. As a workload converges, the\nexpection would be that the number of remote numa hints would reduce to 0.\n\n\tconvergence \u003d numa_hint_faults_local / numa_hint_faults\n\t\twhere this is measured for the last N number of\n\t\tnuma hints recorded. When the workload is fully\n\t\tconverged the value is 1.\n\nThis can measure if the placement policy is converging and how fast it is\ndoing it.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "4b96a29ba891dd59734cb7be80a900fe93aa2d9f",
      "tree": "5162223c4ceae37f6ccf0ef1b84993c2556e60cf",
      "parents": [
        "9f40604cdab935e80db57b309c48659de349d4e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:47 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:47 2012 +0000"
      },
      "message": "mm: sched: numa: Implement slow start for working set sampling\n\nAdd a 1 second delay before starting to scan the working set of\na task and starting to balance it amongst nodes.\n\n[ note that before the constant per task WSS sampling rate patch\n  the initial scan would happen much later still, in effect that\n  patch caused this regression. ]\n\nThe theory is that short-run tasks benefit very little from NUMA\nplacement: they come and go, and they better stick to the node\nthey were started on. As tasks mature and rebalance to other CPUs\nand nodes, so does their NUMA placement have to change and so\ndoes it start to matter more and more.\n\nIn practice this change fixes an observable kbuild regression:\n\n   # [ a perf stat --null --repeat 10 test of ten bzImage builds to /dev/shm ]\n\n   !NUMA:\n   45.291088843 seconds time elapsed                                          ( +-  0.40% )\n   45.154231752 seconds time elapsed                                          ( +-  0.36% )\n\n   +NUMA, no slow start:\n   46.172308123 seconds time elapsed                                          ( +-  0.30% )\n   46.343168745 seconds time elapsed                                          ( +-  0.25% )\n\n   +NUMA, 1 sec slow start:\n   45.224189155 seconds time elapsed                                          ( +-  0.25% )\n   45.160866532 seconds time elapsed                                          ( +-  0.17% )\n\nand it also fixes an observable perf bench (hackbench) regression:\n\n   # perf stat --null --repeat 10 perf bench sched messaging\n\n   -NUMA:\n\n   -NUMA:                  0.246225691 seconds time elapsed                   ( +-  1.31% )\n   +NUMA no slow start:    0.252620063 seconds time elapsed                   ( +-  1.13% )\n\n   +NUMA 1sec delay:       0.248076230 seconds time elapsed                   ( +-  1.35% )\n\nThe implementation is simple and straightforward, most of the patch\ndeals with adding the /proc/sys/kernel/numa_balancing_scan_delay_ms tunable\nknob.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Wrote the changelog, ran measurements, tuned the default. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "9f40604cdab935e80db57b309c48659de349d4e6",
      "tree": "72f77bdb7d8ab07e4db4323642db7c04eca8e9e9",
      "parents": [
        "6e5fb223e89dbe5cb5c563f8d4a4a0a7d62455a8"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Nov 14 18:34:32 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:46 2012 +0000"
      },
      "message": "sched, numa, mm: Count WS scanning against present PTEs, not virtual memory ranges\n\nBy accounting against the present PTEs, scanning speed reflects the\nactual present (mapped) memory.\n\nSuggested-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "6e5fb223e89dbe5cb5c563f8d4a4a0a7d62455a8",
      "tree": "0d5c93240702a51b1d6f22fefd979235a19692fd",
      "parents": [
        "cbee9f88ec1b8dd6b58f25f54e4f52c82ed77690"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:45 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:46 2012 +0000"
      },
      "message": "mm: sched: numa: Implement constant, per task Working Set Sampling (WSS) rate\n\nPreviously, to probe the working set of a task, we\u0027d use\na very simple and crude method: mark all of its address\nspace PROT_NONE.\n\nThat method has various (obvious) disadvantages:\n\n - it samples the working set at dissimilar rates,\n   giving some tasks a sampling quality advantage\n   over others.\n\n - creates performance problems for tasks with very\n   large working sets\n\n - over-samples processes with large address spaces but\n   which only very rarely execute\n\nImprove that method by keeping a rotating offset into the\naddress space that marks the current position of the scan,\nand advance it by a constant rate (in a CPU cycles execution\nproportional manner). If the offset reaches the last mapped\naddress of the mm then it then it starts over at the first\naddress.\n\nThe per-task nature of the working set sampling functionality in this tree\nallows such constant rate, per task, execution-weight proportional sampling\nof the working set, with an adaptive sampling interval/frequency that\ngoes from once per 100ms up to just once per 8 seconds.  The current\nsampling volume is 256 MB per interval.\n\nAs tasks mature and converge their working set, so does the\nsampling rate slow down to just a trickle, 256 MB per 8\nseconds of CPU time executed.\n\nThis, beyond being adaptive, also rate-limits rarely\nexecuting systems and does not over-sample on overloaded\nsystems.\n\n[ In AutoNUMA speak, this patch deals with the effective sampling\n  rate of the \u0027hinting page fault\u0027. AutoNUMA\u0027s scanning is\n  currently rate-limited, but it is also fundamentally\n  single-threaded, executing in the knuma_scand kernel thread,\n  so the limit in AutoNUMA is global and does not scale up with\n  the number of CPUs, nor does it scan tasks in an execution\n  proportional manner.\n\n  So the idea of rate-limiting the scanning was first implemented\n  in the AutoNUMA tree via a global rate limit. This patch goes\n  beyond that by implementing an execution rate proportional\n  working set sampling rate that is not implemented via a single\n  global scanning daemon. ]\n\n[ Dan Carpenter pointed out a possible NULL pointer dereference in the\n  first version of this patch. ]\n\nBased-on-idea-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nBug-Found-By: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Wrote changelog and fixed bug. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "cbee9f88ec1b8dd6b58f25f54e4f52c82ed77690",
      "tree": "d4cfbcfa3e89742216cd792d4aa914356406b532",
      "parents": [
        "a720094ded8cbb303111035be91858011d2eac71"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:43 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:45 2012 +0000"
      },
      "message": "mm: numa: Add fault driven placement and migration\n\nNOTE: This patch is based on \"sched, numa, mm: Add fault driven\n\tplacement and migration policy\" but as it throws away all the policy\n\tto just leave a basic foundation I had to drop the signed-offs-by.\n\nThis patch creates a bare-bones method for setting PTEs pte_numa in the\ncontext of the scheduler that when faulted later will be faulted onto the\nnode the CPU is running on.  In itself this does nothing useful but any\nplacement policy will fundamentally depend on receiving hints on placement\nfrom fault context and doing something intelligent about it.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "a720094ded8cbb303111035be91858011d2eac71",
      "tree": "ceb9a2cf7f415e44f4f62a324382ec1de4a3bead",
      "parents": [
        "4b10e7d562c90d0a72f324832c26653947a07381"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Nov 16 09:37:58 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:44 2012 +0000"
      },
      "message": "mm: mempolicy: Hide MPOL_NOOP and MPOL_MF_LAZY from userspace for now\n\nThe use of MPOL_NOOP and MPOL_MF_LAZY to allow an application to\nexplicitly request lazy migration is a good idea but the actual\nAPI has not been well reviewed and once released we have to support it.\nFor now this patch prevents an application using the services. This\nwill need to be revisited.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "4b10e7d562c90d0a72f324832c26653947a07381",
      "tree": "733e0fc3ac3fdfe27a312bc72e4ffb07bbf0aa56",
      "parents": [
        "b24f53a0bea38b266d219ee651b22dba727c44ae"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Oct 25 14:16:32 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:44 2012 +0000"
      },
      "message": "mm: mempolicy: Implement change_prot_numa() in terms of change_protection()\n\nThis patch converts change_prot_numa() to use change_protection(). As\npte_numa and friends check the PTE bits directly it is necessary for\nchange_protection() to use pmd_mknuma(). Hence the required\nmodifications to change_protection() are a little clumsy but the\nend result is that most of the numa page table helpers are just one or\ntwo instructions.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "b24f53a0bea38b266d219ee651b22dba727c44ae",
      "tree": "f85431707b44913a412efb5483dc366c310aab5e",
      "parents": [
        "4daae3b4b9e49b7e0935499a352f1c59d90287d2"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Thu Oct 25 14:16:32 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:43 2012 +0000"
      },
      "message": "mm: mempolicy: Add MPOL_MF_LAZY\n\nNOTE: Once again there is a lot of patch stealing and the end result\n\tis sufficiently different that I had to drop the signed-offs.\n\tWill re-add if the original authors are ok with that.\n\nThis patch adds another mbind() flag to request \"lazy migration\".  The\nflag, MPOL_MF_LAZY, modifies MPOL_MF_MOVE* such that the selected\npages are marked PROT_NONE. The pages will be migrated in the fault\npath on \"first touch\", if the policy dictates at that time.\n\n\"Lazy Migration\" will allow testing of migrate-on-fault via mbind().\nAlso allows applications to specify that only subsequently touched\npages be migrated to obey new policy, instead of all pages in range.\nThis can be useful for multi-threaded applications working on a\nlarge shared data area that is initialized by an initial thread\nresulting in all pages on one [or a few, if overflowed] nodes.\nAfter PROT_NONE, the pages in regions assigned to the worker threads\nwill be automatically migrated local to the threads on 1st touch.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "4daae3b4b9e49b7e0935499a352f1c59d90287d2",
      "tree": "2ac600b955c89e3b1b2070110a9b7293a4511b19",
      "parents": [
        "149c33e1c98f83050870514f380902dc6d617bd5"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Nov 02 11:33:45 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:42 2012 +0000"
      },
      "message": "mm: mempolicy: Use _PAGE_NUMA to migrate pages\n\nNote: Based on \"mm/mpol: Use special PROT_NONE to migrate pages\" but\n\tsufficiently different that the signed-off-bys were dropped\n\nCombine our previous _PAGE_NUMA, mpol_misplaced and migrate_misplaced_page()\npieces into an effective migrate on fault scheme.\n\nNote that (on x86) we rely on PROT_NONE pages being !present and avoid\nthe TLB flush from try_to_unmap(TTU_MIGRATION). This greatly improves the\npage-migration performance.\n\nBased-on-work-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "149c33e1c98f83050870514f380902dc6d617bd5",
      "tree": "5aaf7433c2de5f3176880835013049ccfbe7af73",
      "parents": [
        "7039e1dbec6eeaa8ecab43a82d6589eeced995c3"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Nov 27 14:03:05 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:42 2012 +0000"
      },
      "message": "mm: migrate: Drop the misplaced pages reference count if the target node is full\n\nIf we have to avoid migrating to a node that is nearly full, put page\nand return zero.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "7039e1dbec6eeaa8ecab43a82d6589eeced995c3",
      "tree": "ffd8b5a571c5d385c61122da097cdd8b666ca02f",
      "parents": [
        "771fb4d806a92bf6c988fcfbd286ae40a9374332"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:34 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:41 2012 +0000"
      },
      "message": "mm: migrate: Introduce migrate_misplaced_page()\n\nNote: This was originally based on Peter\u0027s patch \"mm/migrate: Introduce\n\tmigrate_misplaced_page()\" but borrows extremely heavily from Andrea\u0027s\n\t\"autonuma: memory follows CPU algorithm and task/mm_autonuma stats\n\tcollection\". The end result is barely recognisable so signed-offs\n\thad to be dropped. If original authors are ok with it, I\u0027ll\n\tre-add the signed-off-bys.\n\nAdd migrate_misplaced_page() which deals with migrating pages from\nfaults.\n\nBased-on-work-by: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nBased-on-work-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nBased-on-work-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "771fb4d806a92bf6c988fcfbd286ae40a9374332",
      "tree": "da0070fcf99959e9519ad810133ecacc45d3a096",
      "parents": [
        "d3a710337b0590f43fd236d5e6518439afc7410a"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Thu Oct 25 14:16:30 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:41 2012 +0000"
      },
      "message": "mm: mempolicy: Check for misplaced page\n\nThis patch provides a new function to test whether a page resides\non a node that is appropriate for the mempolicy for the vma and\naddress where the page is supposed to be mapped.  This involves\nlooking up the node where the page belongs.  So, the function\nreturns that node so that it may be used to allocated the page\nwithout consulting the policy again.\n\nA subsequent patch will call this function from the fault path.\nBecause of this, I don\u0027t want to go ahead and allocate the page, e.g.,\nvia alloc_page_vma() only to have to free it if it has the correct\npolicy.  So, I just mimic the alloc_page_vma() node computation\nlogic--sort of.\n\nNote:  we could use this function to implement a MPOL_MF_STRICT\nbehavior when migrating pages to match mbind() mempolicy--e.g.,\nto ensure that pages in an interleaved range are reinterleaved\nrather than left where they are when they reside on any page in\nthe interleave nodemask.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n[ Added MPOL_F_LAZY to trigger migrate-on-fault;\n  simplified code now that we don\u0027t have to bother\n  with special crap for interleaved ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "d3a710337b0590f43fd236d5e6518439afc7410a",
      "tree": "19a03d787d1795c8212fc2c9ede5397ba0a32c85",
      "parents": [
        "479e2802d09f1e18a97262c4c6f8f17ae5884bd8"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Thu Oct 25 14:16:29 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:40 2012 +0000"
      },
      "message": "mm: mempolicy: Add MPOL_NOOP\n\nThis patch augments the MPOL_MF_LAZY feature by adding a \"NOOP\" policy\nto mbind().  When the NOOP policy is used with the \u0027MOVE and \u0027LAZY\nflags, mbind() will map the pages PROT_NONE so that they will be\nmigrated on the next touch.\n\nThis allows an application to prepare for a new phase of operation\nwhere different regions of shared storage will be assigned to\nworker threads, w/o changing policy.  Note that we could just use\n\"default\" policy in this case.  However, this also allows an\napplication to request that pages be migrated, only if necessary,\nto follow any arbitrary policy that might currently apply to a\nrange of pages, without knowing the policy, or without specifying\nmultiple mbind()s for ranges with different policies.\n\n[ Bug in early version of mpol_parse_str() reported by Fengguang Wu. ]\n\nBug-Reported-by: Reported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "479e2802d09f1e18a97262c4c6f8f17ae5884bd8",
      "tree": "7b18bff361b049d04619b196367a95463a2f1417",
      "parents": [
        "d10e63f29488b0f312a443f9507ea9b6fd3c9090"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:28 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:39 2012 +0000"
      },
      "message": "mm: mempolicy: Make MPOL_LOCAL a real policy\n\nMake MPOL_LOCAL a real and exposed policy such that applications that\nrelied on the previous default behaviour can explicitly request it.\n\nRequested-by: Christoph Lameter \u003ccl@linux.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "d10e63f29488b0f312a443f9507ea9b6fd3c9090",
      "tree": "b39e3caa5d25e9e5ebad84c606a724e25c6b8e91",
      "parents": [
        "1ba6e0b50b479cbadb8f05ebde3020da9ac87201"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Oct 25 14:16:31 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:39 2012 +0000"
      },
      "message": "mm: numa: Create basic numa page hinting infrastructure\n\nNote: This patch started as \"mm/mpol: Create special PROT_NONE\n\tinfrastructure\" and preserves the basic idea but steals *very*\n\theavily from \"autonuma: numa hinting page faults entry points\" for\n\tthe actual fault handlers without the migration parts.\tThe end\n\tresult is barely recognisable as either patch so all Signed-off\n\tand Reviewed-bys are dropped. If Peter, Ingo and Andrea are ok with\n\tthis version, I will re-add the signed-offs-by to reflect the history.\n\nIn order to facilitate a lazy -- fault driven -- migration of pages, create\na special transient PAGE_NUMA variant, we can then use the \u0027spurious\u0027\nprotection faults to drive our migrations from.\n\nThe meaning of PAGE_NUMA depends on the architecture but on x86 it is\neffectively PROT_NONE. Actual PROT_NONE mappings will not generate these\nNUMA faults for the reason that the page fault code checks the permission on\nthe VMA (and will throw a segmentation fault on actual PROT_NONE mappings),\nbefore it ever calls handle_mm_fault.\n\n[dhillf@gmail.com: Fix typo]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "1ba6e0b50b479cbadb8f05ebde3020da9ac87201",
      "tree": "7143c7c591ebf16723d2e1d4e898bea75ee6c609",
      "parents": [
        "0b9d705297b273657923518dbea2377cd03532ed"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Oct 04 01:51:06 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:38 2012 +0000"
      },
      "message": "mm: numa: split_huge_page: transfer the NUMA type from the pmd to the pte\n\nWhen we split a transparent hugepage, transfer the NUMA type from the\npmd to the pte if needed.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "0b9d705297b273657923518dbea2377cd03532ed",
      "tree": "9049d172d6fcd71790a4689c7fed62a912516265",
      "parents": [
        "be3a728427a605990a7a0b6dbf9e29b68e266146"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Fri Oct 05 21:36:27 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:37 2012 +0000"
      },
      "message": "mm: numa: Support NUMA hinting page faults from gup/gup_fast\n\nIntroduce FOLL_NUMA to tell follow_page to check\npte/pmd_numa. get_user_pages must use FOLL_NUMA, and it\u0027s safe to do\nso because it always invokes handle_mm_fault and retries the\nfollow_page later.\n\nKVM secondary MMU page faults will trigger the NUMA hinting page\nfaults through gup_fast -\u003e get_user_pages -\u003e follow_page -\u003e\nhandle_mm_fault.\n\nOther follow_page callers like KSM should not use FOLL_NUMA, or they\nwould fail to get the pages if they use follow_page instead of\nget_user_pages.\n\n[ This patch was picked up from the AutoNUMA tree. ]\n\nOriginally-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ ported to this tree. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "be3a728427a605990a7a0b6dbf9e29b68e266146",
      "tree": "878fb07cca478c4444d85fc26fc16c9f574034a3",
      "parents": [
        "dbe4d2035a5b273c910f8f7eb0b7189ee76f63ad"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Oct 04 01:50:47 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:36 2012 +0000"
      },
      "message": "mm: numa: pte_numa() and pmd_numa()\n\nImplement pte_numa and pmd_numa.\n\nWe must atomically set the numa bit and clear the present bit to\ndefine a pte_numa or pmd_numa.\n\nOnce a pte or pmd has been set as pte_numa or pmd_numa, the next time\na thread touches a virtual address in the corresponding virtual range,\na NUMA hinting page fault will trigger. The NUMA hinting page fault\nwill clear the NUMA bit and set the present bit again to resolve the\npage fault.\n\nThe expectation is that a NUMA hinting page fault is used as part\nof a placement policy that decides if a page should remain on the\ncurrent node or migrated to a different node.\n\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "dbe4d2035a5b273c910f8f7eb0b7189ee76f63ad",
      "tree": "9e638daa51015c85146d7efdad9a8ba0502c005b",
      "parents": [
        "397487db696cae0b026a474a5cd66f4e372995e6"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Oct 04 01:50:46 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:35 2012 +0000"
      },
      "message": "mm: numa: define _PAGE_NUMA\n\nThe objective of _PAGE_NUMA is to be able to trigger NUMA hinting page\nfaults to identify the per NUMA node working set of the thread at\nruntime.\n\nArming the NUMA hinting page fault mechanism works similarly to\nsetting up a mprotect(PROT_NONE) virtual range: the present bit is\ncleared at the same time that _PAGE_NUMA is set, so when the fault\ntriggers we can identify it as a NUMA hinting page fault.\n\n_PAGE_NUMA on x86 shares the same bit number of _PAGE_PROTNONE (but it\ncould also use a different bitflag, it\u0027s up to the architecture to\ndecide).\n\nIt would be confusing to call the \"NUMA hinting page faults\" as\n\"do_prot_none faults\". They\u0027re different events and _PAGE_NUMA doesn\u0027t\nalter the semantics of mprotect(PROT_NONE) in any way.\n\nSharing the same bitflag with _PAGE_PROTNONE in fact complicates\nthings: it requires us to ensure the code paths executed by\n_PAGE_PROTNONE remains mutually exclusive to the code paths executed\nby _PAGE_NUMA at all times, to avoid _PAGE_NUMA and _PAGE_PROTNONE to\nstep into each other toes.\n\nBecause we want to be able to set this bitflag in any established pte\nor pmd (while clearing the present bit at the same time) without\nlosing information, this bitflag must never be set when the pte and\npmd are present, so the bitflag picked for _PAGE_NUMA usage, must not\nbe used by the swap entry format.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "397487db696cae0b026a474a5cd66f4e372995e6",
      "tree": "969d503374f9ff4788fe8d08873e8bc6e1a60630",
      "parents": [
        "7b2a2d4a18fffac3c4872021529b0657896db788"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Oct 19 12:00:10 2012 +0100"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:35 2012 +0000"
      },
      "message": "mm: compaction: Add scanned and isolated counters for compaction\n\nCompaction already has tracepoints to count scanned and isolated pages\nbut it requires that ftrace be enabled and if that information has to be\nwritten to disk then it can be disruptive. This patch adds vmstat counters\nfor compaction called compact_migrate_scanned, compact_free_scanned and\ncompact_isolated.\n\nWith these counters, it is possible to define a basic cost model for\ncompaction. This approximates of how much work compaction is doing and can\nbe compared that with an oprofile showing TLB misses and see if the cost of\ncompaction is being offset by THP for example. Minimally a compaction patch\ncan be evaluated in terms of whether it increases or decreases cost. The\nbasic cost model looks like this\n\nFundamental unit u:\ta word\tsizeof(void *)\n\nCa  \u003d cost of struct page access \u003d sizeof(struct page) / u\n\nCmc \u003d Cost migrate page copy \u003d (Ca + PAGE_SIZE/u) * 2\nCmf \u003d Cost migrate failure   \u003d Ca * 2\nCi  \u003d Cost page isolation    \u003d (Ca + Wi)\n\twhere Wi is a constant that should reflect the approximate\n\tcost of the locking operation.\n\nCsm \u003d Cost migrate scanning \u003d Ca\nCsf \u003d Cost free    scanning \u003d Ca\n\nOverall cost \u003d\t(Csm * compact_migrate_scanned) +\n\t      \t(Csf * compact_free_scanned)    +\n\t      \t(Ci  * compact_isolated)\t+\n\t\t(Cmc * pgmigrate_success)\t+\n\t\t(Cmf * pgmigrate_failed)\n\nWhere the values are read from /proc/vmstat.\n\nThis is very basic and ignores certain costs such as the allocation cost\nto do a migrate page copy but any improvement to the model would still\nuse the same vmstat counters.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "7b2a2d4a18fffac3c4872021529b0657896db788",
      "tree": "a0f05be191f12711a774368f6feb15bcd2eebf1a",
      "parents": [
        "5647bc293ab15f66a7b1cda850c5e9d162a6c7c2"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Oct 19 14:07:31 2012 +0100"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:35 2012 +0000"
      },
      "message": "mm: migrate: Add a tracepoint for migrate_pages\n\nThe pgmigrate_success and pgmigrate_fail vmstat counters tells the user\nabout migration activity but not the type or the reason. This patch adds\na tracepoint to identify the type of page migration and why the page is\nbeing migrated.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "5647bc293ab15f66a7b1cda850c5e9d162a6c7c2",
      "tree": "ebf21726915b1e814046c950c5882e33dad303b9",
      "parents": [
        "1233d588210737ed3696b44c26e71dfa44a6995a"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Oct 19 10:46:20 2012 +0100"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:35 2012 +0000"
      },
      "message": "mm: compaction: Move migration fail/success stats to migrate.c\n\nThe compact_pages_moved and compact_pagemigrate_failed events are\nconvenient for determining if compaction is active and to what\ndegree migration is succeeding but it\u0027s at the wrong level. Other\nusers of migration may also want to know if migration is working\nproperly and this will be particularly true for any automated\nNUMA migration. This patch moves the counters down to migration\nwith the new events called pgmigrate_success and pgmigrate_fail.\nThe compact_blocks_moved counter is removed because while it was\nuseful for debugging initially, it\u0027s worthless now as no meaningful\nconclusions can be drawn from its value.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "1233d588210737ed3696b44c26e71dfa44a6995a",
      "tree": "c2f29980355ef6983c06c2d01ac6bf0445bd16f6",
      "parents": [
        "7da4d641c58d201c3cc1835c05ca1a7fa26f0856"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Nov 19 03:14:24 2012 +0100"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:34 2012 +0000"
      },
      "message": "mm: Optimize the TLB flush of sys_mprotect() and change_protection() users\n\nReuse the NUMA code\u0027s \u0027modified page protections\u0027 count that\nchange_protection() computes and skip the TLB flush if there\u0027s\nno changes to a range that sys_mprotect() modifies.\n\nGiven that mprotect() already optimizes the same-flags case\nI expected this optimization to dominantly trigger on\nCONFIG_NUMA_BALANCING\u003dy kernels - but even with that feature\ndisabled it triggers rather often.\n\nThere\u0027s two reasons for that:\n\n1)\n\nWhile sys_mprotect() already optimizes the same-flag case:\n\n        if (newflags \u003d\u003d oldflags) {\n                *pprev \u003d vma;\n                return 0;\n        }\n\nand this test works in many cases, but it is too sharp in some\nothers, where it differentiates between protection values that the\nunderlying PTE format makes no distinction about, such as\nPROT_EXEC \u003d\u003d PROT_READ on x86.\n\n2)\n\nEven where the pte format over vma flag changes necessiates a\nmodification of the pagetables, there might be no pagetables\nyet to modify: they might not be instantiated yet.\n\nDuring a regular desktop bootup this optimization hits a couple\nof hundred times. During a Java test I measured thousands of\nhits.\n\nSo this optimization improves sys_mprotect() in general, not just\nCONFIG_NUMA_BALANCING\u003dy kernels.\n\n[ We could further increase the efficiency of this optimization if\n  change_pte_range() and change_huge_pmd() was a bit smarter about\n  recognizing exact-same-value protection masks - when the hardware\n  can do that safely. This would probably further speed up mprotect(). ]\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7da4d641c58d201c3cc1835c05ca1a7fa26f0856",
      "tree": "bf40cc40433383ee94559ea2ef19a282dead358f",
      "parents": [
        "4fd017708c4a067da51a2b5cf8aedddf4e840b1f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 19 03:14:23 2012 +0100"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:34 2012 +0000"
      },
      "message": "mm: Count the number of pages affected in change_protection()\n\nThis will be used for three kinds of purposes:\n\n - to optimize mprotect()\n\n - to speed up working set scanning for working set areas that\n   have not been touched\n\n - to more accurately scan per real working set\n\nNo change in functionality from this patch.\n\nSuggested-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4fd017708c4a067da51a2b5cf8aedddf4e840b1f",
      "tree": "c2b3c9f42a957a0d54fd95411fb3c5626a7efc14",
      "parents": [
        "8d1acce4537c4e2f5889ed9ba9b8eddb80d99820"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Oct 12 21:06:51 2011 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:34 2012 +0000"
      },
      "message": "mm: Check if PTE is already allocated during page fault\n\nWith transparent hugepage support, handle_mm_fault() has to be careful\nthat a normal PMD has been established before handling a PTE fault. To\nachieve this, it used __pte_alloc() directly instead of pte_alloc_map\nas pte_alloc_map is unsafe to run against a huge PMD. pte_offset_map()\nis called once it is known the PMD is safe.\n\npte_alloc_map() is smart enough to check if a PTE is already present\nbefore calling __pte_alloc but this check was lost. As a consequence,\nPTEs may be allocated unnecessarily and the page table lock taken.\nThi useless PTE does get cleaned up but it\u0027s a performance hit which\nis visible in page_test from aim9.\n\nThis patch simply re-adds the check normally done by pte_alloc_map to\ncheck if the PTE needs to be allocated before taking the page table\nlock. The effect is noticable in page_test from aim9.\n\n AIM9\n                 2.6.38-vanilla 2.6.38-checkptenone\n creat-clo      446.10 ( 0.00%)   424.47 (-5.10%)\n page_test       38.10 ( 0.00%)    42.04 ( 9.37%)\n brk_test        52.45 ( 0.00%)    51.57 (-1.71%)\n exec_test      382.00 ( 0.00%)   456.90 (16.39%)\n fork_test       60.11 ( 0.00%)    67.79 (11.34%)\n MMTests Statistics: duration\n Total Elapsed Time (seconds)                611.90    612.22\n\n(While this affects 2.6.38, it is a performance rather than a\nfunctional bug and normally outside the rules -stable. While the big\nperformance differences are to a microbench, the difference in fork\nand exec performance may be significant enough that -stable wants to\nconsider the patch)\n\nReported-by: Raz Ben Yehuda \u003craziebe@gmail.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Picked this up from the AutoNUMA tree to help\n  it upstream and to allow apples-to-apples\n  performance comparisons. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8d1acce4537c4e2f5889ed9ba9b8eddb80d99820",
      "tree": "8032b026c25b3394613abde6d0f22529a1ef4e2a",
      "parents": [
        "2c3cf556b2f7ab5823195766eddec6f1a43134f5"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue Oct 09 15:31:59 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:34 2012 +0000"
      },
      "message": "mm: Only flush the TLB when clearing an accessible pte\n\nIf ptep_clear_flush() is called to clear a page table entry that is\naccessible anyway by the CPU, eg. a _PAGE_PROTNONE page table entry,\nthere is no need to flush the TLB on remote CPUs.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-vm3rkzevahelwhejx5uwm8ex@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2c3cf556b2f7ab5823195766eddec6f1a43134f5",
      "tree": "ed36a604ac7e629e4eb7c36eda1560ba5b19df59",
      "parents": [
        "cef23d9db6b76732d9b0933cb162358a6a1f43d7"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue Oct 09 15:31:12 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:34 2012 +0000"
      },
      "message": "x86/mm: Introduce pte_accessible()\n\nWe need pte_present to return true for _PAGE_PROTNONE pages, to indicate that\nthe pte is associated with a page.\n\nHowever, for TLB flushing purposes, we would like to know whether the pte\npoints to an actually accessible page.  This allows us to skip remote TLB\nflushes for pages that are not actually accessible.\n\nFill in this method for x86 and provide a safe (but slower) method\non other architectures.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nFixed-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-66p11te4uj23gevgh4j987ip@git.kernel.org\n[ Added Linus\u0027s review fixes. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cef23d9db6b76732d9b0933cb162358a6a1f43d7",
      "tree": "8f7c96c026156cd92847be022d9031fc96f25df2",
      "parents": [
        "e4a1cc56e4d728eb87072c71c07581524e5160b1"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue Nov 06 09:56:01 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:33 2012 +0000"
      },
      "message": "mm,generic: only flush the local TLB in ptep_set_access_flags\n\nThe function ptep_set_access_flags is only ever used to upgrade\naccess permissions to a page. That means the only negative side\neffect of not flushing remote TLBs is that other CPUs may incur\nspurious page faults, if they happen to access the same address,\nand still have a PTE with the old permissions cached in their\nTLB.\n\nHaving another CPU maybe incur a spurious page fault is faster\nthan always incurring the cost of a remote TLB flush, so replace\nthe remote TLB flush with a purely local one.\n\nThis should be safe on every architecture that correctly\nimplements flush_tlb_fix_spurious_fault() to actually invalidate\nthe local TLB entry that caused a page fault, as well as on\narchitectures where the hardware invalidates TLB entries that\ncause page faults.\n\nIn the unlikely event that you are hitting what appears to be\nan infinite loop of page faults, and \u0027git bisect\u0027 took you to\nthis changeset, your architecture needs to implement\nflush_tlb_fix_spurious_fault to actually flush the TLB entry.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e4a1cc56e4d728eb87072c71c07581524e5160b1",
      "tree": "291232b64431eeb2c815adc38b20d66cb3355364",
      "parents": [
        "0f9a921cf9bf3b524feddc484e2b4d070b7ca0d0"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue Nov 06 09:55:18 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:33 2012 +0000"
      },
      "message": "x86: mm: drop TLB flush from ptep_set_access_flags\n\nIntel has an architectural guarantee that the TLB entry causing\na page fault gets invalidated automatically. This means\nwe should be able to drop the local TLB invalidation.\n\nBecause of the way other areas of the page fault code work,\nchances are good that all x86 CPUs do this.  However, if\nsomeone somewhere has an x86 CPU that does not invalidate\nthe TLB entry causing a page fault, this one-liner should\nbe easy to revert.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "0f9a921cf9bf3b524feddc484e2b4d070b7ca0d0",
      "tree": "4cad5a73d90a09863cb7615685f93e59192f256f",
      "parents": [
        "f4a75d2eb7b1e2206094b901be09adb31ba63681"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue Nov 06 09:54:47 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:28:33 2012 +0000"
      },
      "message": "x86: mm: only do a local tlb flush in ptep_set_access_flags()\n\nThe function ptep_set_access_flags() is only ever invoked to set access\nflags or add write permission on a PTE.  The write bit is only ever set\ntogether with the dirty bit.\n\nBecause we only ever upgrade a PTE, it is safe to skip flushing entries on\nremote TLBs. The worst that can happen is a spurious page fault on other\nCPUs, which would flush that TLB entry.\n\nLazily letting another CPU incur a spurious page fault occasionally is\n(much!) cheaper than aggressively flushing everybody else\u0027s TLB.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f4a75d2eb7b1e2206094b901be09adb31ba63681",
      "tree": "e47877bba85aed21b464652ced3bfe80e857bd61",
      "parents": [
        "51844b0f04d8f6ffff34bb7de74ea2dfc7eb1642"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 17:42:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 17:42:40 2012 -0800"
      },
      "message": "Linux 3.7-rc6\n"
    },
    {
      "commit": "51844b0f04d8f6ffff34bb7de74ea2dfc7eb1642",
      "tree": "7b58814024f217d2e1eab1150d8f578d522593e4",
      "parents": [
        "0cad3ff40486e341715cac3b5ef7b135fa0ba316",
        "29282fde80d44e587f8c152b10049a56e61659f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 16:49:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 16:49:10 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM fix from Marcelo Tosatti:\n \"A correction for oops on module init with older Intel hosts.\"\n\n* git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: x86: Fix invalid secondary exec controls in vmx_cpuid_update()\n"
    },
    {
      "commit": "0cad3ff40486e341715cac3b5ef7b135fa0ba316",
      "tree": "937b8c6fc8b28f6e556212c9deee726799f1f783",
      "parents": [
        "1d567e19cc9810a9bd67b1ccab54b68d86dadb76",
        "5576646f3c1abd60d72d19829de6f5d8c2ca8ecf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 15:26:38 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 15:26:38 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (Fixes from Andrew)\n\nMerge misc fixes from Andrew Morton.\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (12 patches)\n  revert \"mm: fix-up zone present pages\"\n  tmpfs: change final i_blocks BUG to WARNING\n  tmpfs: fix shmem_getpage_gfp() VM_BUG_ON\n  mm: highmem: don\u0027t treat PKMAP_ADDR(LAST_PKMAP) as a highmem address\n  mm: revert \"mm: vmscan: scale number of pages reclaimed by reclaim/compaction based on failures\"\n  rapidio: fix kernel-doc warnings\n  swapfile: fix name leak in swapoff\n  memcg: fix hotplugged memory zone oops\n  mips, arc: fix build failure\n  memcg: oom: fix totalpages calculation for memory.swappiness\u003d\u003d0\n  mm: fix build warning for uninitialized value\n  mm: add anon_vma_lock to validate_mm()\n"
    },
    {
      "commit": "5576646f3c1abd60d72d19829de6f5d8c2ca8ecf",
      "tree": "600e8d1df6536bbeb0b15b51f137d37a94f69843",
      "parents": [
        "0f3c42f522dc1ad7e27affc0a4aa8c790bce0a66"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Nov 16 14:15:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:04 2012 -0800"
      },
      "message": "revert \"mm: fix-up zone present pages\"\n\nRevert commit 7f1290f2f2a4 (\"mm: fix-up zone present pages\")\n\nThat patch tried to fix a issue when calculating zone-\u003epresent_pages,\nbut it caused a regression on 32bit systems with HIGHMEM.  With that\nchange, reset_zone_present_pages() resets all zone-\u003epresent_pages to\nzero, and fixup_zone_present_pages() is called to recalculate\nzone-\u003epresent_pages when the boot allocator frees core memory pages into\nbuddy allocator.  Because highmem pages are not freed by bootmem\nallocator, all highmem zones\u0027 present_pages becomes zero.\n\nVarious options for improving the situation are being discussed but for\nnow, let\u0027s return to the 3.6 code.\n\nCc: Jianguo Wu \u003cwujianguo@huawei.com\u003e\nCc: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: Petr Tesarik \u003cptesarik@suse.cz\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nTested-by: Chris Clayton \u003cchris2553@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f3c42f522dc1ad7e27affc0a4aa8c790bce0a66",
      "tree": "bfd85ce2e0fede607ad196258d8071c67897d9eb",
      "parents": [
        "215c02bc33bbd5ff4d7379a909462d11f0103218"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Fri Nov 16 14:15:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:04 2012 -0800"
      },
      "message": "tmpfs: change final i_blocks BUG to WARNING\n\nUnder a particular load on one machine, I have hit shmem_evict_inode()\u0027s\nBUG_ON(inode-\u003ei_blocks), enough times to narrow it down to a particular\nrace between swapout and eviction.\n\nIt comes from the \"if (freed \u003e 0)\" asymmetry in shmem_recalc_inode(),\nand the lack of coherent locking between mapping\u0027s nrpages and shmem\u0027s\nswapped count.  There\u0027s a window in shmem_writepage(), between lowering\nnrpages in shmem_delete_from_page_cache() and then raising swapped\ncount, when the freed count appears to be +1 when it should be 0, and\nthen the asymmetry stops it from being corrected with -1 before hitting\nthe BUG.\n\nOne answer is coherent locking: using tree_lock throughout, without\ninfo-\u003elock; reasonable, but the raw_spin_lock in percpu_counter_add() on\nused_blocks makes that messier than expected.  Another answer may be a\nfurther effort to eliminate the weird shmem_recalc_inode() altogether,\nbut previous attempts at that failed.\n\nSo far undecided, but for now change the BUG_ON to WARN_ON: in usual\ncircumstances it remains a useful consistency check.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: \u003cstable@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": "215c02bc33bbd5ff4d7379a909462d11f0103218",
      "tree": "fa07d774e4b60404727ca0a8d54044d439eef905",
      "parents": [
        "498c2280212327858e521e9d21345d4cc2637f54"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Fri Nov 16 14:15:03 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:04 2012 -0800"
      },
      "message": "tmpfs: fix shmem_getpage_gfp() VM_BUG_ON\n\nFuzzing with trinity hit the \"impossible\" VM_BUG_ON(error) (which Fedora\nhas converted to WARNING) in shmem_getpage_gfp():\n\n  WARNING: at mm/shmem.c:1151 shmem_getpage_gfp+0xa5c/0xa70()\n  Pid: 29795, comm: trinity-child4 Not tainted 3.7.0-rc2+ #49\n  Call Trace:\n    warn_slowpath_common+0x7f/0xc0\n    warn_slowpath_null+0x1a/0x20\n    shmem_getpage_gfp+0xa5c/0xa70\n    shmem_fault+0x4f/0xa0\n    __do_fault+0x71/0x5c0\n    handle_pte_fault+0x97/0xae0\n    handle_mm_fault+0x289/0x350\n    __do_page_fault+0x18e/0x530\n    do_page_fault+0x2b/0x50\n    page_fault+0x28/0x30\n    tracesys+0xe1/0xe6\n\nThanks to Johannes for pointing to truncation: free_swap_and_cache()\nonly does a trylock on the page, so the page lock we\u0027ve held since\nbefore confirming swap is not enough to protect against truncation.\n\nWhat cleanup is needed in this case? Just delete_from_swap_cache(),\nwhich takes care of the memcg uncharge.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.com\u003e\nCc: \u003cstable@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": "498c2280212327858e521e9d21345d4cc2637f54",
      "tree": "41263d573286cae19d99083d57165ffa0412b9e7",
      "parents": [
        "96710098ee124951ff2fed7cd8406da92aad011a"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Nov 16 14:15:00 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:04 2012 -0800"
      },
      "message": "mm: highmem: don\u0027t treat PKMAP_ADDR(LAST_PKMAP) as a highmem address\n\nkmap_to_page returns the corresponding struct page for a virtual address\nof an arbitrary mapping.  This works by checking whether the address\nfalls in the pkmap region and using the pkmap page tables instead of the\nlinear mapping if appropriate.\n\nUnfortunately, the bounds checking means that PKMAP_ADDR(LAST_PKMAP) is\nincorrectly treated as a highmem address and we can end up walking off\nthe end of pkmap_page_table and subsequently passing junk to pte_page.\n\nThis patch fixes the bound check to stay within the pkmap tables.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96710098ee124951ff2fed7cd8406da92aad011a",
      "tree": "9f1f450a38f04e9c989df6ed57c61056f1f943c5",
      "parents": [
        "2ca3cb50edc351875df13d083524f524cdeb3054"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Nov 16 14:14:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:04 2012 -0800"
      },
      "message": "mm: revert \"mm: vmscan: scale number of pages reclaimed by reclaim/compaction based on failures\"\n\nJiri Slaby reported the following:\n\n\t(It\u0027s an effective revert of \"mm: vmscan: scale number of pages\n\treclaimed by reclaim/compaction based on failures\".) Given kswapd\n\thad hours of runtime in ps/top output yesterday in the morning\n\tand after the revert it\u0027s now 2 minutes in sum for the last 24h,\n\tI would say, it\u0027s gone.\n\nThe intention of the patch in question was to compensate for the loss of\nlumpy reclaim.  Part of the reason lumpy reclaim worked is because it\naggressively reclaimed pages and this patch was meant to be a sane\ncompromise.\n\nWhen compaction fails, it gets deferred and both compaction and\nreclaim/compaction is deferred avoid excessive reclaim.  However, since\ncommit c654345924f7 (\"mm: remove __GFP_NO_KSWAPD\"), kswapd is woken up\neach time and continues reclaiming which was not taken into account when\nthe patch was developed.\n\nAttempts to address the problem ended up just changing the shape of the\nproblem instead of fixing it.  The release window gets closer and while\na THP allocation failing is not a major problem, kswapd chewing up a lot\nof CPU is.\n\nThis patch reverts commit 83fde0f22872 (\"mm: vmscan: scale number of\npages reclaimed by reclaim/compaction based on failures\") and will be\nrevisited in the future.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Zdenek Kabelac \u003czkabelac@redhat.com\u003e\nTested-by: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Johannes Hirte \u003cjohannes.hirte@fem.tu-ilmenau.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ca3cb50edc351875df13d083524f524cdeb3054",
      "tree": "41b01168f2fc8a532e60f90ad33de854090d38cc",
      "parents": [
        "f58b59c1df3cb990d644018e1461cd4acd3c1700"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@infradead.org",
        "time": "Fri Nov 16 14:14:56 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:04 2012 -0800"
      },
      "message": "rapidio: fix kernel-doc warnings\n\nFix rapidio kernel-doc warnings:\n\n  Warning(drivers/rapidio/rio.c:415): No description found for parameter \u0027local\u0027\n  Warning(drivers/rapidio/rio.c:415): Excess function parameter \u0027lstart\u0027 description in \u0027rio_map_inb_region\u0027\n  Warning(include/linux/rio.h:290): No description found for parameter \u0027switches\u0027\n  Warning(include/linux/rio.h:290): No description found for parameter \u0027destid_table\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nAcked-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f58b59c1df3cb990d644018e1461cd4acd3c1700",
      "tree": "7681f5438bac5081ff9b84b3923c610873914972",
      "parents": [
        "bea8c150a7efbc0f204e709b7274fe273f55e0d3"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "xtfeng@gmail.com",
        "time": "Fri Nov 16 14:14:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:04 2012 -0800"
      },
      "message": "swapfile: fix name leak in swapoff\n\nThere\u0027s a name leak introduced by commit 91a27b2a7567 (\"vfs: define\nstruct filename and have getname() return it\").  Add the missing\nputname.\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Xiaotian Feng \u003cdannyfeng@tencent.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bea8c150a7efbc0f204e709b7274fe273f55e0d3",
      "tree": "fab695d7d18c5bbc9a42bccd793456826e392754",
      "parents": [
        "18f694271b86ee279e88208550cc49fee206b544"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Fri Nov 16 14:14:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:04 2012 -0800"
      },
      "message": "memcg: fix hotplugged memory zone oops\n\nWhen MEMCG is configured on (even when it\u0027s disabled by boot option),\nwhen adding or removing a page to/from its lru list, the zone pointer\nused for stats updates is nowadays taken from the struct lruvec.  (On\nmany configurations, calculating zone from page is slower.)\n\nBut we have no code to update all the lruvecs (per zone, per memcg) when\na memory node is hotadded.  Here\u0027s an extract from the oops which\nresults when running numactl to bind a program to a newly onlined node:\n\n  BUG: unable to handle kernel NULL pointer dereference at 0000000000000f60\n  IP:  __mod_zone_page_state+0x9/0x60\n  Pid: 1219, comm: numactl Not tainted 3.6.0-rc5+ #180 Bochs Bochs\n  Process numactl (pid: 1219, threadinfo ffff880039abc000, task ffff8800383c4ce0)\n  Call Trace:\n    __pagevec_lru_add_fn+0xdf/0x140\n    pagevec_lru_move_fn+0xb1/0x100\n    __pagevec_lru_add+0x1c/0x30\n    lru_add_drain_cpu+0xa3/0x130\n    lru_add_drain+0x2f/0x40\n   ...\n\nThe natural solution might be to use a memcg callback whenever memory is\nhotadded; but that solution has not been scoped out, and it happens that\nwe do have an easy location at which to update lruvec-\u003ezone.  The lruvec\npointer is discovered either by mem_cgroup_zone_lruvec() or by\nmem_cgroup_page_lruvec(), and both of those do know the right zone.\n\nSo check and set lruvec-\u003ezone in those; and remove the inadequate\nattempt to set lruvec-\u003ezone from lruvec_init(), which is called before\nNODE_DATA(node) has been allocated in such cases.\n\nAh, there was one exceptionr.  For no particularly good reason,\nmem_cgroup_force_empty_list() has its own code for deciding lruvec.\nChange it to use the standard mem_cgroup_zone_lruvec() and\nmem_cgroup_get_lru_size() too.  In fact it was already safe against such\nan oops (the lru lists in danger could only be empty), but we\u0027re better\nproofed against future changes this way.\n\nI\u0027ve marked this for stable (3.6) since we introduced the problem in 3.5\n(now closed to stable); but I have no idea if this is the only fix\nneeded to get memory hotadd working with memcg in 3.6, and received no\nanswer when I enquired twice before.\n\nReported-by: Tang Chen \u003ctangchen@cn.fujitsu.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nCc: \u003cstable@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": "18f694271b86ee279e88208550cc49fee206b544",
      "tree": "3f0f2ed2ab651821af8de877bcc27d087b78b3c7",
      "parents": [
        "9a5a8f19b43430752067ecaee62fc59e11e88fa6"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Fri Nov 16 14:14:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:04 2012 -0800"
      },
      "message": "mips, arc: fix build failure\n\nUsing a cross-compiler to fix another issue, the following build error\noccurred for mips defconfig:\n\n  arch/mips/fw/arc/misc.c: In function \u0027ArcHalt\u0027:\n  arch/mips/fw/arc/misc.c:25:2: error: implicit declaration of function \u0027local_irq_disable\u0027\n\nFix it up by including irqflags.h.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a5a8f19b43430752067ecaee62fc59e11e88fa6",
      "tree": "ffa31761b0e208d8be324dc97368caf4bea87fd8",
      "parents": [
        "1756954c61cb5c97c618ccb366482b9c1f891d6d"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Fri Nov 16 14:14:49 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:04 2012 -0800"
      },
      "message": "memcg: oom: fix totalpages calculation for memory.swappiness\u003d\u003d0\n\noom_badness() takes a totalpages argument which says how many pages are\navailable and it uses it as a base for the score calculation.  The value\nis calculated by mem_cgroup_get_limit which considers both limit and\ntotal_swap_pages (resp.  memsw portion of it).\n\nThis is usually correct but since fe35004fbf9e (\"mm: avoid swapping out\nwith swappiness\u003d\u003d0\") we do not swap when swappiness is 0 which means\nthat we cannot really use up all the totalpages pages.  This in turn\nconfuses oom score calculation if the memcg limit is much smaller than\nthe available swap because the used memory (capped by the limit) is\nnegligible comparing to totalpages so the resulting score is too small\nif adj!\u003d0 (typically task with CAP_SYS_ADMIN or non zero oom_score_adj).\nA wrong process might be selected as result.\n\nThe problem can be worked around by checking mem_cgroup_swappiness\u003d\u003d0\nand not considering swap at all in such a case.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \u003cstable@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": "1756954c61cb5c97c618ccb366482b9c1f891d6d",
      "tree": "86a8ab12560d600fa5459218979e72827e0311f5",
      "parents": [
        "63c3b902e517012b127d6528434b928ceaa10f7b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Fri Nov 16 14:14:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:03 2012 -0800"
      },
      "message": "mm: fix build warning for uninitialized value\n\ndo_wp_page() sets mmun_called if mmun_start and mmun_end were\ninitialized and, if so, may call mmu_notifier_invalidate_range_end()\nwith these values.  This doesn\u0027t prevent gcc from emitting a build\nwarning though:\n\n  mm/memory.c: In function `do_wp_page\u0027:\n  mm/memory.c:2530: warning: `mmun_start\u0027 may be used uninitialized in this function\n  mm/memory.c:2531: warning: `mmun_end\u0027 may be used uninitialized in this function\n\nIt\u0027s much easier to initialize the variables to impossible values and do\na simple comparison to determine if they were initialized to remove the\nbool entirely.\n\nSigned-off-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": "63c3b902e517012b127d6528434b928ceaa10f7b",
      "tree": "7290112c9691492e435ed7ca7912205c3ff10e8c",
      "parents": [
        "c5e35d6c512c43105883043dd62cf7257ec3f9f0"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Fri Nov 16 14:14:47 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:33:03 2012 -0800"
      },
      "message": "mm: add anon_vma_lock to validate_mm()\n\nIterating over the vma-\u003eanon_vma_chain without anon_vma_lock may cause\nNULL ptr deref in anon_vma_interval_tree_verify(), because the node in the\nchain might have been removed.\n\n  BUG: unable to handle kernel paging request at fffffffffffffff0\n  IP: [\u003cffffffff8122c29c\u003e] anon_vma_interval_tree_verify+0xc/0xa0\n  PGD 4e28067 PUD 4e29067 PMD 0\n  Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n  CPU 0\n  Pid: 9050, comm: trinity-child64 Tainted: G        W    3.7.0-rc2-next-20121025-sasha-00001-g673f98e-dirty #77\n  RIP: 0010: anon_vma_interval_tree_verify+0xc/0xa0\n  Process trinity-child64 (pid: 9050, threadinfo ffff880045f80000, task ffff880048eb0000)\n  Call Trace:\n    validate_mm+0x58/0x1e0\n    vma_adjust+0x635/0x6b0\n    __split_vma.isra.22+0x161/0x220\n    split_vma+0x24/0x30\n    sys_madvise+0x5da/0x7b0\n    tracesys+0xe1/0xe6\n  RIP  anon_vma_interval_tree_verify+0xc/0xa0\n  CR2: fffffffffffffff0\n\nFigured out by Bob Liu.\n\nReported-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nCc: Bob Liu \u003clliubbo@gmail.com\u003e\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29282fde80d44e587f8c152b10049a56e61659f0",
      "tree": "397f6fbfedad13d676a8817ad99b35149e557199",
      "parents": [
        "d3fb695576fc7f9d045da9e1ef001d94b0eea3cb"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Nov 09 15:20:17 2012 +0100"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Nov 16 20:25:18 2012 -0200"
      },
      "message": "KVM: x86: Fix invalid secondary exec controls in vmx_cpuid_update()\n\nThe commit [ad756a16: KVM: VMX: Implement PCID/INVPCID for guests with\nEPT] introduced the unconditional access to SECONDARY_VM_EXEC_CONTROL,\nand this triggers kernel warnings like below on old CPUs:\n\n    vmwrite error: reg 401e value a0568000 (err 12)\n    Pid: 13649, comm: qemu-kvm Not tainted 3.7.0-rc4-test2+ #154\n    Call Trace:\n     [\u003cffffffffa0558d86\u003e] vmwrite_error+0x27/0x29 [kvm_intel]\n     [\u003cffffffffa054e8cb\u003e] vmcs_writel+0x1b/0x20 [kvm_intel]\n     [\u003cffffffffa054f114\u003e] vmx_cpuid_update+0x74/0x170 [kvm_intel]\n     [\u003cffffffffa03629b6\u003e] kvm_vcpu_ioctl_set_cpuid2+0x76/0x90 [kvm]\n     [\u003cffffffffa0341c67\u003e] kvm_arch_vcpu_ioctl+0xc37/0xed0 [kvm]\n     [\u003cffffffff81143f7c\u003e] ? __vunmap+0x9c/0x110\n     [\u003cffffffffa0551489\u003e] ? vmx_vcpu_load+0x39/0x1a0 [kvm_intel]\n     [\u003cffffffffa0340ee2\u003e] ? kvm_arch_vcpu_load+0x52/0x1a0 [kvm]\n     [\u003cffffffffa032dcd4\u003e] ? vcpu_load+0x74/0xd0 [kvm]\n     [\u003cffffffffa032deb0\u003e] kvm_vcpu_ioctl+0x110/0x5e0 [kvm]\n     [\u003cffffffffa032e93d\u003e] ? kvm_dev_ioctl+0x4d/0x4a0 [kvm]\n     [\u003cffffffff8117dc6f\u003e] do_vfs_ioctl+0x8f/0x530\n     [\u003cffffffff81139d76\u003e] ? remove_vma+0x56/0x60\n     [\u003cffffffff8113b708\u003e] ? do_munmap+0x328/0x400\n     [\u003cffffffff81187c8c\u003e] ? fget_light+0x4c/0x100\n     [\u003cffffffff8117e1a1\u003e] sys_ioctl+0x91/0xb0\n     [\u003cffffffff815a942d\u003e] system_call_fastpath+0x1a/0x1f\n\nThis patch adds a check for the availability of secondary exec\ncontrol to avoid these warnings.\n\nCc: \u003cstable@vger.kernel.org\u003e [v3.6+]\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "1d567e19cc9810a9bd67b1ccab54b68d86dadb76",
      "tree": "eb63187a3c1ff51937473eb834ba3a94c4d5c1ee",
      "parents": [
        "d3fb695576fc7f9d045da9e1ef001d94b0eea3cb",
        "a8203d3ccd7796675739aaa50f708a047601eed2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:10:15 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 14:10:15 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking updates from David Miller:\n\n 1) tx_filtered/ps_tx_buf queues need to be accessed with the SKB queue\n    lock, from Arik Nemtsov.\n\n 2) Don\u0027t call 802.11 driver\u0027s filter configure method until it\u0027s\n    actually open, from Felix Fietkau.\n\n 3) Use ieee80211_free_txskb otherwise we leak control information.\n    From Johannes Berg.\n\n 4) Fix memory leak in bluetooth UUID removal,f rom Johan Hedberg.\n\n 5) The shift mask trick doesn\u0027t work properly when \u0027optname\u0027 is out of\n    range in do_ip_setsockopt().  Use a straightforward switch statement\n    instead, the compiler emits essentially the same code but without\n    the missing range check.  From Xi Wang.\n\n 6) Fix when we call tcp_replace_ts_recent() otherwise we can\n    erroneously accept a too-high tsval.  From Eric Dumazet.\n\n 7) VXLAN bug fixes, mostly to do with VLAN header length handling, from\n    Alexander Duyck.\n\n 8) Missing return value initialization for IPV6_MINHOPCOUNT socket\n    option handling.  From Hannes Frederic.\n\n 9) Fix regression in tasklet handling in jme/ksz884x/xilinx drivers,\n    from Xiaotian Feng.\n\n10) At smsc911x driver init time, we don\u0027t know if the chip is in word\n    swap mode or not.  However we do need to wait for the control\n    register\u0027s ready bit to be set before we program any other part of\n    the chip.  Adjust the wait loop to account for this.  From Kamlakant\n    Patel.\n\n11) Revert erroneous MDIO bus unregister change to mdio-bitbang.c\n\n12) Fix memory leak in /proc/net/sctp/, from Tommi Rantala.\n\n13) tilegx driver registers IRQ with NULL name, oops, from Simon Marchi.\n\n14) TCP metrics hash table kzalloc() based allocation can fail, back\n    down to using vmalloc() if it does.  From Eric Dumazet.\n\n15) Fix packet steering out-of-order delivery regression, from Tom\n    Herbert.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (40 commits)\n  net-rps: Fix brokeness causing OOO packets\n  tcp: handle tcp_net_metrics_init() order-5 memory allocation failures\n  batman-adv: process broadcast packets in BLA earlier\n  batman-adv: don\u0027t add TEMP clients belonging to other backbone nodes\n  batman-adv: correctly pass the client flag on tt_response\n  batman-adv: fix tt_global_entries flags update\n  tilegx: request_irq with a non-null device name\n  net: correct check in dev_addr_del()\n  tcp: fix retransmission in repair mode\n  sctp: fix /proc/net/sctp/ memory leak\n  Revert \"drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister before mdiobus_free\"\n  net/smsc911x: Fix ready check in cases where WORD_SWAP is needed\n  drivers/net: fix tasklet misuse issue\n  ipv4/ip_vti.c: VTI fix post-decryption forwarding\n  brcmfmac: fix typo in CONFIG_BRCMISCAN\n  vxlan: Update hard_header_len based on lowerdev when instantiating VXLAN\n  vxlan: fix a typo.\n  ipv6: setsockopt(IPIPPROTO_IPV6, IPV6_MINHOPCOUNT) forgot to set return value\n  doc/net: Fix typo in netdev-features.txt\n  vxlan: Fix error that was resulting in VXLAN MTU size being 10 bytes too large\n  ...\n"
    },
    {
      "commit": "a8203d3ccd7796675739aaa50f708a047601eed2",
      "tree": "6f01c67779feebc962187a96d7ffebd98d301c14",
      "parents": [
        "baefa31db2f2b13a05d1b81bdf2d20d487f58b0a",
        "26c6e80892d8c160dffaba85889bd4e65b1dacf6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 16 14:37:18 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 16 14:37:18 2012 -0500"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n\nJohn W. Linville says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThis batch of fixes is intended for the 3.7 stream...\n\nThis includes a pull of the Bluetooth tree.  Gustavo says:\n\n\"A few important fixes to go into 3.7. There is a new hw support by Marcos\nChaparro. Johan added a memory leak fix and hci device index list fix.\nAlso Marcel fixed a race condition in the device set up that was prevent the\nbt monitor to work properly. Last, Paulo Sérgio added a fix to the error\nstatus when pairing for LE fails. This was prevent userspace to work to handle\nthe failure properly.\"\n\nRegarding the mac80211 pull, Johannes says:\n\n\"I have a locking fix for some SKB queues, a variable initialization to\navoid crashes in a certain failure case, another free_txskb fix from\nFelix and another fix from him to avoid calling a stopped driver, a fix\nfor a (very unlikely) memory leak and a fix to not send null data\npackets when resuming while not associated.\"\n\nRegarding the iwlwifi pull, Johannes says:\n\n\"Two more fixes for iwlwifi ... one to use ieee80211_free_txskb(), and\none to check DMA mapping errors, please pull.\"\n\nOn top of that, Johannes also included a wireless regulatory fix\nto allow 40 MHz on channels 12 and 13 in world roaming mode.  Also,\nHauke Mehrtens fixes a #ifdef typo in brcmfmac.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "baefa31db2f2b13a05d1b81bdf2d20d487f58b0a",
      "tree": "a770f25f3af37b3124dfcac835c79eea6801a64d",
      "parents": [
        "2a95388353b74a70b9c43c55a781faa92e1a14f1"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Fri Nov 16 09:04:15 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 16 14:35:56 2012 -0500"
      },
      "message": "net-rps: Fix brokeness causing OOO packets\n\nIn commit c445477d74ab3779 which adds aRFS to the kernel, the CPU\nselected for RFS is not set correctly when CPU is changing.\nThis is causing OOO packets and probably other issues.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nAcked-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a95388353b74a70b9c43c55a781faa92e1a14f1",
      "tree": "b1903abf4fe0fd85775a4e3ee2f14623df900f0c",
      "parents": [
        "976a702ac9eeacea09e588456ab165dc06f9ee83",
        "74490f969155caf1ec945ad2d35d3a8eec6be71d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 16 13:38:12 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 16 13:38:12 2012 -0500"
      },
      "message": "Merge tag \u0027batman-adv-fix-for-davem\u0027 of git://git.open-mesh.org/linux-merge\n\nIncluded fixes are:\n- update the client entry status flags when using the \"early client\n  detection\". This makes the Distributed AP isolation correctly work;\n- transfer the client entry status flags when recovering the translation\n  table from another node. This makes the Distributed AP isolation correctly\n  work;\n- prevent the \"early client detection mechanism\" to add clients belonging to\n  other backbone nodes in the same LAN. This breaks connectivity when using this\n  mechanism together with the Bridge Loop Avoidance\n- process broadcast packets with the Bridge Loop Avoidance before any other\n  component. BLA can possibly drop the packets based on the source address. This\n  makes the \"early client detection mechanism\" correctly work when used with\n  BLA.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "976a702ac9eeacea09e588456ab165dc06f9ee83",
      "tree": "c7373df6e09bc8b43c2000f4de940b0573e888ea",
      "parents": [
        "6fc4adca6ce3e1d57a42707019dddcb883578a91"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 16 05:31:53 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 16 13:36:27 2012 -0500"
      },
      "message": "tcp: handle tcp_net_metrics_init() order-5 memory allocation failures\n\norder-5 allocations can fail with current kernels, we should\ntry vmalloc() as well.\n\nReported-by: Julien Tinnes \u003cjln@google.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3fb695576fc7f9d045da9e1ef001d94b0eea3cb",
      "tree": "bb4a852d8c1adfe97389b183c6256aad3ab5930e",
      "parents": [
        "fa0cbbf145aabbf29c6f28f8a11935c0b0fd86fc"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Thu Nov 15 08:58:27 2012 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 10:16:27 2012 -0800"
      },
      "message": "Thermal: Add Linux/Thermal subsystem info in MAINTAINER file\n\nAll the changes made to the generic thermal layer, or platform thermal\ndrivers that make use of the thermal layer, should be sent to\nlinux-pm@vger.kernel.org for discussion.\n\nAnd as the maintainer, I will only apply the patches that have been sent\nto linux-pm@vger.kernel.org.\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa0cbbf145aabbf29c6f28f8a11935c0b0fd86fc",
      "tree": "fd2626b68b0f78afa128d7772c49f066e339bd3a",
      "parents": [
        "f4bcd79c88d25508643084e6fed25920485db0eb"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Nov 12 17:53:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 10:15:35 2012 -0800"
      },
      "message": "mm, oom: reintroduce /proc/pid/oom_adj\n\nThis is mostly a revert of 01dc52ebdf47 (\"oom: remove deprecated oom_adj\")\nfrom Davidlohr Bueso.\n\nIt reintroduces /proc/pid/oom_adj for backwards compatibility with earlier\nkernels.  It simply scales the value linearly when /proc/pid/oom_score_adj\nis written.\n\nThe major difference is that its scheduled removal is no longer included\nin Documentation/feature-removal-schedule.txt.  We do warn users with a\nsingle printk, though, to suggest the more powerful and supported\n/proc/pid/oom_score_adj interface.\n\nReported-by: Artem S. Tashkinov \u003ct.artem@lycos.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4bcd79c88d25508643084e6fed25920485db0eb",
      "tree": "f51f5c1761a4ab40b5c5b630852f070c61fe4d5a",
      "parents": [
        "5a0c02ba1a3bcd0de9353767b5ee83d2c7d76227",
        "6658d6a5957662d0b9b2da8cc2466de2dad09a1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 10:08:45 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 10:08:45 2012 -0800"
      },
      "message": "Merge tag \u0027fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull ARM SoC fixes from Olof Johansson:\n \"We\u0027ve been sitting on this longer than we meant to due to travel and\n  other activities, but the number of patches is luckily not that high.\n\n  Biggest changes are from a batch of OMAP bugfixes, but there are a few\n  for the broader set of SoCs too (bcm2835, pxa, highbank, tegra, at91\n  and i.MX).\n\n  The OMAP patches contain some fixes for MUSB/PHY on omap4 which ends\n  up being a bit on the large side but needed for legacy (non-DT)\n  platforms.  Beyond that there are a handful of hwmod/pm changes.\n\n  So, fairly noncontroversial stuff all in all, and as usual around this\n  time the fixes are well targeted at specific problems.\"\n\n* tag \u0027fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:\n  ARM: imx: ehci: fix host power mask bit\n  ARM i.MX: fix error-valued pointer dereference in clk_register_gate2()\n  ARM: at91/usbh: fix overcurrent gpio setup\n  ARM: at91/AT91SAM9G45: fix crypto peripherals irq issue due to sparse irq support\n  ARM: boot: Fix usage of kecho\n  ARM: OMAP: ocp2scp: create omap device for ocp2scp\n  ARM: OMAP4: add _dev_attr_ to ocp2scp for representing usb_phy\n  drivers: bus: ocp2scp: add pdata support\n  irqchip: irq-bcm2835: Add terminating entry for of_device_id table\n  ARM: highbank: retry wfi on reset request\n  ARM: OMAP4: PM: fix regulator name for VDD_MPU\n  ARM: OMAP4: hwmod data: do not enable or reset the McPDM during kernel init\n  ARM: OMAP2+: hwmod: add flag to prevent hwmod code from touching IP block during init\n  ARM: dt: tegra: fix length of pad control and mux registers\n  ARM: OMAP: hwmod: wait for sysreset complete after enabling hwmod\n  ARM: OMAP2+: clockdomain: Fix OMAP4 ISS clk domain to support only SWSUP\n  ARM: pxa/spitz_pm: Fix hang when resuming from STR\n  ARM: pxa: hx4700: Fix backlight PWM device number\n  ARM: OMAP2+: PM: add missing newline to VC warning message\n"
    },
    {
      "commit": "26c6e80892d8c160dffaba85889bd4e65b1dacf6",
      "tree": "0d7751d80ac44b9407270be246f83e8354fc26ba",
      "parents": [
        "6fc4adca6ce3e1d57a42707019dddcb883578a91",
        "d61f978b8f26d2392c88249f877e46e2c2b5561d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 16 12:59:13 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 16 12:59:13 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem\n"
    },
    {
      "commit": "5a0c02ba1a3bcd0de9353767b5ee83d2c7d76227",
      "tree": "0299b6118266f8012f0deebb66c10838d222803f",
      "parents": [
        "1a1e8c6fada5f6dc48aa5dad453c9d9ebfdc8218",
        "8e620b0476696e9428442d3551f3dad47df0e28f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 08:32:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 08:32:07 2012 -0800"
      },
      "message": "Merge tag \u0027arm64-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64\n\nPull arm64 bugfix from Catalin Marinas:\n \"Arm64 page permission bug fix.\n\n  Without this fix, the CPU speculatively accesses the interrupt\n  controller memory causing random IRQ acknowledge.\"\n\n* tag \u0027arm64-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:\n  arm64: Distinguish between user and kernel XN bits\n"
    },
    {
      "commit": "1a1e8c6fada5f6dc48aa5dad453c9d9ebfdc8218",
      "tree": "02f6a65ca2ce0ec0edc3c92e79194ccc9cca3e50",
      "parents": [
        "ec0148736f54667641e3e24fa06d47db01d4ba7e",
        "6b90466cfec2a2fe027187d675d8d14217c12d82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:58:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:58:20 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\nPull HID fix from Jiri Kosina:\n \"This has a build fix for architectures where memcmp() is macro, from\n  Jiri Slaby\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: microsoft: do not use compound literal - fix build\n"
    },
    {
      "commit": "8e620b0476696e9428442d3551f3dad47df0e28f",
      "tree": "259e48a52e0d3725b3f77167b6195066fe26d455",
      "parents": [
        "77b67063bb6bce6d475e910d3b886a606d0d91f7"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Nov 15 17:21:16 2012 +0000"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Nov 16 15:50:25 2012 +0000"
      },
      "message": "arm64: Distinguish between user and kernel XN bits\n\nOn AArch64, the meaning of the XN bit has changed to UXN (user). The PXN\n(privileged) bit must be set to prevent kernel execution. Without the\nPXN bit set, the CPU may speculatively access device memory. This patch\nensures that all the mappings that the kernel must not execute from\n(including user mappings) have the PXN bit set.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "ec0148736f54667641e3e24fa06d47db01d4ba7e",
      "tree": "bc3c99a1275e64087f14ce35278f2c522e66c78e",
      "parents": [
        "d6ee1a2894c445a0bed1d2dc04e8f13f1f6c0311",
        "e592c5d0b7db94b485b4a2342db041a1882b7f75"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:47:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:47:18 2012 -0800"
      },
      "message": "Merge tag \u0027usb-3.7-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\nPull USB fixes from Greg Kroah-Hartman:\n \"Here are some USB fixes for the 3.7 tree.\n\n  Nothing huge here, just a number of tiny bugfixes resolving issues\n  that have been found, and two reverts of patches that were found to\n  have caused problems.\n\n  All of these have been in linux-next already.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027usb-3.7-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:\n  Revert \"USB/host: Cleanup unneccessary irq disable code\"\n  USB: option: add Alcatel X220/X500D USB IDs\n  USB: option: add Novatel E362 and Dell Wireless 5800 USB IDs\n  USB: keyspan: fix typo causing GPF on open\n  USB: fix build with XEN and EARLY_PRINTK_DBGP enabled but USB_SUPPORT disabled\n  USB: usb_wwan: fix bulk-urb allocation\n  usb: otg: Fix build errors if USB_MUSB_OMAP2PLUS is selected as module\n  usb: musb: ux500: fix \u0027musbid\u0027 undeclared error in ux500_remove()\n  Revert \"usb: musb: use DMA mode 1 whenever possible\"\n"
    },
    {
      "commit": "d6ee1a2894c445a0bed1d2dc04e8f13f1f6c0311",
      "tree": "78bd745e014adc8cfbce8421d6bf966d5815388d",
      "parents": [
        "7e111565b70e57ae45d154d79581ecc591d19d9a",
        "1838b8c487378c6c576029d9e0e07b5a73036bac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:46:38 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:46:38 2012 -0800"
      },
      "message": "Merge tag \u0027tty-3.7-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nPull TTY fixes from Greg Kroah-Hartman:\n \"Here are two TTY driver fixes for 3.7-rc5.\n\n  They resolve a bug in the hvc driver that has been reported, and fix a\n  problem with the list of device ids in the max310x serial driver.\n\n  Both have been in linux-next for a while.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027tty-3.7-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:\n  tty: serial: max310x: Add terminating entry for spi_device_id table\n  TTY: hvc_console, fix port reference count going to zero prematurely\n"
    },
    {
      "commit": "7e111565b70e57ae45d154d79581ecc591d19d9a",
      "tree": "9dc8ad5b2ced2b86d09af27242b46ff18a1a75ac",
      "parents": [
        "62735e5231e2de4c491c7cd52f83ce0fe64b4c36",
        "d38e0e3fed4f58bcddef4dc93a591dfe2f651cb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:46:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:46:04 2012 -0800"
      },
      "message": "Merge tag \u0027staging-3.7-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging\n\nPull staging tree fix from Greg Kroah-Hartman:\n \"Here is a single patch, a revert of an android driver patch, that\n  resolves a bug that has been reported in the Android alarm driver.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027staging-3.7-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:\n  Revert \"Staging: Android alarm: IOCTL command encoding fix\"\n"
    },
    {
      "commit": "6658d6a5957662d0b9b2da8cc2466de2dad09a1a",
      "tree": "1b7f1c346ac4ef98fb287e228930d66f3709c75f",
      "parents": [
        "57260e4088894de25bb1837d529708c3ec705a69",
        "641f3ce64b050961d454a0716bb6dbf528315aac"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Nov 16 16:43:58 2012 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Nov 16 16:43:58 2012 +0100"
      },
      "message": "Merge tag \u0027at91-fixes\u0027 of git://github.com/at91linux/linux-at91 into fixes\n\nFrom Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e:\n\nTwo little fixes, one related to the move to sparse irq and\nanother one fixing the check of a GPIO for USB host overcurrent.\n\n* tag \u0027at91-fixes\u0027 of git://github.com/at91linux/linux-at91:\n  ARM: at91/usbh: fix overcurrent gpio setup\n  ARM: at91/AT91SAM9G45: fix crypto peripherals irq issue due to sparse irq support\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "57260e4088894de25bb1837d529708c3ec705a69",
      "tree": "e7072aed15b203197549099371db55c5d4bc3c0a",
      "parents": [
        "2d4d07b97c0b774ea9ce2a2105818208d3df7241",
        "3d5e2abe6e265acc5e1fda810301243e9bac92b2"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Nov 16 16:42:59 2012 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Nov 16 16:42:59 2012 +0100"
      },
      "message": "Merge tag \u0027imx-fixes-rc\u0027 of git://git.pengutronix.de/git/imx/linux-2.6 into fixes\n\nFrom Sascha Hauer \u003cs.hauer@pengutronix.de\u003e:\n\nARM i.MX fixes for 3.7-rc\n\n* tag \u0027imx-fixes-rc\u0027 of git://git.pengutronix.de/git/imx/linux-2.6:\n  ARM: imx: ehci: fix host power mask bit\n  ARM i.MX: fix error-valued pointer dereference in clk_register_gate2()\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "62735e5231e2de4c491c7cd52f83ce0fe64b4c36",
      "tree": "6bd255649afb17d97b5ce549b15869150be8ef13",
      "parents": [
        "7279d7cb529b083d26d59b0ef9e369e5fd1e2332",
        "ae289dc1f474ff380e9d7601f02e4d766cbba408"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:39:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:39:30 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux\n\nPull s390 patches from Martin Schwidefsky:\n \"Some more bug fixes and a config change.\n\n  The signal bug is nasty, if the clock_gettime vdso function is\n  interrupted by a signal while in access-register-mode we end up with\n  an endless signal loop until the signal stack is full.  The config\n  change is for aligned struct pages, gives us 8% improvement with\n  hackbench.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:\n  s390/3215: fix tty close handling\n  s390/mm: have 16 byte aligned struct pages\n  s390/gup: fix access_ok() usage in __get_user_pages_fast()\n  s390/gup: add missing TASK_SIZE check to get_user_pages_fast()\n  s390/topology: fix core id vs physical package id mix-up\n  s390/signal: set correct address space control\n"
    },
    {
      "commit": "7279d7cb529b083d26d59b0ef9e369e5fd1e2332",
      "tree": "d3b5b3c362d769fc9ffe541c5c4df38bad1c61f7",
      "parents": [
        "e057aad191ce1a1ebd452877fd9d540e6bd64c6e",
        "6f755116c93ca35f496ccf1910dcd28cd16713e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:32:32 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:32:32 2012 -0800"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://people.freedesktop.org/~airlied/linux\n\nPull drm fixes from Dave Airlie:\n \"All pretty normal: one TTM oops fix, one radeon, a few intel and a\n  vmwgfx fix.\"\n\n* \u0027drm-fixes\u0027 of git://people.freedesktop.org/~airlied/linux:\n  drm/ttm: remove unneeded preempt_disable/enable\n  ttm: Clear the ttm page allocated from high memory zone correctly\n  vmwgfx: return an -EFAULT if copy_to_user() fails\n  drm/radeon: fix logic error in atombios_encoders.c\n  drm/i915: do not ignore eDP bpc settings from vbt\n  drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures\n  drm/i915/crt: fix DPMS standby and suspend mode handling\n"
    },
    {
      "commit": "e057aad191ce1a1ebd452877fd9d540e6bd64c6e",
      "tree": "7d05c37197fb968821dbdae9984837b41cb21a8d",
      "parents": [
        "c5e35d6c512c43105883043dd62cf7257ec3f9f0",
        "93532c8a4890871aa0d84dd91b80dad9f58542e0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:19:45 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 16 07:19:45 2012 -0800"
      },
      "message": "Merge tag \u0027clk-fixes-for-linus\u0027 of git://git.linaro.org/people/mturquette/linux\n\nPull another clk layer fix from Michael Turquette:\n \"GCC 4.7 users get compilation errors from unnecessary use of inline in\n  clk-provider.h.  This pull request fixes the regression by removing\n  inline usage from those function declarations.\"\n\n* tag \u0027clk-fixes-for-linus\u0027 of git://git.linaro.org/people/mturquette/linux:\n  clk: remove inline usage from clk-provider.h\n"
    },
    {
      "commit": "3d5e2abe6e265acc5e1fda810301243e9bac92b2",
      "tree": "77d8aa9f074e41f0f3c2d6929e8316436370c2a7",
      "parents": [
        "ecf026dc340f9700ed3c485344913a8a2b10e2e3"
      ],
      "author": {
        "name": "Christoph Fritz",
        "email": "chf.fritz@googlemail.com",
        "time": "Fri Nov 16 15:39:24 2012 +0100"
      },
      "committer": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Fri Nov 16 15:55:05 2012 +0100"
      },
      "message": "ARM: imx: ehci: fix host power mask bit\n\nThis patch sets HPM (Host power mask bit) to bit 16 according to i.MX\nReference Manual. Falsely it was set to bit 8, but this controls pull-up\nImpedance.\n\nReported-by: Michael Burkey \u003cmdburkey@gmail.com\u003e\nCc: Stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Christoph Fritz \u003cchf.fritz@googlemail.com\u003e\nAcked-by: Eric Bénard \u003ceric@eukrea.com\u003e\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\n"
    },
    {
      "commit": "ecf026dc340f9700ed3c485344913a8a2b10e2e3",
      "tree": "3b104ccd5de3908476e85da99ac51855a3d2806e",
      "parents": [
        "77b67063bb6bce6d475e910d3b886a606d0d91f7"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Thu Oct 25 23:02:18 2012 +0800"
      },
      "committer": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Fri Nov 16 15:53:57 2012 +0100"
      },
      "message": "ARM i.MX: fix error-valued pointer dereference in clk_register_gate2()\n\nThe error-valued pointer clk is used for the arg of kfree, it should be\nkfree(gate) if clk_register() return ERR_PTR().\n\ndpatch engine is used to auto generate this patch.\n(https://github.com/weiyj/dpatch)\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\n"
    },
    {
      "commit": "641f3ce64b050961d454a0716bb6dbf528315aac",
      "tree": "e1ee172f0ae0697cfed0cfa76ad7b32747c6def0",
      "parents": [
        "097965ee447e5ccec9776f9b075e64cf7607e5eb"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Wed Nov 14 12:18:17 2012 +0100"
      },
      "committer": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Fri Nov 16 10:46:29 2012 +0100"
      },
      "message": "ARM: at91/usbh: fix overcurrent gpio setup\n\nUse gpio_is_valid also for overcurrent pins (which are currently\nnegative in many board files).\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nAcked-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\n"
    },
    {
      "commit": "097965ee447e5ccec9776f9b075e64cf7607e5eb",
      "tree": "92c20f4f3fae6b64f0caaf3d67921a1bb9b9f223",
      "parents": [
        "08d04a135a1c2e24c4d4bc7bbafee5e0e58f80c6"
      ],
      "author": {
        "name": "Nicolas Royer",
        "email": "nicolas@eukrea.com",
        "time": "Tue Nov 06 17:31:03 2012 +0100"
      },
      "committer": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Fri Nov 16 10:41:51 2012 +0100"
      },
      "message": "ARM: at91/AT91SAM9G45: fix crypto peripherals irq issue due to sparse irq support\n\nSpare irq support introduced by commit 8fe82a5 (ARM: at91: sparse irq support)\ninvolves to add the NR_IRQS_LEGACY offset to irq number.\n\nSigned-off-by: Nicolas Royer \u003cnicolas@eukrea.com\u003e\nAcked-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nAcked-by: Eric Bénard \u003ceric@eukrea.com\u003e\nTested-by: Eric Bénard \u003ceric@eukrea.com\u003e\nCc: stable@vger.kernel.org # 3.6\n"
    },
    {
      "commit": "74490f969155caf1ec945ad2d35d3a8eec6be71d",
      "tree": "639e198c227c378e867bd73528e9aee3c41f5275",
      "parents": [
        "1f36aebcc5fa53c5d98f3329186466b5eb76a168"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Thu Nov 08 21:55:30 2012 +0100"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Fri Nov 16 09:36:54 2012 +0100"
      },
      "message": "batman-adv: process broadcast packets in BLA earlier\n\nThe logic in the BLA mechanism may decide to drop broadcast packets\nbecause the node may still be in the setup phase. For this reason,\nfurther broadcast processing like the early client detection mechanism\nmust be done only after the BLA check.\n\nThis patches moves the invocation to BLA before any other broadcast\nprocessing.\n\nThis was introduced 30cfd02b60e1cb16f5effb0a01f826c5bb7e4c59\n(\"batman-adv: detect not yet announced clients\")\n\nReported-by: Glen Page \u003cglen.page@thet.net\u003e\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "1f36aebcc5fa53c5d98f3329186466b5eb76a168",
      "tree": "9edd603b2a8101c819bc6818ef322078d2b546b8",
      "parents": [
        "27b37ebfa2d2a1b6acef6f2d21c497475c9b9709"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Thu Nov 08 21:55:29 2012 +0100"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Fri Nov 16 09:36:43 2012 +0100"
      },
      "message": "batman-adv: don\u0027t add TEMP clients belonging to other backbone nodes\n\nThe \"early client detection\" mechanism must not add clients belonging\nto other backbone nodes. Such clients must be reached by directly\nusing the LAN instead of the mesh.\n\nThis was introduced by 30cfd02b60e1cb16f5effb0a01f826c5bb7e4c59\n(\"batman-adv: detect not yet announced clients\")\n\nReported-by: Glen Page \u003cglen.page@thet.net\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "27b37ebfa2d2a1b6acef6f2d21c497475c9b9709",
      "tree": "17cf1497fb6d26382e5680304ac1fec00928b686",
      "parents": [
        "e9c00136a4754829faf885cf966c9754c7734660"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Thu Nov 08 14:21:11 2012 +0100"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Fri Nov 16 09:36:27 2012 +0100"
      },
      "message": "batman-adv: correctly pass the client flag on tt_response\n\nWhen a TT response with the full table is sent, the client flags\nshould be sent as well. This patch fix the flags assignment when\npopulating the tt_response to send back\n\nThis was introduced by 30cfd02b60e1cb16f5effb0a01f826c5bb7e4c59\n(\"batman-adv: detect not yet announced clients\")\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "e9c00136a4754829faf885cf966c9754c7734660",
      "tree": "2eed4126c899f7907e57e57ef5bb71ed149f79ef",
      "parents": [
        "80d11788fb8f4d9fcfae5ad508c7f1b65e8b28a3"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Nov 07 15:05:33 2012 +0100"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Fri Nov 16 09:28:03 2012 +0100"
      },
      "message": "batman-adv: fix tt_global_entries flags update\n\nFlags carried by a change_entry have to be always copied into the\nclient entry as they may contain important attributes (e.g.\nTT_CLIENT_WIFI).\n\nFor instance, a client added by means of the \"early detection\nmechanism\" has no flag set at the beginning, so they must be updated once the\nproper ADD event is received.\n\nThis was introduced by 30cfd02b60e1cb16f5effb0a01f826c5bb7e4c59\n(\"batman-adv: detect not yet announced clients\")\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "6fc4adca6ce3e1d57a42707019dddcb883578a91",
      "tree": "3aa151cc8a441e4572b4998a746a1779974ed206",
      "parents": [
        "a652208e0b52c190e57f2a075ffb5e897fe31c3b"
      ],
      "author": {
        "name": "Simon Marchi",
        "email": "simon.marchi@polymtl.ca",
        "time": "Thu Nov 15 18:13:19 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 16 01:40:41 2012 -0500"
      },
      "message": "tilegx: request_irq with a non-null device name\n\nThis patch simply makes the tilegx net driver call request_irq with a\nnon-null name. It makes the output in /proc/interrupts more obvious, but\nalso helps tools that don\u0027t expect to find null there.\n\nSigned-off-by: Simon Marchi \u003csimon.marchi@polymtl.ca\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f755116c93ca35f496ccf1910dcd28cd16713e3",
      "tree": "b02aa6c62ede6ca80a8ca7bc4292515bf8059c69",
      "parents": [
        "3697fd50a561f3b0ddcd1404edb7b81cb696e5e0",
        "2f4f649a69a9eb51f6e98130e19dd90a260a4145"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Nov 16 10:00:43 2012 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Nov 16 10:00:43 2012 +1000"
      },
      "message": "Merge branch \u0027drm-intel-fixes\u0027 of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes\n\nDaniel writes:\nJust a few small things to fix regressions, somehow all patches from Jani:\n- Fix dpms confusion about which platforms support intermediate modes on\n  vga.\n- Revert the \"ignore vbt for eDP bpc\" patch, it breaks machines. This will\n  annoy mbp retina owners again, but windows machines seem to _really_\n  depend upon this. We can try to quirk the mbp retinas again in 3.8 and\n  backport the patch.\n- Fix connector leaks when the sdvo setup failed, resulted in an OOPS\n  later on when trying to probe that connector (with it\u0027s encoder kfree\u0027d\n  already).\n\n* \u0027drm-intel-fixes\u0027 of git://people.freedesktop.org/~danvet/drm-intel:\n  drm/i915: do not ignore eDP bpc settings from vbt\n  drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures\n  drm/i915/crt: fix DPMS standby and suspend mode handling\n"
    },
    {
      "commit": "3697fd50a561f3b0ddcd1404edb7b81cb696e5e0",
      "tree": "192bbf503d948d6ba827c1d460eee6e8af06d3ca",
      "parents": [
        "55aa914e9274cf1d55397cc04eb926eb055c79f7",
        "b9196395c905edec512dfd6690428084228c16ec"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Nov 16 10:00:24 2012 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Nov 16 10:00:24 2012 +1000"
      },
      "message": "Merge branch \u0027drm-fixes-3.7\u0027 of git://people.freedesktop.org/~agd5f/linux into drm-fixes\n\nJust a single radeon fix from Alex.\n\n* \u0027drm-fixes-3.7\u0027 of git://people.freedesktop.org/~agd5f/linux:\n  drm/radeon: fix logic error in atombios_encoders.c\n"
    },
    {
      "commit": "55aa914e9274cf1d55397cc04eb926eb055c79f7",
      "tree": "d90993007c009f362c32dfef0debc55383a19f44",
      "parents": [
        "ac207ed2471150e06af0afc76e4becc701fa2733"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Nov 09 12:10:43 2012 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Nov 16 09:59:51 2012 +1000"
      },
      "message": "drm/ttm: remove unneeded preempt_disable/enable\n\nIt is unnecessary to disable preemption explicitly while calling\ncopy_highpage().  Because copy_highpage() will do it again through\nkmap_atomic/kunmap_atomic.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nReviewed-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ac207ed2471150e06af0afc76e4becc701fa2733",
      "tree": "348d030301979c30286c895a84f11a8e398a1761",
      "parents": [
        "888155bbf63a5f955d7a45932ff05e848f715bf0"
      ],
      "author": {
        "name": "Zhao Yakui",
        "email": "yakui.zhao@intel.com",
        "time": "Tue Nov 13 18:31:55 2012 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Nov 16 09:56:35 2012 +1000"
      },
      "message": "ttm: Clear the ttm page allocated from high memory zone correctly\n\nThe TTM page can be allocated from high memory. In such case it is\nwrong to use the page_address(page) as the virtual address for the high memory\npage.\n\nbugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d50241\n\nSigned-off-by: Zhao Yakui \u003cyakui.zhao@intel.com\u003e\nCc: stable@vger.kernel.org\nReviewed-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "888155bbf63a5f955d7a45932ff05e848f715bf0",
      "tree": "75646d6dd53b85ac6f37b46c6195e972d7113997",
      "parents": [
        "77b67063bb6bce6d475e910d3b886a606d0d91f7"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Mon Nov 12 11:07:24 2012 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Nov 16 09:53:01 2012 +1000"
      },
      "message": "vmwgfx: return an -EFAULT if copy_to_user() fails\n\ncopy_to_user() returns the number of bytes remaining to be copied, but\nwe want to return a negative error code here.  I fixed a couple of these\nlast year, but I missed this one.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nReviewed-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "a652208e0b52c190e57f2a075ffb5e897fe31c3b",
      "tree": "7d41ac0aa041beb5803654d79c9893b651644f63",
      "parents": [
        "ec34232575083fd0f43d3a101e8ebb041b203761"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Wed Nov 14 02:51:04 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 15 17:57:53 2012 -0500"
      },
      "message": "net: correct check in dev_addr_del()\n\nCheck (ha-\u003eaddr \u003d\u003d dev-\u003edev_addr) is always true because dev_addr_init()\nsets this. Correct the check to behave properly on addr removal.\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec34232575083fd0f43d3a101e8ebb041b203761",
      "tree": "e765164c397880fcae8117f0e9ff65ed1cd8f9b8",
      "parents": [
        "0da9a0c2638c8476b4a5021841912f249e3187dc"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Thu Nov 15 04:03:17 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 15 17:44:58 2012 -0500"
      },
      "message": "tcp: fix retransmission in repair mode\n\nCurrently if a socket was repaired with a few packet in a write queue,\na kernel bug may be triggered:\n\nkernel BUG at net/ipv4/tcp_output.c:2330!\nRIP: 0010:[\u003cffffffff8155784f\u003e] tcp_retransmit_skb+0x5ff/0x610\n\nAccording to the initial realization v3.4-rc2-963-gc0e88ff,\nall skb-s should look like already posted. This patch fixes code\naccording with this sentence.\n\nHere are three points, which were not done in the initial patch:\n1. A tcp send head should not be changed\n2. Initialize TSO state of a skb\n3. Reset the retransmission time\n\nThis patch moves logic from tcp_sendmsg to tcp_write_xmit. A packet\npasses the ussual way, but isn\u0027t sent to network. This patch solves\nall described problems and handles tcp_sendpages.\n\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrey Vagin \u003cavagin@openvz.org\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93532c8a4890871aa0d84dd91b80dad9f58542e0",
      "tree": "548718307a2cd396cd40c4d70157af5a8e3de6a2",
      "parents": [
        "77b67063bb6bce6d475e910d3b886a606d0d91f7"
      ],
      "author": {
        "name": "Igor Mazanov",
        "email": "i.mazanov@gmail.com",
        "time": "Thu Nov 15 21:07:00 2012 +0400"
      },
      "committer": {
        "name": "Mike Turquette",
        "email": "mturquette@linaro.org",
        "time": "Thu Nov 15 11:38:34 2012 -0800"
      },
      "message": "clk: remove inline usage from clk-provider.h\n\nUsers of GCC 4.7 have reported compiler errors due to having inline\napplied to function declarations in clk-provider.h.  The definitions\nexist in drivers/clk/clk.c.  An example error:\n\nIn file included from arch/arm/mach-omap2/clockdomain.c:25:0:\narch/arm/mach-omap2/clockdomain.c: In function ‘clkdm_clk_disable’:\ninclude/linux/clk-provider.h:338:12: error: inlining failed in call to always_inline ‘__clk_get_enable_count’: function body not available\narch/arm/mach-omap2/clockdomain.c:1001:28: error: called from here\nmake[1]: *** [arch/arm/mach-omap2/clockdomain.o] Error 1\nmake: *** [arch/arm/mach-omap2] Error 2\n\nThis patch removes the use of inline from include/linux/clk-provider.h\nbut keeps the function definitions in drivers/clk/clk.c as inlined since\nthey are one-liners.\n\nSigned-off-by: Igor Mazanov \u003ci.mazanov@gmail.com\u003e\nAcked-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\nSigned-off-by: Mike Turquette \u003cmturquette@linaro.org\u003e\n[mturquette@linaro.org: improved subject, added changelog]\n"
    },
    {
      "commit": "c5e35d6c512c43105883043dd62cf7257ec3f9f0",
      "tree": "09905577d6de0d61e751c42774d5f7f2d1257015",
      "parents": [
        "ce95a36bb9dd8bb5de49e69b27238da2f415f230",
        "c284464658acab50c67ff65ff3dc9215a0231ad2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:34:45 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:34:45 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://github.com/gxt/linux\n\nPull unicore32 update from Guan Xuetao.\n\n* tag \u0027for-linus\u0027 of git://github.com/gxt/linux:\n  arch/unicore32: remove CONFIG_EXPERIMENTAL\n  unicore32: switch to generic sys_execve()\n  unicore32: switch to generic kernel_thread()/kernel_execve()\n  unicore32: Use Kbuild infrastructure for kvm_para.h\n  UAPI: (Scripted) Disintegrate arch/unicore32/include/asm\n  UniCore32-bugfix: Remove definitions in asm/bug.h to solve difference between native and cross compiler\n  UniCore32-bugfix: fix mismatch return value of __xchg_bad_pointer\n  UniCore32 bugfix: add missed CONFIG_ZONE_DMA\n  unicore32/mm/fault.c: Port OOM changes to do_pf\n"
    },
    {
      "commit": "ce95a36bb9dd8bb5de49e69b27238da2f415f230",
      "tree": "160bd0fbea82474155e7021ee3514659a0dab0a0",
      "parents": [
        "006b9568071ce6d65271b40f1f3e211434fa024e",
        "a28ad42a4a0c6f302f488f26488b8b37c9b30024"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:28:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:28:43 2012 -0800"
      },
      "message": "Merge tag \u0027upstream-3.7-rc6\u0027 of git://git.infradead.org/linux-ubifs\n\nPull UBIFS fixes from Artem Bityutskiy:\n \"Two patches which fix a problem reported by several people in the\n  past, but only fixed now because no one gave enough material for\n  debugging.\n\n  Anyway, these fix the problem that sometimes after a power cut the\n  file-system is not mountable with the following symptom:\n\n\tgrab_empty_leb: could not find an empty LEB\n\n  The fixes make the file-system mountable again.\"\n\n* tag \u0027upstream-3.7-rc6\u0027 of git://git.infradead.org/linux-ubifs:\n  UBIFS: fix mounting problems after power cuts\n  UBIFS: introduce categorized lprops counter\n"
    },
    {
      "commit": "006b9568071ce6d65271b40f1f3e211434fa024e",
      "tree": "914326e91b163e11a2104ad51f8b9424ba48f267",
      "parents": [
        "e8017454ffb4e99f94b1a7e6dcb9ed519ee93441",
        "70a6f46d7b0ec03653b9ab3f8063a9717a4a53ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:27:53 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:27:53 2012 -0800"
      },
      "message": "Merge tag \u0027for-v3.7-fixes\u0027 of git://git.infradead.org/users/cbou/linux-pstore\n\nPull pstore fix from Anton Vorontsov:\n \"A small fixup for the persistent storage subsystem.  The bug can\n  prevent kernel booting on a APEI-enabled machines w/ PSTORE_CONSOLE\u003dy\n  (this is N by default, though).\"\n\n* tag \u0027for-v3.7-fixes\u0027 of git://git.infradead.org/users/cbou/linux-pstore:\n  pstore: Fix NULL pointer dereference in console writes\n"
    },
    {
      "commit": "e8017454ffb4e99f94b1a7e6dcb9ed519ee93441",
      "tree": "8f6247fc5aecd552ed25bdfdb9d7bc1d416fd3c7",
      "parents": [
        "7c96cfcd4e9e57ee58ead8d93f4dbb5c7421386f",
        "aa1e3e81e75ceb3d977c3292cefafcd5179eb8b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:25:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:25:39 2012 -0800"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\nPill i2c fixes from Jean Delvare.\n\nWell, \"fixes\"..  The biggest patch here is actually Jan marking Wolfram\nSang as the main i2c subsystem maintainer, with Jan staying on as the PC\ncontroller maintainer.\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c-mux-pinctrl: Fix probe error path\n  MAINTAINERS: i2c: 7 years, this is it\n"
    },
    {
      "commit": "7c96cfcd4e9e57ee58ead8d93f4dbb5c7421386f",
      "tree": "766cba6b7888f11c7bb73466242a89c36cfc7d98",
      "parents": [
        "382161340eac43fc40627eda84bde8aa6fb6d3a2",
        "ecb48c337b1814aefa9f8b33f4ee93d0ab955902"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:22:03 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:22:03 2012 -0800"
      },
      "message": "Merge tag \u0027regulator-3.7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator\n\nPull regulator fixes from Mark Brown:\n \"A few fixes for teardown issues that will be rarely seen, plus a fix\n  for a silly bug in regulator_is_supported_voltage() which shows how\n  often the answer to the question should be false.\n\n  The supported voltage commit is very new as I just edited to add a Cc\n  to stable, the code itself has been in -next.\"\n\n* tag \u0027regulator-3.7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:\n  regulator: fix voltage check in regulator_is_supported_voltage()\n  regulator: core: Avoid deadlock when regulator_register fails\n  Regulator: core: Unregister when gpio request fails.\n"
    },
    {
      "commit": "382161340eac43fc40627eda84bde8aa6fb6d3a2",
      "tree": "7ed41f3c667609543487e3b210b7e05256197656",
      "parents": [
        "79e979eae0df58831e85281e3285f63663f3cf76",
        "10e44239f67d0b6fb74006e61a7e883b8075247a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:21:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 15 11:21:28 2012 -0800"
      },
      "message": "Merge tag \u0027sound-3.7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\nPull sound fixes from Takashi Iwai:\n \"The only large LOC is seen in WM5102 driver, just writing a bunch of\n  register updates, but the actual code change is small.  Other than\n  that, all small fixes suitable for rc6.\"\n\n* tag \u0027sound-3.7\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:\n  ALSA: usb-audio: Fix mutex deadlock at disconnection\n  ALSA: fm801: precedence bug in snd_fm801_tea575x_get_pins()\n  ALSA: es1968: precedence bug in snd_es1968_tea575x_get_pins()\n  ALSA: hda - Add a missing quirk entry for iMac 9,1\n  ASoC: core: Double control update err for snd_soc_put_volsw_sx\n  ASoC: dapm: Use card_list during DAPM shutdown\n  ASoC: cs42l52: fix the return value of cs42l52_set_fmt()\n  ASoC: bells: Correct type in sub speaker DAI name for WM5102\n  ASoC: wm8978: pll incorrectly configured when codec is master\n  ASoC: mxs-saif: Fix channel swap for 24-bit format\n  ASoC: bells: Select WM1250-EV1 Springbank audio I/O module\n  ASoC: bells: Add missing select of WM0010\n  ASoC: mxs-saif: Add MODULE_ALIAS\n  ASoC: wm5102: Write register value corrections after SYSCLK is enabled\n"
    },
    {
      "commit": "0da9a0c2638c8476b4a5021841912f249e3187dc",
      "tree": "1ee9ef7eb473db6407f13d6bd1adf537fbc76344",
      "parents": [
        "80d11788fb8f4d9fcfae5ad508c7f1b65e8b28a3"
      ],
      "author": {
        "name": "Tommi Rantala",
        "email": "tt.rantala@gmail.com",
        "time": "Thu Nov 15 03:49:05 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 15 13:56:05 2012 -0500"
      },
      "message": "sctp: fix /proc/net/sctp/ memory leak\n\nCommit 13d782f (\"sctp: Make the proc files per network namespace.\")\nchanged the /proc/net/sctp/ struct file_operations opener functions to\nuse single_open_net() and seq_open_net().\n\nAvoid leaking memory by using single_release_net() and seq_release_net()\nas the release functions.\n\nDiscovered with Trinity (the syscall fuzzer).\n\nSigned-off-by: Tommi Rantala \u003ctt.rantala@gmail.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae289dc1f474ff380e9d7601f02e4d766cbba408",
      "tree": "4fcb0d00eac8e8003c91118b55fce3a337a927bb",
      "parents": [
        "4bffbb3455372a26816e364fb4448810f7014452"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Nov 15 09:22:40 2012 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Nov 15 16:33:09 2012 +0100"
      },
      "message": "s390/3215: fix tty close handling\n\nThe 3215 console always has the RAW3215_FIXED flag set, which causes\nraw3215_shutdown() not to wait for outstanding I/O requests if an attached\ntty gets closed.\nThe flag however can be simply removed, so we can guarantee that all requests\nbelonging to the tty have been processed when the tty is closed.\n\nHowever the tasklet that belongs to the 3215 device may be scheduled even if\nthere is no tty attached anymore, since we have a race between console and tty\nprocessing.\nThefore unconditional tty_wakekup() in raw3215_wakeup() can cause the following\nNULL pointer dereference:\n\n3.465368 Unable to handle kernel pointer dereference at virtual kernel address (null)\n3.465448 Oops: 0004 #1 SMP\n3.465454 Modules linked in:\n3.465459 CPU: 1 Not tainted 3.6.0 #1\n3.465462 Process swapper/1 (pid: 0, task: 000000003ffa4428, ksp: 000000003ffb7ce0)\n3.465466 Krnl PSW : 0404100180000000 0000000000162f86 (__wake_up+0x46/0xb8)\n3.465480            R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0 EA:3\n         Krnl GPRS: fffffffffffffffe 0000000000000000 0000000000000160 0000000000000001\n3.465492            0000000000000001 0000000000000004 0000000000000004 000000000096b490\n3.465499            0000000000000001 0000000000000100 0000000000000001 0000000000000001\n3.465506            070000003fc87d60 0000000000000160 000000003fc87d68 000000003fc87d00\n3.465526 Krnl Code: 0000000000162f76: e3c0f0a80004      lg      %r12,168(%r15)\n                    0000000000162f7c: 58000370          l       %r0,880\n                   #0000000000162f80: c007ffffffff00    xilf    %r0,4294967295\n                   \u003e0000000000162f86: ba102000          cs      %r1,%r0,0(%r2)\n                    0000000000162f8a: 1211              ltr     %r1,%r1\n                    0000000000162f8c: a774002f          brc     7,162fea\n                    0000000000162f90: b904002d          lgr     %r2,%r13\n                    0000000000162f94: b904003a          lgr     %r3,%r10\n3.465597 Call Trace:\n3.465599 (\u003c0400000000000000\u003e 0x400000000000000)\n3.465602  \u003c000000000048c77e\u003e raw3215_wakeup+0x2e/0x40\n3.465607  \u003c0000000000134d66\u003e tasklet_action+0x96/0x168\n3.465612  \u003c000000000013423c\u003e __do_softirq+0xd8/0x21c\n3.465615  \u003c0000000000134678\u003e irq_exit+0xa8/0xac\n3.465617  \u003c000000000046c232\u003e do_IRQ+0x182/0x248\n3.465621  \u003c00000000005c8296\u003e io_return+0x0/0x8\n3.465625  \u003c00000000005c7cac\u003e vtime_stop_cpu+0x4c/0xb8\n3.465629 (\u003c0000000000194e06\u003e tick_nohz_idle_enter+0x4e/0x74)\n3.465633  \u003c0000000000104760\u003e cpu_idle+0x170/0x184\n3.465636  \u003c00000000005b5182\u003e smp_start_secondary+0xd6/0xe0\n3.465641  \u003c00000000005c86be\u003e restart_int_handler+0x56/0x6c\n3.465643  \u003c0000000000000000\u003e 0x0\n3.465645 Last Breaking-Event-Address:\n3.465647  \u003c0000000000403136\u003e tty_wakeup+0x46/0x98\n3.465652\n3.465654 Kernel panic - not syncing: Fatal exception in interrupt\n01: HCPGIR450W CP entered; disabled wait PSW 00020001 80000000 00000000 0010F63C\n\nThe easiest solution is simply to check if tty is NULL in the tasklet.\nIf it is NULL nothing is to do (no tty attached), otherwise tty_wakeup()\ncan be called, since we hold a reference to the tty.\nThis is not nice... but it is a small patch and it works.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "b9196395c905edec512dfd6690428084228c16ec",
      "tree": "0d4156974dcbe324e9010ebc53c08b0d5befe958",
      "parents": [
        "afcc87aa6a233e52df73552dc1dc9ae3881b7cc8"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Wed Nov 14 09:10:39 2012 -0500"
      },
      "committer": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Thu Nov 15 09:17:29 2012 -0500"
      },
      "message": "drm/radeon: fix logic error in atombios_encoders.c\n\nFixes:\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d50431\n\nReported-by: David Binderman \u003cdcb314@hotmail.com\u003e\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: stable@vger.kernel.org\nReviewed-by: Michel Dänzer \u003cmichel.daenzer@amd.com\u003e\n"
    },
    {
      "commit": "80d11788fb8f4d9fcfae5ad508c7f1b65e8b28a3",
      "tree": "95bb41b7c8baa0332461c2e4a4b3400fee39934b",
      "parents": [
        "769ce4c95e8f77c1d5df82194e54df49d28830c5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 14 22:32:15 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 14 22:32:15 2012 -0500"
      },
      "message": "Revert \"drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister before mdiobus_free\"\n\nThis reverts commit aa731872f7d33dcb8b54dad0cfb82d4e4d195d7e.\n\nAs pointed out by Ben Hutchings, this change is not correct.\n\nmdiobus_unregister() can\u0027t be called if the bus isn\u0027t registered yet,\nhowever this change can result in situations which cause that to\nhappen.\n\nPart of the confusion here revolves around the fact that the\ncallers of this module control registration/unregistration,\nrather than the module itself.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "769ce4c95e8f77c1d5df82194e54df49d28830c5",
      "tree": "e1918111ed5a87924dc7126baba6454220ebd4fb",
      "parents": [
        "71c6c837a0fe9d291e0764503f09dac0fec59ce1"
      ],
      "author": {
        "name": "Kamlakant Patel",
        "email": "kamlakant.patel@broadcom.com",
        "time": "Wed Nov 14 01:41:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 14 21:50:10 2012 -0500"
      },
      "message": "net/smsc911x: Fix ready check in cases where WORD_SWAP is needed\n\nThe chip ready check added by the commit 3ac3546e [Always wait for\nthe chip to be ready] does not work when the register read/write\nis word swapped. This check has been added before the WORD_SWAP\nregister is programmed, so we need to check for swapped register\nvalue as well.\n\nBit 16 is marked as RESERVED in SMSC datasheet, Steve Glendinning\n\u003csteve@shawell.net\u003e checked with SMSC and wrote:\n\n  The chip architects have concluded we should be reading PMT_CTRL\n  until we see any of bits 0, 8, 16 or 24 set.  Then we should read\n  BYTE_TEST to check the byte order is correct (as we already do).\n\n  The rationale behind this is that some of the chip variants have\n  word order swapping features too, so the READY bit could actually\n  be in any of the 4 possible locations.  The architects have confirmed\n  that if any of these 4 positions is set the chip is ready.  The other\n  3 locations will either never be set or can only go high after READY\n  does (so also indicate the device is ready).\n\nThis change will check for the READY bit at the 16th position. We do\nnot check the other two cases (bit 8 and 24) since the driver does not\nsupport byte-swapped register read/write.\n\nSigned-off-by: Kamlakant Patel \u003ckamlakant.patel@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "71c6c837a0fe9d291e0764503f09dac0fec59ce1"
}
