)]}'
{
  "log": [
    {
      "commit": "57decbda6a2a7c400b2a3b3b12e52ccbdc977118",
      "tree": "f4702143a15df7e455392ccb7eb466e9c5aa241e",
      "parents": [
        "9ce8c2ed12550f90fd6e902990652b13df647793"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "message": "[PATCH] x86: update for i386 and x86-64 check_bugs\n\nRemove spurious comments, headers and keywords from x86-64 bugs.[ch].\n\nUse identify_boot_cpu()\n\nAK: merged with other patch\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c5413fbe894924ddb8aa474a4d4da52e7a6c7e0b",
      "tree": "8f317bf2494b6b4bceb5e6d1ee35fabc0eeb9971",
      "parents": [
        "1956c73bb5bf81ee577ed7d3c64e3cad876ad2a5"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "message": "[PATCH] i386: Fix UP gdt bugs\n\nFixes two problems with the GDT when compiling for uniprocessor:\n - There\u0027s no percpu segment, so trying to load its selector into %fs fails.\n   Use a null selector instead.\n - The real gdt needs to be loaded at some point.  Do it in cpu_init().\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1956c73bb5bf81ee577ed7d3c64e3cad876ad2a5",
      "tree": "4e47be7446a6c9e42cbf03410280b7c06ad4e841",
      "parents": [
        "978c038ec944e4f2c940b0975c6acb433203a9be"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "message": "[PATCH] i386: Define per_cpu_offset\n\nDefine per_cpu_offset in asm-i386/percpu.h when SMP defined, like\nasm-generic/percpu.h does for UP.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "978c038ec944e4f2c940b0975c6acb433203a9be",
      "tree": "f4bab9c040e5c4876fadeea765fed623f148ad69",
      "parents": [
        "7c3576d261ce046789a7db14f43303f8120910c7"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "message": "[PATCH] i386: cleanups to help using per-cpu variables from asm\n\nThis patch does a few small cleanups:\n - use PER_CPU_NAME to generate the names of per-cpu variables\n - use lea to add the per_cpu offset in PER_CPU(), because it doesn\u0027t\n   affect condition flags\n - add PER_CPU_VAR which allows direct access to pre-cpu variables\n   with the %fs: prefix on SMP.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "7c3576d261ce046789a7db14f43303f8120910c7",
      "tree": "ad27a8459bbcdb183fe2411aec3b840942992ad5",
      "parents": [
        "7a61d35d4b4056e7711031202da7605e052f4137"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "message": "[PATCH] i386: Convert PDA into the percpu section\n\nCurrently x86 (similar to x84-64) has a special per-cpu structure\ncalled \"i386_pda\" which can be easily and efficiently referenced via\nthe %fs register.  An ELF section is more flexible than a structure,\nallowing any piece of code to use this area.  Indeed, such a section\nalready exists: the per-cpu area.\n\nSo this patch:\n(1) Removes the PDA and uses per-cpu variables for each current member.\n(2) Replaces the __KERNEL_PDA segment with __KERNEL_PERCPU.\n(3) Creates a per-cpu mirror of __per_cpu_offset called this_cpu_off, which\n    can be used to calculate addresses for this CPU\u0027s variables.\n(4) Simplifies startup, because %fs doesn\u0027t need to be loaded with a\n    special segment at early boot; it can be deferred until the first\n    percpu area is allocated (or never for UP).\n\nThe result is less code and one less x86-specific concept.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "7a61d35d4b4056e7711031202da7605e052f4137",
      "tree": "4b21e0d541d0a189c2f9f16f53eb6489f07c5a84",
      "parents": [
        "39b7ee06859b07ca5fd4fabb44c4600316532574"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "message": "[PATCH] i386: Page-align the GDT\n\nXen wants a dedicated page for the GDT.  I believe VMI likes it too.\nlguest, KVM and native don\u0027t care.\n\nSimple transformation to page-aligned \"struct gdt_page\".\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\n"
    },
    {
      "commit": "4cdd9c8931767e1c56a51a1078d33a8c340f4405",
      "tree": "bf8b49009011bb2dffe9683dffdcbfe3b90375f9",
      "parents": [
        "1a45b7aaa5051489b46afbc48509bd91f8b4a1ba"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: drop unused ptep_get_and_clear\n\nIn shadow mode hypervisors, ptep_get_and_clear achieves the desired\npurpose of keeping the shadows in sync by issuing a native_get_and_clear,\nfollowed by a call to pte_update, which indicates the PTE has been\nmodified.\n\nDirect mode hypervisors (Xen) have no need for this anyway, and will trap\nthe update using writable pagetables.\n\nThis means no hypervisor makes use of ptep_get_and_clear; there is no\nreason to have it in the paravirt-ops structure.  Change confusing\nterminology about raw vs. native functions into consistent use of\nnative_pte_xxx for operations which do not invoke paravirt-ops.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "1a45b7aaa5051489b46afbc48509bd91f8b4a1ba",
      "tree": "2e0f39a0f801b33a9fbccca2afe1beb9cfaa82be",
      "parents": [
        "4e0fa85602a4fa219fc3a9c053d5140bf987d3e3"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Clean up paravirt patchable wrappers\n\nReplace all the open-coded macros for generating calls with a pair of\nmore general macros (__PVOP_CALL/VCALL), and redefine all the\nPVOP_V?CALL[0-4] in terms of them.\n\n[ Andrew, Andi: this should slot in immediately after \"Document asm-i386/paravirt.h\"\n  (paravirt_ops-document-asm-i386-paravirth.patch) ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4e0fa85602a4fa219fc3a9c053d5140bf987d3e3",
      "tree": "834d782a6782ac9c038ef64dac5ab015f6bfbf2d",
      "parents": [
        "7b2f27f4e1818fad980da7bea688dca2b9e9c3f3"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Use enums for paravirt lazy flush modi\n\nRemove #defines, add enum for PARAVIRT_LAZY_FLUSH.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "ce6234b5298902aaec831a67d5f8d9bd2ef5a488",
      "tree": "939c22684e11a4f5f17abb89c4898f016e878e21",
      "parents": [
        "a27fe809b82c5e18932fcceded28d0d1481ce7bb"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: add kmap_atomic_pte for mapping highpte pages\n\nXen and VMI both have special requirements when mapping a highmem pte\npage into the kernel address space.  These can be dealt with by adding\na new kmap_atomic_pte() function for mapping highptes, and hooking it\ninto the paravirt_ops infrastructure.\n\nXen specifically wants to map the pte page RO, so this patch exposes a\nhelper function, kmap_atomic_prot, which maps the page with the\nspecified page protections.\n\nThis also adds a kmap_flush_unused() function to clear out the cached\nkmap mappings.  Xen needs this to clear out any potential stray RW\nmappings of pages which will become part of a pagetable.\n\n[ Zach - vmi.c will need some attention after this patch.  It wasn\u0027t\n  immediately obvious to me what needs to be done. ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\n"
    },
    {
      "commit": "a27fe809b82c5e18932fcceded28d0d1481ce7bb",
      "tree": "b4d33cd8b3f038a84534d4d3302c0704e3959599",
      "parents": [
        "d4c104771a1c58e3de2a888b73b0ba1b54c0ae76"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: revert map_pt_hook.\n\nBack out the map_pt_hook to clear the way for kmap_atomic_pte.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\n"
    },
    {
      "commit": "d4c104771a1c58e3de2a888b73b0ba1b54c0ae76",
      "tree": "77ca2c6771e946aa926cb21c06702fdc7d230364",
      "parents": [
        "63f70270ccd981ce40a8ff58c03a8c2e97e368be"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: add flush_tlb_others paravirt_op\n\nThis patch adds a pv_op for flush_tlb_others.  Linux running on native\nhardware uses cross-CPU IPIs to flush the TLB on any CPU which may\nhave a particular mm\u0027s pagetable entries cached in its TLB.  This is\ninefficient in a paravirtualized environment, since the hypervisor\nknows which real CPUs actually contain cached mappings, which may be a\nsmall subset of a guest\u0027s VCPUs.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "63f70270ccd981ce40a8ff58c03a8c2e97e368be",
      "tree": "7ffe766f25007845c99cfc337365c3006a153b83",
      "parents": [
        "294688c028e80fd467cdd22da79f62c5f311eaf5"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: add common patching machinery\n\nImplement the actual patching machinery.  paravirt_patch_default()\ncontains the logic to automatically patch a callsite based on a few\nsimple rules:\n\n - if the paravirt_op function is paravirt_nop, then patch nops\n - if the paravirt_op function is a jmp target, then jmp to it\n - if the paravirt_op function is callable and doesn\u0027t clobber too much\n    for the callsite, call it directly\n\nparavirt_patch_default is suitable as a default implementation of\nparavirt_ops.patch, will remove most of the expensive indirect calls\nin favour of either a direct call or a pile of nops.\n\nBackends may implement their own patcher, however.  There are several\nhelper functions to help with this:\n\nparavirt_patch_nop\tnop out a callsite\nparavirt_patch_ignore\tleave the callsite as-is\nparavirt_patch_call\tpatch a call if the caller and callee\n\t\t\thave compatible clobbers\nparavirt_patch_jmp\tpatch in a jmp\nparavirt_patch_insns\tpatch some literal instructions over\n\t\t\tthe callsite, if they fit\n\nThis patch also implements more direct patches for the native case, so\nthat when running on native hardware many common operations are\nimplemented inline.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Anthony Liguori \u003canthony@codemonkey.ws\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "294688c028e80fd467cdd22da79f62c5f311eaf5",
      "tree": "3a2dcacf3f4f9997ae0032fb3c8342a2a7e5753d",
      "parents": [
        "f8822f42019eceed19cc6c0f985a489e17796ed8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Document asm-i386/paravirt.h\n\nClean things up, and broadly document:\n - the paravirt_ops functions themselves\n - the patching mechanism\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "f8822f42019eceed19cc6c0f985a489e17796ed8",
      "tree": "d47728ad3a41343912e4556e6abd5cd79d75b3aa",
      "parents": [
        "42c24fa22e86365055fc931d833f26165e687c19"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Consistently wrap paravirt ops callsites to make them patchable\n\nWrap a set of interesting paravirt_ops calls in a wrapper which makes\nthe callsites available for patching.  Unfortunately this is pretty\nugly because there\u0027s no way to get gcc to generate a function call,\nbut also wrap just the callsite itself with the necessary labels.\n\nThis patch supports functions with 0-4 arguments, and either void or\nreturning a value.  64-bit arguments must be split into a pair of\n32-bit arguments (lower word first).  Small structures are returned in\nregisters.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Anthony Liguori \u003canthony@codemonkey.ws\u003e\n"
    },
    {
      "commit": "42c24fa22e86365055fc931d833f26165e687c19",
      "tree": "c74861202966ccb80afaae8469843cf2617fea65",
      "parents": [
        "d582203578a1f3d408e27bb9042e8635954cd320"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Fix patch site clobbers to include return register\n\nFix a few clobbers to include the return register.  The clobbers set\nis the set of all registers modified (or may be modified) by the code\nsnippet, regardless of whether it was deliberate or accidental.\n\nAlso, make sure that callsites which are used in contexts which don\u0027t\nallow clobbers actually save and restore all clobberable registers.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\n"
    },
    {
      "commit": "d582203578a1f3d408e27bb9042e8635954cd320",
      "tree": "385952bdda8f9c2b6b4c9c659a0eba872749e948",
      "parents": [
        "98de032b681d8a7532d44dfc66aa5c0c1c755a9d"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Use patch site IDs computed from offset in paravirt_ops structure\n\nUse patch type identifiers derived from the offset of the operation in\nthe paravirt_ops structure.  This avoids having to maintain a separate\nenum for patch site types.\n\nAlso, since the identifier is derived from the offset into\nparavirt_ops, the offset can be derived from the identifier.  This is\nused to remove replicated information in the various callsite macros,\nwhich has been a source of bugs in the past.\n\nThis patch also drops the fused save_fl+cli operation, which doesn\u0027t\nreally add much and makes things more complex - specifically because\nit breaks the 1:1 relationship between identifiers and offsets.  If\nthis operation turns out to be particularly beneficial, then the right\nanswer is to define a new entrypoint for it.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\n"
    },
    {
      "commit": "98de032b681d8a7532d44dfc66aa5c0c1c755a9d",
      "tree": "7e36cf682a113354427ad1076b38d0c3d0aebd8c",
      "parents": [
        "d6dd61c831226f9cd7750885da04d360d6455101"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: rename struct paravirt_patch to paravirt_patch_site for clarity\n\nRename struct paravirt_patch to paravirt_patch_site, so that it\nclearly refers to a callsite, and not the patch which may be applied\nto that callsite.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\n"
    },
    {
      "commit": "d6dd61c831226f9cd7750885da04d360d6455101",
      "tree": "30f84a429821d207f7de5dd6225d3d9515042c0a",
      "parents": [
        "5311ab62cdc7788784971ed816ce85e926f3e994"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "message": "[PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction\n\nAdd hooks to allow a paravirt implementation to track the lifetime of\nan mm.  Paravirtualization requires three hooks, but only two are\nneeded in common code.  They are:\n\narch_dup_mmap, which is called when a new mmap is created at fork\n\narch_exit_mmap, which is called when the last process reference to an\n  mm is dropped, which typically happens on exit and exec.\n\nThe third hook is activate_mm, which is called from the arch-specific\nactivate_mm() macro/function, and so doesn\u0027t need stub versions for\nother architectures.  It\u0027s called when an mm is first used.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: linux-arch@vger.kernel.org\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5311ab62cdc7788784971ed816ce85e926f3e994",
      "tree": "08ceda3c1bbdc6c403107f5329d775c772b752ce",
      "parents": [
        "90caccb9758e88db68a69553689baee38254287b"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Allow paravirt backend to choose kernel PMD sharing\n\nNormally when running in PAE mode, the 4th PMD maps the kernel address space,\nwhich can be shared among all processes (since they all need the same kernel\nmappings).\n\nXen, however, does not allow guests to have the kernel pmd shared between page\ntables, so parameterize pgtable.c to allow both modes of operation.\n\nThere are several side-effects of this.  One is that vmalloc will update the\nkernel address space mappings, and those updates need to be propagated into\nall processes if the kernel mappings are not intrinsically shared.  In the\nnon-PAE case, this is done by maintaining a pgd_list of all processes; this\nlist is used when all process pagetables must be updated.  pgd_list is\nthreaded via otherwise unused entries in the page structure for the pgd, which\nmeans that the pgd must be page-sized for this to work.\n\nNormally the PAE pgd is only 4x64 byte entries large, but Xen requires the PAE\npgd to page aligned anyway, so this patch forces the pgd to be page\naligned+sized when the kernel pmd is unshared, to accomodate both these\nrequirements.\n\nAlso, since there may be several distinct kernel pmds (if the user/kernel\nsplit is below 3G), there\u0027s no point in allocating them from a slab cache;\nthey\u0027re just allocated with get_free_page and initialized appropriately.  (Of\ncourse the could be cached if there is just a single kernel pmd - which is the\ndefault with a 3G user/kernel split - but it doesn\u0027t seem worthwhile to add\nyet another case into this code).\n\n[ Many thanks to wli for review comments. ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90caccb9758e88db68a69553689baee38254287b",
      "tree": "d58d07649c62475810cfa527768034163c89eb15",
      "parents": [
        "b239fb2501117bf3aeb4dd6926edd855be92333d"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Allocate a fixmap slot\n\nAllocate a fixmap slot for use by a paravirt_ops implementation.  This\nis intended for early-boot bootstrap mappings.  Once the zones and\nallocator have been set up, it would be better to use get_vm_area() to\nallocate some virtual space.\n\nXen uses this to map the hypervisor\u0027s shared info page, which doesn\u0027t\nhave a pseudo-physical page number, and therefore can\u0027t be mapped\nordinarily.  It is needed early because it contains the vcpu state,\nincluding the interrupt mask.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b239fb2501117bf3aeb4dd6926edd855be92333d",
      "tree": "62ac25204632ef0b14e3bd84580c722e69800cf7",
      "parents": [
        "3dc494e86d1c93afd4c66385f270899dbfae483d"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Hooks to set up initial pagetable\n\nThis patch introduces paravirt_ops hooks to control how the kernel\u0027s\ninitial pagetable is set up.\n\nIn the case of a native boot, the very early bootstrap code creates a\nsimple non-PAE pagetable to map the kernel and physical memory.  When\nthe VM subsystem is initialized, it creates a proper pagetable which\nrespects the PAE mode, large pages, etc.\n\nWhen booting under a hypervisor, there are many possibilities for what\npaging environment the hypervisor establishes for the guest kernel, so\nthe constructon of the kernel\u0027s pagetable depends on the hypervisor.\n\nIn the case of Xen, the hypervisor boots the kernel with a fully\nconstructed pagetable, which is already using PAE if necessary.  Also,\nXen requires particular care when constructing pagetables to make sure\nall pagetables are always mapped read-only.\n\nIn order to make this easier, kernel\u0027s initial pagetable construction\nhas been changed to only allocate and initialize a pagetable page if\nthere\u0027s no page already present in the pagetable.  This allows the Xen\nparavirt backend to make a copy of the hypervisor-provided pagetable,\nallowing the kernel to establish any more mappings it needs while\nkeeping the existing ones.\n\nA slightly subtle point which is worth highlighting here is that Xen\nrequires all kernel mappings to share the same pte_t pages between all\npagetables, so that updating a kernel page\u0027s mapping in one pagetable\nis reflected in all other pagetables.  This makes it possible to\nallocate a page and attach it to a pagetable without having to\nexplicitly enumerate that page\u0027s mapping in all pagetables.\n\nAnd:\n\n+From: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n\nIf we don\u0027t set the leaf page table entries it is quite possible that\nwill inherit and incorrect page table entry from the initial boot\npage table setup in head.S.  So we need to redo the effort here,\nso we pick up PSE, PGE and the like.\n\nHypervisors like Xen require that their page tables be read-only,\nwhich is slightly incompatible with our low identity mappings, however\nI discussed this with Jeremy he has modified the Xen early set_pte\nfunction to avoid problems in this area.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: William Irwin \u003cbill.irwin@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3dc494e86d1c93afd4c66385f270899dbfae483d",
      "tree": "6583b57492dc91ef7cc6c23a233f7d5bb95bb5f6",
      "parents": [
        "45876233605c268e929a7875081e129debe34bdc"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Add pagetable accessors to pack and unpack pagetable entries\n\nAdd a set of accessors to pack, unpack and modify page table entries\n(at all levels).  This allows a paravirt implementation to control the\ncontents of pgd/pmd/pte entries.  For example, Xen uses this to\nconvert the (pseudo-)physical address into a machine address when\npopulating a pagetable entry, and converting back to pphys address\nwhen an entry is read.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "45876233605c268e929a7875081e129debe34bdc",
      "tree": "c16487f8e8428e86ecf9802c8ba0da82225622ee",
      "parents": [
        "7f63c41c6c57371a0931da3940c6620c2301442c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: use paravirt_nop to consistently mark no-op operations\n\nAdd a _paravirt_nop function for use as a stub for no-op operations,\nand paravirt_nop #defined void * version to make using it easier\n(since all its uses are as a void *).\n\nThis is useful to allow the patcher to automatically identify noop\noperations so it can simply nop out the callsite.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n[mingo] but only as a cleanup of the current open-coded (void *) casts.\nMy problem with this is that it loses the types. Not that there is much\nto check for, but still, this adds some assumptions about how function\ncalls look like\n"
    },
    {
      "commit": "a75c54f933bd8db9f4a609bd128663c179b3e6a1",
      "tree": "8b7dd866185bec34146eb537f057b6b496c78443",
      "parents": [
        "82d1bb725e128c97b362a4b33fcbfff08fdaaa5a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "message": "[PATCH] i386: i386 separate hardware-defined TSS from Linux additions\n\nOn Thu, 2007-03-29 at 13:16 +0200, Andi Kleen wrote:\n\u003e Please clean it up properly with two structs.\n\nNot sure about this, now I\u0027ve done it.  Running it here.\n\nIf you like it, I can do x86-64 as well.\n\n\u003d\u003d\nlguest defines its own TSS struct because the \"struct tss_struct\"\ncontains linux-specific additions.  Andi asked me to split the struct\nin processor.h.\n\nUnfortunately it makes usage a little awkward.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "d0175ab64412aabc93da8682aaa99124d6815056",
      "tree": "46607da58133cb1d51883bf91e13b108f20bfb90",
      "parents": [
        "4bc5aa91fb1e544ad37805520030a0d9fc6e11d3"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:13 2007 +0200"
      },
      "message": "[PATCH] i386: Remove smp_alt_instructions\n\nThe .smp_altinstructions section and its corresponding symbols are\ncompletely unused, so remove them.\n\nAlso, remove stray #ifdef __KENREL__ in asm-i386/alternative.h\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "4bc5aa91fb1e544ad37805520030a0d9fc6e11d3",
      "tree": "207870aad2f53fcec914ea5084de4fdfe1a02a23",
      "parents": [
        "b6e3590f8145c77b8fcef3247e2412335221412f"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] x86: Clean up x86 control register and MSR macros (corrected)\n\nThis patch is based on Rusty\u0027s recent cleanup of the EFLAGS-related\nmacros; it extends the same kind of cleanup to control registers and\nMSRs.\n\nIt also unifies these between i386 and x86-64; at least with regards\nto MSRs, the two had definitely gotten out of sync.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "f039b754714a422959027cb18bb33760eb8153f0",
      "tree": "c5f28502adf35f5ea7738a974cd7c4fc81e1dd21",
      "parents": [
        "c169859d6dfc7471ef9f2dbd720936e17906a084"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] x86: Don\u0027t use MWAIT on AMD Family 10\n\nIt doesn\u0027t put the CPU into deeper sleep states, so it\u0027s better to use the standard\nidle loop to save power. But allow to reenable it anyways for benchmarking.\n\nI also removed the obsolete idle\u003dhalt on i386\n\nCc: andreas.herrmann@amd.com\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c169859d6dfc7471ef9f2dbd720936e17906a084",
      "tree": "9bfccace84a76c4887faf07a82324643ee954252",
      "parents": [
        "1dbf527c51c6c20c19869c8125cb5b87c3d09506"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] x86-64: Clean up asm-x86_64/bugs.h\n\nMost of asm-x86_64/bugs.h is code which should be in a C file, so put it there.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1dbf527c51c6c20c19869c8125cb5b87c3d09506",
      "tree": "ab480b3eff886e54c6d3c881936f046599e7ea61",
      "parents": [
        "d4f7a2c18e59e0304a1c733589ce14fc02fec1bd"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] i386: Make COMPAT_VDSO runtime selectable.\n\nNow that relocation of the VDSO for COMPAT_VDSO users is done at\nruntime rather than compile time, it is possible to enable/disable\ncompat mode at runtime.\n\nThis patch allows you to enable COMPAT_VDSO mode with \"vdso\u003d2\" on the\nkernel command line, or via sysctl.  (Switching on a running system\nshouldn\u0027t be done lightly; any process which was relying on the compat\nVDSO will be upset if it goes away.)\n\nThe COMPAT_VDSO config option still exists, but if enabled it just\nmakes vdso_enabled default to VDSO_COMPAT.\n\n+From: Hugh Dickins \u003chugh@veritas.com\u003e\n\nFix oops from i386-make-compat_vdso-runtime-selectable.patch.\n\nEven mingetty at system startup finds it easy to trigger an oops\nwhile reading /proc/PID/maps: though it has a good hold on the mm\nitself, that cannot stop exit_mm() from resetting tsk-\u003emm to NULL.\n\n(It is usually show_map()\u0027s call to get_gate_vma() which oopses,\nand I expect we could change that to check priv-\u003etail_vma instead;\nbut no matter, even m_start()\u0027s call just after get_task_mm() is racy.)\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: \"Jan Beulich\" \u003cJBeulich@novell.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "d4f7a2c18e59e0304a1c733589ce14fc02fec1bd",
      "tree": "99c64275f7eb50925aad71a74ae083ececdbb795",
      "parents": [
        "a6c4e076ee4c1ea670e4faa55814e63dd08e3f29"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] i386: Relocate VDSO ELF headers to match mapped location with COMPAT_VDSO\n\nSome versions of libc can\u0027t deal with a VDSO which doesn\u0027t have its\nELF headers matching its mapped address.  COMPAT_VDSO maps the VDSO at\na specific system-wide fixed address.  Previously this was all done at\nbuild time, on the grounds that the fixed VDSO address is always at\nthe top of the address space.  However, a hypervisor may reserve some\nof that address space, pushing the fixmap address down.\n\nThis patch does the adjustment dynamically at runtime, depending on\nthe runtime location of the VDSO fixmap.\n\n[ Patch has been through several hands: Jan Beulich wrote the orignal\n  version; Zach reworked it, and Jeremy converted it to relocate phdrs\n  as well as sections. ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: \"Jan Beulich\" \u003cJBeulich@novell.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "a6c4e076ee4c1ea670e4faa55814e63dd08e3f29",
      "tree": "42ae132ca8ad99b05904af07ed8abc6aeef33aa8",
      "parents": [
        "1353ebb4b48151e3810d9a60449edd43a90ea3c3"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] i386: clean up identify_cpu\n\nidentify_cpu() is used to identify both the boot CPU and secondary\nCPUs, but it performs some actions which only apply to the boot CPU.\nThose functions are therefore really __init functions, but because\nthey\u0027re called by identify_cpu(), they must be marked __cpuinit.\n\nThis patch splits identify_cpu() into identify_boot_cpu() and\nidentify_secondary_cpu(), and calls the appropriate init functions\nfrom each.  Also, identify_boot_cpu() and all the functions it\ndominates are marked __init.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "1353ebb4b48151e3810d9a60449edd43a90ea3c3",
      "tree": "eb21d594e0aa029e38a3a79d47ed17c3d2d67f7d",
      "parents": [
        "0d08e0d3a97cce22ebf80b54785e00d9b94e1add"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] i386: Clean up asm-i386/bugs.h\n\nMost of asm-i386/bugs.h is code which should be in a C file, so put it there.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbf30a1650be396b5467f769f4fbee715f16ec36",
      "tree": "921a78a3767ff5f5008079a19316c853b258b6a5",
      "parents": [
        "5d02d7ae73ac9446f20bbf604b04a74637178b35"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] x86-64: fix arithmetic in comment\n\nThe xmm space on x86_64 is 256 bytes.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "5d02d7ae73ac9446f20bbf604b04a74637178b35",
      "tree": "aa9567f82def28a452f7625e5a5cc6078148c9cd",
      "parents": [
        "b92e9fac400d4ae5bc7a75c568e9844ec53ea329"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "message": "[PATCH] x86-64: Use X86_EFLAGS_IF in x86-64/irqflags.h.\n\nAs per i386 patch: move X86_EFLAGS_IF et al out to a new header:\nprocessor-flags.h, so we can include it from irqflags.h and use it in\nraw_irqs_disabled_flags().\n\nAs a side-effect, we could now use these flags in .S files.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "b92e9fac400d4ae5bc7a75c568e9844ec53ea329",
      "tree": "2e5d5194d2532a4d8d4849802e19adcc617013f6",
      "parents": [
        "b00742d399513a4100c24cc2accefdc1bb1e0b15"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "message": "[PATCH] x86: fix amd64-agp aperture validation\n\nUnder CONFIG_DISCONTIGMEM, assuming that a !pfn_valid() implies all\nsubsequent pfn-s are also invalid is wrong. Thus replace this by\nexplicitly checking against the E820 map.\n\nAK: make e820 on x86-64 not initdata\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\n"
    },
    {
      "commit": "b00742d399513a4100c24cc2accefdc1bb1e0b15",
      "tree": "57551a08eb218ed4aadb0a90806f33826df27f8a",
      "parents": [
        "bbba11c35baaad3f70f32e185a2c1d40d7901fe9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "message": "[PATCH] x86-64: Account for module percpu space separately from kernel percpu\n\nRather than using a single constant PERCPU_ENOUGH_ROOM, compute it as\nthe sum of kernel_percpu + PERCPU_MODULE_RESERVE.  This is now common\nto all architectures; if an architecture wants to set\nPERCPU_ENOUGH_ROOM to something special, then it may do so (ia64 is\nthe only one which does).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "07f3331c6bfd27a06dfb0ca9fa4f06dec6606876",
      "tree": "e68ced26e1c1bebef4c1eb75f5a4a6a1ac0d3805",
      "parents": [
        "01a2f435564b4baab61328b4018d36464468f57b"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "message": "[PATCH] i386: Add machine_ops interface to abstract halting and rebooting\n\nmachine_ops is an interface for the machine_* functions defined in\n\u003clinux/reboot.h\u003e.  This is intended to allow hypervisors to intercept\nthe reboot process, but it could be used to implement other x86\nsubarchtecture reboots.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "01a2f435564b4baab61328b4018d36464468f57b",
      "tree": "991f6a1604a203736131b855262d78fb75711f9b",
      "parents": [
        "4fbb5968810b237e81977f131986b9efd5245368"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "message": "[PATCH] i386: Add smp_ops interface\n\nAdd a smp_ops interface.  This abstracts the API defined by\n\u003clinux/smp.h\u003e for use within arch/i386.  The primary intent is that it\nbe used by a paravirtualizing hypervisor to implement SMP, but it\ncould also be used by non-APIC-using sub-architectures.\n\nThis is related to CONFIG_PARAVIRT, but is implemented unconditionally\nsince it is simpler that way and not a highly performance-sensitive\ninterface.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "4fbb5968810b237e81977f131986b9efd5245368",
      "tree": "e2d67eee96c143da26ccad791b3e1f23c3bcbe03",
      "parents": [
        "141f9cfe0a948c8fe26e5669364ee62c03ea42e8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "message": "[PATCH] i386: cleanup GDT Access\n\nNow we have an explicit per-cpu GDT variable, we don\u0027t need to keep the\ndescriptors around to use them to find the GDT: expose cpu_gdt directly.\n\nWe could go further and make load_gdt() pack the descriptor for us, or even\nassume it means \"load the current cpu\u0027s GDT\" which is what it always does.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca906e42312781c38b7a9625109fc65b937ca56c",
      "tree": "16d0ce813e9765df803a83cc6584be541157928f",
      "parents": [
        "2bff73830c3df5f575d3bc21bf19df1a10bf7091"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] x86: sys_ioperm() prototype cleanup\n\n- there\u0027s no reason for duplicating the prototype from\n  include/linux/syscalls.h in include/asm-x86_64/unistd.h\n- every file should #include the headers containing the prototypes for\n  it\u0027s global functions\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "2bff73830c3df5f575d3bc21bf19df1a10bf7091",
      "tree": "aac7c05edb493a31d3b709462a2091ef16c0cbb3",
      "parents": [
        "05f36927eddd83e2840a981ef4d9af754dcb86e9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] x86-64: use lru instead of page-\u003eindex and page-\u003eprivate for pgd lists management.\n\nx86_64 currently simulates a list using the index and private fields of the\npage struct.  Seems that the code was inherited from i386.  But x86_64 does\nnot use the slab to allocate pgds and pmds etc.  So the lru field is not\nused by the slab and therefore available.\n\nThis patch uses standard list operations on page-\u003elru to realize pgd\ntracking.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4531e863dbd06b5d336afefdb37483b690dea59",
      "tree": "31d481e2b1b9727b6ee180ce876b73fbc0983a15",
      "parents": [
        "78eea47ac3e256559d97f0c2434928be39cba524"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] i386: Use X86_EFLAGS_IF in irqflags.h.\n\nMove X86_EFLAGS_IF et al out to a new header: processor-flags.h, so we\ncan include it from irqflags.h and use it in raw_irqs_disabled_flags().\n\nAs a side-effect, we could now use these flags in .S files.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "6fb14755a676282a4e6caa05a08c92db8e45cfff",
      "tree": "71a862edf87cafe61986c0aff90db72045cf14c3",
      "parents": [
        "d01ad8dd56527be72947b4b9997bb2c05783c3ed"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] x86: tighten kernel image page access rights\n\nOn x86-64, kernel memory freed after init can be entirely unmapped instead\nof just getting \u0027poisoned\u0027 by overwriting with a debug pattern.\n\nOn i386 and x86-64 (under CONFIG_DEBUG_RODATA), kernel text and bug table\ncan also be write-protected.\n\nCompared to the first version, this one prevents re-creating deleted\nmappings in the kernel image range on x86-64, if those got removed\npreviously. This, together with the original changes, prevents temporarily\nhaving inconsistent mappings when cacheability attributes are being\nchanged on such pages (e.g. from AGP code). While on i386 such duplicate\nmappings don\u0027t exist, the same change is done there, too, both for\nconsistency and because checking pte_present() before using various other\npte_XXX functions is a requirement anyway. At once, i386 code gets\nadjusted to use pte_huge() instead of open coding this.\n\nAK: split out cpa() changes\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "d01ad8dd56527be72947b4b9997bb2c05783c3ed",
      "tree": "4bb9ad792fae974101d0baec755202eebc8181aa",
      "parents": [
        "90a0a06aa81692028864c21f981905fda46b1208"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] x86: Improve handling of kernel mappings in change_page_attr\n\nFix various broken corner cases in i386 and x86-64 change_page_attr.\n\nAK: split off from tighten kernel image access rights\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "90a0a06aa81692028864c21f981905fda46b1208",
      "tree": "516528b328d5288ee057d1eff5491e2ba1b49af1",
      "parents": [
        "52de74dd3994e165ef1b35c33d54655a6400e30c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] i386: rationalize paravirt wrappers\n\nparavirt.c used to implement native versions of all low-level\nfunctions.  Far cleaner is to have the native versions exposed in the\nheaders and as inline native_XXX, and if !CONFIG_PARAVIRT, then simply\n#define XXX native_XXX.\n\nThere are several nice side effects:\n\n1) write_dt_entry() now takes the correct \"struct Xgt_desc_struct *\"\n   not \"void *\".\n\n2) load_TLS is reintroduced to the for loop, not manually unrolled\n   with a #error in case the bounds ever change.\n\n3) Macros become inlines, with type checking.\n\n4) Access to the native versions is trivial for KVM, lguest, Xen and\n   others who might want it.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2cbcc49e2bfd6eaa44d7e4e5e5f171aaa5ec80d",
      "tree": "f7fb6a01cde18200aa6db57c3abffe69ae90b394",
      "parents": [
        "bf50467204b435421d8de33ad080fa46c6f3d50b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] i386: clean up cpu_init()\n\nWe now have cpu_init() and secondary_cpu_init() doing nothing but calling\n_cpu_init() with the same arguments.  Rename _cpu_init() to cpu_init() and use\nit as a replcement for secondary_cpu_init().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf50467204b435421d8de33ad080fa46c6f3d50b",
      "tree": "87a27c6f23f28d0e7dacee4ac45986e897d244a8",
      "parents": [
        "ae1ee11be77f51cedb6c569887dddc70c163ab6d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] i386: Use per-cpu GDT immediately upon boot\n\nNow we are no longer dynamically allocating the GDT, we don\u0027t need the\n\"cpu_gdt_table\" at all: we can switch straight from \"boot_gdt_table\" to the\nper-cpu GDT.  This means initializing the cpu_gdt array in C.\n\nThe boot CPU uses the per-cpu var directly, then in smp_prepare_cpus() it\nswitches to the per-cpu copy just allocated.  For secondary CPUs, the\nearly_gdt_descr is set to point directly to their per-cpu copy.\n\nFor UP the code is very simple: it keeps using the \"per-cpu\" GDT as per SMP,\nbut we never have to move.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae1ee11be77f51cedb6c569887dddc70c163ab6d",
      "tree": "e579a6a6d10c6835cab9af47a2795bf40f669da6",
      "parents": [
        "8f9aeca7a081d81c4c9862be1e04f15b5ab5461f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] i386: Use per-cpu variables for GDT, PDA\n\nAllocating PDA and GDT at boot is a pain.  Using simple per-cpu variables adds\nhappiness (although we need the GDT page-aligned for Xen, which we do in a\nfollowup patch).\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79e030114a8d97a1dcd593ab84fb986f8c91c536",
      "tree": "ae96f84611dd963c11ce2962a67197030ddd0f3e",
      "parents": [
        "eab0c72aecd7982b2c848f7d493ba379efcef15e"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@xensource.com",
        "time": "Wed May 02 19:27:09 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:09 2007 +0200"
      },
      "message": "[PATCH] i386: Allow i386 crash kernels to handle x86_64 dumps\n\nThe specific case I am encountering is kdump under Xen with a 64 bit\nhypervisor and 32 bit kernel/userspace.  The dump created is 64 bit due to\nthe hypervisor but the dump kernel is 32 bit for maximum compatibility.\n\nIt\u0027s possibly less likely to be useful in a purely native scenario but I\nsee no reason to disallow it.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Ian Campbell \u003cian.campbell@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: Horms \u003chorms@verge.net.au\u003e\nCc: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eab0c72aecd7982b2c848f7d493ba379efcef15e",
      "tree": "760b05a1f4446a8a1d316d7534b94b18b8bb1b69",
      "parents": [
        "692174b97d5b871f4b0f648b1fb17aa37b955876"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 02 19:27:09 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:09 2007 +0200"
      },
      "message": "[PATCH] x86-64: Introduce load_TLS to the \"for\" loop.\n\nGCC (4.1 at least) unrolls it anyway, but I can\u0027t believe this code\nwas ever justifiable.  (I\u0027ve also submitted a patch which cleans up\ni386, which is even uglier).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "692174b97d5b871f4b0f648b1fb17aa37b955876",
      "tree": "17a91a0549cb5dbd22b7375becd937ee13d193d4",
      "parents": [
        "1b523fb54977c9bb81b16c4badce581a2b455994"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 02 19:27:09 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:09 2007 +0200"
      },
      "message": "[PATCH] i386: Initialize esp0 properly all the time\n\nWhenever we schedule, __switch_to calls load_esp0 which does:\n\n\ttss-\u003eesp0 \u003d thread-\u003eesp0;\n\nThis is never initialized for the initial thread (ie \"swapper\"), so when we\u0027re\nscheduling that, we end up setting esp0 to 0.  This is fine: the swapper never\nleaves ring 0, so this field is never used.\n\nlguest, however, gets upset that we\u0027re trying to used an unmapped page as our\nkernel stack.  Rather than work around it there, let\u0027s initialize it.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b8ca80e192b10eecc01fc44a2902510af86f73b",
      "tree": "b5be871c62f4fd3f079a9ce7fcce0c09e87a9a5f",
      "parents": [
        "8280c0c58e9762a9fe29d550a9db81410de77691"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed May 02 19:27:09 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:09 2007 +0200"
      },
      "message": "[PATCH] x86-64: configurable fake numa node sizes\n\nExtends the numa\u003dfake x86_64 command-line option to allow for configurable\nnode sizes.  These nodes can be used in conjunction with cpusets for coarse\nmemory resource management.\n\nThe old command-line option is still supported:\n  numa\u003dfake\u003d32\tgives 32 fake NUMA nodes, ignoring the NUMA setup of the\n\t\tactual machine.\n\nBut now you may configure your system for the node sizes of your choice:\n  numa\u003dfake\u003d2*512,1024,2*256\n\t\tgives two 512M nodes, one 1024M node, two 256M nodes, and\n\t\tthe rest of system memory to a sixth node.\n\nThe existing hash function is maintained to support the various node sizes\nthat are possible with this implementation.\n\nEach node of the same size receives roughly the same amount of available\npages, regardless of any reserved memory with its address range.  The total\navailable pages on the system is calculated and divided by the number of equal\nnodes to allocate.  These nodes are then dynamically allocated and their\nborders extended until such time as their number of available pages reaches\nthe required size.\n\nConfigurable node sizes are recommended when used in conjunction with cpusets\nfor memory control because it eliminates the overhead associated with scanning\nthe zonelists of many smaller full nodes on page_alloc().\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a90cf205c922707ffed2d8f87cefd942e96b0ba",
      "tree": "5e9c9c1be3d149bff7620db89e1ede2317ba7362",
      "parents": [
        "2714221985ce6388ec2fa78d7d52e2a5bef78eec"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "message": "[PATCH] x86: Log reason why TSC was marked unstable\n\nChange mark_tsc_unstable() so it takes a string argument, which holds the\nreason the TSC was marked unstable.\n\nThis is then displayed the first time mark_tsc_unstable is called.\n\nThis should help us better debug why the TSC was marked unstable on certain\nsystems and allow us to make sure we\u0027re not being overly paranoid when\nthrowing out this troublesome clocksource.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "1833d6bc72893265f22addd79cf52e6987496e0f",
      "tree": "8f7e85a034603325b7e5cc46bb5c832e49a6e3d9",
      "parents": [
        "e073ae1b34d5600ffc550407625dcb2d4cf46c6e"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "message": "[PATCH] i386: modpost apic related warning fixes\n\no Modpost generates warnings for i386 if compiled with CONFIG_RELOCATABLE\u003dy\n\nWARNING: vmlinux - Section mismatch: reference to .init.text:find_unisys_acpi_oem_table from .text between \u0027acpi_madt_oem_check\u0027 (at offset 0xc0101eda) and \u0027enable_apic_mode\u0027\nWARNING: vmlinux - Section mismatch: reference to .init.text:acpi_get_table_header_early from .text between \u0027acpi_madt_oem_check\u0027 (at offset 0xc0101ef0) and \u0027enable_apic_mode\u0027\nWARNING: vmlinux - Section mismatch: reference to .init.text:parse_unisys_oem from .text between \u0027acpi_madt_oem_check\u0027 (at offset 0xc0101f2e) and \u0027enable_apic_mode\u0027\nWARNING: vmlinux - Section mismatch: reference to .init.text:setup_unisys from .text between \u0027acpi_madt_oem_check\u0027 (at offset 0xc0101f37) and \u0027enable_apic_mode\u0027WARNING: vmlinux - Section mismatch: reference to .init.text:parse_unisys_oem from .text between \u0027mps_oem_check\u0027 (at offset 0xc0101ec7) and \u0027acpi_madt_oem_check\u0027\nWARNING: vmlinux - Section mismatch: reference to .init.text:es7000_sw_apic from .text between \u0027enable_apic_mode\u0027 (at offset 0xc0101f48) and \u0027check_apicid_present\u0027\n\no Some functions which are inline (acpi_madt_oem_check) are not inlined by\n  compiler as these functions are accessed using function pointer. These\n  functions are put in .text section and they in-turn access __init type\n  functions hence modpost generates warnings.\n\no Do not iniline acpi_madt_oem_check, instead make it __init.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e073ae1b34d5600ffc550407625dcb2d4cf46c6e",
      "tree": "9f6a7762ab77d4cf0cae0399d5449c72b8fcc0fa",
      "parents": [
        "d039c688c6b3e7217381d2804bc0ca3171913fec"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "message": "[PATCH] x86-64: Set HASHDIST_DEFAULT to 1 for x86_64 NUMA\n\nEnable system hashtable memory to be distributed among nodes on x86_64 NUMA\n\nForcing the kernel to use node interleaved vmalloc instead of bootmem for\nthe system hashtable memory (alloc_large_system_hash) reduces the memory\nimbalance on node 0 by around 40MB on a 8 node x86_64 NUMA box:\n\nBefore the following patch, on bootup of a 8 node box:\n\nNode 0 MemTotal:      3407488 kB\nNode 0 MemFree:       3206296 kB\nNode 0 MemUsed:        201192 kB\nNode 0 Active:           7012 kB\nNode 0 Inactive:          512 kB\nNode 0 Dirty:               0 kB\nNode 0 Writeback:           0 kB\nNode 0 FilePages:        1912 kB\nNode 0 Mapped:            420 kB\nNode 0 AnonPages:        5612 kB\nNode 0 PageTables:        468 kB\nNode 0 NFS_Unstable:        0 kB\nNode 0 Bounce:              0 kB\nNode 0 Slab:             5408 kB\nNode 0 SReclaimable:      644 kB\nNode 0 SUnreclaim:       4764 kB\n\nAfter the patch (or using hashdist\u003d1 on the kernel command line):\n\nNode 0 MemTotal:      3407488 kB\nNode 0 MemFree:       3247608 kB\nNode 0 MemUsed:        159880 kB\nNode 0 Active:           3012 kB\nNode 0 Inactive:          616 kB\nNode 0 Dirty:               0 kB\nNode 0 Writeback:           0 kB\nNode 0 FilePages:        2424 kB\nNode 0 Mapped:            380 kB\nNode 0 AnonPages:        1200 kB\nNode 0 PageTables:        396 kB\nNode 0 NFS_Unstable:        0 kB\nNode 0 Bounce:              0 kB\nNode 0 Slab:             6304 kB\nNode 0 SReclaimable:     1596 kB\nNode 0 SUnreclaim:       4708 kB\n\nI guess it is a good idea to keep HASHDIST_DEFAULT \"on\" for x86_64 NUMA\nsince x86_64 has no dearth of vmalloc space?  Or maybe enable hash\ndistribution for all 64bit NUMA arches?  The following patch does it only\nfor x86_64.\n\nI ran a HPC MPI benchmark -- \u0027Ansys wingsolid\u0027, which takes up quite a bit of\nmemory and uses up tlb entries.  This was on a 4 way, 2 socket\nTyan AMD box (non vsmp), with 8G total memory (4G pernode).\n\nThe results with and without hash distribution are:\n\n1. Vanilla - runtime of 1188.000s\n2. With hashdist\u003d1 runtime of 1154.000s\n\nOprofile output for the duration of run is:\n\n1. Vanilla:\nPU: AMD64 processors, speed 2411.16 MHz (estimated)\nCounted L1_AND_L2_DTLB_MISSES events (L1 and L2 DTLB misses) with a unit\nmask of 0x00 (No unit mask) count 500\nsamples  %        app name                 symbol name\n163054    6.5513  libansys1.so             MultiFront::decompose(int, int,\nElemset *, int *, int, int, int)\n162061    6.5114  libansys3.so             blockSaxpy6L_fd\n162042    6.5107  libansys3.so             blockInnerProduct6L_fd\n156286    6.2794  libansys3.so             maxb33_\n87879     3.5309  libansys1.so             elmatrixmultpcg_\n84857     3.4095  libansys4.so             saxpy_pcg\n58637     2.3560  libansys4.so             .st4560\n46612     1.8728  libansys4.so             .st4282\n43043     1.7294  vmlinux-t                copy_user_generic_string\n41326     1.6604  libansys3.so             blockSaxpyBackSolve6L_fd\n41288     1.6589  libansys3.so             blockInnerProductBackSolve6L_fd\n\n2. With hashdist\u003d1\nCPU: AMD64 processors, speed 2411.13 MHz (estimated)\nCounted L1_AND_L2_DTLB_MISSES events (L1 and L2 DTLB misses) with a unit\nmask of 0x00 (No unit mask) count 500\nsamples  %        app name                 symbol name\n162993    6.9814  libansys1.so             MultiFront::decompose(int, int,\nElemset *, int *, int, int, int)\n160799    6.8874  libansys3.so             blockInnerProduct6L_fd\n160459    6.8729  libansys3.so             blockSaxpy6L_fd\n156018    6.6826  libansys3.so             maxb33_\n84700     3.6279  libansys4.so             saxpy_pcg\n83434     3.5737  libansys1.so             elmatrixmultpcg_\n58074     2.4875  libansys4.so             .st4560\n46000     1.9703  libansys4.so             .st4282\n41166     1.7632  libansys3.so             blockSaxpyBackSolve6L_fd\n41033     1.7575  libansys3.so             blockInnerProductBackSolve6L_fd\n35762     1.5318  libansys1.so             inner_product_sub\n35591     1.5245  libansys1.so             inner_product_sub2\n28259     1.2104  libansys4.so             addVectors\n\nSigned-off-by: Pravin B. Shelar \u003cpravin.shelar@calsoftinc.com\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "184c44d2049c4db7ef6ec65794546954da2c6a0e",
      "tree": "73d15a15bea7c5edb75ec7eba53de7791da93317",
      "parents": [
        "a4831e08b7f3ed51623c9eb25e8c945b76b3eda3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "message": "[PATCH] x86-64: fix x86_64-mm-sched-clock-share\n\nFix for the following patch. Provide dummy cpufreq functions when\nCPUFREQ is not compiled in.\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "6a50a664ca0cfd2a487525f10cec3ff4d570b5e8",
      "tree": "cf68fae284a7b44df616a8112e9088557ad31d76",
      "parents": [
        "1ab60e0f72f71ec54831e525a3e1154f1c092408"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "message": "[PATCH] x86-64: build-time checking\n\no X86_64 kernel should run from 2MB aligned address for two reasons.\n\t- Performance.\n\t- For relocatable kernels, page tables are updated based on difference\n\t  between compile time address and load time physical address.\n\t  This difference should be multiple of 2MB as kernel text and data\n\t  is mapped using 2MB pages and PMD should be pointing to a 2MB\n\t  aligned address. Life is simpler if both compile time and load time\n\t  kernel addresses are 2MB aligned.\n\no Flag the error at compile time if one is trying to build a kernel which\n  does not meet alignment restrictions.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ab60e0f72f71ec54831e525a3e1154f1c092408",
      "tree": "bd7dd8bbff43e3e2e3597f2b7780e82a856bb9d7",
      "parents": [
        "0dbf7028c0c1f266c9631139450a1502d3cd457e"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "message": "[PATCH] x86-64: Relocatable Kernel Support\n\nThis patch modifies the x86_64 kernel so that it can be loaded and run\nat any 2M aligned address, below 512G.  The technique used is to\ncompile the decompressor with -fPIC and modify it so the decompressor\nis fully relocatable.  For the main kernel the page tables are\nmodified so the kernel remains at the same virtual address.  In\naddition a variable phys_base is kept that holds the physical address\nthe kernel is loaded at.  __pa_symbol is modified to add that when\nwe take the address of a kernel symbol.\n\nWhen loaded with a normal bootloader the decompressor will decompress\nthe kernel to 2M and it will run there.  This both ensures the\nrelocation code is always working, and makes it easier to use 2M\npages for the kernel and the cpu.\n\nAK: changed to not make RELOCATABLE default in Kconfig\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "0dbf7028c0c1f266c9631139450a1502d3cd457e",
      "tree": "2616edcd32d92b6539d2810fd3043b054baabb92",
      "parents": [
        "1b29c1643c0d82512477ccd97dc290198fe23e22"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "message": "[PATCH] x86: __pa and __pa_symbol address space separation\n\nCurrently __pa_symbol is for use with symbols in the kernel address\nmap and __pa is for use with pointers into the physical memory map.\nBut the code is implemented so you can usually interchange the two.\n\n__pa which is much more common can be implemented much more cheaply\nif it is it doesn\u0027t have to worry about any other kernel address\nspaces.  This is especially true with a relocatable kernel as\n__pa_symbol needs to peform an extra variable read to resolve\nthe address.\n\nThere is a third macro that is added for the vsyscall data\n__pa_vsymbol for finding the physical addesses of vsyscall pages.\n\nMost of this patch is simply sorting through the references to\n__pa or __pa_symbol and using the proper one.  A little of\nit is continuing to use a physical address when we have it\ninstead of recalculating it several times.\n\nswapper_pgd is now NULL.  leave_mm now uses init_mm.pgd\nand init_mm.pgd is initialized at boot (instead of compile time)\nto the physmem virtual mapping of init_level4_pgd.  The\nphysical address changed.\n\nExcept for the for EMPTY_ZERO page all of the remaining references\nto __pa_symbol appear to be during kernel initialization.  So this\nshould reduce the cost of __pa in the common case, even on a relocated\nkernel.\n\nAs this is technically a semantic change we need to be on the lookout\nfor anything I missed.  But it works for me (tm).\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "cfd243d4af7c7f8f52f5cb99d3932d9074b039ff",
      "tree": "ae9b25a414117d0d39b535e5701d5a1b3f907558",
      "parents": [
        "bdb96a6614cfaba24e23dd9de4040c068c3af19b"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "message": "[PATCH] x86-64: Remove the identity mapping as early as possible\n\nWith the rewrite of the SMP trampoline and the early page\nallocator there is nothing that needs identity mapped pages,\nonce we start executing C code.\n\nSo add zap_identity_mappings into head64.c and remove\nzap_low_mappings() from much later in the code.  The functions\n are subtly different thus the name change.\n\nThis also kills boot_level4_pgt which was from an earlier\nattempt to move the identity mappings as early as possible,\nand is now no longer needed.  Essentially I have replaced\nboot_level4_pgt with trampoline_level4_pgt in trampoline.S\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "7db681d7e4038ad205b5face5cf7f7815633e1b5",
      "tree": "7f9c521385ec79193226cd5e4f146c47196cdc3e",
      "parents": [
        "7c17e70613d2c70f9d5d0b5d37126fd5e8e9b728"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "message": "[PATCH] x86-64: wakeup.S rename registers to reflect right names\n\no Use appropriate names for 64bit regsiters.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3c321bceb4a626639ab43a5a24d884930e511826",
      "tree": "eba7e14b27ee28bf2b2415fa43563aed9b0538a6",
      "parents": [
        "30f472895401fbe8e64f861a2569bc9acb098741"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "message": "[PATCH] x86-64: Add EFER to the register set saved by save_processor_state\n\nEFER varies like %cr4 depending on the cpu capabilities, and which cpu\ncapabilities we want to make use of.  So save/restore it make certain\nwe have the same EFER value when we are done.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "30f472895401fbe8e64f861a2569bc9acb098741",
      "tree": "121c0836f9327125e14e1b54d7a82da722efa6a5",
      "parents": [
        "278c0eb7f96586c02b2bfaa8e250d951919a2e6a"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:07 2007 +0200"
      },
      "message": "[PATCH] x86-64: cleanup segments\n\nMove __KERNEL32_CS up into the unused gdt entry.  __KERNEL32_CS is\nused when entering the kernel so putting it first is useful when\ntrying to keep boot gdt sizes to a minimum.\n\nSet the accessed bit on all gdt entries.  We don\u0027t care\nso there is no need for the cpu to burn the extra cycles,\nand it potentially allows the pages to be immutable.  Plus\nit is confusing when debugging and your gdt entries mysteriously\nchange.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "67dcbb6bc6537aea92a2466bfc75f015b00e465e",
      "tree": "605b494bd00f634c60c84a7eccbbbb65f4156347",
      "parents": [
        "dafe41ee3a9389c08c91cdfd8670295f20f89e04"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "message": "[PATCH] x86-64: Clean up the early boot page table\n\n- Merge physmem_pgt and ident_pgt, removing physmem_pgt.  The merge\n  is broken as soon as mm/init.c:init_memory_mapping is run.\n- As physmem_pgt is gone don\u0027t export it in pgtable.h.\n- Use defines from pgtable.h for page permissions.\n- Fix the physical memory identity mapping so it is at the correct\n  address.\n- Remove the physical memory mapping from wakeup_level4_pgt it\n  is at the wrong address so we can\u0027t possibly be usinging it.\n- Simply NEXT_PAGE the work to calculate the phys_ alias\n  of the labels was very cool.  Unfortuantely it was a brittle\n  special purpose hack that makes maitenance more difficult.\n  Instead just use label - __START_KERNEL_map like we do\n  everywhere else in assembly.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "9d291e787b2b71d1b57e5fbb24ba9c70e748ed84",
      "tree": "9cbc475b8e6c096dfd75fe1c393dcbf657405f81",
      "parents": [
        "e65845045588806fa5c8df8a4f4253516515a5e3"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "message": "[PATCH] x86-64: Assembly safe page.h and pgtable.h\n\nThis patch makes pgtable.h and page.h safe to include\nin assembly files like head.S.  Allowing us to use\nsymbolic constants instead of hard coded numbers when\nrefering to the page tables.\n\nThis patch copies asm-sparc64/const.h to asm-x86_64 to\nget a definition of _AC() a very convinient macro that\nallows us to force the type when we are compiling the\ncode in C and to drop all of the type information when\nwe are using the constant in assembly.  Previously this\nwas done with multiple definition of the same constant.\nconst.h was modified slightly so that it works when given\nCONFIG options as arguments.\n\nThis patch adds #ifndef __ASSEMBLY__ ... #endif\nand _AC(1,UL) where appropriate so the assembler won\u0027t\nchoke on the header files.  Otherwise nothing\nshould have changed.\n\nAK: added const.h to exported headers to fix headers_check\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "e65845045588806fa5c8df8a4f4253516515a5e3",
      "tree": "7c94861cdb639c528c93aa091968a1b9f617dbaf",
      "parents": [
        "19d1743315099665db4ce02c9942507a5ee1deea"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "message": "[PATCH] x86-64: dma_ops as const\n\nThe dma_ops structure can be const since it never changes\nafter boot.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "6b37f5a20c0e5c334c010a587058354215433e92",
      "tree": "de875cded9229b46f94a10aa2c1379060247280e",
      "parents": [
        "fbc16f2c2a0e16dbd75ac85d3b6db97f92b642ba"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "message": "[PATCH] x86-64: fix cpu MHz reporting on constant_tsc cpus\n\nThis patch fixes the reporting of cpu_mhz in /proc/cpuinfo on CPUs with\na constant TSC rate and a kernel with disabled cpufreq.\n\nSigned-off-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n\n arch/x86_64/kernel/apic.c     |    2 -\n arch/x86_64/kernel/time.c     |   58 +++++++++++++++++++++++++++++++++++++++---\n arch/x86_64/kernel/tsc.c      |   12 +++++---\n arch/x86_64/kernel/tsc_sync.c |    2 -\n include/asm-x86_64/proto.h    |    1\n 5 files changed, 65 insertions(+), 10 deletions(-)\n"
    },
    {
      "commit": "fbc16f2c2a0e16dbd75ac85d3b6db97f92b642ba",
      "tree": "8d9e66b4ae5d9df1a18ec74d5a5f1ede8d806e15",
      "parents": [
        "f9d09645d6157fefa18ff75930737060c8092ddb"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "message": "[PATCH] x86-64: Remove duplicated code for reading control registers\n\nOn Tue, Mar 13, 2007 at 05:33:09AM -0700, Randy.Dunlap wrote:\n\u003e On Tue, 13 Mar 2007, Glauber de Oliveira Costa wrote:\n\u003e\n\u003e \u003e Tiny cleanup:\n\u003e \u003e\n\u003e \u003e In x86_64, the same functions for reading cr3 and writing cr{3,4} are\n\u003e \u003e defined in tlbflush.h and system.h, whith just a name change.\n\u003e \u003e The only difference is the clobbering of memory, which seems a safe, and\n\u003e \u003e even needed change for the write_cr4. This patch removes the duplicate.\n\u003e \u003e write_cr3() is moved to system.h for consistency.\n\u003e\n\u003e missing patch.....\n\u003e\nthanks. Attached now\n\n--\nGlauber de Oliveira Costa\nRed Hat Inc.\n\"Free as in Freedom\"\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "f9d09645d6157fefa18ff75930737060c8092ddb",
      "tree": "017a3ad50fd50877e1c471ad3da23f88f88fd67e",
      "parents": [
        "b0b1ff653a0ce88dc9d5cec4e67c9c2be0ba03ef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "message": "[PATCH] x86-64: Remove unused set_seg_base\n\nThe set_seg_base function isn\u0027t used anywhere (2.6.21-rc3-git1)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "973efae21beb2feda138f152ed06d4204774d93c",
      "tree": "72aea5fab6d059b35a79198bf09cc9163338b5c2",
      "parents": [
        "6d1c426158131b11d05d66e7dd6bf91e5b1b4fc7"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "message": "[PATCH] i386: clean up mach_reboot_fixups\n\nThe reboot_fixups stuff seems to be a bit of a mess, specifically the\nheader is in linux/ when its a purely i386-specific piece of code.  I\u0027m\nnot sure why it has its config option; its only currently needed for\n\"geode-gx1/cs5530a\", so perhaps whatever config option controls that\nhardware should enable this?\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "6d1c426158131b11d05d66e7dd6bf91e5b1b4fc7",
      "tree": "fd4c8d77edece77f9d7f22153b98dfddfc202208",
      "parents": [
        "c8fdd247255a3a027cd9f66dcf93e6847d1d2f85"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@gmail.com",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "message": "[PATCH] i386: Update __copy_to_user_inatomic linuxdoc description\n\nExplicity specify that the caller should pin the user memory\notherwise the function will sleep\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@gmail.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "86c0baf123e474b6eb404798926ecf62b426bf3a",
      "tree": "9977172dc65e9504448d24fda567097f420306a8",
      "parents": [
        "e319af1d8722bc3fb61ed6968c88bb66fbb3f58e"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "message": "[PATCH] i386: Change sysenter_setup to __cpuinit \u0026 improve __INIT, __INITDATA\n\nChange sysenter_setup to __cpuinit.\nChange __INIT \u0026 __INITDATA to be cpu hotplug aware.\n\nResolve MODPOST warnings similar to:\n\nWARNING: vmlinux - Section mismatch: reference to .init.text:sysenter_setup from\n .text between \u0027identify_cpu\u0027 (at offset 0xc040a380) and \u0027detect_ht\u0027\n\nand\n\nWARNING: vmlinux - Section mismatch: reference to .init.data:vsyscall_int80_end\nfrom .text between \u0027sysenter_setup\u0027 (at offset 0xc041a269) and \u0027enable_sep_cpu\u0027\nWARNING: vmlinux - Section mismatch: reference to\n.init.data:vsyscall_int80_start from .text between \u0027sysenter_setup\u0027 (at offset\n0xc041a26e) and \u0027enable_sep_cpu\u0027\nWARNING: vmlinux - Section mismatch: reference to\n.init.data:vsyscall_sysenter_end from .text between \u0027sysenter_setup\u0027 (at offset\n0xc041a275) and \u0027enable_sep_cpu\u0027\nWARNING: vmlinux - Section mismatch: reference to\n.init.data:vsyscall_sysenter_start from .text between \u0027sysenter_setup\u0027 (at\noffset 0xc041a27a) and \u0027enable_sep_cpu\u0027\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "803d80f65038f77c4681a0d7708e9d693e68aaa8",
      "tree": "cd4e1db8c9c7a73e5764bb2a0cf3bcd89a200edb",
      "parents": [
        "d18951834216eae82e2f9112416111b4f55f1849"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "message": "[PATCH] x86-64: Some cleanup in time.c\n\nMove prototypes into header files\nRemove unneeded includes.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "0949be35095b53dbaa72db700cb5074c5c249629",
      "tree": "4dcca21a4e726dae5dd7afcaaebff2a5dd154031",
      "parents": [
        "f5e8861583a591020176c90c10c6a130fed4f3ec"
      ],
      "author": {
        "name": "Simon Arlott",
        "email": "simon@arlott.org",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "message": "[PATCH] i386: Add an option for the VIA C7 which sets appropriate L1 cache\n\nThe VIA C7 is a 686 (with TSC) that supports MMX, SSE and SSE2, it also has\na cache line length of 64 according to\nhttp://www.digit-life.com/articles2/cpu/rmma-via-c7.html.  This patch sets\ngcc to -march\u003d686 and select s the correct cache shift.\n\nSigned-off-by: Simon Arlott \u003csimon@fire.lp0.eu\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5e8861583a591020176c90c10c6a130fed4f3ec",
      "tree": "e362b814010f2700d7033f003b54742603aa5b7e",
      "parents": [
        "9215da33209b861b01c51382254b178a3fe92a30"
      ],
      "author": {
        "name": "takada",
        "email": "takada@mbf.nifty.com",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "message": "[PATCH] i386: pit_latch_buggy has no effect\n\nEliminated the arch/i386/kernel/timers in 2.6.18, use clocksoures instead.\npit_latch_buggy was referred in timers/timer_tsc.c, and currently removed.\nTherefore nobody refer it.\n\nUntil 2.6.17, MediaGX\u0027s TSC works correctly.  after 2.6.18, warned \"TSC\nappears to be running slowly.  Marking it as unstable\".  So marked unstable\nTSC when CS55x0.\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "f76c392380a40008ee6ecaea4e5a51a3a10282c4",
      "tree": "b998e776953aa8ede63d209a38c3fd9ec07a46b9",
      "parents": [
        "9964cf7d776600724ef5f1b33303ceadc588b8ba"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "message": "[PATCH] i386: No need to use -traditional for processing asm in i386/kernel/\n\nNo need to use -traditional for processing asm in i386/kernel/\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "9964cf7d776600724ef5f1b33303ceadc588b8ba",
      "tree": "80cf8f027b251ed5243d4f8e2219782abfe18df6",
      "parents": [
        "b0354795c9c8fef2fadf8f867586c78efd9a1dc9"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "message": "[PATCH] x86: consolidate smp_send_stop()\n\nSynchronize i386\u0027s smp_send_stop() with x86-64\u0027s in only try-locking\nthe call lock to prevent deadlocks when called from panic().\nIn both version, disable interrupts before clearing the CPU off the\nonline map to eliminate races with IRQ handlers inspecting this map.\nAlso in both versions, save/restore interrupts rather than disabling/\nenabling them.\nOn x86-64, eliminate one function used here by folding it into its\nsingle caller, convert to static, and rename for consistency with i386\n(lkcd may like this).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "b0354795c9c8fef2fadf8f867586c78efd9a1dc9",
      "tree": "80bce992e1911b07f381b330788f97354bd9b912",
      "parents": [
        "00f1ea696702163b7411d2316264525996c66ed3"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "message": "[PATCH] x86-64: adjust inclusion of asm/vsyscall32.h\n\nAvoid including asm/vsyscall32.h in virtually every source file.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "00f1ea696702163b7411d2316264525996c66ed3",
      "tree": "96f6653c288c1a2046eecfd8d8c17e7b96136ea7",
      "parents": [
        "28609f6e4921ebb75ceaf5317454b8047b07cef4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "message": "[PATCH] x86: adjust inclusion of asm/fixmap.h\n\nMove inclusion of asm/fixmap.h to where it is really used rather than\nwhere it may have been used long ago (requires a few other adjustments\nto includes due to previous implicit dependencies).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3c43f03908de98fa8f7a9e8fc9411ebf4c2de298",
      "tree": "3e2c78fc91f29dfdfd29970e70982f0386863d17",
      "parents": [
        "424df390101f9dfe015f0633aaec696c159b37a8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "message": "[PATCH] x86: default to physical mode on hotplug CPU kernels\n\nDefault to physical mode on hotplug CPU kernels.  Furher simplify and clean up\nthe APIC initialization code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Li, Shaohua\" \u003cshaohua.li@intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "07c7c4744400f93a7c52b32159c31d823e1747a5",
      "tree": "01e61556711fba606b1e2fbefccb7e2d96a4e0b9",
      "parents": [
        "f18d397e6aa5cde638d164b1d519c3ee903f4867"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "message": "[PATCH] x86-64: always use physical delivery mode on \u003e 8 CPUs\n\nRemove clustered APIC mode.  There\u0027s little point in the use of clustered APIC\nmode, broadcasting is limited to within the cluster only, and chipsets have\nbugs in this area as well.  So default to physical APIC mode when the CPU\ncount is large, and default to logical APIC mode when the CPU count is 8 or\nsmaller.\n\n(this patch only removes the use of genapic_cluster and cleans up the\nresulting genapic.c file - removal of all remaining traces of clustered\nmode will be done by another patch.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Li, Shaohua\" \u003cshaohua.li@intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "a86f34b49f32b238d16b2e3bf6c9a5391a3f683f",
      "tree": "cc42a7aebc54f9843db19de29bffc7248e0ae6ba",
      "parents": [
        "3dc68d9b58ae644cee8e218e3dcde0dceb5c47a3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "message": "[PATCH] x86: revert x86_64-mm-fix-the-irqbalance-quirk-for-e7320-e7520-e7525\n\nObsoleted by Ingo\u0027s genapic stuff.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Li, Shaohua\" \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3dc68d9b58ae644cee8e218e3dcde0dceb5c47a3",
      "tree": "76a6523d347272a43f29cbc70863dcc41c1065cf",
      "parents": [
        "fb27145d6ad2548d2d770f33ffa0a268c0afba85"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:04 2007 +0200"
      },
      "message": "[PATCH] x86-64: revert x86_64-mm-add-genapic_force\n\nThis is obsoleted by new Ingo genapic patches.\n\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Li, Shaohua\" \u003cshaohua.li@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "14e38ac823b7b25e3f4e563c182f93fde78167d6",
      "tree": "f4252518efdd877ee1558ded8bcea4ed130837cc",
      "parents": [
        "11443ec7d9286dd25663516436a14edfb5f43857"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 30 15:09:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:41 2007 -0700"
      },
      "message": "pm: include EIO from errno-base.h\n\nFor backwards compatibility, call_platform_enable_wakeup() can return 0\ninstead of -EIO since we aren\u0027t guaranteed to have errno defined.\n\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11443ec7d9286dd25663516436a14edfb5f43857",
      "tree": "121137dbd7b323cd5dce71cbb8da8119a642b731",
      "parents": [
        "9684e51cd157607f0727c1550e7df6e31de40808"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Apr 30 15:09:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:40 2007 -0700"
      },
      "message": "Add kvasprintf()\n\nAdd a kvasprintf() function to complement kasprintf().\n\nNo in-tree users yet, but I have some coming up.\n\n[akpm@linux-foundation.org: EXPORT it]\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Keir Fraser \u003ckeir@xensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9684e51cd157607f0727c1550e7df6e31de40808",
      "tree": "eef6e19205a22817ee659cb2dc7b9ae39465c69d",
      "parents": [
        "e8c9c502690efd24b7055bf608e7a3c34216848b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 30 15:09:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:40 2007 -0700"
      },
      "message": "power management: force pm_ops.valid callback to be assigned\n\nThis patch changes the docs and behaviour from \"all states valid\" to \"no\nstates valid\" if no .valid callback is assigned.  Users of pm_ops that only\nneed mem sleep can assign pm_valid_only_mem without any overhead, others\nwill require more elaborate callbacks.\n\nNow that all users of pm_ops have a .valid callback this is a safe thing to\ndo and prevents things from getting messy again as they were before.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nLooks-okay-to: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: \u003clinux-pm@lists.linux-foundation.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8c9c502690efd24b7055bf608e7a3c34216848b",
      "tree": "1583f34ec9cac07ddfdcb24de66e49718b107436",
      "parents": [
        "11d77d0c01b80e44c7aceb21928508dafce774f9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 30 15:09:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:40 2007 -0700"
      },
      "message": "power management: implement pm_ops.valid for everybody\n\nAlmost all users of pm_ops only support mem sleep, don\u0027t check in .valid and\ndon\u0027t reject any others in .prepare so users can be confused if they check\n/sys/power/state, especially when new states are added (these would then\nresult in s-t-r although they\u0027re supposed to be something different).\n\nThis patch implements a generic pm_valid_only_mem function that is then\nexported for users and puts it to use in almost all existing pm_ops.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: linux-pm@lists.linux-foundation.org\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11d77d0c01b80e44c7aceb21928508dafce774f9",
      "tree": "4952f15df4ea2fcdba824aec5689ee9c0c7ceb90",
      "parents": [
        "fe0c935a6cbf25d72a27c7a345df8a2151de0b74"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 30 15:09:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:40 2007 -0700"
      },
      "message": "power management: remove firmware disk mode\n\nThis patch removes the firmware disk suspend mode which is the wrong approach,\nit is supposed to be used for implementing firmware-based disk suspend but\ncannot actually be used for that.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \u003clinux-pm@lists.linux-foundation.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe0c935a6cbf25d72a27c7a345df8a2151de0b74",
      "tree": "841a847412694ee586b0ca7e1e2ce7c45700d9b1",
      "parents": [
        "1173a729fc3ce2fa0d698bd39be8ff7bf6c70bf1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 30 15:09:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:40 2007 -0700"
      },
      "message": "rework pm_ops pm_disk_mode, kill misuse\n\nThis patch series cleans up some misconceptions about pm_ops.  Some users of\nthe pm_ops structure attempt to use it to stop the user from entering suspend\nto disk, this, however, is not possible since the user can always use\n\"shutdown\" in /sys/power/disk and then the pm_ops are never invoked.  Also,\nplatforms that don\u0027t support suspend to disk simply should not allow\nconfiguring SOFTWARE_SUSPEND (read the help text on it, it only selects\nsuspend to disk and nothing else, all the other stuff depends on PM).\n\nThe pm_ops structure is actually intended to provide a way to enter\nplatform-defined sleep states (currently supported states are \"standby\" and\n\"mem\" (suspend to ram)) and additionally (if SOFTWARE_SUSPEND is configured)\nallows a platform to support a platform specific way to enter low-power mode\nonce everything has been saved to disk.  This is currently only used by ACPI\n(S4).\n\nThis patch:\n\nThe pm_ops.pm_disk_mode is used in totally bogus ways since nobody really\nseems to understand what it actually does.\n\nThis patch clarifies the pm_disk_mode description.\n\nIt also removes all the arm and sh users that think they can veto suspend to\ndisk via pm_ops; not so since the user can always do echo shutdown \u003e\n/sys/power/disk, they need to find a better way involving Kconfig or such.\n\nACPI is the only user left with a non-zero pm_disk_mode.\n\nThe patch also sets the default mode to shutdown again, but when a new pm_ops\nis registered its pm_disk_mode is selected as default, that way the default\nstays for ACPI where it is apparently required.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \u003clinux-pm@lists.linux-foundation.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42e380832a6911c8a3173ee0172fbc0e4864d80b",
      "tree": "f336312f9476b62bc6f00a85d5506b1cd1c18d4f",
      "parents": [
        "de34ed91c4ffa4727964a832c46e624dd1495cf5"
      ],
      "author": {
        "name": "Robert Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon Apr 30 15:09:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:39 2007 -0700"
      },
      "message": "Extend print_symbol capability\n\nToday\u0027s print_symbol function dumps a kernel symbol with printk.  This\npatch extends the functionality of kallsyms.c so that the symbol lookup\nfunction may be used without the printk.  This is useful for modules that\nwant to dump symbols elsewhere, for example, to debugfs.  I intend to use\nthe new function call in the GFS2 file system (which will be a separate\npatch).\n\n[akpm@linux-foundation.org: build fix]\n[clameter@sgi.com: sprint_symbol should return length of string like sprintf]\nSigned-off-by: Robert Peterson \u003crpeterso@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6454706c382ab74e2ecad7803c434cc6bd30343",
      "tree": "2a380b28eb948d114c491f0b6799c10406030849",
      "parents": [
        "152a6a9da1bd3ed5dcbbf6ff17c7ebde0eb9a754",
        "11941a321d49cd2cafc8e64f66cbfed60fc1c691"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 08:58:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 08:58:21 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid: (21 commits)\n  USB HID: don\u0027t warn on idVendor \u003d\u003d 0\n  USB HID: add \u0027quirks\u0027 module parameter\n  USB HID: add support for dynamically-created quirks\n  USB HID: clarify static quirk handling as squirks\n  USB HID: encapsulate quirk handling into hid-quirks.c\n  USB HID: EMS USBII device needs HID_QUIRK_MULTI_INPUT\n  HID: update copyright and authorship macro\n  HID: introduce proper zeroing of unused bits in output reports\n  USB HID: add support for WiseGroup MP-8800 Quad Joypad\n  USB HID: add FF support for Logitech Force 3D Pro Joystick\n  USB HID: numlock quirk for dell W7658 keyboard\n  USB HID: Logitech MX3000 keyboard needs report descriptor quirk\n  USB HID: extend quirk for Logitech S510 keyboard\n  USB HID: usbkbd/usbmouse - handle errors when registering devices\n  USB HID: add QUIRK_HIDDEV for Belkin Flip KVM\n  HID: enable dead keys on a belkin wireless keyboard\n  USB HID: Thustmaster firestorm dual power v1 support\n  USB HID: specify explicit size for hid_blacklist.quirks\n  USB HID: fix retry \u0026 reset logic\n  USB HID: consolidate vendor/product ids\n  ...\n"
    },
    {
      "commit": "152a6a9da1bd3ed5dcbbf6ff17c7ebde0eb9a754",
      "tree": "cad354802870b7d4bc0402a6a6da44bd1f610bc6",
      "parents": [
        "cd9bb7e7367c03400d6e918fd3502820fc3b9084",
        "80787ebc2bbd8e675d8b9ff8cfa40f15134feebe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 08:14:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 08:14:42 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)\n  [IPV4] SNMP: Support OutMcastPkts and OutBcastPkts\n  [IPV4] SNMP: Support InMcastPkts and InBcastPkts\n  [IPV4] SNMP: Support InTruncatedPkts\n  [IPV4] SNMP: Support InNoRoutes\n  [SNMP]: Add definitions for {In,Out}BcastPkts\n  [TCP] FRTO: RFC4138 allows Nagle override when new data must be sent\n  [TCP] FRTO: Delay skb available check until it\u0027s mandatory\n  [XFRM]: Restrict upper layer information by bundle.\n  [TCP]: Catch skb with S+L bugs earlier\n  [PATCH] INET : IPV4 UDP lookups converted to a 2 pass algo\n  [L2TP]: Add the ability to autoload a pppox protocol module.\n  [SKB]: Introduce skb_queue_walk_safe()\n  [AF_IUCV/IUCV]: smp_call_function deadlock\n  [IPV6]: Fix slab corruption running ip6sic\n  [TCP]: Update references in two old comments\n  [XFRM]: Export SPD info\n  [IPV6]: Track device renames in snmp6.\n  [SCTP]: Fix sctp_getsockopt_local_addrs_old() to use local storage.\n  [NET]: Remove NETIF_F_INTERNAL_STATS, default to internal stats.\n  [NETPOLL]: Remove CONFIG_NETPOLL_RX\n  ...\n"
    },
    {
      "commit": "cd9bb7e7367c03400d6e918fd3502820fc3b9084",
      "tree": "66eda61f9b28eff39a91b7a819579616161266e3",
      "parents": [
        "24a77daf3d80bddcece044e6dc3675e427eef3f3",
        "07e44708059010aa26c6a4c8ee6ff11743d04d4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 08:12:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 08:12:39 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block:\n  [PATCH] elevator: elv_list_lock does not need irq disabling\n  [BLOCK] Don\u0027t pin lots of memory in mempools\n  cfq-iosched: speedup cic rb lookup\n  ll_rw_blk: add io_context private pointer\n  cfq-iosched: get rid of cfqq hash\n  cfq-iosched: tighten queue request overlap condition\n  cfq-iosched: improve sync vs async workloads\n  cfq-iosched: never allow an async queue idling\n  cfq-iosched: get rid of -\u003edispatch_slice\n  cfq-iosched: don\u0027t pass unused preemption variable around\n  cfq-iosched: get rid of -\u003ecur_rr and -\u003ecfq_list\n  cfq-iosched: slice offset should take ioprio into account\n  [PATCH] cfq-iosched: style cleanups and comments\n  cfq-iosched: sort IDLE queues into the rbtree\n  cfq-iosched: sort RT queues into the rbtree\n  [PATCH] cfq-iosched: speed up rbtree handling\n  cfq-iosched: rework the whole round-robin list concept\n  cfq-iosched: minor updates\n  cfq-iosched: development update\n  cfq-iosched: improve preemption for cooperating tasks\n"
    },
    {
      "commit": "24a77daf3d80bddcece044e6dc3675e427eef3f3",
      "tree": "2c5e0b0bea394d6fe62c5d5857c252e83e48ac48",
      "parents": [
        "e389f9aec689209724105ae80a6c91fd2e747bc9",
        "f900e9777fc9b65140cb9570438597bc8fae56ab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 08:10:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 08:10:12 2007 -0700"
      },
      "message": "Merge branch \u0027for-2.6.22\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027for-2.6.22\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (255 commits)\n  [POWERPC] Remove dev_dbg redefinition in drivers/ps3/vuart.c\n  [POWERPC] remove kernel module option for booke wdt\n  [POWERPC] Avoid putting cpu node twice\n  [POWERPC] Spinlock initializer cleanup\n  [POWERPC] ppc4xx_sgdma needs dma-mapping.h\n  [POWERPC] arch/powerpc/sysdev/timer.c build fix\n  [POWERPC] get_property cleanups\n  [POWERPC] Remove the unused HTDMSOUND driver\n  [POWERPC] cell: cbe_cpufreq cleanup and crash fix\n  [POWERPC] Declare enable_kernel_spe in a header\n  [POWERPC] Add dt_xlate_addr() to bootwrapper\n  [POWERPC] bootwrapper: CONFIG_ -\u003e CONFIG_DEVICE_TREE\n  [POWERPC] Don\u0027t define a custom bd_t for Xilixn Virtex based boards.\n  [POWERPC] Add sane defaults for Xilinx EDK generated xparameters files\n  [POWERPC] Add uartlite boot console driver for the zImage wrapper\n  [POWERPC] Stop using ppc_sys for Xilinx Virtex boards\n  [POWERPC] New registration for common Xilinx Virtex ppc405 platform devices\n  [POWERPC] Merge common virtex header files\n  [POWERPC] Rework Kconfig dependancies for Xilinx Virtex ppc405 platform\n  [POWERPC] Clean up cpufreq Kconfig dependencies\n  ...\n"
    },
    {
      "commit": "71ff6c0a857d11e70aec0c8f1e0d4ae9a45dd468",
      "tree": "31341eafc2de1f66d3e4359a00d1f08bc1d1149c",
      "parents": [
        "d551e4541dd60ae53459f77a971f2d6043431f5f"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Mon Apr 30 00:45:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 00:58:19 2007 -0700"
      },
      "message": "[SNMP]: Add definitions for {In,Out}BcastPkts\n\nThe updated IP-MIB RFC (RFC4293) specifys new objects, InBcastPkts\nand OutBcastPkts. This adds definitions for them.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d551e4541dd60ae53459f77a971f2d6043431f5f",
      "tree": "cb328b1ec7ae32ad054c9d08de0274e4056a868f",
      "parents": [
        "575ee7140dabe9b9c4f66f4f867039b97e548867"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Apr 30 00:42:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 00:58:16 2007 -0700"
      },
      "message": "[TCP] FRTO: RFC4138 allows Nagle override when new data must be sent\n\nThis is a corner case where less than MSS sized new data thingie\nis awaiting in the send queue. For F-RTO to work correctly, a\nnew data segment must be sent at certain point or F-RTO cannot\nbe used at all. RFC4138 allows overriding of Nagle at that\npoint.\n\nImplementation uses frto_counter states 2 and 3 to distinguish\nwhen Nagle override is needed.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "157bfc25020f7eb731f94140e099307ade47299e",
      "tree": "422821e5233daf0d8347ac361f09be9f49b43de4",
      "parents": [
        "34588b4c046c34773e5a1a962da7b78b05c4d1bd"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Mon Apr 30 00:33:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 00:58:09 2007 -0700"
      },
      "message": "[XFRM]: Restrict upper layer information by bundle.\n\nOn MIPv6 usage, XFRM sub policy is enabled.\nWhen main (IPsec) and sub (MIPv6) policy selectors have the same\naddress set but different upper layer information (i.e. protocol\nnumber and its ports or type/code), multiple bundle should be created.\nHowever, currently we have issue to use the same bundle created for\nthe first time with all flows covered by the case.\n\nIt is useful for the bundle to have the upper layer information\nto be restructured correctly if it does not match with the flow.\n\n1. Bundle was created by two policies\nSelector from another policy is added to xfrm_dst.\nIf the flow does not match the selector, it goes to slow path to\nrestructure new bundle by single policy.\n\n2. Bundle was created by one policy\nFlow cache is added to xfrm_dst as originated one. If the flow does\nnot match the cache, it goes to slow path to try searching another\npolicy.\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "34588b4c046c34773e5a1a962da7b78b05c4d1bd",
      "tree": "d655bed4dfd053b4d2a30f647857300694d44c93",
      "parents": [
        "6aaf47fa48d3c44280810b1b470261d340e4ed87"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Apr 30 00:57:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 30 00:57:33 2007 -0700"
      },
      "message": "[TCP]: Catch skb with S+L bugs earlier\n\nSACKED_ACKED and LOST are mutually exclusive with SACK, thus\nhaving their sum larger than packets_out is bug with SACK.\nEventually these bugs trigger traps in the tcp_clean_rtx_queue\nwith SACK but it\u0027s much more informative to do this here.\n\nNon-SACK TCP, however, could get more than packets_out duplicate\nACKs which each increment sacked_out, so it makes sense to do\nthis kind of limitting for non-SACK TCP but not for SACK enabled\none. Perhaps the author had the opposite in mind but did the\nlogic accidently wrong way around? Anyway, the sacked_out\nincrementer code for non-SACK already deals this issue before\ncalling sync_left_out so this trapping can be done\nunconditionally.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07e44708059010aa26c6a4c8ee6ff11743d04d4e",
      "tree": "06a249ed6100af3d89623237d2af5430d5fc0525",
      "parents": [
        "2a12dcd71a5e0667b33f7b47bcac95c71d551840",
        "597bc485d6906359ad667fc8ead5e5f0ede03a0a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Mon Apr 30 09:09:27 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Mon Apr 30 09:09:27 2007 +0200"
      },
      "message": "Merge branch \u0027cfq\u0027 into for-linus\n"
    }
  ],
  "next": "5972511b77809cb7c9ccdb79b825c54921c5c546"
}
