)]}'
{
  "commit": "08ec0c58fb8a05d3191d5cb6f5d6f81adb419798",
  "tree": "9dd292575c8b349300ba837a8103cbd9235a5b4f",
  "parents": [
    "b0f969009f647cd473c5e559aeec9c4229d12f87"
  ],
  "author": {
    "name": "John Stultz",
    "email": "johnstul@us.ibm.com",
    "time": "Tue Jul 27 17:00:00 2010 -0700"
  },
  "committer": {
    "name": "John Stultz",
    "email": "john.stultz@linaro.org",
    "time": "Thu Dec 02 16:48:37 2010 -0800"
  },
  "message": "x86: Improve TSC calibration using a delayed workqueue\n\nBoot to boot the TSC calibration may vary by quite a large amount.\n\nWhile normal variance of 50-100ppm can easily be seen, the quick\ncalibration code only requires 500ppm accuracy, which is the limit\nof what NTP can correct for.\n\nThis can cause problems for systems being used as NTP servers, as\nevery time they reboot it can take hours for them to calculate the\nnew drift error caused by the calibration.\n\nThe classic trade-off here is calibration accuracy vs slow boot times,\nas during the calibration nothing else can run.\n\nThis patch uses a delayed workqueue  to calibrate the TSC over the\nperiod of a second. This allows very accurate calibration (in my\ntests only varying by 1khz or 0.4ppm boot to boot). Additionally this\nrefined calibration step does not block the boot process, and only\ndelays the TSC clocksoure registration by a few seconds in early boot.\nIf the refined calibration strays 1% from the early boot calibration\nvalue, the system will fall back to already calculated early boot\ncalibration.\n\nCredit to Andi Kleen who suggested using a timer quite awhile back,\nbut I dismissed it thinking the timer calibration would be done after\nthe clocksource was registered (which would break things). Forgive\nme for my short-sightedness.\n\nThis patch has worked very well in my testing, but TSC hardware is\nquite varied so it would probably be good to get some extended\ntesting, possibly pushing inclusion out to 2.6.39.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1289003985-29060-1-git-send-email-johnstul@us.ibm.com\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCC: Clark Williams \u003cwilliams@redhat.com\u003e\nCC: Andi Kleen \u003candi@firstfloor.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bb64beb301d982a7653af75b45c4195d0daecd91",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/tsc.c",
      "new_id": "dc1393e7cbfb2dfa231c2e5b922ee3dba1f39e1c",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/tsc.c"
    }
  ]
}
