)]}'
{
  "log": [
    {
      "commit": "954ffcb35f5aca428661d29b96c4eee82b3c19cd",
      "tree": "2dd8aaf26a8ae81b461b6d5d824ae8744690e483",
      "parents": [
        "97ee052461446526e1de7236497e6f1b1ffedf8c"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Oct 16 01:25:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:59 2007 -0700"
      },
      "message": "flush icache before set_pte() on ia64: flush icache at set_pte\n\nCurrent ia64 kernel flushes icache by lazy_mmu_prot_update() *after*\nset_pte().  This is too late.  This patch removes lazy_mmu_prot_update and\nadd modfied set_pte() for flushing if necessary.\n\nThis patch flush icache of a page when\n\tnew pte has exec bit.\n\t\u0026\u0026 new pte has present bit\n\t\u0026\u0026 new pte is user\u0027s page.\n\t\u0026\u0026 (old *ptep is not present\n            || new pte\u0027s pfn is not same to old *ptep\u0027s ptn)\n\t\u0026\u0026 new pte\u0027s page has no Pg_arch_1 bit.\n\t   Pg_arch_1 is set when a page is cache consistent.\n\nI think this condition checks are much easier to understand than considering\n\"Where sync_icache_dcache() should be inserted ?\".\n\npte_user() for ia64 was removed by http://lkml.org/lkml/2007/6/12/67 as\nclean-up. So, I added it again.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9535239f6bc99f68e0cfae44505ad402b53ed24c",
      "tree": "3805894887354ee777250a7593d4a61ec4b40d56",
      "parents": [
        "73c59afc65cfa50c3362b9ce1ec151a79c41dd8e"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Aug 10 13:01:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:42 2007 -0700"
      },
      "message": "changing include/asm-generic/pgtable.h for non-mmu\n\nThere are some parts of include/asm-generic/pgtable.h that are relevant to\nthe non-mmu architectures.  To make it easier to include this from them I\nwould like to ifdef the relevant parts.\n\nWithout this there is a handful of functions that are referenced in here\nthat are not defined on many non-mmu architectures.  They could be defined\nout of course, as an alternative approach.\n\nCc: David Howells \u003cdhowells@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": "e21ea246bce5bb93dd822de420172ec280aed492",
      "tree": "d624d1257728d8d869d54420c83d4bf4c4e19189",
      "parents": [
        "f0e47c229b489e37ba7e4159ef7f9cf9ccd44e19"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jul 17 04:03:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:22:59 2007 -0700"
      },
      "message": "mm: remove ptep_test_and_clear_dirty and ptep_clear_flush_dirty\n\nNobody is using ptep_test_and_clear_dirty and ptep_clear_flush_dirty.  Remove\nthe functions from all architectures.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0e47c229b489e37ba7e4159ef7f9cf9ccd44e19",
      "tree": "52ec70d775bb7f7eafa6863829646ee49cbf427f",
      "parents": [
        "5ee403f584a67fb8725cca4d55218925b9295528"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jul 17 04:03:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:22:59 2007 -0700"
      },
      "message": "mm: remove ptep_establish()\n\nThe last user of ptep_establish in mm/ is long gone.  Remove the architecture\nprimitive as well.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8dab5241d06bfc9ee141ea78c56cde5070d7460d",
      "tree": "dd9dc3c64c17862b169f4cbe5fd4a108d960c920",
      "parents": [
        "679ce0ace6b1a07043bc3b405a34ddccad808886"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Jun 16 10:16:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:16 2007 -0700"
      },
      "message": "Rework ptep_set_access_flags and fix sun4c\n\nSome changes done a while ago to avoid pounding on ptep_set_access_flags and\nupdate_mmu_cache in some race situations break sun4c which requires\nupdate_mmu_cache() to always be called on minor faults.\n\nThis patch reworks ptep_set_access_flags() semantics, implementations and\ncallers so that it\u0027s now responsible for returning whether an update is\nnecessary or not (basically whether the PTE actually changed).  This allow\nfixing the sparc implementation to always return 1 on sun4c.\n\n[akpm@linux-foundation.org: fixes, cleanups]\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Mark Fortescue \u003cmark@mtfhpc.demon.co.uk\u003e\nAcked-by: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c210482ae4a9a5bb9377ad250feaacec3faa3cd",
      "tree": "2eb89d89a22380298d64edad59010c1d0a59e5a4",
      "parents": [
        "2fc2d1e9ffcde78af7ab63ed640d9a4901797de2"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Apr 27 16:01:57 2007 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Apr 27 16:01:46 2007 +0200"
      },
      "message": "[S390] split page_test_and_clear_dirty.\n\nThe page_test_and_clear_dirty primitive really consists of two\noperations, page_test_dirty and the page_clear_dirty. The combination\nof the two is not an atomic operation, so it makes more sense to have\ntwo separate operations instead of one.\nIn addition to the improved readability of the s390 version of\nSetPageUptodate, it now avoids the page_test_dirty operation which is\nan insert-storage-key-extended (iske) instruction which is an expensive\noperation.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "49f19710512c825aaea73b9207b3a848027cda1d",
      "tree": "06da31bd9a84273e12aa43f536f90eb8146ff92e",
      "parents": [
        "a5bfffac645a7b2d8119f8bbae34df5c94832799"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sun Apr 08 16:04:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Apr 08 19:47:55 2007 -0700"
      },
      "message": "[PATCH] Proper fix for highmem kmap_atomic functions for VMI for 2.6.21\n\nSince lazy MMU batching mode still allows interrupts to enter, it is\npossible for interrupt handlers to try to use kmap_atomic, which fails when\nlazy mode is active, since the PTE update to highmem will be delayed.  The\nbest workaround is to issue an explicit flush in kmap_atomic_functions\ncase; this is the only way nested PTE updates can happen in the interrupt\nhandler.\n\nThanks to Jeremy Fitzhardinge for noting the bug and suggestions on a fix.\n\nThis patch gets reverted again when we start 2.6.22 and the bug gets fixed\ndifferently.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9226d125d94c7e4964dd41cc5e9ca2ff84091d01",
      "tree": "935d6e80ff843e1d7b54e0fd9386ef2e0d31aa3d",
      "parents": [
        "c119ecce894120790903ef535dac3e105f3d6cde"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Tue Feb 13 13:26:21 2007 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Feb 13 13:26:21 2007 +0100"
      },
      "message": "[PATCH] i386: paravirt CPU hypercall batching mode\n\nThe VMI ROM has a mode where hypercalls can be queued and batched.  This turns\nout to be a significant win during context switch, but must be done at a\nspecific point before side effects to CPU state are visible to subsequent\ninstructions.  This is similar to the MMU batching hooks already provided.\nThe same hooks could be used by the Xen backend to implement a context switch\nmulticall.\n\nTo explain a bit more about lazy modes in the paravirt patches, basically, the\nidea is that only one of lazy CPU or MMU mode can be active at any given time.\n Lazy MMU mode is similar to this lazy CPU mode, and allows for batching of\nmultiple PTE updates (say, inside a remap loop), but to avoid keeping some\nkind of state machine about when to flush cpu or mmu updates, we just allow\none or the other to be active.  Although there is no real reason a more\ncomprehensive scheme could not be implemented, there is also no demonstrated\nneed for this extra complexity.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "a93cb055a23f3172c1e6a22ac1dc4f1c07929b08",
      "tree": "b2118140583912c78d42a3ba950be39815addc14",
      "parents": [
        "d6d861e3c963b4077c83e078e3e300c4b81f93e7"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 30 23:29:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:34 2006 -0700"
      },
      "message": "[PATCH] paravirt: remove set pte atomic\n\nNow that ptep_establish has a definition in PAE i386 3-level paging code, the\nonly paging model which is insane enough to have multi-word hardware PTEs\nwhich are not efficient to set atomically, we can remove the ghost of\nset_pte_atomic from other architectures which falesly duplicated it, and\nremove all knowledge of it from the generic pgtable code.\n\nset_pte_atomic is now a private pte operator which is specific to i386\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6606c3e0da5360799e07ae24b05080cc85c68e72",
      "tree": "5072acfc3b36e48ec84fe28805d160cbc9b28900",
      "parents": [
        "9888a1cae3f859db38b9604e3df1c02177161bb0"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 30 23:29:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:33 2006 -0700"
      },
      "message": "[PATCH] paravirt: lazy mmu mode hooks.patch\n\nImplement lazy MMU update hooks which are SMP safe for both direct and shadow\npage tables.  The idea is that PTE updates and page invalidations while in\nlazy mode can be batched into a single hypercall.  We use this in VMI for\nshadow page table synchronization, and it is a win.  It also can be used by\nPPC and for direct page tables on Xen.\n\nFor SMP, the enter / leave must happen under protection of the page table\nlocks for page tables which are being modified.  This is because otherwise,\nyou end up with stale state in the batched hypercall, which other CPUs can\nrace ahead of.  Doing this under the protection of the locks guarantees the\nsynchronization is correct, and also means that spurious faults which are\ngenerated during this window by remote CPUs are properly handled, as the page\nfault handler must re-check the PTE under protection of the same lock.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9888a1cae3f859db38b9604e3df1c02177161bb0",
      "tree": "5954dc5e1a2dc1251a57a41aa15b7776a530f230",
      "parents": [
        "3dc907951446b9317b1887223caa4e083390de9f"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 30 23:29:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:33 2006 -0700"
      },
      "message": "[PATCH] paravirt: pte clear not present\n\nChange pte_clear_full to a more appropriately named pte_clear_not_present,\nallowing optimizations when not-present mapping changes need not be reflected\nin the hardware TLB for protected page table modes.  There is also another\ncase that can use it in the fremap code.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "673eae8230a192f07b8715b872d6925521e9738d",
      "tree": "2917c765594015ebfad00bb4fc1feef41286ca1a",
      "parents": [
        "753b9f86e7aef76c2beda32668ce528f90cb1733"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Sep 25 23:32:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:56 2006 -0700"
      },
      "message": "[PATCH] x86: trivial pgtable.h __ASSEMBLY__ move\n\nParsing generic pgtable.h in assembler is simply crazy.  None of this file is\nneeded in assembler code, and C inline functions and structures routine break\none or more different compiles.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0b0968a3e691771bf87e1ce747b2c7d23b5526c8",
      "tree": "71787e376b7aef54b48e99d15a0fc11c7cf7ee8d",
      "parents": [
        "951bc82c53f30ec6b4c2d04a051e74ea9a89b669"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.sfo1.dsl.speakeasy.net",
        "time": "Thu Jun 01 17:47:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.sfo1.dsl.speakeasy.net",
        "time": "Thu Jun 01 17:47:25 2006 -0700"
      },
      "message": "[SPARC64]: Fix D-cache corruption in mremap\n\nIf we move a mapping from one virtual address to another,\nand this changes the virtual color of the mapping to those\npages, we can see corrupt data due to D-cache aliasing.\n\nCheck for and deal with this by overriding the move_pte()\nmacro.  Set things up so that other platforms can cleanly\noverride the move_pte() macro too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8c65b4a60450590e79a28e9717ceffa9e4debb3f",
      "tree": "e0e42b5faee0a1c44746a36d9df7a8fbb2a2c24c",
      "parents": [
        "6fdcc2162285a8fc96ab12ff85086c37bceaa494"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Mon Nov 07 00:59:43 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:41 2005 -0800"
      },
      "message": "[PATCH] fix remaining missing includes\n\nFix more include file problems that surfaced since I submitted the previous\nfix-missing-includes.patch.  This should now allow not to include sched.h\nfrom module.h, which is done by a followup patch.\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b8072f099b7829a6ff3eba618e1d079a81f753f8",
      "tree": "80bf801b68ecf5f29a61f0f4fd5976b4daa91c6a",
      "parents": [
        "f412ac08c9861b4791af0145934c22f1458686da"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:42 2005 -0700"
      },
      "message": "[PATCH] mm: update comments to pte lock\n\nUpdated several references to page_table_lock in common code comments.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b1f3124618b54cf125dea3a074b9cf469117723",
      "tree": "19ef8a7fe9cc5b1c46dc973ea151edab4aba2b8a",
      "parents": [
        "95001ee9256df846e374f116c92ca8e0beec1527"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Tue Sep 27 21:45:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 28 07:46:40 2005 -0700"
      },
      "message": "[PATCH] mm: move_pte to remap ZERO_PAGE\n\nMove the ZERO_PAGE remapping complexity to the move_pte macro in\nasm-generic, have it conditionally depend on\n__HAVE_ARCH_MULTIPLE_ZERO_PAGE, which gets defined for MIPS.\n\nFor architectures without __HAVE_ARCH_MULTIPLE_ZERO_PAGE, move_pte becomes\na noop.\n\nFrom: Hugh Dickins \u003chugh@veritas.com\u003e\n\nFix nasty little bug we\u0027ve missed in Nick\u0027s mremap move ZERO_PAGE patch.\nThe \"pte\" at that point may be a swap entry or a pte_file entry: we must\ncheck pte_present before perhaps corrupting such an entry.\n\nPatch below against 2.6.14-rc2-mm1, but the same bug is in 2.6.14-rc2\u0027s\nmm/mremap.c, and more dangerous there since it\u0027s affecting all arches: I\nthink the safest course is to send Nick\u0027s patch and Yoichi\u0027s build fix and\nthis fix (build tested) on to Linus - so only MIPS can be affected.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a600388d28419305aad3c4c0af52c223cf6fa0af",
      "tree": "c70d3d80275f189c49311183472367f45d1a1ef2",
      "parents": [
        "fa5b08d5f818063d18433194f20359ef2ae50254"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:55:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:48 2005 -0700"
      },
      "message": "[PATCH] x86: ptep_clear optimization\n\nAdd a new accessor for PTEs, which passes the full hint from the mmu_gather\nstruct; this allows architectures with hardware pagetables to optimize away\natomic PTE operations when destroying an address space.  Removing the\nlocked operation should allow better pipelining of memory access in this\nloop.  I measured an average savings of 30-35 cycles per zap_pte_range on\nthe first 500 destructions on Pentium-M, but I believe the optimization\nwould win more on older processors which still assert the bus lock on xchg\nfor an exclusive cacheline.\n\nUpdate: I made some new measurements, and this saves exactly 26 cycles over\nptep_get_and_clear on Pentium M.  On P4, with a PAE kernel, this saves 180\ncycles per ptep_get_and_clear, for a whopping 92160 cycles savings for a\nfull address space destruction.\n\npte_clear_full is not yet used, but is provided for future optimizations\n(in particular, when running inside of a hypervisor that queues page table\nupdates, the full hint allows us to avoid queueing unnecessary page table\nupdate for an address space in the process of being destroyed.\n\nThis is not a huge win, but it does help a bit, and sets the stage for\nfurther hypervisor optimization of the mm layer on all architectures.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nCc: \u003clinux-mm@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4955ce3dd0818b56da532a16c9a4a3804a558ee",
      "tree": "6e01667181bfc495b56e39748783ad2235a4f56e",
      "parents": [
        "c475a8ab625d567eacf5e30ec35d6d8704558062"
      ],
      "author": {
        "name": "Abhijit Karmarkar",
        "email": "abhijitk@veritas.com",
        "time": "Tue Jun 21 17:15:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] msync: check pte dirty earlier\n\nIt\u0027s common practice to msync a large address range regularly, in which\noften only a few ptes have actually been dirtied since the previous pass.\n\nsync_pte_range then goes much faster if it tests whether pte is dirty\nbefore locating and accessing each struct page cacheline; and it is hardly\nslowed by ptep_clear_flush_dirty repeating that test in the opposite case,\nwhen every pte actually is dirty.\n\nBut beware, s390\u0027s pte_dirty always says false, since its dirty bit is kept\nin the storage key, located via the struct page address.  So skip this\noptimization in its case: use a pte_maybe_dirty macro which just says true\nif page_test_and_clear_dirty is implemented.\n\nSigned-off-by: Abhijit Karmarkar \u003cabhijitk@veritas.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f6c99c11ae63ce887686f3e51c412cc4d8d8a7d",
      "tree": "4c3f29ce21f2a69f9105581c95e07de5bc5bb7aa",
      "parents": [
        "3bf5ee95648c694bac4d13529563c230cd4fe5f2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Apr 19 13:29:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org.(none)",
        "time": "Tue Apr 19 13:29:17 2005 -0700"
      },
      "message": "[PATCH] freepgt: remove arch pgd_addr_end\n\nia64 and sparc64 hurriedly had to introduce their own variants of\npgd_addr_end, to leapfrog over the holes in their virtual address spaces which\nthe final clear_page_range suddenly presented when converted from pgd_index to\npgd_addr_end.  But now that free_pgtables respects the vma list, those holes\nare never presented, and the arch variants can go.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
