)]}'
{
  "commit": "bcbfdd01dce5556a952fae84ef16fd0f12525e7b",
  "tree": "d674b23e7a573c6e5234acb5e914fc60e581594a",
  "parents": [
    "0497b489b8255054f113fd31faeb72f6dbc50a68"
  ],
  "author": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Tue Apr 11 15:50:41 2017 -0700"
  },
  "committer": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Fri Apr 21 05:59:27 2017 -0700"
  },
  "message": "rcu: Make non-preemptive schedule be Tasks RCU quiescent state\n\nCurrently, a call to schedule() acts as a Tasks RCU quiescent state\nonly if a context switch actually takes place.  However, just the\ncall to schedule() guarantees that the calling task has moved off of\nwhatever tracing trampoline that it might have been one previously.\nThis commit therefore plumbs schedule()\u0027s \"preempt\" parameter into\nrcu_note_context_switch(), which then records the Tasks RCU quiescent\nstate, but only if this call to schedule() was -not- due to a preemption.\n\nTo avoid adding overhead to the common-case context-switch path,\nthis commit hides the rcu_note_context_switch() check under an existing\nnon-common-case check.\n\nSuggested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e6146d0074f8f724f2812e57dc654f5167dbf4a2",
      "old_mode": 33188,
      "old_path": "include/linux/rcupdate.h",
      "new_id": "f531b29207da0636c366cd7305c2516a9928b8d6",
      "new_mode": 33188,
      "new_path": "include/linux/rcupdate.h"
    },
    {
      "type": "modify",
      "old_id": "5219be250f00b53d4c8e3ee17616729fe30e6e5e",
      "old_mode": 33188,
      "old_path": "include/linux/rcutiny.h",
      "new_id": "74d9c3a1feeec494b693501c6ec976c9dd487186",
      "new_mode": 33188,
      "new_path": "include/linux/rcutiny.h"
    },
    {
      "type": "modify",
      "old_id": "63a4e4cf40a54315705cec804c8f065bdcf2cdbb",
      "old_mode": 33188,
      "old_path": "include/linux/rcutree.h",
      "new_id": "0bacb6b2af6973681b3724a9e4d4311daf730c30",
      "new_mode": 33188,
      "new_path": "include/linux/rcutree.h"
    },
    {
      "type": "modify",
      "old_id": "3c23435d2083ea26394751b273e144c5717f2fd4",
      "old_mode": 33188,
      "old_path": "kernel/rcu/tree.c",
      "new_id": "891d97109e09e79f22081d11fd8b1db29fb72137",
      "new_mode": 33188,
      "new_path": "kernel/rcu/tree.c"
    },
    {
      "type": "modify",
      "old_id": "c5df0d7569009c3e2175a19a546742896390a45e",
      "old_mode": 33188,
      "old_path": "kernel/rcu/update.c",
      "new_id": "273e869ca21d546b5457987bd676f70c08bba5f3",
      "new_mode": 33188,
      "new_path": "kernel/rcu/update.c"
    },
    {
      "type": "modify",
      "old_id": "3b31fc05a0f1e45be5985b860a5fde95ee969832",
      "old_mode": 33188,
      "old_path": "kernel/sched/core.c",
      "new_id": "2adf7b6c04e7495b0e0d2459a83cafe9641e5afc",
      "new_mode": 33188,
      "new_path": "kernel/sched/core.c"
    }
  ]
}
