)]}'
{
  "log": [
    {
      "commit": "77ef50a522717fa040636ee1017179ceba12ff62",
      "tree": "57b082ad5b314605d5d9dab50068737f324cae60",
      "parents": [
        "a656c8efb40a8700046df20da2195f8aa39ce38a"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Wed Jun 18 17:08:48 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Tue Jul 22 21:31:34 2008 +0200"
      },
      "message": "x86: consolidate header guards\n\nThis patch is the result of an automatic script that consolidates the\nformat of all the headers in include/asm-x86/.\n\nThe format:\n\n1. No leading underscore. Names with leading underscores are reserved.\n2. Pathname components are separated by two underscores. So we can\n   distinguish between mm_types.h and mm/types.h.\n3. Everything except letters and numbers are turned into single\n   underscores.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "96a388de5dc53a8b234b3fd41f3ae2cedc9ffd42",
      "tree": "d947a467aa2da3140279617bc4b9b101640d7bf4",
      "parents": [
        "27bd0c955648646abf2a353a8371d28c37bcd982"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:20:03 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:20:03 2007 +0200"
      },
      "message": "i386/x86_64: move headers to include/asm-x86\n\nMove the headers to include/asm-x86 and fixup the\nheader install make rules\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2aae950b21e4bc789d1fc6668faf67e8748300b7",
      "tree": "5777768cc2493695ec9f4000c14f3584b3db28fd",
      "parents": [
        "a586df067afe0580bb02b7a6312ca2afe49bba03"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Jul 21 17:10:01 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 18:37:08 2007 -0700"
      },
      "message": "x86_64: Add vDSO for x86-64 with gettimeofday/clock_gettime/getcpu\n\nThis implements new vDSO for x86-64.  The concept is similar\nto the existing vDSOs on i386 and PPC.  x86-64 has had static\nvsyscalls before,  but these are not flexible enough anymore.\n\nA vDSO is a ELF shared library supplied by the kernel that is mapped into\nuser address space.  The vDSO mapping is randomized for each process\nfor security reasons.\n\nDoing this was needed for clock_gettime, because clock_gettime\nalways needs a syscall fallback and having one at a fixed\naddress would have made buffer overflow exploits too easy to write.\n\nThe vdso can be disabled with vdso\u003d0\n\nIt currently includes a new gettimeofday implemention and optimized\nclock_gettime(). The gettimeofday implementation is slightly faster\nthan the one in the old vsyscall.  clock_gettime is significantly faster\nthan the syscall for CLOCK_MONOTONIC and CLOCK_REALTIME.\n\nThe new calls are generally faster than the old vsyscall.\n\nAdvantages over the old x86-64 vsyscalls:\n- Extensible\n- Randomized\n- Cleaner\n- Easier to virtualize (the old static address range previously causes\noverhead e.g. for Xen because it has to create special page tables for it)\n\nWeak points:\n- glibc support still to be written\n\nThe VM interface is partly based on Ingo Molnar\u0027s i386 version.\n\nIncludes compile fix from Joachim Deguara\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
