)]}'
{
  "commit": "2b8a0cf4890d7537a77b51caa8f508e4a05a0e67",
  "tree": "a591ef66a6340bf03e6380b6f2aa76ef2fc45ce2",
  "parents": [
    "af52a90a14cdaa54ecbfb6e6982abb13466a4b56"
  ],
  "author": {
    "name": "Steven Rostedt",
    "email": "rostedt@goodmis.org",
    "time": "Mon Jul 07 19:49:41 2008 -0400"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Fri Jul 11 15:53:26 2008 +0200"
  },
  "message": "sched_clock: fix calculation of other CPU\n\nThe algorithm to calculate the \u0027now\u0027 of another CPU is not correct.\nAt each scheduler tick, each CPU records the last sched_clock and\ngtod (tick_raw and tick_gtod respectively). If the TSC is somewhat the\nsame in speed between two clocks the algorithm would be:\n\n  tick_gtod1 + (now1 - tick_raw1) \u003d tick_gtod2 + (now2 - tick_raw2)\n\nTo calculate now2 we would have:\n\n  now2 \u003d (tick_gtod1 - tick_gtod2) + (tick_raw2 - tick_raw1) + now1\n\nCurrently the algorithm is:\n\n  now2 \u003d (tick_gtod1 - tick_gtod2) + (tick_raw1 - tick_raw2) + now1\n\nThis solves most of the rest of the issues I\u0027ve had with timestamps in\nftace.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "97159e225a7755f2b1b6f7bef1b7ebb71ca72551",
      "old_mode": 33188,
      "old_path": "kernel/sched_clock.c",
      "new_id": "55fca1e9e12ac1fce4c4a7fd04f35866fde6a229",
      "new_mode": 33188,
      "new_path": "kernel/sched_clock.c"
    }
  ]
}
