)]}'
{
  "commit": "4873fa070ae84a4115f0b3c9dfabc224f1bc7c51",
  "tree": "84479277770c3f02a3580f6d93965fb39f71e1c5",
  "parents": [
    "f55a6faa384304c89cfef162768e88374d3312cb"
  ],
  "author": {
    "name": "John Stultz",
    "email": "johnstul@us.ibm.com",
    "time": "Tue Jul 10 18:43:20 2012 -0400"
  },
  "committer": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Wed Jul 11 23:34:37 2012 +0200"
  },
  "message": "timekeeping: Fix leapsecond triggered load spike issue\n\nThe timekeeping code misses an update of the hrtimer subsystem after a\nleap second happened. Due to that timers based on CLOCK_REALTIME are\neither expiring a second early or late depending on whether a leap\nsecond has been inserted or deleted until an operation is initiated\nwhich causes that update. Unless the update happens by some other\nmeans this discrepancy between the timekeeping and the hrtimer data\nstays forever and timers are expired either early or late.\n\nThe reported immediate workaround - $ data -s \"`date`\" - is causing a\ncall to clock_was_set() which updates the hrtimer data structures.\nSee: http://www.sheeri.com/content/mysql-and-leap-second-high-cpu-and-fix\n\nAdd the missing clock_was_set() call to update_wall_time() in case of\na leap second event. The actual update is deferred to softirq context\nas the necessary smp function call cannot be invoked from hard\ninterrupt context.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReported-by: Jan Engelhardt \u003cjengelh@inai.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1341960205-56738-3-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6f46a00a1e8a703118ab9d8be3905758f08185c8",
      "old_mode": 33188,
      "old_path": "kernel/time/timekeeping.c",
      "new_id": "a413e5940e064719e6cb715ab6b7847af4deffad",
      "new_mode": 33188,
      "new_path": "kernel/time/timekeeping.c"
    }
  ]
}
