)]}'
{
  "commit": "cba6d0d64ee53772b285d0c0c288deefbeaf7775",
  "tree": "b2d3de62d15a77d23708c1af6f188c86f0d87fb9",
  "parents": [
    "6887a4131da3adaab011613776d865f4bcfb5678"
  ],
  "author": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Mon Jul 02 07:08:42 2012 -0700"
  },
  "committer": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Mon Jul 02 11:39:19 2012 -0700"
  },
  "message": "Revert \"rcu: Move PREEMPT_RCU preemption to switch_to() invocation\"\n\nThis reverts commit 616c310e83b872024271c915c1b9ab505b9efad9.\n(Move PREEMPT_RCU preemption to switch_to() invocation).\nTesting by Sasha Levin \u003clevinsasha928@gmail.com\u003e showed that this\ncan result in deadlock due to invoking the scheduler when one of\nthe runqueue locks is held.  Because this commit was simply a\nperformance optimization, revert it.\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "88e466b159dcac92a13d81b5919b0a5487d63830",
      "old_mode": 33188,
      "old_path": "arch/um/drivers/mconsole_kern.c",
      "new_id": "43b39d61b538698229a23f654b7fb44a335187b3",
      "new_mode": 33188,
      "new_path": "arch/um/drivers/mconsole_kern.c"
    },
    {
      "type": "modify",
      "old_id": "26d1a47591f1534306160811967248ed9ecfcc12",
      "old_mode": 33188,
      "old_path": "include/linux/rcupdate.h",
      "new_id": "9cac722b169c9a1f5dbcae489d7b4c43a4fbe1a2",
      "new_mode": 33188,
      "new_path": "include/linux/rcupdate.h"
    },
    {
      "type": "modify",
      "old_id": "854dc4c5c27151adeaba69ddd98ac2b91831c1d4",
      "old_mode": 33188,
      "old_path": "include/linux/rcutiny.h",
      "new_id": "4e56a9c69a356ca73fcd06cf775f337276f77f2e",
      "new_mode": 33188,
      "new_path": "include/linux/rcutiny.h"
    },
    {
      "type": "modify",
      "old_id": "4059c0f33f07a7454d545753281898d92e2d657f",
      "old_mode": 33188,
      "old_path": "include/linux/sched.h",
      "new_id": "06a4c5f4f55c0c1a592993b5155e289d033e9b67",
      "new_mode": 33188,
      "new_path": "include/linux/sched.h"
    },
    {
      "type": "modify",
      "old_id": "38ecdda3f55f6b3e503cf12e447c1801ae3c2812",
      "old_mode": 33188,
      "old_path": "kernel/rcutree.c",
      "new_id": "4b97bba7396e6194db4bf5b644ef8b5a1997c974",
      "new_mode": 33188,
      "new_path": "kernel/rcutree.c"
    },
    {
      "type": "modify",
      "old_id": "ea056495783e1a09c482802bd2e66d0c863c8a35",
      "old_mode": 33188,
      "old_path": "kernel/rcutree.h",
      "new_id": "19b61ac1079f825702a7f17ae7d8dec88756c141",
      "new_mode": 33188,
      "new_path": "kernel/rcutree.h"
    },
    {
      "type": "modify",
      "old_id": "5271a020887e6ea515aa29c9f52f9f612d9056ac",
      "old_mode": 33188,
      "old_path": "kernel/rcutree_plugin.h",
      "new_id": "3e4899459f3d9d7177ee67d41b8ea1121ddb9540",
      "new_mode": 33188,
      "new_path": "kernel/rcutree_plugin.h"
    },
    {
      "type": "modify",
      "old_id": "d5594a4268d4a5bb531bcf86dfc66fe359e7c956",
      "old_mode": 33188,
      "old_path": "kernel/sched/core.c",
      "new_id": "eaead2df6aa8f19f70da1b8ae3758bfa15fc2ea2",
      "new_mode": 33188,
      "new_path": "kernel/sched/core.c"
    }
  ]
}
