)]}'
{
  "log": [
    {
      "commit": "02b64dab5675bc08048c7f70cbb0d8a417d20dbe",
      "tree": "441b11859069ad99f2d0e9696a52531f9d53f7cf",
      "parents": [
        "1306383282aaf58e85e5461404db367be0f88dca"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] i386: white space fixes in i387.h\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "1306383282aaf58e85e5461404db367be0f88dca",
      "tree": "ac4d910f20ba7a3a592dd42e501281576e35ba75",
      "parents": [
        "f19cccf366a07e05703c90038704a3a5ffcb0607"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] i386: Drop noisy e820 debugging printks\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "f19cccf366a07e05703c90038704a3a5ffcb0607",
      "tree": "f44374784acb5c36003e918edcea72668ffe9de2",
      "parents": [
        "2724b6db663a4efb69462ff6eb8f88d7528cace3"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] x86-64: Fix allnoconfig error in genapic_flat.c\n\nFix:\n\nIn file included from include2/asm/apic.h:5,\n                 from include2/asm/smp.h:15,\n                 from linux/arch/x86_64/kernel/genapic_flat.c:18:\nlinux/include/linux/pm.h: In function ‘call_platform_enable_wakeup’:\nlinux/include/linux/pm.h:331: error: ‘EIO’ undeclared (first use in this function)\nlinux/include/linux/pm.h:331: error: (Each undeclared identifier is reported only once\nlinux/include/linux/pm.h:331: error: for each function it appears in.)\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "2724b6db663a4efb69462ff6eb8f88d7528cace3",
      "tree": "3d7b7b9907a410a7d2cead87de17cb1299fb4cef",
      "parents": [
        "fac15a8e4d4c36eb4676bfd2c30ea16ad05c401a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] x86-64: Shut up warnings for vfat compat ioctls on other file systems\n\nvfat implements compat handlers for these ioctls, but when they\nwere executed on other file systems the kernel would still complain\nabout an unknown compat ioctl.  Just declare them as compatible\nand let them be rejected when not needed by the normal path.\n\nThis makes wine runs a lot quieter\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "fac15a8e4d4c36eb4676bfd2c30ea16ad05c401a",
      "tree": "92855806e5289cadd59f135b39dd6eccac95c489",
      "parents": [
        "2136220d00d84e5dd923f23552f75b1864a76f21"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] x86-64: Share identical video.S between i386 and x86-64\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "2136220d00d84e5dd923f23552f75b1864a76f21",
      "tree": "2162bec88856042a2a88ef8d899189661a6a6f03",
      "parents": [
        "a106009bdfa12b6452b724cc0718ca8e1334745d"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] x86-64: Remove CONFIG_REORDER\n\nThe option never worked well and functionlist wasn\u0027t well maintained.\nAlso it made the build very slow on many binutils version.\n\nSo just remove it.\n\nCc: arjan@linux.intel.com\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "a106009bdfa12b6452b724cc0718ca8e1334745d",
      "tree": "f42d70dff689aec8d3c2494deb4dd3a438b7f03d",
      "parents": [
        "c812d6c198c5f39a6ea22a9a12d518cd3714af16"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] x86-64: Print type and size correctly for unknown compat ioctls\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c812d6c198c5f39a6ea22a9a12d518cd3714af16",
      "tree": "bfb7c1cc944a91b6255729f065a409497043ac6a",
      "parents": [
        "ec1180db2ca2ec8692ce101560eff9eedf561781"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] i386: Remove copy_*_user BUG_ONs for (size \u003c 0)\n\naccess_ok checks this case anyways, no need to check twice.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "ec1180db2ca2ec8692ce101560eff9eedf561781",
      "tree": "1686e4c3bfc8c81edd77b26d14526ec9c2815364",
      "parents": [
        "3bea9c9793a17053e05d970e5d90d48fc9fce07d"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] i386: Little cleanups in smpboot.c\n\n- Remove #if that is always set\n- Fix warning\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3bea9c9793a17053e05d970e5d90d48fc9fce07d",
      "tree": "23d742f3176b4e61512e81723febe7a02822408a",
      "parents": [
        "c5bcb5635a03da3158f121ae20ccbbf72b4fc62a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] x86-64: Don\u0027t enable NUMA for a single node in K8 NUMA scanning\n\nThis was supposed to see the full memory on a ASUS A8SX motherboard\nwith 4GB RAM where the northbridge reports less memory, but it didn\u0027t\nhelp there. But it\u0027s a reasonable change so let\u0027s include it anyways.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c5bcb5635a03da3158f121ae20ccbbf72b4fc62a",
      "tree": "a69fff3138ad14a7949d979f2d2e5893c5cb77de",
      "parents": [
        "9bccb23dc5fc2d268ab676e2d4212d29e230fd86"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:21 2007 +0200"
      },
      "message": "[PATCH] x86: Use RDTSCP for synchronous get_cycles if possible\n\nRDTSCP is already synchronous and doesn\u0027t need an explicit CPUID.\nThis is a little faster and more importantly avoids VMEXITs on Hypervisors.\n\nOriginal patch from Joerg Roedel, but reworked by AK\nAlso includes miscompilation fix by Eric Biederman\n\nCc: \"Joerg Roedel\" \u003cjoerg.roedel@amd.com\u003e\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "9bccb23dc5fc2d268ab676e2d4212d29e230fd86",
      "tree": "a72855bec8be802ff90e529c1b0fc33bf94f783a",
      "parents": [
        "3aefbe0746580a710d4392a884ac1e4aac7c728f"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] i386: Add X86_FEATURE_RDTSCP\n\nFollowing x86-64\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3aefbe0746580a710d4392a884ac1e4aac7c728f",
      "tree": "a83d2b9dccdce97c57e5914831310762dd27a5de",
      "parents": [
        "e859dc553c857f4672b3bbb73ee9170a901f8712"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] i386: Implement X86_FEATURE_SYNC_RDTSC on i386\n\nSyncs up with x86-64.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "e859dc553c857f4672b3bbb73ee9170a901f8712",
      "tree": "b71603823255c6eadfb8edbe66c8e8f4bb9caefe",
      "parents": [
        "3671df8572a299acff9c9cac2bf7279ee614d154"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] i386: Implement alternative_io for i386\n\nPorted from x86-64.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3671df8572a299acff9c9cac2bf7279ee614d154",
      "tree": "e92e13da85eee016ade75e2f46445d47a4d3d143",
      "parents": [
        "c7f81c9453375d6416658995eafd3397cb9bba1d"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] i386: Evaluate constant cpu features at runtime\n\nRedefine cpu_has() to evaluate cpu features already checked in early\nboot at compile time.  This way the compiler might eliminate some dead code.\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c7f81c9453375d6416658995eafd3397cb9bba1d",
      "tree": "44e018745a0b7c12b127eb54106f2f0c2bb5a570",
      "parents": [
        "484ad393659f20d784a3a93613fb3fd3d9f171fa"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] i386: Verify important CPUID bits in real mode\n\nCheck some CPUID bits that are needed for compiler generated early in boot.\nWhen the system is still in real mode before changing the VESA BIOS mode\nit is possible to still display an visible error message on the screen.\n\nSimilar to x86-64.\n\nIncludes cleanups from Eric Biederman\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "484ad393659f20d784a3a93613fb3fd3d9f171fa",
      "tree": "a03c989747bcee133ce73d2a0a207f3b8b1fce95",
      "parents": [
        "fa0a00910925fdbd3a528404a47817b3a9fda5be"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] i386: Drop -traditional in arch/i386/boot\n\nNeeded for followon patch\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "fa0a00910925fdbd3a528404a47817b3a9fda5be",
      "tree": "4484b9ed59e6ec5c6bce3a347094665276563f33",
      "parents": [
        "72b1b1d0133d7eb4040697f1052bf92123fb051b"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] x86-64: Drop -traditional for arch/x86_64/boot\n\nFollows i386 and useful cleanup.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "72b1b1d0133d7eb4040697f1052bf92123fb051b",
      "tree": "864d2e7ad0c0cc4a5196dfbf110b72f22439bc76",
      "parents": [
        "4637a74cf2ac3a3696d385c8624d84de789d1bbe"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] x86-64: Use symbolic CPU features in early CPUID check\n\nDead to magic numbers!\n\nGenerated code is the same.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "4637a74cf2ac3a3696d385c8624d84de789d1bbe",
      "tree": "358cd844b60771697d8cff6b85c5ab7db4b96deb",
      "parents": [
        "9d016dd43b8df0228f1022f483f582eeb52d256e"
      ],
      "author": {
        "name": "David P. Reed",
        "email": "dpreed@reed.com",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] x86-64: Avoid overflows during apic timer calibration\n\n- Use 64bit TSC calculations to avoid handling overflow\n- Use 32bit unsigned arithmetic for the APIC timer. This\nway overflows are handled correctly.\n- Fix exit check of loop to account for apic timer counting down\n\nSigned-off-by: dpreed@reed.com\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "9d016dd43b8df0228f1022f483f582eeb52d256e",
      "tree": "1c6492fd4f79a1d5db464562265e24cb2cf15109",
      "parents": [
        "421f028100cbef0ba15086d63cad87fb6e5c3da9"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] x86-64: Shut up 32bit emulation for SIOCGIFCOUNT\n\nThe kernel doesn\u0027t implement it, but some programs like java use it\nanyways. Shut the code up.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "421f028100cbef0ba15086d63cad87fb6e5c3da9",
      "tree": "18174d51cce6ebeaf89e8fa83850d4d22d62c3eb",
      "parents": [
        "05cb007dac9a50148daf87d0b9469e0cd05fd5e7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] x86-64: Define IGNORE_IOCTL() macro for compat_ioctls\n\nDefine a new IGNORE_IOCTL() to let a compat ioctl not be warned about even when\nit is not implemented.\n\nThis is the same as COMPATIBLE_IOCTL internally, but better self documentng.\n\nValid reasons to use this:\n- It is implemented with -\u003ecompat_ioctl on some device, but programs\n  call it on others too.\n- The ioctl is not implemented in the native kernel, but programs\n  call it commonly anyways.\nMost other reasons are not valid.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "05cb007dac9a50148daf87d0b9469e0cd05fd5e7",
      "tree": "06d013ba2ce29441b58cb458d739083bc87af148",
      "parents": [
        "09198e68501a7e34737cd9264d266f42429abcdc"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] x86-64: Use the 32bit wd_ops for 64bit too.\n\nThis mainly removes a lot of code, replacing it with calls into the new 32bit\nperfctr-watchdog.c\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "09198e68501a7e34737cd9264d266f42429abcdc",
      "tree": "3b13e10f47007f882a7c69be5a043384a6b4a930",
      "parents": [
        "e3f1caeef9a70b0699518092d653c15274b025ab"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] i386: Clean up NMI watchdog code\n\n- Introduce a wd_ops structure\n- Convert the various nmi watchdogs over to it\n- This allows to split the perfctr reservation from the watchdog\nsetup cleanly.\n- Do perfctr reservation globally as it should have always been\n- Remove dead code referenced only by unused EXPORT_SYMBOLs\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "e3f1caeef9a70b0699518092d653c15274b025ab",
      "tree": "23d89175f809cb7a53377fa68b295f6ce162f99b",
      "parents": [
        "8a336b0a4b6dfacc8cc5fd617ba1e1904077de2d"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:20 2007 +0200"
      },
      "message": "[PATCH] x86-64: set node_possible_map at runtime - try 2\n\nSet the node_possible_map at runtime on x86_64.  On a non NUMA system,\nnum_possible_nodes() will now say \u00271\u0027.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\n"
    },
    {
      "commit": "8a336b0a4b6dfacc8cc5fd617ba1e1904077de2d",
      "tree": "9e2a5f4aeb080fe68a1cf26860ebc7f69e9fccb2",
      "parents": [
        "f82af20e1a028e16b9bb11da081fa1148d40fa6a"
      ],
      "author": {
        "name": "Tim Hockin",
        "email": "thockin@google.com",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "message": "[PATCH] x86-64: Dynamically adjust machine check interval\n\nBackground:\n We\u0027ve found that MCEs (specifically DRAM SBEs) tend to come in bunches,\n especially when we are trying really hard to stress the system out.  The\n current MCE poller uses a static interval which does not care whether it\n has or has not found MCEs recently.\n\nDescription:\n This patch makes the MCE poller adjust the polling interval dynamically.\n If we find an MCE, poll 2x faster (down to 10 ms).  When we stop finding\n MCEs, poll 2x slower (up to check_interval seconds).  The check_interval\n tunable becomes the max polling interval.  The \"Machine check events\n logged\" printk() is rate limited to the check_interval, which should be\n identical behavior to the old functionality.\n\nResult:\n If you start to take a lot of correctable errors (not exceptions), you\n log them faster and more accurately (less chance of overflowing the MCA\n registers).  If you don\u0027t take a lot of errors, you will see no change.\n\nAlternatives:\n I considered simply reducing the polling interval to 10 ms immediately\n and keeping it there as long as we continue to find errors.  This felt a\n bit heavy handed, but does perform significantly better for the default\n check_interval of 5 minutes (we\u0027re using a few seconds when testing for\n DRAM errors).  I could be convinced to go with this, if anyone felt it\n was not too aggressive.\n\nTesting:\n I used an error-injecting DIMM to create lots of correctable DRAM errors\n and verified that the polling interval accelerates.  The printk() only\n happens once per check_interval seconds.\n\nPatch:\n This patch is against 2.6.21-rc7.\n\nSigned-Off-By: Tim Hockin \u003cthockin@google.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "f82af20e1a028e16b9bb11da081fa1148d40fa6a",
      "tree": "90bff2de9c6f005ef0733031612cff38fc3576ca",
      "parents": [
        "889f21ce272e38db19c8114a7e0a5793d4590077"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@suse.de",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "message": "[PATCH] x86-64: ignore vgacon if hardware not present\n\nAvoid trying to set up vgacon if there\u0027s no vga hardware present.\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: Alan \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "889f21ce272e38db19c8114a7e0a5793d4590077",
      "tree": "a29dd9164a44bbaa26a454922a78fd7dda638540",
      "parents": [
        "425001fea782dd072cfec5694b93778eb59a1fd3"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "message": "[PATCH] i386: fix wrong comment for syscall stack layout\n\n`ret_from_sys_call\u0027 label no longer exist and `syscall_exit\u0027 label was\nintroduced instead.\n\nSigned-off-by: Satoru Takeuchi \u003ctakeuchi_satoru@jp.fujitsu.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "425001fea782dd072cfec5694b93778eb59a1fd3",
      "tree": "5a46a75ee666908c8c8ef533c8a9b87f533e7dde",
      "parents": [
        "f26d6a2bbcf381230df771123578380584004631"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "message": "[PATCH] x86-64: unexport cpu_llc_id\n\nWARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:cpu_llc_id from __ksymtab between \u0027__ksymtab_cpu_llc_id\u0027 (at offset 0x4a0) and \u0027__ksymtab_smp_num_siblings\u0027\n\nIt is strange to export a __cpuinitdata symbols to modules, and no module\nappears to use it anyway.\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": "f26d6a2bbcf381230df771123578380584004631",
      "tree": "a3a0f96059c27262db6655a605bfed77949471cf",
      "parents": [
        "9e5e3162b2d5e4466187ecd63c9eec2de33cb7bc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "message": "[PATCH] i386: convert to the kthread API\n\nThis patch just trivial converts from calling kernel_thread and daemonize\nto just calling kthread_run.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.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": "9e5e3162b2d5e4466187ecd63c9eec2de33cb7bc",
      "tree": "e0d9231574833f17b509bc2ca1971af90f657eb2",
      "parents": [
        "142dd975911fdd82b1b6f6617cd20ac90a8ccf00"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "message": "[PATCH] i386: pte simplify ops\n\nAdd comment and condense code to make use of native_local_ptep_get_and_clear\nfunction.  Also, it turns out the 2-level and 3-level paging definitions were\nidentical, so move the common definition into pgtable.h\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "142dd975911fdd82b1b6f6617cd20ac90a8ccf00",
      "tree": "1e72e96bce64d9301d3305b4dd0b30675c8676b0",
      "parents": [
        "c2c1accd4b2f9c82fb89d40611c7f581948db255"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "message": "[PATCH] i386: pte xchg optimization\n\nIn situations where page table updates need only be made locally, and there is\nno cross-processor A/D bit races involved, we need not use the heavyweight\nxchg instruction to atomically fetch and clear page table entries.  Instead,\nwe can just read and clear them directly.\n\nThis introduces a neat optimization for non-SMP kernels; drop the atomic xchg\noperations from page table updates.\n\nThanks to Michel Lespinasse for noting this potential optimization.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c2c1accd4b2f9c82fb89d40611c7f581948db255",
      "tree": "0d4c6b8c2c53ff3d5657fdabe029f14f655fdac7",
      "parents": [
        "df3624aa293dfa2d46089747d919711089a702eb"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:19 2007 +0200"
      },
      "message": "[PATCH] i386: pte clear optimization\n\nWhen exiting from an address space, no special hypervisor notification of page\ntable updates needs to occur; direct page table hypervisors, such as Xen,\nswitch to another address space first (init_mm) and unprotects the page tables\nto avoid the cost of trapping to the hypervisor for each pte_clear.  Shadow\nmode hypervisors, such as VMI and lhype don\u0027t need to do the extra work of\ncalling through paravirt-ops, and can just directly clear the page table\nentries without notifiying the hypervisor, since all the page tables are about\nto be freed.\n\nSo introduce native_pte_clear functions which bypass any paravirt-ops\nnotification.  This results in a significant performance win for VMI and\nremoves some indirect calls from zap_pte_range.\n\nNote the 3-level paging already had a native_pte_clear function, thus\ndemanding argument conformance and extra args for the 2-level definition.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "df3624aa293dfa2d46089747d919711089a702eb",
      "tree": "548cd81bdec5ec348d744fa9b6767e8e2ed030db",
      "parents": [
        "62918a036148230ba1ad175dc8a0952e3752ac57"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] i386: remove xtime_lock\u0027ing around cpufreq notifier\n\nThe locking of the xtime_lock around the cpu notifier is unessesary now.\nAt one time the tsc was used after a frequency change for timekeeping, but\nthe re-write of timekeeping no longer uses the TSC unless the frequency is\nconstant.\n\nThe variables that are changed in this section of code had also once been\nused for timekeeping, but not any longer ..\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.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: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62918a036148230ba1ad175dc8a0952e3752ac57",
      "tree": "bc58159f2498c1b29e7a46a3e8f1bb1751a0ab59",
      "parents": [
        "57a4f91ae5571edd7c0428285d8df16bb8bf5f40"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] x86-64: skip cache_free_alien() on non NUMA\n\nSet use_alien_caches to 0 on non NUMA platforms.  And avoid calling the\ncache_free_alien() when use_alien_caches is not set.  This will avoid the\ncache miss that happens while dereferencing slabp to get nodeid.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57a4f91ae5571edd7c0428285d8df16bb8bf5f40",
      "tree": "9e0ec8bf06c8ec44b4fb6f6219f1cfeb8f605156",
      "parents": [
        "2f3c30e6a886ddaf65cb74df82c03245050ff0aa"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] x86-64: Auto compute __NR_syscall_max at compile time\n\nNo need to maintain it anymore\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "2f3c30e6a886ddaf65cb74df82c03245050ff0aa",
      "tree": "1aad760d9503b210ae0ec9341c81e02fdbdda9c4",
      "parents": [
        "1bdae4583e7abd2c1daedfc9f46ac6420a26c1b0"
      ],
      "author": {
        "name": "Joachim Deguara",
        "email": "joachim.deguara@amd.com",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] i386: check capability\n\nCurrently the i386 architecture checks the family for mce capability and this\nremoves that and uses the CPUID information.  Tested on a K8 revE and a\nfamily10h processor.\n\nThis eliminates checking of a set AMD procesor family if mce is\nallowed and relies on the information being in CPUID.\n\nSigned-off-by: Joachim Deguara \u003cjoachim.deguara@amd.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": "1bdae4583e7abd2c1daedfc9f46ac6420a26c1b0",
      "tree": "350b95a388d59dc08c128d7d1c666ef06bd8a9cc",
      "parents": [
        "62dbc210e2532dec061ca65eeb8bc31b6c898b01"
      ],
      "author": {
        "name": "Keshavamurthy, Anil S",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] i386: clean up flush_tlb_others fn\n\nCleanup flush_tlb_others(), no functional change.\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.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": "62dbc210e2532dec061ca65eeb8bc31b6c898b01",
      "tree": "ba17be411deecbf6e114b65336463527311370c8",
      "parents": [
        "e8a72ffa3aa618fb25b5727c0e0ae939d30d66c0"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] i386: replace spin_lock_irqsave with spin_lock\n\nIRQ is already disabled through local_irq_disable().  So\nspin_lock_irqsave() can be replaced with spin_lock().\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\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": "e8a72ffa3aa618fb25b5727c0e0ae939d30d66c0",
      "tree": "f4e3cf88e1c11ad2ea4c4f3ca1f2db651c811d57",
      "parents": [
        "141a892f57972b01891df7036f567a70459c19ac"
      ],
      "author": {
        "name": "Keshavamurthy, Anil S",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] i386: avoid checking for cpu gone when CONFIG_HOTPLUG_CPU not defined\n\nAvoid checking for cpu gone in mm hot path when CONFIG_HOTPLUG_CPU is not\ndefined.\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "141a892f57972b01891df7036f567a70459c19ac",
      "tree": "9d8c11ad5c6a4080cc7e0b84b3590860a002e11b",
      "parents": [
        "0260c196c97e48e4b821031ae55912c22113ed87"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] x86-64: move __vgetcpu_mode \u0026 __jiffies to the vsyscall_2 zone\n\nWe apparently hit the 1024 limit of vsyscall_0 zone when some debugging\noptions are set, or if __vsyscall_gtod_data is 64 bytes larger.\n\nIn order to save 128 bytes from the vsyscall_0 zone, we move __vgetcpu_mode\n\u0026 __jiffies to vsyscall_2 zone where they really belong, since they are\nused only from vgetcpu() (which is in this vsyscall_2 area).\n\nAfter patch is applied, new layout is :\n\nffffffffff600000 T vgettimeofday\nffffffffff60004e t vsysc2\nffffffffff600140 t vread_hpet\nffffffffff600150 t vread_tsc\nffffffffff600180 D __vsyscall_gtod_data\nffffffffff600400 T vtime\nffffffffff600413 t vsysc1\nffffffffff600800 T vgetcpu\nffffffffff600870 D __vgetcpu_mode\nffffffffff600880 D __jiffies\nffffffffff600c00 T venosys_1\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.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": "0260c196c97e48e4b821031ae55912c22113ed87",
      "tree": "124e7f247573f75cebeec39c5d92f38a9ba48075",
      "parents": [
        "25c16b992c32db4bc7e085b763abd866a505ca72"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: fix startup_ipi_hook config dependency\n\nstartup_ipi_hook depends on CONFIG_X86_LOCAL_APIC, so move it to the\nright part of the paravirt_ops initialization.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "25c16b992c32db4bc7e085b763abd866a505ca72",
      "tree": "f16fc529f1e2f6d278b8500ca39d7c11dc59869d",
      "parents": [
        "70ae77f497a57b3ef6b0987b6310327264517cb0"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] i386: fix mtrr sections\n\nFix section mismatch warnings in mtrr code.\nFix line length on one source line.\n\nWARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data: from .text.get_mtrr_state after \u0027get_mtrr_state\u0027 (at offset 0x103)\nWARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text: from .text.get_mtrr_state after \u0027get_mtrr_state\u0027 (at offset 0x180)\nWARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text: from .text.get_mtrr_state after \u0027get_mtrr_state\u0027 (at offset 0x199)\nWARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text: from .text.get_mtrr_state after \u0027get_mtrr_state\u0027 (at offset 0x1c1)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.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": "70ae77f497a57b3ef6b0987b6310327264517cb0",
      "tree": "d9ef56b103a6b3d33dd7280b276c08ee5a6b4f49",
      "parents": [
        "f5efb41e793ce587836b89b7191083b9a6185ed5"
      ],
      "author": {
        "name": "Fernando Luis [** ISO-8859-1 charset **] VázquezCao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] x86-64: Use safe_apic_wait_icr_idle in __send_IPI_dest_field - x86_64\n\nUse safe_apic_wait_icr_idle to check ICR idle bit if the vector is\nNMI_VECTOR to avoid potential hangups in the event of crash when kdump\ntries to stop the other CPUs.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "f5efb41e793ce587836b89b7191083b9a6185ed5",
      "tree": "073c0d6b8bd2feb5b287d88211a772f186951266",
      "parents": [
        "9062d888aa448318e38792b6879a795dd10adda4"
      ],
      "author": {
        "name": "Fernando Luis [** ISO-8859-1 charset **] VázquezCao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] i386: Use safe_apic_wait_icr_idle in safe_apic_wait_icr_idle - i386\n\nUse safe_apic_wait_icr_idle to check ICR idle bit if the vector is\nNMI_VECTOR to avoid potential hangups in the event of crash when kdump\ntries to stop the other CPUs.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "9062d888aa448318e38792b6879a795dd10adda4",
      "tree": "facddd433abf2adcc342bdcfb1ff5ddb3704b519",
      "parents": [
        "45ae5e968ea01d8326833ca2863cec5183ce1930"
      ],
      "author": {
        "name": "Fernando Luis [** ISO-8859-1 charset **] VázquezCao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] x86-64: __send_IPI_dest_field - x86_64\n\nImplement __send_IPI_dest_field which can be used to send IPIs when the\n\"destination shorthand\" field of the ICR is set to 00 (destination\nfield). Use it whenever possible.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "45ae5e968ea01d8326833ca2863cec5183ce1930",
      "tree": "63b3146cac6f725f7f7ae0c4044e218b7af9bd2b",
      "parents": [
        "3144c332fa2ee4c4b9804aae5fe31098f04bffd9"
      ],
      "author": {
        "name": "Fernando Luis [** ISO-8859-1 charset **] VázquezCao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:18 2007 +0200"
      },
      "message": "[PATCH] i386: __send_IPI_dest_field - i386\n\nImplement __send_IPI_dest_field which can be used to send IPIs when the\n\"destination shorthand\" field of the ICR is set to 00 (destination\nfield). Use it whenever possible.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "3144c332fa2ee4c4b9804aae5fe31098f04bffd9",
      "tree": "b69b89eef10b169f8486c18cdaf374dd2339eba2",
      "parents": [
        "4312fa8157f5ebdaf36e615cf40f9d7a6137a22c"
      ],
      "author": {
        "name": "Fernando Luis VazquezCao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] x86-64: use safe_apic_wait_icr_idle in smpboot.c - x86_64\n\ninquire_remote_apic is used for APIC debugging, so use\nsafe_apic_wait_icr_idle  instead of apic_wait_icr_idle to avoid possible\nlockups when APIC delivery fails.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "4312fa8157f5ebdaf36e615cf40f9d7a6137a22c",
      "tree": "8232780b1c1f73a3145905291212b611e4c5ad02",
      "parents": [
        "ea8c733b98b73289421ed8f8fc15cfbce3adc3bc"
      ],
      "author": {
        "name": "Fernando Luis VazquezCao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] i386: use safe_apic_wait_icr_idle in smpboot.c\n\n__inquire_remote_apic is used for APIC debugging, so use\nsafe_apic_wait_icr_idle  instead of apic_wait_icr_idle to avoid possible\nlockups when APIC delivery fails.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "ea8c733b98b73289421ed8f8fc15cfbce3adc3bc",
      "tree": "7522643f5ff0f9158a710b907d6f5258ae62ba59",
      "parents": [
        "ae08e43eecd250e50ffa40c4bd62a65e005b875b"
      ],
      "author": {
        "name": "Fernando Luis VazquezCao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] x86-64: use safe_apic_wait_icr_idle in smpboot.c - x86_64\n\nThe functionality provided by the new safe_apic_wait_icr_idle is being\nopen-coded all over \"kernel/smpboot.c\". Use safe_apic_wait_icr_idle\ninstead to consolidate code and ease maintenance.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "ae08e43eecd250e50ffa40c4bd62a65e005b875b",
      "tree": "c49dab56f332f50d9a6f43e93160ff7f524d590f",
      "parents": [
        "8339e9fba33aa3205f541478c413982c0ac5a37f"
      ],
      "author": {
        "name": "Fernando Luis VazquezCao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] i386: use safe_apic_wait_icr_idle - i386\n\nThe functionality provided by the new safe_apic_wait_icr_idle is being\nopen-coded all over \"kernel/smpboot.c\". Use safe_apic_wait_icr_idle\ninstead to consolidate code and ease maintenance.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "8339e9fba33aa3205f541478c413982c0ac5a37f",
      "tree": "1a669dcd3cb63caf811bf54d460883a2c99ecc28",
      "parents": [
        "f2b218dd6199983b120a96bc6531c1b81f4090d8"
      ],
      "author": {
        "name": "Fernando Luis VazquezCao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] x86-64: safe_apic_wait_icr_idle - x86_64\n\napic_wait_icr_idle looks like this:\n\nstatic __inline__ void apic_wait_icr_idle(void)\n{\n  while (apic_read(APIC_ICR) \u0026 APIC_ICR_BUSY)\n    cpu_relax();\n}\n\nThe busy loop in this function would not be problematic if the\ncorresponding status bit in the ICR were always updated, but that does\nnot seem to be the case under certain crash scenarios. Kdump uses an IPI\nto stop the other CPUs in the event of a crash, but when any of the\nother CPUs are locked-up inside the NMI handler the CPU that sends the\nIPI will end up looping forever in the ICR check, effectively\nhard-locking the whole system.\n\nQuoting from Intel\u0027s \"MultiProcessor Specification\" (Version 1.4), B-3:\n\n\"A local APIC unit indicates successful dispatch of an IPI by\nresetting the Delivery Status bit in the Interrupt Command\nRegister (ICR). The operating system polls the delivery status\nbit after sending an INIT or STARTUP IPI until the command has\nbeen dispatched.\n\nA period of 20 microseconds should be sufficient for IPI dispatch\nto complete under normal operating conditions. If the IPI is not\nsuccessfully dispatched, the operating system can abort the\ncommand. Alternatively, the operating system can retry the IPI by\nwriting the lower 32-bit double word of the ICR. This “time-out”\nmechanism can be implemented through an external interrupt, if\ninterrupts are enabled on the processor, or through execution of\nan instruction or time-stamp counter spin loop.\"\n\nIntel\u0027s documentation suggests the implementation of a time-out\nmechanism, which, by the way, is already being open-coded in some parts\nof the kernel that tinker with ICR.\n\nCreate a apic_wait_icr_idle replacement that implements the time-out\nmechanism and that can be used to solve the aforementioned problem.\n\nAK: moved both functions out of line\nAK: Added improved loop from Keith Owens\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "f2b218dd6199983b120a96bc6531c1b81f4090d8",
      "tree": "c698c752d4424e926badbfe1bda2ff5c738cacf6",
      "parents": [
        "de938c51d5fec4ae03af64b06beb15d4423ec611"
      ],
      "author": {
        "name": "Fernando Luis VazquezCao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] i386: safe_apic_wait_icr_idle - i386\n\napic_wait_icr_idle looks like this:\n\nstatic __inline__ void apic_wait_icr_idle(void)\n{\n  while (apic_read(APIC_ICR) \u0026 APIC_ICR_BUSY)\n    cpu_relax();\n}\n\nThe busy loop in this function would not be problematic if the\ncorresponding status bit in the ICR were always updated, but that does\nnot seem to be the case under certain crash scenarios. Kdump uses an IPI\nto stop the other CPUs in the event of a crash, but when any of the\nother CPUs are locked-up inside the NMI handler the CPU that sends the\nIPI will end up looping forever in the ICR check, effectively\nhard-locking the whole system.\n\nQuoting from Intel\u0027s \"MultiProcessor Specification\" (Version 1.4), B-3:\n\n\"A local APIC unit indicates successful dispatch of an IPI by\nresetting the Delivery Status bit in the Interrupt Command\nRegister (ICR). The operating system polls the delivery status\nbit after sending an INIT or STARTUP IPI until the command has\nbeen dispatched.\n\nA period of 20 microseconds should be sufficient for IPI dispatch\nto complete under normal operating conditions. If the IPI is not\nsuccessfully dispatched, the operating system can abort the\ncommand. Alternatively, the operating system can retry the IPI by\nwriting the lower 32-bit double word of the ICR. This “time-out”\nmechanism can be implemented through an external interrupt, if\ninterrupts are enabled on the processor, or through execution of\nan instruction or time-stamp counter spin loop.\"\n\nIntel\u0027s documentation suggests the implementation of a time-out\nmechanism, which, by the way, is already being open-coded in some parts\nof the kernel that tinker with ICR.\n\nCreate a apic_wait_icr_idle replacement that implements the time-out\nmechanism and that can be used to solve the aforementioned problem.\n\nAK: moved both functions out of line\nAK: added improved loop from Keith Owens\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "de938c51d5fec4ae03af64b06beb15d4423ec611",
      "tree": "aabb457fda132a7d88e771427aa3da04c7944d4b",
      "parents": [
        "3ebad5905609476a4ff1151a66b21d9794009961"
      ],
      "author": {
        "name": "Bernhard Kaindl",
        "email": "bk@suse.de",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] i386: Enable support for fixed-range IORRs to keep RdMem \u0026 WrMem in sync\n\nIf our copy of the MTRRs of the BSP has RdMem or WrMem set, and\nwe are running on an AMD64/K8 system, the boot CPU must have had\nMtrrFixDramEn and MtrrFixDramModEn set (otherwise our RDMSR would\nhave copied these bits cleared), so we set them on this CPU as well.\n\nThis allows us to keep the AMD64/K8 RdMem and WrMem bits in sync\nacross the CPUs of SMP systems in order to fullfill the duty of\nsystem software to \"initialize and maintain MTRR consistency\nacross all processors.\" as written in the AMD and Intel manuals.\n\nIf an WRMSR instruction fails because MtrrFixDramModEn is not\nset, I expect that also the Intel-style MTRR bits are not updated.\n\nAK: minor cleanup, moved MSR defines around\n\nSigned-off-by: Bernhard Kaindl \u003cbk@suse.de\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\n"
    },
    {
      "commit": "3ebad5905609476a4ff1151a66b21d9794009961",
      "tree": "fb64ce5ce067c5b3f2b52b6977339ad569c06a6d",
      "parents": [
        "2b1f6278d77c1f2f669346fc2bb48012b5e9495a"
      ],
      "author": {
        "name": "Bernhard Kaindl",
        "email": "bk@suse.de",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] x86: Save and restore the fixed-range MTRRs of the BSP when suspending\n\nNote: This patch didn\u0027nt need an update since it\u0027s initial post.\n\nSome BIOSes may modify fixed-range MTRRs in SMM, e.g. when they\ntransition the system into ACPI mode, which is entered thru an SMI,\ntriggered by Linux in acpi_enable().\n\nSMIs which cause that Linux is interrupted and BIOS code is\nexecuted (which may change e.g. fixed-range MTRRs) in SMM may\nbe raised by an embedded system controller which is often found\nin notebooks also at other occasions.\n\nIf we would not update our copy of the fixed-range MTRRs before\nsuspending to RAM or to disk, restore_processor_state() would\nset the fixed-range MTRRs of the BSP using old backup values\nwhich may be outdated and this could cause the system to fail\nlater during resume.\n\nThis patch ensures that our copy of the fixed-range MTRRs\nis updated when saving the boot processor state on suspend\nto disk and suspend to RAM.\n\nIn combination with other patches this allows to fix s2ram\nand s2disk on the Acer Ferrari 1000 notebook and at least\ns2disk on the Acer Ferrari 5000 notebook.\n\nSigned-off-by: Bernhard Kaindl \u003cbk@suse.de\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\n"
    },
    {
      "commit": "2b1f6278d77c1f2f669346fc2bb48012b5e9495a",
      "tree": "52a30a649b4786869a51bceefb2c7ca696e0fe32",
      "parents": [
        "2b3b4835c94226681c496de9446d456dcf42ed08"
      ],
      "author": {
        "name": "Bernhard Kaindl",
        "email": "bk@suse.de",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] x86: Save the MTRRs of the BSP before booting an AP\n\nApplied fix by Andew Morton:\nhttp://lkml.org/lkml/2007/4/8/88 - Fix `make headers_check\u0027.\n\nAMD and Intel x86 CPU manuals state that it is the responsibility of\nsystem software to initialize and maintain MTRR consistency across\nall processors in Multi-Processing Environments.\n\nQuote from page 188 of the AMD64 System Programming manual (Volume 2):\n\n7.6.5 MTRRs in Multi-Processing Environments\n\n\"In multi-processing environments, the MTRRs located in all processors must\ncharacterize memory in the same way. Generally, this means that identical\nvalues are written to the MTRRs used by the processors.\" (short omission here)\n\"Failure to do so may result in coherency violations or loss of atomicity.\nProcessor implementations do not check the MTRR settings in other processors\nto ensure consistency. It is the responsibility of system software to\ninitialize and maintain MTRR consistency across all processors.\"\n\nCurrent Linux MTRR code already implements the above in the case that the\nBIOS does not properly initialize MTRRs on the secondary processors,\nbut the case where the fixed-range MTRRs of the boot processor are changed\nafter Linux started to boot, before the initialsation of a secondary\nprocessor, is not handled yet.\n\nIn this case, secondary processors are currently initialized by Linux\nwith MTRRs which the boot processor had very early, when mtrr_bp_init()\ndid run, but not with the MTRRs which the boot processor uses at the\ntime when that secondary processors is actually booted,\ncausing differing MTRR contents on the secondary processors.\n\nSuch situation happens on Acer Ferrari 1000 and 5000 notebooks where the\nBIOS enables and sets AMD-specific IORR bits in the fixed-range MTRRs\nof the boot processor when it transitions the system into ACPI mode.\nThe SMI handler of the BIOS does this in SMM, entered while Linux ACPI\ncode runs acpi_enable().\n\nOther occasions where the SMI handler of the BIOS may change bits in\nthe MTRRs could occur as well. To initialize newly booted secodary\nprocessors with the fixed-range MTRRs which the boot processor uses\nat that time, this patch saves the fixed-range MTRRs of the boot\nprocessor before new secondary processors are started. When the\nsecondary processors run their Linux initialisation code, their\nfixed-range MTRRs will be updated with the saved fixed-range MTRRs.\n\nIf CONFIG_MTRR is not set, we define mtrr_save_state\nas an empty statement because there is nothing to do.\n\nPossible TODOs:\n\n*) CPU-hotplugging outside of SMP suspend/resume is not yet tested\n   with this patch.\n\n*) If, even in this case, an AP never runs i386/do_boot_cpu or x86_64/cpu_up,\n   then the calls to mtrr_save_state() could be replaced by calls to\n   mtrr_save_fixed_ranges(NULL) and  mtrr_save_state() would not be\n   needed.\n\n   That would need either verification of the CPU-hotplug code or\n   at least a test on a \u003e2 CPU machine.\n\n*) The MTRRs of other running processors are not yet checked at this\n   time but it might be interesting to syncronize the MTTRs of all\n   processors before booting. That would be an incremental patch,\n   but of rather low priority since there is no machine known so\n   far which would require this.\n\nAK: moved prototypes on x86-64 around to fix warnings\n\nSigned-off-by: Bernhard Kaindl \u003cbk@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\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\n"
    },
    {
      "commit": "2b3b4835c94226681c496de9446d456dcf42ed08",
      "tree": "a7f005ccb038107153059691dbabf048b560521d",
      "parents": [
        "856f44ff4af6e57fdc39a8b2bec498c88438bd27"
      ],
      "author": {
        "name": "Bernhard Kaindl",
        "email": "bk@suse.de",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] x86: Adds mtrr_save_fixed_ranges() for use in two later patches.\n\nIn this current implementation which is used in other patches,\nmtrr_save_fixed_ranges() accepts a dummy void pointer because\nin the current implementation of one of these patches, this\nfunction may be called from smp_call_function_single() which\nrequires that this function takes a void pointer argument.\n\nThis function calls get_fixed_ranges(), passing mtrr_state.fixed_ranges\nwhich is the element of the static struct which stores our current\nbackup of the fixed-range MTRR values which all CPUs shall be\nusing.\n\nBecause  mtrr_save_fixed_ranges calls get_fixed_ranges after\nkernel initialisation time, __init needs to be removed from\nthe declaration of get_fixed_ranges().\n\nIf CONFIG_MTRR is not set, we define mtrr_save_fixed_ranges\nas an empty statement because there is nothing to do.\n\nAK: Moved prototypes for x86-64 around to fix warnings\n\nSigned-off-by: Bernhard Kaindl \u003cbk@suse.de\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\n"
    },
    {
      "commit": "856f44ff4af6e57fdc39a8b2bec498c88438bd27",
      "tree": "475ca01f27c3272ec9e3d15f3d8209ad4424c3bc",
      "parents": [
        "03df4f6ee997589a84d5f9492c6419183724c710"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] x86-64: Move mtrr prototypes from proto.h to mtrr.h\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "03df4f6ee997589a84d5f9492c6419183724c710",
      "tree": "94b79a8b18bab6032ce8e241c7a56fe007cd587c",
      "parents": [
        "21564fd2a3deb48200b595332f9ed4c9f311f2a7"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] i386: Clean up ELF note generation\n\nThree cleanups:\n\n1: ELF notes are never mapped, so there\u0027s no need to have any access\nflags in their phdr.\n\n2: When generating them from asm, tell the assembler to use a SHT_NOTE\nsection type.  There doesn\u0027t seem to be a way to do this from C.\n\n3: Use ANSI rather than traditional cpp behaviour to stringify the\nmacro argument.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "21564fd2a3deb48200b595332f9ed4c9f311f2a7",
      "tree": "5dc7cc440d806d356876d97e288676524cf5e4e5",
      "parents": [
        "441d40dca024deb305a5e3d5003e8cd9d364d10f"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: Export paravirt_ops for non GPL modules too\n\nOtherwise non GPL modules cannot even do basic operations\nlike disabling interrupts anymore, which would be excessive.\n\nLonger term should split the single structure up into\ninternal and external symbols and not export the internal\nones at all.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "441d40dca024deb305a5e3d5003e8cd9d364d10f",
      "tree": "e6836e5e325aa717bca9fab4fa188b64a979261a",
      "parents": [
        "e0bb8643974397a8d36670e06e6a54bb84f3289f"
      ],
      "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: PARAVIRT: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\n\nThe other symbols used to delineate the alt-instructions sections have the\nform __foo/__foo_end.  Rename parainstructions to match.\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: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0bb8643974397a8d36670e06e6a54bb84f3289f",
      "tree": "196c6929fb8ccfe839f044a73be2f9861a88f175",
      "parents": [
        "eeef9c68aae2f4f21ab810d0339e0f22d30b0cd8"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "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 VMI timer to use clock events\n\nConvert VMI timer to use clock events, making it properly able to use the NO_HZ\ninfrastructure.  On UP systems, with no local APIC, we just continue to route\nthese events through the PIT.  On systems with a local APIC, or SMP, we provide\na single source interrupt chip which creates the local timer IRQ.  It actually\ngets delivered by the APIC hardware, but we don\u0027t want to use the same local\nAPIC clocksource processing, so we create our own handler here.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCC: Dan Hecht \u003cdhecht@vmware.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eeef9c68aae2f4f21ab810d0339e0f22d30b0cd8",
      "tree": "8f13bf2b617ac6c8cb3855fcc924e22bb4096197",
      "parents": [
        "9f53a729dbf0ba8abdc464f6eb828f485d3417f7"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "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: Implement vmi_kmap_atomic_pte\n\nImplement vmi_kmap_atomic_pte in terms of the backend set_linear_mapping\noperation.  The conversion is rather straighforward; call kmap_atomic\nand then inform the hypervisor of the page mapping.\n\nThe _flush_tlb damage is due to macros being pulled in from highmem.h.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "9f53a729dbf0ba8abdc464f6eb828f485d3417f7",
      "tree": "9f88f9baf4ad69210c153b6b6d36af359e0f2f80",
      "parents": [
        "18420001d6ceafbe094a6f911126c6eee34d25c4"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "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: Now that the VDSO can be relocated, we can support it in VMI configurations.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "18420001d6ceafbe094a6f911126c6eee34d25c4",
      "tree": "e7f7061b9ee4ebde22e93df09300e0e20efac06e",
      "parents": [
        "959b4fdfe7e27bcf101e2381e500e4076f2bb9ce"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "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: Clean up arch/i386/kernel/cpu/mcheck/p4.c\n\nNo, just no.  You do not use goto to skip a code block.  You do not\nreturn an obvious variable from a singly-inlined function and give\nthe function a return value.  You don\u0027t put unexplained comments\nabout kmalloc in code which doesn\u0027t do dynamic allocation.  And\nyou don\u0027t leave stray warnings around for no good reason.\n\nAlso, when possible, it is better to use block scoped variables\nbecause gcc can sometime generate better code.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "959b4fdfe7e27bcf101e2381e500e4076f2bb9ce",
      "tree": "65406ba086d3547ac1570639a8e7e42345191ed4",
      "parents": [
        "752783c050f1729452a89b2baea45b0124ac91c7"
      ],
      "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: PARAVIRT: Allow boot-time disable of paravirt_ops patching\n\nAdd \"noreplace-paravirt\" to disable paravirt_ops patching.\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\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "752783c050f1729452a89b2baea45b0124ac91c7",
      "tree": "ce7de3acb1bc02d21cba7c2de0a8ac317b51ff7a",
      "parents": [
        "57decbda6a2a7c400b2a3b3b12e52ccbdc977118"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "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: In compat mode, the return value here was uninitialized.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "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": "9ce8c2ed12550f90fd6e902990652b13df647793",
      "tree": "e4fbef8305cd99c3b619220eea0fd7706da45b91",
      "parents": [
        "c5413fbe894924ddb8aa474a4d4da52e7a6c7e0b"
      ],
      "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: map enough initial memory to create lowmem mappings\n\nhead.S creates the very initial pagetable for the kernel.  This just\nmaps enough space for the kernel itself, and an allocation bitmap.\nThe amount of mapped memory is rounded up to 4Mbytes, and so this\ntypically ends up mapping 8Mbytes of memory.\n\nWhen booting, pagetable_init() needs to create mappings for all\nlowmem, and the pagetables for these mappings are allocated from the\nfree pages around the kernel in low memory.  If the number of\npagetable pages + kernel size exceeds head.S\u0027s initial mapping, it\nwill end up faulting on an unmapped page.  This will only happen with\nspecific combinations of kernel size and memory size.\n\nThis patch makes sure that head.S also maps enough space to fit the\nkernel pagetables as well as the kernel itself.  It ends up using an\nadditional two pages of unreclaimable memory.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "39b7ee06859b07ca5fd4fabb44c4600316532574",
      "tree": "938d2e25cdf8068e9604dc40775aede665f6e98b",
      "parents": [
        "35c7422649ee7a3d0eb4ebd32c997eeb45f81046"
      ],
      "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] x86-64: deflate inflate_dynamic too\n\ninflate_dynamic() has piggy stack usage too, so heap allocate it too.\nI\u0027m not sure it actually gets used, but it shows up large in \"make\ncheckstack\".\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "35c7422649ee7a3d0eb4ebd32c997eeb45f81046",
      "tree": "8baebdb9aeb46844c7e9becc5a7699c47257f86d",
      "parents": [
        "4cdd9c8931767e1c56a51a1078d33a8c340f4405"
      ],
      "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] x86: deflate stack usage in lib/inflate.c\n\ninflate_fixed and huft_build together use around 2.7k of stack.  When\nusing 4k stacks, I saw stack overflows from interrupts arriving while\nunpacking the root initrd:\n\ndo_IRQ: stack overflow: 384\n [\u003cc0106b64\u003e] show_trace_log_lvl+0x1a/0x30\n [\u003cc01075e6\u003e] show_trace+0x12/0x14\n [\u003cc010763f\u003e] dump_stack+0x16/0x18\n [\u003cc0107ca4\u003e] do_IRQ+0x6d/0xd9\n [\u003cc010202b\u003e] xen_evtchn_do_upcall+0x6e/0xa2\n [\u003cc0106781\u003e] xen_hypervisor_callback+0x25/0x2c\n [\u003cc010116c\u003e] xen_restore_fl+0x27/0x29\n [\u003cc0330f63\u003e] _spin_unlock_irqrestore+0x4a/0x50\n [\u003cc0117aab\u003e] change_page_attr+0x577/0x584\n [\u003cc0117b45\u003e] kernel_map_pages+0x8d/0xb4\n [\u003cc016a314\u003e] cache_alloc_refill+0x53f/0x632\n [\u003cc016a6c2\u003e] __kmalloc+0xc1/0x10d\n [\u003cc0463d34\u003e] malloc+0x10/0x12\n [\u003cc04641c1\u003e] huft_build+0x2a7/0x5fa\n [\u003cc04645a5\u003e] inflate_fixed+0x91/0x136\n [\u003cc04657e2\u003e] unpack_to_rootfs+0x5f2/0x8c1\n [\u003cc0465acf\u003e] populate_rootfs+0x1e/0xe4\n\n(This was under Xen, but there\u0027s no reason it couldn\u0027t happen on bare\n  hardware.)\n\nThis patch mallocs the local variables, thereby reducing the stack\nusage to sane levels.\n\nAlso, up the heap size for the kernel decompressor to deal with the\nextra allocation.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Tim Yamin \u003cplasmaroo@gentoo.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.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": "7b2f27f4e1818fad980da7bea688dca2b9e9c3f3",
      "tree": "66c0a8c4a508eb679cd4ef9d1378c9542d5bbd05",
      "parents": [
        "ce6234b5298902aaec831a67d5f8d9bd2ef5a488"
      ],
      "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: flush lazy mmu updates on kunmap_atomic\n\nkunmap_atomic should flush any pending lazy mmu updates, mainly to be\nconsistent with kmap_atomic, and to preserve its normal behaviour.\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": "7f63c41c6c57371a0931da3940c6620c2301442c",
      "tree": "57e394455667c61213cfeea3c40c4dfcd1bd973d",
      "parents": [
        "4cdf6bc2476157f397f3b71a9bd4e23c7a7aaf80"
      ],
      "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: Remove CONFIG_DEBUG_PARAVIRT\n\nRemove CONFIG_DEBUG_PARAVIRT.  When inlining code, this option\nattempts to trash registers in the patch-site\u0027s \"clobber\" field, on\nthe grounds that this should find bugs with incorrect clobbers.\nUnfortunately, the clobber field really means \"registers modified by\nthis patch site\", which includes return values.\n\nBecause of this, this option has outlived its usefulness, so remove\nit.\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": "4cdf6bc2476157f397f3b71a9bd4e23c7a7aaf80",
      "tree": "1906eb86e6bff00e104ed4323f0cfde415b08fb4",
      "parents": [
        "a75c54f933bd8db9f4a609bd128663c179b3e6a1"
      ],
      "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] x86-64: update MAINTAINERS\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\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": "82d1bb725e128c97b362a4b33fcbfff08fdaaa5a",
      "tree": "18f66f80297624063b16c8c3a5c0e47f470b2c85",
      "parents": [
        "1c3d99c11c47c8a1a9ed6a46555dbf6520683c52"
      ],
      "author": {
        "name": "James Puthukattukaran",
        "email": "James.Puthukattukaran@sun.com",
        "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] x86-64: x86-64 system crashes when no memory populating Node 0\n\nI have a 4 socket AMD Operton system. The 2.6.18 kernel I have crashes\nwhen there is no memory in node0.\n\nAK: changed call to _nopanic\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": "1c3d99c11c47c8a1a9ed6a46555dbf6520683c52",
      "tree": "bf5b724aba16142aa1ca761a7dcfa958ccdd088f",
      "parents": [
        "b7fb4af06c18496950a45b365f7a09c47ea64c17"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "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] x86-64: Fix x86_64 compilation with DEBUG_SIG on\n\nSetting the DEBUG_SIG flag breaks compilation due to a wrong\nstruct access. Aditionally, it raises two warnings. This is one\npatch to fix them all.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    }
  ],
  "next": "b7fb4af06c18496950a45b365f7a09c47ea64c17"
}
