)]}'
{
  "commit": "1a338ac32ca630f67df25b4a16436cccc314e997",
  "tree": "3291247c33c17376160821d19d1460c2da1da1a6",
  "parents": [
    "c2daa3bed53a81171cf8c1a36db798e82b91afe8"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "peterz@infradead.org",
    "time": "Wed Aug 14 14:51:00 2013 +0200"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@kernel.org",
    "time": "Wed Sep 25 14:23:07 2013 +0200"
  },
  "message": "sched, x86: Optimize the preempt_schedule() call\n\nRemove the bloat of the C calling convention out of the\npreempt_enable() sites by creating an ASM wrapper which allows us to\ndo an asm(\"call ___preempt_schedule\") instead.\n\ncalling.h bits by Andi Kleen\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-tk7xdi1cvvxewixzke8t8le1@git.kernel.org\n[ Fixed build error. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0fa67503391257d89d1b55016c07e97fba7fa667",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/calling.h",
      "new_id": "cb4c73bfeb48169056001d1c8426492a3ad4af79",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/calling.h"
    },
    {
      "type": "modify",
      "old_id": "1309942b95e52d7df08ff77d3aee2b099267e13f",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/preempt.h",
      "new_id": "1de41690ff997f677ec061581ab61f44f05075db",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/preempt.h"
    },
    {
      "type": "modify",
      "old_id": "a5408b965c9d810b19551ee42d0cd0ba16eda385",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/Makefile",
      "new_id": "9b0a34e2cd793dcb6cfe911a99d457b102296966",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/Makefile"
    },
    {
      "type": "modify",
      "old_id": "0fa69127209a4110f14f2e6ff0692a1ae863f1b3",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/i386_ksyms_32.c",
      "new_id": "05fd74f537d62122ade73f53dad17c97346c7a80",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/i386_ksyms_32.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ca7f0d58a87dc0bda2790122f56d2e6be3dd81bd",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/preempt.S"
    },
    {
      "type": "modify",
      "old_id": "b014d9414d085611db5d46cc8ee797d39a97ba90",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/x8664_ksyms_64.c",
      "new_id": "040681928e9d971670eb1bab49b1c86e115dd55d",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/x8664_ksyms_64.c"
    },
    {
      "type": "modify",
      "old_id": "82d958fc3823356ba76e1aa443c37e2386eb5435",
      "old_mode": 33188,
      "old_path": "include/asm-generic/preempt.h",
      "new_id": "5dc14ed3791c2afa42de87c8eb609ed997ed409c",
      "new_mode": 33188,
      "new_path": "include/asm-generic/preempt.h"
    },
    {
      "type": "modify",
      "old_id": "2343d87152996b3988a8406aabfc3625fb5723ed",
      "old_mode": 33188,
      "old_path": "include/linux/preempt.h",
      "new_id": "a3d9dc8c2c006a02cd7677a6e4a6ac10dac69910",
      "new_mode": 33188,
      "new_path": "include/linux/preempt.h"
    }
  ]
}
