)]}'
{
  "log": [
    {
      "commit": "34596dc9e59d7bece16fe5aba08116b49465da26",
      "tree": "75e09786a8ff8db3a69a5c82663f97d317e59e46",
      "parents": [
        "120b114237e2461fb4fa437c5c37edf014c916b9"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Sep 30 01:47:55 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Sat Sep 30 01:47:55 2006 +0200"
      },
      "message": "[PATCH] Define vsyscall cache as blob to make clearer that user space shouldn\u0027t use it\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c08c820508233b424deab3302bc404bbecc6493a",
      "tree": "d6ed79fb2d03513f6c71fc7e47705c4a19512f53",
      "parents": [
        "a670fad0adb1cc6202a607d250f10bd380593905"
      ],
      "author": {
        "name": "Vojtech Pavlik",
        "email": "vojtech@suse.cz",
        "time": "Tue Sep 26 10:52:28 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:28 2006 +0200"
      },
      "message": "[PATCH] Add the vgetcpu vsyscall\n\nThis patch adds a vgetcpu vsyscall, which depending on the CPU RDTSCP\ncapability uses either the RDTSCP or CPUID to obtain a CPU and node\nnumbers and pass them to the program.\n\nAK: Lots of changes over Vojtech\u0027s original code:\nBetter prototype for vgetcpu()\nIt\u0027s better to pass the cpu / node numbers as separate arguments\nto avoid mistakes when going from SMP to NUMA.\nAlso add a fast time stamp based cache using a user supplied\nargument to speed things more up.\nUse fast method from Chuck Ebbert to retrieve node/cpu from\nGDT limit instead of CPUID\nMade sure RDTSCP init is always executed after node is known.\nDrop printk\n\nSigned-off-by: Vojtech Pavlik \u003cvojtech@suse.cz\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    }
  ]
}
