)]}'
{
  "commit": "464d1a78fbf8cf6c7fd970e7b3e2db50a320ce28",
  "tree": "536d8a92976e675b484b35dec88d40c97fab8ac8",
  "parents": [
    "54413927f022292aeccadd268fbf1c0b42129945"
  ],
  "author": {
    "name": "Jeremy Fitzhardinge",
    "email": "jeremy@goop.org",
    "time": "Tue Feb 13 13:26:20 2007 +0100"
  },
  "committer": {
    "name": "Andi Kleen",
    "email": "andi@basil.nowhere.org",
    "time": "Tue Feb 13 13:26:20 2007 +0100"
  },
  "message": "[PATCH] i386: Convert i386 PDA code to use %fs\n\nConvert the PDA code to use %fs rather than %gs as the segment for\nper-processor data.  This is because some processors show a small but\nmeasurable performance gain for reloading a NULL segment selector (as %fs\ngenerally is in user-space) versus a non-NULL one (as %gs generally is).\n\nOn modern processors the difference is very small, perhaps undetectable.\nSome old AMD \"K6 3D+\" processors are noticably slower when %fs is used\nrather than %gs; I have no idea why this might be, but I think they\u0027re\nsufficiently rare that it doesn\u0027t matter much.\n\nThis patch also fixes the math emulator, which had not been adjusted to\nmatch the changed struct pt_regs.\n\n[frederik.deweerdt@gmail.com: fixit with gdb]\n[mingo@elte.hu: Fix KVM too]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Ian Campbell \u003cIan.Campbell@XenSource.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1b2f3cd332707f7fd6beb0e6fdf7b0a4149eb5ad",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/asm-offsets.c",
      "new_id": "c37535163bfc1624bb069f85743a87211972b202",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/asm-offsets.c"
    },
    {
      "type": "modify",
      "old_id": "8a8bbdaaf38aba279fa3df1672f05a0cdc5253cb",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/cpu/common.c",
      "new_id": "dcbbd0a8bfc2b8b5aa29ce1b7d4b1b78dd47b4e2",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/cpu/common.c"
    },
    {
      "type": "modify",
      "old_id": "5e47683fc63ae736e25d30e83aef093965cdc17d",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/entry.S",
      "new_id": "8c6a22a42d2ec499efcc858c1d4639dd04a0f30b",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/entry.S"
    },
    {
      "type": "modify",
      "old_id": "cb9abdfced9bbf8ba8f0b6d6858a384d957bdfaa",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/head.S",
      "new_id": "15336c8b5960ff62b061c742dc315c3d53853a5d",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/head.S"
    },
    {
      "type": "modify",
      "old_id": "af1d53344993cac32221d7209bf853bed4f5febc",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/kprobes.c",
      "new_id": "b85cfa3ce1dd8e1f65db5cc010f95440bc49a0f9",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/kprobes.c"
    },
    {
      "type": "modify",
      "old_id": "c641056233a60a2bffaff12edae8773018019945",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/process.c",
      "new_id": "23ae198dbbc31b4ee8cddce0ff818216a0d31dd1",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/process.c"
    },
    {
      "type": "modify",
      "old_id": "af8aabe8580034970071a8ddb57630fbc619ace9",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/ptrace.c",
      "new_id": "4a8f8a2597233d06316afa6463d9e1eabdd9592e",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/ptrace.c"
    },
    {
      "type": "modify",
      "old_id": "65d7620eaa093756e083ed5d0f9786ccfc1bd917",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/signal.c",
      "new_id": "8f4afcc7d2ab99fc28a8f393dd3f30ad7dad1644",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/signal.c"
    },
    {
      "type": "modify",
      "old_id": "0efad8aeb41af86849ac3b8e6b667d6603f4f594",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/traps.c",
      "new_id": "4ec21037a361c51edd3cce4777e42603b7182e96",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/traps.c"
    },
    {
      "type": "modify",
      "old_id": "be2f96e67f78d80c51ba6c1b9a5fde49563ff415",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/vm86.c",
      "new_id": "d1b8f2b7aea616c1902bfe616071f586c76f5bbd",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/vm86.c"
    },
    {
      "type": "modify",
      "old_id": "9819b705efa422af8c3f1ee5652fa0649f606811",
      "old_mode": 33188,
      "old_path": "arch/i386/math-emu/get_address.c",
      "new_id": "2e2c51a8bd3ae6d921167607977d9f25d2f75ae0",
      "new_mode": 33188,
      "new_path": "arch/i386/math-emu/get_address.c"
    },
    {
      "type": "modify",
      "old_id": "1e640b899175df4f178d5828e1d2025ed9551e57",
      "old_mode": 33188,
      "old_path": "drivers/kvm/vmx.c",
      "new_id": "fd4e91734388204a08e52d05fe0900920a48e866",
      "new_mode": 33188,
      "new_path": "drivers/kvm/vmx.c"
    },
    {
      "type": "modify",
      "old_id": "369035dfe4b6516c8b8b965729fc092500c41a65",
      "old_mode": 33188,
      "old_path": "include/asm-i386/elf.h",
      "new_id": "8d33c9bb7c1c208681421a322ba37899f54098f4",
      "new_mode": 33188,
      "new_path": "include/asm-i386/elf.h"
    },
    {
      "type": "modify",
      "old_id": "68ff102d6f5e9e19a92641ce43e40caff64a3e92",
      "old_mode": 33188,
      "old_path": "include/asm-i386/mmu_context.h",
      "new_id": "e6aa30f8de5b6d47666894711d39492b2774eaed",
      "new_mode": 33188,
      "new_path": "include/asm-i386/mmu_context.h"
    },
    {
      "type": "modify",
      "old_id": "2ba2736aa109833ef0cc4ae4819cbb4065ccbe95",
      "old_mode": 33188,
      "old_path": "include/asm-i386/pda.h",
      "new_id": "b12d59a318b7cc46d581e347713e1964a4503ba7",
      "new_mode": 33188,
      "new_path": "include/asm-i386/pda.h"
    },
    {
      "type": "modify",
      "old_id": "359f10b54f59ba7c99297dac910b73e4c0406796",
      "old_mode": 33188,
      "old_path": "include/asm-i386/processor.h",
      "new_id": "11bf899de8aa157dbe30e5b442f911ece82a0c91",
      "new_mode": 33188,
      "new_path": "include/asm-i386/processor.h"
    },
    {
      "type": "modify",
      "old_id": "bdbc894339b470b55fa6ed7848602bd8e5f4a071",
      "old_mode": 33188,
      "old_path": "include/asm-i386/ptrace.h",
      "new_id": "1646996c73dabdd1d1b297bd5d9c8fd996757636",
      "new_mode": 33188,
      "new_path": "include/asm-i386/ptrace.h"
    }
  ]
}
