)]}'
{
  "commit": "8af088710d1eb3c980e0ef3779c8d47f3f217b48",
  "tree": "e122a2e65684f0a40d263ba73afe3d54a2c5993a",
  "parents": [
    "d762f4383100c2a87b1a3f2d678cd3b5425655b4"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "eric.dumazet@gmail.com",
    "time": "Tue May 24 11:12:58 2011 +0200"
  },
  "committer": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Tue May 24 12:10:51 2011 +0200"
  },
  "message": "posix-timers: RCU conversion\n\nBen Nagy reported a scalability problem with KVM/QEMU that hit very hard\na single spinlock (idr_lock) in posix-timers code, on its 48 core\nmachine.\n\nEven on a 16 cpu machine (2x4x2), a single test can show 98% of cpu time\nused in ticket_spin_lock, from lock_timer\n\nRef: http://www.spinics.net/lists/kvm/msg51526.html\n\nSwitching to RCU is quite easy, IDR being already RCU ready. idr_lock\nshould be locked only for an insert/delete, not a lookup.\n\nBenchmark on a 2x4x2 machine, 16 processes calling timer_gettime().\n\nBefore :\n\nreal    1m18.669s\nuser    0m1.346s\nsys     1m17.180s\n\nAfter :\n\nreal    0m3.296s\nuser    0m1.366s\nsys     0m1.926s\n\nReported-by: Ben Nagy \u003cben@iagu.net\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Ben Nagy \u003cben@iagu.net\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "808227d40a645a7cabf83cb0d0c10cc04e2ac86d",
      "old_mode": 33188,
      "old_path": "include/linux/posix-timers.h",
      "new_id": "959c14132f465f8f3d0f5f61cd6d2701c252ae30",
      "new_mode": 33188,
      "new_path": "include/linux/posix-timers.h"
    },
    {
      "type": "modify",
      "old_id": "a1b5edf1bf92b6890f0bcb2b872e6bcc001d728e",
      "old_mode": 33188,
      "old_path": "kernel/posix-timers.c",
      "new_id": "4556182527f38fe88dba74dd753cec5ed0112785",
      "new_mode": 33188,
      "new_path": "kernel/posix-timers.c"
    }
  ]
}
