)]}'
{
  "commit": "febdbfe8a91ce0d11939d4940b592eb0dba8d663",
  "tree": "5651dc5030d3cc43a0e852f60ca2627835ef194f",
  "parents": [
    "2ab08ee9f0a4eba27c7c4ce0b6d5118e8a18554b"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "peterz@infradead.org",
    "time": "Thu Feb 06 18:16:07 2014 +0100"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@kernel.org",
    "time": "Fri Apr 18 11:40:30 2014 +0200"
  },
  "message": "arch: Prepare for smp_mb__{before,after}_atomic()\n\nSince the smp_mb__{before,after}*() ops are fundamentally dependent on\nhow an arch can implement atomics it doesn\u0027t make sense to have 3\nvariants of them. They must all be the same.\n\nFurthermore, the 3 variants suggest they\u0027re only valid for those 3\natomic ops, while we have many more where they could be applied.\n\nSo move away from\nsmp_mb__{before,after}_{atomic,clear}_{dec,inc,bit}() and reduce the\ninterface to just the two: smp_mb__{before,after}_atomic().\n\nThis patch prepares the way by introducing default implementations in\nasm-generic/barrier.h that default to a full barrier and providing\n__deprecated inlines for the previous 6 barriers if they\u0027re not\nprovided by the arch.\n\nThis should allow for a mostly painless transition (lots of deprecated\nwarns in the interim).\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/n/tip-wr59327qdyi9mbzn6x937s4e@git.kernel.org\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: \"Chen, Gong\" \u003cgong.chen@linux.intel.com\u003e\nCc: John Sullivan \u003cjsrhbz@kanargh.force9.co.uk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Mauro Carvalho Chehab \u003cm.chehab@samsung.com\u003e\nCc: Srinivas Pandruvada \u003csrinivas.pandruvada@linux.intel.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: linux-arch@vger.kernel.org\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "33bd2de3bc1e930da34dcb8b6007825807ddacb3",
      "old_mode": 33188,
      "old_path": "include/asm-generic/atomic.h",
      "new_id": "9c79e7603459ede5f3b1a89046d353e6f295771c",
      "new_mode": 33188,
      "new_path": "include/asm-generic/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "6f692f8ac664565eda7f0e2f7a551d1f5ebc1df4",
      "old_mode": 33188,
      "old_path": "include/asm-generic/barrier.h",
      "new_id": "1402fa855388985282ff05e157b3388e85114d92",
      "new_mode": 33188,
      "new_path": "include/asm-generic/barrier.h"
    },
    {
      "type": "modify",
      "old_id": "280ca7a96f75072d038f1e7e4b6a0b5ace27144e",
      "old_mode": 33188,
      "old_path": "include/asm-generic/bitops.h",
      "new_id": "dcdcacf2fd2b8da3831eff135b4719aeeaad16d6",
      "new_mode": 33188,
      "new_path": "include/asm-generic/bitops.h"
    },
    {
      "type": "modify",
      "old_id": "5b08a8540ecfc3e6bcb5bf8b6fbef4d19df93f55",
      "old_mode": 33188,
      "old_path": "include/linux/atomic.h",
      "new_id": "fef3a809e7cf04e6b7a41d81685782ec029638ce",
      "new_mode": 33188,
      "new_path": "include/linux/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "be5fd38bd5a05d83eaac250055defcccacafe054",
      "old_mode": 33188,
      "old_path": "include/linux/bitops.h",
      "new_id": "cbc5833fb2216ed1029bcfed5f6875ad0d311492",
      "new_mode": 33188,
      "new_path": "include/linux/bitops.h"
    },
    {
      "type": "modify",
      "old_id": "268a45ea238cc84f51ae7612bf0ba3c531b9887f",
      "old_mode": 33188,
      "old_path": "kernel/sched/core.c",
      "new_id": "8a70ec091760c7c1e93f0c462e6b0bfcfdaf4b1f",
      "new_mode": 33188,
      "new_path": "kernel/sched/core.c"
    }
  ]
}
