)]}'
{
  "log": [
    {
      "commit": "95694129b43165911dc4e8a972f0d39ad98d86be",
      "tree": "a7faf4b70c85b457f684cbc1033ac5b79457c2e9",
      "parents": [
        "b1a808ff436343956a6ae63178ea1810c5e5a3a1",
        "80da6a4feeb9e4d6554f771f14f5b994e6c6c7e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 14:41:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 14:41:43 2012 -0700"
      },
      "message": "Merge branch \u0027paul\u0027 (Fixups from Paul Gortmaker)\n\nThis merges some of the fixes from Paul Gortmaker for the header file\ncleanup fallout.\n\nSome of the patches are going through arch maintainer trees, and David\nHowells suggested another be done differently, but this at least fixes a\nfew cases.\n\n* emailed from Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e:\n  asm-generic: add linux/types.h to cmpxchg.h\n  firewire: restore the device.h include in linux/firewire.h\n  frv: fix warnings in mb93090-mb00/pci-dma.c about implicit EXPORT_SYMBOL\n  parisc: fix missing cmpxchg file error from system.h split\n  blackfin: fix cmpxchg build fails from system.h fallout\n  avr32: fix build failures from mis-naming of atmel_nand.h\n  ARM: mach-msm: fix compile fail from system.h fallout\n  irq_work: fix compile failure on MIPS from system.h split\n"
    },
    {
      "commit": "8f6b7676ceecc1f40df77d5a4d6a8bae87594a2d",
      "tree": "aaac7c2858dab9817af579f2ad39f2f18ce4dbd8",
      "parents": [
        "143418d0c87fda0c587205c45094d8b05222fd49",
        "5219a5342ab13650ae0f0c62319407268c48d0ab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 09:40:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 09:40:24 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto fixes from Herbert Xu:\n - Fix for CPU hotplug hang in padata.\n - Avoid using cpu_active inappropriately in pcrypt and padata.\n - Fix for user-space algorithm lookup hang with IV generators.\n - Fix for netlink dump of algorithms where stuff went missing due to\n   incorrect calculation of message size.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: user - Fix size of netlink dump message\n  crypto: user - Fix lookup of algorithms with IV generator\n  crypto: pcrypt - Use the online cpumask as the default\n  padata: Fix cpu hotplug\n  padata: Use the online cpumask as the default\n  padata: Add a reference to the api documentation\n"
    },
    {
      "commit": "deb74f5ca1f22f9e1c5da93143a250dbb96535af",
      "tree": "ee9eb01e5433ea50f3414a469521a4c1cfaccb7a",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928",
        "615399c84d1b8d8d8752629e5e5ab4e5044d6918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 08:53:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 08:53:24 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux\n\nPull cpumask cleanups from Rusty Russell:\n \"(Somehow forgot to send this out; it\u0027s been sitting in linux-next, and\n  if you don\u0027t want it, it can sit there another cycle)\"\n\nI\u0027m a sucker for things that actually delete lines of code.\n\nFix up trivial conflict in arch/arm/kernel/kprobes.c, where Rusty fixed\na user of \u0026cpu_online_map to be cpu_online_mask, but that code got\ndeleted by commit b21d55e98ac2 (\"ARM: 7332/1: extract out code patch\nfunction from kprobes\").\n\n* tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux:\n  cpumask: remove old cpu_*_map.\n  documentation: remove references to cpu_*_map.\n  drivers/cpufreq/db8500-cpufreq: remove references to cpu_*_map.\n  remove references to cpu_*_map in arch/\n"
    },
    {
      "commit": "83e3fa6f0193299f8b7180db588edd5ca61a3b82",
      "tree": "bb7298e580619fd3b7923364e3c4cd1e9d341972",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Apr 01 16:38:37 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 08:48:04 2012 -0700"
      },
      "message": "irq_work: fix compile failure on MIPS from system.h split\n\nBuilds of the MIPS platform ip32_defconfig fails as of commit\n0195c00244dc (\"Merge tag \u0027split-asm_system_h ...\") because MIPS xchg()\nmacro uses BUILD_BUG_ON and it was moved in commit b81947c646bf\n(\"Disintegrate asm/system.h for MIPS\").\n\nThe root cause is that the system.h split wasn\u0027t tested on a baseline\nwith commit 6c03438edeb5 (\"kernel.h: doesn\u0027t explicitly use bug.h, so\ndon\u0027t include it.\")\n\nSince this file uses BUG code in several other places besides the xchg\ncall, simply make the inclusion explicit.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f22e08a79f3765fecf060b225a46931c94fb0a92",
      "tree": "2f02777e8893d03289ec0a7f5f414f3ff01c8c37",
      "parents": [
        "f187e9fd68577cdd5f914659b6f7f11124e40485",
        "e3831edd59edf57ca11fc289f08961b20baf5146"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:35:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:35:31 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix incorrect usage of for_each_cpu_mask() in select_fallback_rq()\n  sched: Fix __schedule_bug() output when called from an interrupt\n  sched/arch: Introduce the finish_arch_post_lock_switch() scheduler callback\n"
    },
    {
      "commit": "f187e9fd68577cdd5f914659b6f7f11124e40485",
      "tree": "ad0e7422359724f7c7ffaaaa80dd3a7281f02a83",
      "parents": [
        "adb3b1f3fc1c6edb501808ebf80a81e81c52eb73",
        "8ebfdf2babcda5a3b06cc67523bca1f9aed46009"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:34:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:34:04 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates and fixes from Ingo Molnar:\n \"It\u0027s mostly fixes, but there\u0027s also two late items:\n\n   - preliminary GTK GUI support for perf report\n   - PMU raw event format descriptors in sysfs, to be parsed by tooling\n\n  The raw event format in sysfs is a new ABI.  For example for the \u0027CPU\u0027\n  PMU we have:\n\n    aldebaran:~\u003e ll /sys/bus/event_source/devices/cpu/format/*\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/any\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/cmask\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/edge\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/event\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/inv\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/offcore_rsp\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/pc\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/umask\n\n  those lists of fields contain a specific format:\n\n    aldebaran:~\u003e cat /sys/bus/event_source/devices/cpu/format/offcore_rsp\n    config1:0-63\n\n  So, those who wish to specify raw events can now use the following\n  event format:\n\n    -e cpu/cmask\u003d1,event\u003d2,umask\u003d3\n\n  Most people will not want to specify any events (let alone raw\n  events), they\u0027ll just use whatever default event the tools use.\n\n  But for more obscure PMU events that have no cross-architecture\n  generic events the above syntax is more usable and a bit more\n  structured than specifying hex numbers.\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)\n  perf tools: Remove auto-generated bison/flex files\n  perf annotate: Fix off by one symbol hist size allocation and hit accounting\n  perf tools: Add missing ref-cycles event back to event parser\n  perf annotate: addr2line wants addresses in same format as objdump\n  perf probe: Finder fails to resolve function name to address\n  tracing: Fix ent_size in trace output\n  perf symbols: Handle NULL dso in dso__name_len\n  perf symbols: Do not include libgen.h\n  perf tools: Fix bug in raw sample parsing\n  perf tools: Fix display of first level of callchains\n  perf tools: Switch module.h into export.h\n  perf: Move mmap page data_head offset assertion out of header\n  perf: Fix mmap_page capabilities and docs\n  perf diff: Fix to work with new hists design\n  perf tools: Fix modifier to be applied on correct events\n  perf tools: Fix various casting issues for 32 bits\n  perf tools: Simplify event_read_id exit path\n  tracing: Fix ftrace stack trace entries\n  tracing: Move the tracing_on/off() declarations into CONFIG_TRACING\n  perf report: Add a simple GTK2-based \u0027perf report\u0027 browser\n  ...\n"
    },
    {
      "commit": "e3831edd59edf57ca11fc289f08961b20baf5146",
      "tree": "70dfabd35517a97a1127df573d3770848f697e55",
      "parents": [
        "1f56ee7b68fecd45d25bdcf2eda7507797594424"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Fri Mar 30 19:40:28 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 31 10:43:36 2012 +0200"
      },
      "message": "sched: Fix incorrect usage of for_each_cpu_mask() in select_fallback_rq()\n\nThe function for_each_cpu_mask() expects a *pointer* to struct\ncpumask as its second argument, whereas select_fallback_rq()\npasses the value itself.\n\nAnd moreover, for_each_cpu_mask() has been marked as obselete\nin include/linux/cpumask.h. So move to the more appropriate\nfor_each_cpu() variant.\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Liu Chuansheng \u003cchuansheng.liu@intel.com\u003e\nCc: vapier@gentoo.org\nCc: rusty@rustcorp.com.au\nLink: http://lkml.kernel.org/r/4F75BED4.9050005@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f558c272386a0f7507cc8de7b6b5afc24d17fa9c",
      "tree": "5929476273509cfb26817fc1e06392e56c872e5f",
      "parents": [
        "3a0d1849432461eec1321f8918c6c13497d390c9",
        "f5cb92ac82d06cb583c1f66666314c5c0a4d7913"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:08:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:08:05 2012 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull genirq updates from Thomas Gleixner.\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value\n  genirq: Respect NUMA node affinity in setup_irq_irq affinity()\n  genirq: Get rid of unneeded force parameter in irq_finalize_oneshot()\n  genirq: Minor readablity improvement in irq_wake_thread()\n"
    },
    {
      "commit": "3a0d1849432461eec1321f8918c6c13497d390c9",
      "tree": "694bafcc856b38ba99eb2172c8c5b061cfa0d529",
      "parents": [
        "623ff7739e7c00fa3d55dbfd42a492a68298fd7a",
        "ec0c4274e33c0373e476b73e01995c53128f1257"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:07:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:07:13 2012 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core locking updates from Thomas Gleixner.\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  futex: Mark get_robust_list as deprecated\n  futex: Do not leak robust list to unprivileged process\n"
    },
    {
      "commit": "f5cb92ac82d06cb583c1f66666314c5c0a4d7913",
      "tree": "3553fcffceda28462137f73f3f81ccccc19c620b",
      "parents": [
        "241fc640be783f903e74b6d9c68481c01873f758"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "liuj97@gmail.com",
        "time": "Fri Mar 30 23:11:33 2012 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 30 23:13:46 2012 +0200"
      },
      "message": "genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value\n\nirq_move_masked_irq() checks the return code of\nchip-\u003eirq_set_affinity() only for 0, but IRQ_SET_MASK_OK_NOCOPY is\nalso a valid return code, which is there to avoid a redundant copy of\nthe cpumask. But in case of IRQ_SET_MASK_OK_NOCOPY we not only avoid\nthe redundant copy, we also fail to adjust the thread affinity of an\neventually threaded interrupt handler.\n\nHandle IRQ_SET_MASK_OK (\u003d\u003d0) and IRQ_SET_MASK_OK_NOCOPY(\u003d\u003d1) return\nvalues correctly by checking the valid return values seperately.\n\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: Jiang Liu \u003cliuj97@gmail.com\u003e\nCc: Keping Chen \u003cchenkeping@huawei.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1333120296-13563-2-git-send-email-jiang.liu@huawei.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1338631433d8de7cf85b7e8fcf1a389ad89e7a8f",
      "tree": "9877297064899da2ef7f6f50d16d05a1cf2f1719",
      "parents": [
        "4bde23f8751f388867766b0a62ed1ef8b7e01561",
        "8f121918f2e49f852de1acdc5255cc1ef440d85b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 22:33:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 22:33:10 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull urgent cgroup fix from Tejun Heo:\n \"Commit 61d1d219c4c0 (\u0027cgroup: remove extra calls to\n  find_existing_css_set\u0027) which was part of the rc1 cgroup pull request\n  made writes to the cgroup \"tasks\" file return an uninitialized retval\n  on success which can cause boot failures with systemd.\n\n  The change stayed in linux-next for quite some time but gcc\n  interestingly failed to emit warning about using uninitialized\n  variable and the problem seems to materialize only for certain build\n  combinations (probably depends on register allocation).\n\n  It\u0027s just missing local variable initialization and the fix is trivial\n  \u0026 safe.  As the problem is critical when it materializes, I\u0027m\n  fast-tracking it.  Also included is Li\u0027s email address change in\n  MAINTAINERS.\"\n\n* \u0027for-3.4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: cgroup_attach_task() could return -errno after success\n  cgroup: update MAINTAINERS entry\n"
    },
    {
      "commit": "8f121918f2e49f852de1acdc5255cc1ef440d85b",
      "tree": "552dbbc407189e45b6941cf117b39681dc1f7e40",
      "parents": [
        "ad50c15919e8aca7ea30f9dcf4bac52448c9ab46"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Mar 29 22:03:33 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Mar 29 22:03:33 2012 -0700"
      },
      "message": "cgroup: cgroup_attach_task() could return -errno after success\n\n61d1d219c4 \"cgroup: remove extra calls to find_existing_css_set\" made\ncgroup_task_migrate() return void.  An unfortunate side effect was\nthat cgroup_attach_task() was depending on that function\u0027s return\nvalue to clear its @retval on the success path.  On cgroup mounts\nwithout any subsystem with -\u003ecan_attach() callback,\ncgroup_attach_task() ended up returning @retval without initializing\nit on success.\n\nFor some reason, gcc failed to warn about it and it didn\u0027t cause\ncgroup_attach_task() to return non-zero value in many cases, probably\ndue to difference in register allocation.  When the problem\nmaterializes, systemd fails to populate /systemd cgroup mount and\nfails to boot.\n\nFix it by initializing @retval to zero on declaration.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nLKML-Reference: \u003calpine.LNX.2.00.1203282354440.25526@pobox.suse.cz\u003e\nReviewed-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "a591afc01d9e48affbacb365558a31e53c85af45",
      "tree": "9bb91f4eb94ec69fc4706c4944788ec5f3586063",
      "parents": [
        "820d41cf0cd0e94a5661e093821e2e5c6b36a9d8",
        "31796ac4e8f0e88f5c10f1ad6dab8f19bebe44a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:12:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:12:23 2012 -0700"
      },
      "message": "Merge branch \u0027x86-x32-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x32 support for x86-64 from Ingo Molnar:\n \"This tree introduces the X32 binary format and execution mode for x86:\n  32-bit data space binaries using 64-bit instructions and 64-bit kernel\n  syscalls.\n\n  This allows applications whose working set fits into a 32 bits address\n  space to make use of 64-bit instructions while using a 32-bit address\n  space with shorter pointers, more compressed data structures, etc.\"\n\nFix up trivial context conflicts in arch/x86/{Kconfig,vdso/vma.c}\n\n* \u0027x86-x32-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)\n  x32: Fix alignment fail in struct compat_siginfo\n  x32: Fix stupid ia32/x32 inversion in the siginfo format\n  x32: Add ptrace for x32\n  x32: Switch to a 64-bit clock_t\n  x32: Provide separate is_ia32_task() and is_x32_task() predicates\n  x86, mtrr: Use explicit sizing and padding for the 64-bit ioctls\n  x86/x32: Fix the binutils auto-detect\n  x32: Warn and disable rather than error if binutils too old\n  x32: Only clear TIF_X32 flag once\n  x32: Make sure TS_COMPAT is cleared for x32 tasks\n  fs: Remove missed -\u003efds_bits from cessation use of fd_set structs internally\n  fs: Fix close_on_exec pointer in alloc_fdtable\n  x32: Drop non-__vdso weak symbols from the x32 VDSO\n  x32: Fix coding style violations in the x32 VDSO code\n  x32: Add x32 VDSO support\n  x32: Allow x32 to be configured\n  x32: If configured, add x32 system calls to system call tables\n  x32: Handle process creation\n  x32: Signal-related system calls\n  x86: Add #ifdef CONFIG_COMPAT to \u003casm/sys_ia32.h\u003e\n  ...\n"
    },
    {
      "commit": "12679a2d7e3bfbdc7586e3e86d1ca90c46659363",
      "tree": "d9c00f2e599d1c3e04a349229a6a19906d01f99e",
      "parents": [
        "1c036588772d01655d851f75dffc27c971e072e2",
        "b0df89868006517417251e02cc4ce5d4b0165885"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 16:53:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 16:53:48 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull more ARM updates from Russell King.\n\nThis got a fair number of conflicts with the \u003casm/system.h\u003e split, but\nalso with some other sparse-irq and header file include cleanups.  They\nall looked pretty trivial, though.\n\n* \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm: (59 commits)\n  ARM: fix Kconfig warning for HAVE_BPF_JIT\n  ARM: 7361/1: provide XIP_VIRT_ADDR for no-MMU builds\n  ARM: 7349/1: integrator: convert to sparse irqs\n  ARM: 7259/3: net: JIT compiler for packet filters\n  ARM: 7334/1: add jump label support\n  ARM: 7333/2: jump label: detect %c support for ARM\n  ARM: 7338/1: add support for early console output via semihosting\n  ARM: use set_current_blocked() and block_sigmask()\n  ARM: exec: remove redundant set_fs(USER_DS)\n  ARM: 7332/1: extract out code patch function from kprobes\n  ARM: 7331/1: extract out insn generation code from ftrace\n  ARM: 7330/1: ftrace: use canonical Thumb-2 wide instruction format\n  ARM: 7351/1: ftrace: remove useless memory checks\n  ARM: 7316/1: kexec: EOI active and mask all interrupts in kexec crash path\n  ARM: Versatile Express: add NO_IOPORT\n  ARM: get rid of asm/irq.h in asm/prom.h\n  ARM: 7319/1: Print debug info for SIGBUS in user faults\n  ARM: 7318/1: gic: refactor irq_start assignment\n  ARM: 7317/1: irq: avoid NULL check in for_each_irq_desc loop\n  ARM: 7315/1: perf: add support for the Cortex-A7 PMU\n  ...\n"
    },
    {
      "commit": "7fda0412c5f7afdd1a5ff518f98dee5157266d8a",
      "tree": "d312af46758fa9b59431a479d258b54184a00591",
      "parents": [
        "6b8212a313dae341ef3a2e413dfec5c4dea59617",
        "160594e99dbbb0a5600ad922c630952c7c1c14bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:46:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:46:05 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  cpusets: Remove an unused variable\n  sched/rt: Improve pick_next_highest_task_rt()\n  sched: Fix select_fallback_rq() vs cpu_active/cpu_online\n  sched/x86/smp: Do not enable IRQs over calibrate_delay()\n  sched: Fix compiler warning about declared inline after use\n  MAINTAINERS: Update email address for SCHEDULER and PERF EVENTS\n"
    },
    {
      "commit": "6b8212a313dae341ef3a2e413dfec5c4dea59617",
      "tree": "bbca09d88f61f999c7714fe82710bdfe6ee0e98b",
      "parents": [
        "bcd550745fc54f789c14e7526e0633222c505faa",
        "8abc3122aa02567bfe626cd13f4d34853c9b1225"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:28:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:28:26 2012 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 updates from Ingo Molnar.\n\nThis touches some non-x86 files due to the sanitized INLINE_SPIN_UNLOCK\nconfig usage.\n\nFixed up trivial conflicts due to just header include changes (removing\nheaders due to cpu_idle() merge clashing with the \u003casm/system.h\u003e split).\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/apic/amd: Be more verbose about LVT offset assignments\n  x86, tls: Off by one limit check\n  x86/ioapic: Add io_apic_ops driver layer to allow interception\n  x86/olpc: Add debugfs interface for EC commands\n  x86: Merge the x86_32 and x86_64 cpu_idle() functions\n  x86/kconfig: Remove CONFIG_TR\u003dy from the defconfigs\n  x86: Stop recursive fault in print_context_stack after stack overflow\n  x86/io_apic: Move and reenable irq only when CONFIG_GENERIC_PENDING_IRQ\u003dy\n  x86/apic: Add separate apic_id_valid() functions for selected apic drivers\n  locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage\n  x86/kconfig: Update defconfigs\n  x86: Fix excessive MSR print out when show_msr is not specified\n"
    },
    {
      "commit": "bcd550745fc54f789c14e7526e0633222c505faa",
      "tree": "c3fe11a6503b7ffdd4406a9fece5c40b3e2a3f6d",
      "parents": [
        "93f378883cecb9dcb2cf5b51d9d24175906659da",
        "646783a389828e76e813f50791f7999429c821bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:16:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:16:48 2012 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer core updates from Thomas Gleixner.\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ia64: vsyscall: Add missing paranthesis\n  alarmtimer: Don\u0027t call rtc_timer_init() when CONFIG_RTC_CLASS\u003dn\n  x86: vdso: Put declaration before code\n  x86-64: Inline vdso clock_gettime helpers\n  x86-64: Simplify and optimize vdso clock_gettime monotonic variants\n  kernel-time: fix s/then/than/ spelling errors\n  time: remove no_sync_cmos_clock\n  time: Avoid scary backtraces when warning of \u003e 11% adj\n  alarmtimer: Make sure we initialize the rtctimer\n  ntp: Fix leap-second hrtimer livelock\n  x86, tsc: Skip refined tsc calibration on systems with reliable TSC\n  rtc: Provide flag for rtc devices that don\u0027t support UIE\n  ia64: vsyscall: Use seqcount instead of seqlock\n  x86: vdso: Use seqcount instead of seqlock\n  x86: vdso: Remove bogus locking in update_vsyscall_tz()\n  time: Remove bogus comments\n  time: Fix change_clocksource locking\n  time: x86: Fix race switching from vsyscall to non-vsyscall clock\n"
    },
    {
      "commit": "092b2fb0766e7a0bf2e50d9cdd7d3b6bb5d12e19",
      "tree": "dafeb26d9e12262c602469a2bc7e5484ab1ce188",
      "parents": [
        "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Mar 29 14:10:30 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Mar 29 14:31:02 2012 -0600"
      },
      "message": "irqdomain: Remove powerpc dependency from debugfs file\n\nThe debugfs code is really generic for all platforms.  This patch removes the\npowerpc-specific directory reference and makes it available to all\narchitectures.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "9612090527526a15832480c48b1f4b39e93e8a35",
      "tree": "d34a4459c33251ed9dbcb395eb41dce790b9b75e",
      "parents": [
        "13614e0fb1a8840c134be35c179ff23e23676304"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Mar 28 08:44:07 2012 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Mar 29 19:52:46 2012 +0800"
      },
      "message": "padata: Fix cpu hotplug\n\nWe don\u0027t remove the cpu that went offline from our cpumasks\non cpu hotplug. This got lost somewhere along the line, so\nrestore it. This fixes a hang of the padata instance on cpu\nhotplug.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "13614e0fb1a8840c134be35c179ff23e23676304",
      "tree": "e9fb16b0d3840562ebe5b5a8f2eb6e37f9e26a8d",
      "parents": [
        "107f8bdac992356b3a80d41c9f6ff4399159aa81"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Mar 28 08:43:21 2012 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Mar 29 19:52:46 2012 +0800"
      },
      "message": "padata: Use the online cpumask as the default\n\nWe use the active cpumask to determine the superset of cpus\nto use for parallelization. However, the active cpumask is\nfor internal usage of the scheduler and therefore not the\nappropriate cpumask for these purposes. So use the online\ncpumask instead.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "107f8bdac992356b3a80d41c9f6ff4399159aa81",
      "tree": "7eae814e5a38514d12aea5aba0896cb6cf40697e",
      "parents": [
        "6a76a6992341faab0ef31e7d97000e0cf336d0ba"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Mar 28 08:42:34 2012 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Mar 29 19:52:45 2012 +0800"
      },
      "message": "padata: Add a reference to the api documentation\n\nAdd a reference to the padata api documentation at Documentation/padata.txt\n\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "1f56ee7b68fecd45d25bdcf2eda7507797594424",
      "tree": "782ec71491cdfb0ce5d5117428be6c3af7070207",
      "parents": [
        "6135fc1eb4b1c9ae5f535507ed59591bab51e630",
        "01f23e1630d944f7085cd8fd5793e31ea91c03d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 29 12:48:15 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 29 12:48:22 2012 +0200"
      },
      "message": "Merge branch \u0027sched/arch\u0027 into sched/urgent\n\nMerge reason: It has not gone upstream via the ARM tree, merge it via\n              the scheduler tree.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec0c4274e33c0373e476b73e01995c53128f1257",
      "tree": "9a73585bde46f22b3896191efe57393d19966b32",
      "parents": [
        "bdbb776f882f5ad431aa1e694c69c1c3d6a4a5b8"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Fri Mar 23 12:08:55 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:37:17 2012 +0200"
      },
      "message": "futex: Mark get_robust_list as deprecated\n\nNotify get_robust_list users that the syscall is going away.\n\nSuggested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Darren Hart \u003cdvhart@linux.intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: kernel-hardening@lists.openwall.com\nCc: spender@grsecurity.net\nLink: http://lkml.kernel.org/r/20120323190855.GA27213@www.outflux.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bdbb776f882f5ad431aa1e694c69c1c3d6a4a5b8",
      "tree": "854b6b5869857d40a02d21bb51b375812bdb2ed0",
      "parents": [
        "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Mon Mar 19 16:12:53 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:37:17 2012 +0200"
      },
      "message": "futex: Do not leak robust list to unprivileged process\n\nIt was possible to extract the robust list head address from a setuid\nprocess if it had used set_robust_list(), allowing an ASLR info leak. This\nchanges the permission checks to be the same as those used for similar\ninfo that comes out of /proc.\n\nRunning a setuid program that uses robust futexes would have had:\n  cred-\u003eeuid !\u003d pcred-\u003eeuid\n  cred-\u003eeuid \u003d\u003d pcred-\u003euid\nso the old permissions check would allow it. I\u0027m not aware of any setuid\nprograms that use robust futexes, so this is just a preventative measure.\n\n(This patch is based on changes from grsecurity.)\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Darren Hart \u003cdvhart@linux.intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: kernel-hardening@lists.openwall.com\nCc: spender@grsecurity.net\nLink: http://lkml.kernel.org/r/20120319231253.GA20893@www.outflux.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "241fc640be783f903e74b6d9c68481c01873f758",
      "tree": "253793b9f94721554c3aa2b286ca27052b3390e8",
      "parents": [
        "f3f79e38d51f8a419f4c484a86ece4baea35b993"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Mon Mar 26 15:02:18 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:31:53 2012 +0200"
      },
      "message": "genirq: Respect NUMA node affinity in setup_irq_irq affinity()\n\nWe respect node affinity of devices already in the irq descriptor\nallocation, but we ignore it for the initial interrupt affinity\nsetup, so the interrupt might be routed to a different node.\n\nRestrict the default affinity mask to the node on which the irq\ndescriptor is allocated.\n\n[ tglx: Massaged changelog ]\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nLink: http://lkml.kernel.org/r/1332788538-17425-1-git-send-email-prarit@redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f3f79e38d51f8a419f4c484a86ece4baea35b993",
      "tree": "ea1bd43fbd35efcf914b1717f7eca605478670a9",
      "parents": [
        "69592db298e400a7c175c4dfbe7a086c783f349d"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Wed Mar 21 17:22:35 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:31:53 2012 +0200"
      },
      "message": "genirq: Get rid of unneeded force parameter in irq_finalize_oneshot()\n\nThe only place irq_finalize_oneshot() is called with force parameter set\nis the threaded handler error exit path. But IRQTF_RUNTHREAD is dropped\nat this point and irq_wake_thread() is not going to set it again,\nsince PF_EXITING is set for this thread already. So irq_finalize_oneshot()\nwill drop the threads bit in threads_oneshot anyway and hence the force\nparameter is superfluous.\n\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120321162234.GP24806@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "69592db298e400a7c175c4dfbe7a086c783f349d",
      "tree": "cd6b3b24af6996612331ebf8cd9fb749c2d19f24",
      "parents": [
        "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Wed Mar 21 17:22:13 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:31:52 2012 +0200"
      },
      "message": "genirq: Minor readablity improvement in irq_wake_thread()\n\nexit_irq_thread() clears IRQTF_RUNTHREAD flag and drops the thread\u0027s bit in\ndesc-\u003ethreads_oneshot then. The bit must not be set again in between and it\ndoes not, since irq_wake_thread() sees PF_EXITING flag first and returns.\n\nDue to above the order or checking PF_EXITING and IRQTF_RUNTHREAD flags in\nirq_wake_thread() is important. This change just makes it more visible in the\nsource code.\n\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120321162212.GO24806@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6135fc1eb4b1c9ae5f535507ed59591bab51e630",
      "tree": "d77513f138b94550b27394c907e9caf9f3d990a9",
      "parents": [
        "160594e99dbbb0a5600ad922c630952c7c1c14bf"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Wed Mar 28 17:10:47 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 29 08:34:45 2012 +0200"
      },
      "message": "sched: Fix __schedule_bug() output when called from an interrupt\n\nIf schedule is called from an interrupt handler __schedule_bug()\nwill call show_regs() with the registers saved during the\ninterrupt handling done in do_IRQ(). This means we\u0027ll see the\nregisters and the backtrace for the process that was interrupted\nand not the full backtrace explaining who called schedule().\n\nThis is due to 838225b (\"sched: use show_regs() to improve\n__schedule_bug() output\", 2007-10-24) which improperly assumed\nthat get_irq_regs() would return the registers for the current\nstack because it is being called from within an interrupt\nhandler. Simply remove the show_reg() code so that we dump a\nbacktrace for the interrupt handler that called schedule().\n\n[ I ran across this when I was presented with a scheduling while\n  atomic log with a stacktrace pointing at spin_unlock_irqrestore().\n  It made no sense and I had to guess what interrupt handler could\n  be called and poke around for someone calling schedule() in an\n  interrupt handler. A simple test of putting an msleep() in\n  an interrupt handler works better with this patch because you\n  can actually see the msleep() call in the backtrace. ]\n\nAlso-reported-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Satyam Sharma \u003csatyam@infradead.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1332979847-27102-1-git-send-email-sboyd@codeaurora.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5f054e31c63be774bf1ce252f20d56012a00f8a5",
      "tree": "c10cf544a46e55cbf9d0b978e61327bb256c4bae",
      "parents": [
        "88d8cd52bc9dd7696617b31ea91263d6c47f22e4"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 29 15:38:31 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 29 15:38:31 2012 +1030"
      },
      "message": "documentation: remove references to cpu_*_map.\n\nThis has been obsolescent for a while, fix documentation and\nmisc comments.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "532bfc851a7475fb6a36c1e953aa395798a7cca7",
      "tree": "a7892e5a31330dd59f31959efbe9fda1803784fd",
      "parents": [
        "0195c00244dc2e9f522475868fa278c473ba7339",
        "8da00edc1069f01c34510fa405dc15d96c090a3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:28 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge third batch of patches from Andrew Morton:\n - Some MM stragglers\n - core SMP library cleanups (on_each_cpu_mask)\n - Some IPI optimisations\n - kexec\n - kdump\n - IPMI\n - the radix-tree iterator work\n - various other misc bits.\n\n \"That\u0027ll do for -rc1.  I still have ~10 patches for 3.4, will send\n  those along when they\u0027ve baked a little more.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (35 commits)\n  backlight: fix typo in tosa_lcd.c\n  crc32: add help text for the algorithm select option\n  mm: move hugepage test examples to tools/testing/selftests/vm\n  mm: move slabinfo.c to tools/vm\n  mm: move page-types.c from Documentation to tools/vm\n  selftests/Makefile: make `run_tests\u0027 depend on `all\u0027\n  selftests: launch individual selftests from the main Makefile\n  radix-tree: use iterators in find_get_pages* functions\n  radix-tree: rewrite gang lookup using iterator\n  radix-tree: introduce bit-optimized iterator\n  fs/proc/namespaces.c: prevent crash when ns_entries[] is empty\n  nbd: rename the nbd_device variable from lo to nbd\n  pidns: add reboot_pid_ns() to handle the reboot syscall\n  sysctl: use bitmap library functions\n  ipmi: use locks on watchdog timeout set on reboot\n  ipmi: simplify locking\n  ipmi: fix message handling during panics\n  ipmi: use a tasklet for handling received messages\n  ipmi: increase KCS timeouts\n  ipmi: decrease the IPMI message transaction time in interrupt mode\n  ...\n"
    },
    {
      "commit": "cf3f89214ef6a33fad60856bc5ffd7bb2fc4709b",
      "tree": "d6f5d7eb93bad10cd146a737a3a72e3459ec3e61",
      "parents": [
        "5a04cca6c39cdd0b8c75b0628da634248f381b62"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Mar 28 14:42:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:36 2012 -0700"
      },
      "message": "pidns: add reboot_pid_ns() to handle the reboot syscall\n\nIn the case of a child pid namespace, rebooting the system does not really\nmakes sense.  When the pid namespace is used in conjunction with the other\nnamespaces in order to create a linux container, the reboot syscall leads\nto some problems.\n\nA container can reboot the host.  That can be fixed by dropping the\nsys_reboot capability but we are unable to correctly to poweroff/\nhalt/reboot a container and the container stays stuck at the shutdown time\nwith the container\u0027s init process waiting indefinitively.\n\nAfter several attempts, no solution from userspace was found to reliabily\nhandle the shutdown from a container.\n\nThis patch propose to make the init process of the child pid namespace to\nexit with a signal status set to : SIGINT if the child pid namespace\ncalled \"halt/poweroff\" and SIGHUP if the child pid namespace called\n\"reboot\".  When the reboot syscall is called and we are not in the initial\npid namespace, we kill the pid namespace for \"HALT\", \"POWEROFF\",\n\"RESTART\", and \"RESTART2\".  Otherwise we return EINVAL.\n\nReturning EINVAL is also an easy way to check if this feature is supported\nby the kernel when invoking another \u0027reboot\u0027 option like CAD.\n\nBy this way the parent process of the child pid namespace knows if it\nrebooted or not and can take the right decision.\n\nTest case:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n#include \u003calloca.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003csched.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csignal.h\u003e\n#include \u003csys/reboot.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/wait.h\u003e\n\n#include \u003clinux/reboot.h\u003e\n\nstatic int do_reboot(void *arg)\n{\n        int *cmd \u003d arg;\n\n        if (reboot(*cmd))\n                printf(\"failed to reboot(%d): %m\\n\", *cmd);\n}\n\nint test_reboot(int cmd, int sig)\n{\n        long stack_size \u003d 4096;\n        void *stack \u003d alloca(stack_size) + stack_size;\n        int status;\n        pid_t ret;\n\n        ret \u003d clone(do_reboot, stack, CLONE_NEWPID | SIGCHLD, \u0026cmd);\n        if (ret \u003c 0) {\n                printf(\"failed to clone: %m\\n\");\n                return -1;\n        }\n\n        if (wait(\u0026status) \u003c 0) {\n                printf(\"unexpected wait error: %m\\n\");\n                return -1;\n        }\n\n        if (!WIFSIGNALED(status)) {\n                printf(\"child process exited but was not signaled\\n\");\n                return -1;\n        }\n\n        if (WTERMSIG(status) !\u003d sig) {\n                printf(\"signal termination is not the one expected\\n\");\n                return -1;\n        }\n\n        return 0;\n}\n\nint main(int argc, char *argv[])\n{\n        int status;\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_RESTART, SIGHUP);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_RESTART) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_RESTART2, SIGHUP);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_RESTART2) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_HALT, SIGINT);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_HALT) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_POWER_OFF, SIGINT);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_POWERR_OFF) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_CAD_ON, -1);\n        if (status \u003e\u003d 0) {\n                printf(\"reboot(LINUX_REBOOT_CMD_CAD_ON) should have failed\\n\");\n                return 1;\n        }\n        printf(\"reboot(LINUX_REBOOT_CMD_CAD_ON) has failed as expected\\n\");\n\n        return 0;\n}\n\n[akpm@linux-foundation.org: tweak and add comments]\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nTested-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a04cca6c39cdd0b8c75b0628da634248f381b62",
      "tree": "3bb72a3fb05be731f19e97b48d1744783747f43b",
      "parents": [
        "423a5bb49ec530ec8bbfc73fd2ded83da8e58684"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 28 14:42:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:36 2012 -0700"
      },
      "message": "sysctl: use bitmap library functions\n\nUse bitmap_set() instead of using set_bit() for each bit.  This conversion\nis valid because the bitmap is private in the function call and atomic\nbitops were unnecessary.\n\nThis also includes minor change.\n- Use bitmap_copy() for shorter typing\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eaa3be6add6f327ab0a633e4fee8e6f2cc8c8a4c",
      "tree": "033e1ac064eb855369246404dd1603b41eb64d27",
      "parents": [
        "d034cfab4f7b9e768c5c1caaa56c5bd4805d2b92"
      ],
      "author": {
        "name": "Zhenzhong Duan",
        "email": "zhenzhong.duan@oracle.com",
        "time": "Wed Mar 28 14:42:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:36 2012 -0700"
      },
      "message": "kexec: add further check to crashkernel\n\nWhen using crashkernel\u003d2M-256M, the kernel doesn\u0027t give any warning.  This\nis misleading sometimes.\n\nSigned-off-by: Zhenzhong Duan \u003czhenzhong.duan@oracle.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d034cfab4f7b9e768c5c1caaa56c5bd4805d2b92",
      "tree": "dd696a4873b3c6207d5818c91bbc92771f0e5d4d",
      "parents": [
        "7d7f98488b203cbf78538698cf5d937f670d96d3"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Mar 28 14:42:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:36 2012 -0700"
      },
      "message": "kexec: crash: don\u0027t save swapper_pg_dir for !CONFIG_MMU configurations\n\nnommu platforms don\u0027t have very interesting swapper_pg_dir pointers and\nusually just #define them to NULL, meaning that we can\u0027t include them in\nthe vmcoreinfo on the kexec crash path.\n\nThis patch only saves the swapper_pg_dir if we have an MMU.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nReviewed-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3a7e98e024ffa9f7e4554dd720c508015c4a831",
      "tree": "50c09e1a47418ba4bb55b11f756bf4d99cf76123",
      "parents": [
        "3fc498f165304dc913f1d13b5ac9ab4c758ee7ab"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@benyossef.com",
        "time": "Wed Mar 28 14:42:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "smp: add func to IPI cpus based on parameter func\n\nAdd the on_each_cpu_cond() function that wraps on_each_cpu_mask() and\ncalculates the cpumask of cpus to IPI by calling a function supplied as a\nparameter in order to determine whether to IPI each specific cpu.\n\nThe function works around allocation failure of cpumask variable in\nCONFIG_CPUMASK_OFFSTACK\u003dy by itereating over cpus sending an IPI a time\nvia smp_call_function_single().\n\nThe function is useful since it allows to seperate the specific code that\ndecided in each case whether to IPI a specific cpu for a specific request\nfrom the common boilerplate code of handling creating the mask, handling\nfailures etc.\n\n[akpm@linux-foundation.org: s/gfpflags/gfp_flags/]\n[akpm@linux-foundation.org: avoid double-evaluation of `info\u0027 (per Michal), parenthesise evaluation of `cond_func\u0027]\n[akpm@linux-foundation.org: s/CPU/CPUs, use all 80 cols in comment]\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.org\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nReviewed-by: \"Srivatsa S. Bhat\" \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fc498f165304dc913f1d13b5ac9ab4c758ee7ab",
      "tree": "c8c23d2255151d593383e3e3e62900073c6afd78",
      "parents": [
        "d15cab975459fb6092eeba1be72c13621337784f"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@benyossef.com",
        "time": "Wed Mar 28 14:42:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "smp: introduce a generic on_each_cpu_mask() function\n\nWe have lots of infrastructure in place to partition multi-core systems\nsuch that we have a group of CPUs that are dedicated to specific task:\ncgroups, scheduler and interrupt affinity, and cpuisol\u003d boot parameter.\nStill, kernel code will at times interrupt all CPUs in the system via IPIs\nfor various needs.  These IPIs are useful and cannot be avoided\naltogether, but in certain cases it is possible to interrupt only specific\nCPUs that have useful work to do and not the entire system.\n\nThis patch set, inspired by discussions with Peter Zijlstra and Frederic\nWeisbecker when testing the nohz task patch set, is a first stab at trying\nto explore doing this by locating the places where such global IPI calls\nare being made and turning the global IPI into an IPI for a specific group\nof CPUs.  The purpose of the patch set is to get feedback if this is the\nright way to go for dealing with this issue and indeed, if the issue is\neven worth dealing with at all.  Based on the feedback from this patch set\nI plan to offer further patches that address similar issue in other code\npaths.\n\nThis patch creates an on_each_cpu_mask() and on_each_cpu_cond()\ninfrastructure API (the former derived from existing arch specific\nversions in Tile and Arm) and uses them to turn several global IPI\ninvocation to per CPU group invocations.\n\nCore kernel:\n\non_each_cpu_mask() calls a function on processors specified by cpumask,\nwhich may or may not include the local processor.\n\nYou must not call this function with disabled interrupts or from a\nhardware interrupt handler or from a bottom half handler.\n\narch/arm:\n\nNote that the generic version is a little different then the Arm one:\n\n1. It has the mask as first parameter\n2. It calls the function on the calling CPU with interrupts disabled,\n   but this should be OK since the function is called on the other CPUs\n   with interrupts disabled anyway.\n\narch/tile:\n\nThe API is the same as the tile private one, but the generic version\nalso calls the function on the with interrupts disabled in UP case\n\nThis is OK since the function is called on the other CPUs\nwith interrupts disabled.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.org\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0195c00244dc2e9f522475868fa278c473ba7339",
      "tree": "f97ca98ae64ede2c33ad3de05ed7bbfa4f4495ed",
      "parents": [
        "f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5",
        "141124c02059eee9dbc5c86ea797b1ca888e77f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "message": "Merge tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system\n\nPull \"Disintegrate and delete asm/system.h\" from David Howells:\n \"Here are a bunch of patches to disintegrate asm/system.h into a set of\n  separate bits to relieve the problem of circular inclusion\n  dependencies.\n\n  I\u0027ve built all the working defconfigs from all the arches that I can\n  and made sure that they don\u0027t break.\n\n  The reason for these patches is that I recently encountered a circular\n  dependency problem that came about when I produced some patches to\n  optimise get_order() by rewriting it to use ilog2().\n\n  This uses bitops - and on the SH arch asm/bitops.h drags in\n  asm-generic/get_order.h by a circuituous route involving asm/system.h.\n\n  The main difficulty seems to be asm/system.h.  It holds a number of\n  low level bits with no/few dependencies that are commonly used (eg.\n  memory barriers) and a number of bits with more dependencies that\n  aren\u0027t used in many places (eg.  switch_to()).\n\n  These patches break asm/system.h up into the following core pieces:\n\n    (1) asm/barrier.h\n\n        Move memory barriers here.  This already done for MIPS and Alpha.\n\n    (2) asm/switch_to.h\n\n        Move switch_to() and related stuff here.\n\n    (3) asm/exec.h\n\n        Move arch_align_stack() here.  Other process execution related bits\n        could perhaps go here from asm/processor.h.\n\n    (4) asm/cmpxchg.h\n\n        Move xchg() and cmpxchg() here as they\u0027re full word atomic ops and\n        frequently used by atomic_xchg() and atomic_cmpxchg().\n\n    (5) asm/bug.h\n\n        Move die() and related bits.\n\n    (6) asm/auxvec.h\n\n        Move AT_VECTOR_SIZE_ARCH here.\n\n  Other arch headers are created as needed on a per-arch basis.\"\n\nFixed up some conflicts from other header file cleanups and moving code\naround that has happened in the meantime, so David\u0027s testing is somewhat\nweakened by that.  We\u0027ll find out anything that got broken and fix it..\n\n* tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)\n  Delete all instances of asm/system.h\n  Remove all #inclusions of asm/system.h\n  Add #includes needed to permit the removal of asm/system.h\n  Move all declarations of free_initmem() to linux/mm.h\n  Disintegrate asm/system.h for OpenRISC\n  Split arch_align_stack() out from asm-generic/system.h\n  Split the switch_to() wrapper out of asm-generic/system.h\n  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n  Create asm-generic/barrier.h\n  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n  Disintegrate asm/system.h for Xtensa\n  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]\n  Disintegrate asm/system.h for Tile\n  Disintegrate asm/system.h for Sparc\n  Disintegrate asm/system.h for SH\n  Disintegrate asm/system.h for Score\n  Disintegrate asm/system.h for S390\n  Disintegrate asm/system.h for PowerPC\n  Disintegrate asm/system.h for PA-RISC\n  Disintegrate asm/system.h for MN10300\n  ...\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae",
      "tree": "c109d45d3fb8ccad461cfe6d9a4aa4d6005b38e1",
      "parents": [
        "49a7f04a4b9d45cd794741ce3d5d66524b37bdd0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Add #includes needed to permit the removal of asm/system.h\n\nasm/system.h is a cause of circular dependency problems because it contains\ncommonly used primitive stuff like barrier definitions and uncommonly used\nstuff like switch_to() that might require MMU definitions.\n\nasm/system.h has been disintegrated by this point on all arches into the\nfollowing common segments:\n\n (1) asm/barrier.h\n\n     Moved memory barrier definitions here.\n\n (2) asm/cmpxchg.h\n\n     Moved xchg() and cmpxchg() here.  #included in asm/atomic.h.\n\n (3) asm/bug.h\n\n     Moved die() and similar here.\n\n (4) asm/exec.h\n\n     Moved arch_align_stack() here.\n\n (5) asm/elf.h\n\n     Moved AT_VECTOR_SIZE_ARCH here.\n\n (6) asm/switch_to.h\n\n     Moved switch_to() here.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "d550bbd40c0e10aefa05103dadbe0ae42e683707",
      "tree": "c1f32662f605f2b87c73901fbf66d12b2ca69b04",
      "parents": [
        "e839ca528718e68cad32a307dc9aabf01ef3eb05"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Disintegrate asm/system.h for Sparc\n\nDisintegrate asm/system.h for Sparc.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: sparclinux@vger.kernel.org\n"
    },
    {
      "commit": "160594e99dbbb0a5600ad922c630952c7c1c14bf",
      "tree": "4a3e71c4a8df45cb4399c412a63cb292ee7c45e5",
      "parents": [
        "1b028abc779b67b699daff55e27d2432f8d92666"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Mar 28 13:46:09 2012 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 28 13:40:44 2012 +0200"
      },
      "message": "cpusets: Remove an unused variable\n\nWe don\u0027t use \"cpu\" any more after 2baab4e904 \"sched: Fix\nselect_fallback_rq() vs cpu_active/cpu_online\".\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120328104608.GD29022@elgon.mountain\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "12b5da349a8b94c9dbc3430a6bc42eabd9eaf50b",
      "tree": "a785d2b0757cacc15cd02e9eb6da3210c79a8aea",
      "parents": [
        "2c86bf172e550b4bf089ac7f0de3f6370e243842"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 27 10:43:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 27 12:05:44 2012 -0400"
      },
      "message": "tracing: Fix ent_size in trace output\n\nWhen reading the trace file, the records of each of the per_cpu buffers\nare examined to find the next event to print out. At the point of looking\nat the event, the size of the event is recorded. But if the first event is\nchosen, the other events in the other CPU buffers will reset the event size\nthat is stored in the iterator descriptor, causing the event size passed to\nthe output functions to be incorrect.\n\nIn most cases this is not a problem, but for the case of stack traces, it\nis. With the change to the stack tracing to record a dynamic number of\nback traces, the output depends on the size of the entry instead of the\nfixed 8 back traces. When the entry size is not correct, the back traces\nwould not be fully printed.\n\nNote, reading from the per-cpu trace files were not affected.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1b028abc779b67b699daff55e27d2432f8d92666",
      "tree": "0b6deda71cb6ee5a17773716912665b0ad8ddabc",
      "parents": [
        "2baab4e90495ebc9826c93f79d74d6e60a828d24"
      ],
      "author": {
        "name": "Michael J Wang",
        "email": "mjwang@broadcom.com",
        "time": "Mon Mar 19 22:26:19 2012 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Mar 27 14:52:12 2012 +0200"
      },
      "message": "sched/rt: Improve pick_next_highest_task_rt()\n\nAvoid extra work by continuing on to the next rt_rq if the highest\nprio task in current rt_rq is the same priority as our candidate\ntask.\n\nMore detailed explanation:  if next is not NULL, then we have found a\ncandidate task, and its priority is next-\u003eprio.  Now we are looking\nfor an even higher priority task in the other rt_rq\u0027s.  idx is the\nhighest priority in the current candidate rt_rq.  In the current 3.3\ncode, if idx is equal to next-\u003eprio, we would start scanning the tasks\nin that rt_rq and replace the current candidate task with a task from\nthat rt_rq.  But the new task would only have a priority that is equal\nto our previous candidate task, so we have not advanced our goal of\nfinding a higher prio task.  So we should avoid the extra work by\ncontinuing on to the next rt_rq if idx is equal to next-\u003eprio.\n\nSigned-off-by: Michael J Wang \u003cmjwang@broadcom.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nReviewed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/2EF88150C0EF2C43A218742ED384C1BC0FC83D6B@IRVEXCHMB08.corp.ad.broadcom.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2baab4e90495ebc9826c93f79d74d6e60a828d24",
      "tree": "6e6316694a9bc69e517e50b0d01043c4c9e83888",
      "parents": [
        "bc758133ed73d4b06952bec21da23e28e62bf3ba"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 20 15:57:01 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Mar 27 14:50:14 2012 +0200"
      },
      "message": "sched: Fix select_fallback_rq() vs cpu_active/cpu_online\n\nCommit 5fbd036b55 (\"sched: Cleanup cpu_active madness\"), which was\nsupposed to finally sort the cpu_active mess, instead uncovered more.\n\nSince CPU_STARTING is ran before setting the cpu online, there\u0027s a\n(small) window where the cpu has active,!online.\n\nIf during this time there\u0027s a wakeup of a task that used to reside on\nthat cpu select_task_rq() will use select_fallback_rq() to compute an\nalternative cpu to run on since we find !online.\n\nselect_fallback_rq() however will compute the new cpu against\ncpu_active, this means that it can return the same cpu it started out\nwith, the !online one, since that cpu is in fact marked active.\n\nThis results in us trying to scheduling a task on an offline cpu and\ntriggering a WARN in the IPI code.\n\nThe solution proposed by Chuansheng Liu of setting cpu_active in\nset_cpu_online() is buggy, firstly not all archs actually use\nset_cpu_online(), secondly, not all archs call set_cpu_online() with\nIRQs disabled, this means we would introduce either the same race or\nthe race from fd8a7de17 (\"x86: cpu-hotplug: Prevent softirq wakeup on\nwrong CPU\") -- albeit much narrower.\n\n[ By setting online first and active later we have a window of\n  online,!active, fresh and bound kthreads have task_cpu() of 0 and\n  since cpu0 isn\u0027t in tsk_cpus_allowed() we end up in\n  select_fallback_rq() which excludes !active, resulting in a reset\n  of -\u003ecpus_allowed and the thread running all over the place. ]\n\nThe solution is to re-work select_fallback_rq() to require active\n_and_ online. This makes the active,!online case work as expected,\nOTOH archs running CPU_STARTING after setting online are now\nvulnerable to the issue from fd8a7de17 -- these are alpha and\nblackfin.\n\nReported-by: Chuansheng Liu \u003cchuansheng.liu@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: linux-alpha@vger.kernel.org\nLink: http://lkml.kernel.org/n/tip-hubqk1i10o4dpvlm06gq7v6j@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7fd52392c56361a40f0c630a82b36b95ca31eac6",
      "tree": "14091de24c6b28ea4cae9826f98aeedb7be091f5",
      "parents": [
        "b01c3a0010aabadf745f3e7fdb9cab682e0a28a2",
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:18:44 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:19:03 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/urgent\n\nMerge reason: we need to fix a non-trivial merge conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f946eeb9313ff1470758e171a60fe7438a2ded3f",
      "tree": "9daeca7f4230ca680765078a0b32c98df409934d",
      "parents": [
        "d53799be6758841e1ffb1fd3780f73d0ffe44432"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Mon Jan 30 23:07:22 2012 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:53 2012 +1030"
      },
      "message": "module: Remove module size limit\n\nModule size was limited to 64MB, this was legacy limitation due to vmalloc()\nwhich was removed a while ago.\n\nLimiting module size to 64MB is both pointless and affects real world use\ncases.\n\nCc: Tim Abbott \u003ctim.abbott@oracle.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "d53799be6758841e1ffb1fd3780f73d0ffe44432",
      "tree": "aad25045e0bcfe4b4e612d09a0c3abe3beb7e761",
      "parents": [
        "026cee0086fe1df4cf74691cf273062cc769617d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Mar 26 12:50:52 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:52 2012 +1030"
      },
      "message": "module: move __module_get and try_module_get() out of line.\n\nWith the preempt, tracepoint and everything, it\u0027s getting a bit\nchubby.  For an Ubuntu-based config:\n\nBefore:\n\t$ size -t `find * -name \u0027*.ko\u0027` | grep TOTAL\n\t56199906        3870760\t1606616\t61677282\t3ad1ee2\t(TOTALS)\n\t$ size vmlinux\n\t   text\t   data\t    bss\t    dec\t    hex\tfilename\n\t8509342\t 850368\t3358720\t12718430\t c2115e\tvmlinux\n\nAfter:\n\t$ size -t `find * -name \u0027*.ko\u0027` | grep TOTAL\n\t56183760\t3867892\t1606616\t61658268\t3acd49c\t(TOTALS)\n\t$ size vmlinux\n\t   text\t   data\t    bss\t    dec\t    hex\tfilename\n\t8501842\t 849088\t3358720\t12709650\t c1ef12\tvmlinux\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (made all out-of-line)\n"
    },
    {
      "commit": "026cee0086fe1df4cf74691cf273062cc769617d",
      "tree": "22735ecd2132de4570fbad81e5716f7fee3448d5",
      "parents": [
        "8b8252813dee8e8cd453bb219731c36b268c69a7"
      ],
      "author": {
        "name": "Pawel Moll",
        "email": "pawel.moll@arm.com",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "message": "params: \u003clevel\u003e_initcall-like kernel parameters\n\nThis patch adds a set of macros that can be used to declare\nkernel parameters to be parsed _before_ initcalls at a chosen\nlevel are executed.  We rename the now-unused \"flags\" field of\nstruct kernel_param as the level.  It\u0027s signed, for when we\nuse this for early params as well, in future.\n\nLinker macro collating init calls had to be modified in order\nto add additional symbols between levels that are later used\nby the init code to split the calls into blocks.\n\nSigned-off-by: Pawel Moll \u003cpawel.moll@arm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "8b8252813dee8e8cd453bb219731c36b268c69a7",
      "tree": "0e39d722a48b084d7fa84e2470cf1b33c71a0134",
      "parents": [
        "02608bef8f774c058779546926889a2f2717a499"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "message": "module_param: remove support for bool parameters which are really int.\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nThis eliminates that code (though leaves the flags field in the struct,\nfor impending use).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "02608bef8f774c058779546926889a2f2717a499",
      "tree": "fdbdd5918c0d9a9f142c6c88535a2b18f13ce02c",
      "parents": [
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "Dave Young",
        "email": "dyoung@redhat.com",
        "time": "Wed Feb 01 10:33:14 2012 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:50 2012 +1030"
      },
      "message": "module: add kernel param to force disable module load\n\nSometimes we need to test a kernel of same version with code or config\noption changes.\n\nWe already have sysctl to disable module load, but add a kernel\nparameter will be more convenient.\n\nSince modules_disabled is int, so here use bint type in core_param.\nTODO: make sysctl accept bool and change modules_disabled to bool\n\nSigned-off-by: Dave Young \u003cdyoung@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
      "tree": "9a2c085e1fce41012bb0f2a340f6ceaaf616b7a0",
      "parents": [
        "ed2d265d1266736bd294332d7f649003943ae36e",
        "8bc3bcc93a2b4e47d5d410146f6546bca6171663"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:24:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:24:31 2012 -0700"
      },
      "message": "Merge tag \u0027module-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull cleanup of fs/ and lib/ users of module.h from Paul Gortmaker:\n \"Fix up files in fs/ and lib/ dirs to only use module.h if they really\n  need it.\n\n  These are trivial in scope vs the work done previously.  We now have\n  things where any few remaining cleanups can be farmed out to arch or\n  subsystem maintainers, and I have done so when possible.  What is\n  remaining here represents the bits that don\u0027t clearly lie within a\n  single arch/subsystem boundary, like the fs dir and the lib dir.\n\n  Some duplicate includes arising from overlapping fixes from\n  independent subsystem maintainer submissions are also quashed.\"\n\nFix up trivial conflicts due to clashes with other include file cleanups\n(including some due to the previous bug.h cleanup pull).\n\n* tag \u0027module-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  lib: reduce the use of module.h wherever possible\n  fs: reduce the use of module.h wherever possible\n  includecheck: delete any duplicate instances of module.h\n"
    },
    {
      "commit": "c5e14e763046b11dd8bf57b5dc9f3ab444af8e60",
      "tree": "8f3c68218ef4ffadeb5c0620b9d2fe6e1fd17281",
      "parents": [
        "68fe7b23d559763a2e19e5fc1cf7036e4aaecb10"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 24 12:46:23 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 24 12:46:23 2012 +0100"
      },
      "message": "alarmtimer: Don\u0027t call rtc_timer_init() when CONFIG_RTC_CLASS\u003dn\n\nrtc_timer_init() is not available when CONFIG_RTC_CLASS\u003dn. Provide a\nproper wrapper in the RTC section of alarmtimer.c\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "b01c3a0010aabadf745f3e7fdb9cab682e0a28a2",
      "tree": "de5fab4234ea646edbbac28f3d7dfb28f28bb601",
      "parents": [
        "04a54d27ce9698d108d29c8a6a50c28f7446336b"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Mar 23 15:41:20 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:46:59 2012 +0100"
      },
      "message": "perf: Move mmap page data_head offset assertion out of header\n\nHaving the build time assertion in header is making the perf\nbuild fail on x86 with:\n\n  ../../include/linux/perf_event.h:411:32: error: variably modified \\\n\t\t‘__assert_mmap_data_head_offset’ at file scope [-Werror]\n\nI\u0027m moving the build time validation out of the header, because\nI think it\u0027s better than to lessen the perf build warn/error\ncheck.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: acme@redhat.com\nCc: a.p.zijlstra@chello.nl\nCc: paulus@samba.org\nCc: cjashfor@linux.vnet.ibm.com\nCc: fweisbec@gmail.com\nLink: http://lkml.kernel.org/r/1332513680-7870-1-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "04a54d27ce9698d108d29c8a6a50c28f7446336b",
      "tree": "95041020d6fd5e283e81f7c12c2fd4433b6af8e5",
      "parents": [
        "c7206205d00ab375839bd6c7ddb247d600693c09",
        "01de982abf8c9e10fc3089e10585cd2cc914bdab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:19:09 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:19:09 2012 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n"
    },
    {
      "commit": "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
      "tree": "1cbfd86070f724d5ffe53146d4c67edf14cccf98",
      "parents": [
        "dae430c6f6e5d0b98c238c340a41a39e221e8940",
        "4e474a00d7ff746ed177ddae14fa8b2d4bad7a00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 18:08:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 18:08:58 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl\n\nPull sysctl updates from Eric Biederman:\n\n - Rewrite of sysctl for speed and clarity.\n\n   Insert/remove/Lookup in sysctl are all now O(NlogN) operations, and\n   are no longer bottlenecks in the process of adding and removing\n   network devices.\n\n   sysctl is now focused on being a filesystem instead of system call\n   and the code can all be found in fs/proc/proc_sysctl.c.  Hopefully\n   this means the code is now approachable.\n\n   Much thanks is owed to Lucian Grinjincu for keeping at this until\n   something was found that was usable.\n\n - The recent proc_sys_poll oops found by the fuzzer during hibernation\n   is fixed.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl: (36 commits)\n  sysctl: protect poll() in entries that may go away\n  sysctl: Don\u0027t call sysctl_follow_link unless we are a link.\n  sysctl: Comments to make the code clearer.\n  sysctl: Correct error return from get_subdir\n  sysctl: An easier to read version of find_subdir\n  sysctl: fix memset parameters in setup_sysctl_set()\n  sysctl: remove an unused variable\n  sysctl: Add register_sysctl for normal sysctl users\n  sysctl: Index sysctl directories with rbtrees.\n  sysctl: Make the header lists per directory.\n  sysctl: Move sysctl_check_dups into insert_header\n  sysctl: Modify __register_sysctl_paths to take a set instead of a root and an nsproxy\n  sysctl: Replace root_list with links between sysctl_table_sets.\n  sysctl: Add sysctl_print_dir and use it in get_subdir\n  sysctl: Stop requiring explicit management of sysctl directories\n  sysctl: Add a root pointer to ctl_table_set\n  sysctl: Rewrite proc_sys_readdir in terms of first_entry and next_entry\n  sysctl: Rewrite proc_sys_lookup introducing find_entry and lookup_entry.\n  sysctl: Normalize the root_table data structure.\n  sysctl: Factor out insert_header and erase_header\n  ...\n"
    },
    {
      "commit": "1cc684ab75123efe7ff446eb821d44375ba8fa30",
      "tree": "165069093fc048b979ed38e537b19febdc7889d3",
      "parents": [
        "3e63a93b987685f02421e18b2aa452d20553a88b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "kmod: make __request_module() killable\n\nAs Tetsuo Handa pointed out, request_module() can stress the system\nwhile the oom-killed caller sleeps in TASK_UNINTERRUPTIBLE.\n\nThe task T uses \"almost all\" memory, then it does something which\ntriggers request_module().  Say, it can simply call sys_socket().  This\nin turn needs more memory and leads to OOM.  oom-killer correctly\nchooses T and kills it, but this can\u0027t help because it sleeps in\nTASK_UNINTERRUPTIBLE and after that oom-killer becomes \"disabled\" by the\nTIF_MEMDIE task T.\n\nMake __request_module() killable.  The only necessary change is that\ncall_modprobe() should kmalloc argv and module_name, they can\u0027t live in\nthe stack if we use UMH_KILLABLE.  This memory is freed via\ncall_usermodehelper_freeinfo()-\u003ecleanup.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e63a93b987685f02421e18b2aa452d20553a88b",
      "tree": "4674115a6be71dbd2a78a411cb3617842acd8c8e",
      "parents": [
        "5b9bd473e3b8a8c6c4ae99be475e6e9b27568555"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "kmod: introduce call_modprobe() helper\n\nNo functional changes.  Move the call_usermodehelper code from\n__request_module() into the new simple helper, call_modprobe().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b9bd473e3b8a8c6c4ae99be475e6e9b27568555",
      "tree": "2dde14aa393ca0dfe32265576783a8219217c8fc",
      "parents": [
        "9d944ef32e83405a07376f112e9f02161d3e9731"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: ____call_usermodehelper() doesn\u0027t need do_exit()\n\nMinor cleanup.  ____call_usermodehelper() can simply return, no need to\ncall do_exit() explicitely.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d944ef32e83405a07376f112e9f02161d3e9731",
      "tree": "24170ff64fb83221da133e2afb53f58e840a6eee",
      "parents": [
        "d0bd587a80960d7ba7e0c8396e154028c9045c54"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: kill umh_wait, renumber UMH_* constants\n\nNo functional changes.  It is not sane to use UMH_KILLABLE with enum\numh_wait, but obviously we do not want another argument in\ncall_usermodehelper_* helpers.  Kill this enum, use the plain int.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0bd587a80960d7ba7e0c8396e154028c9045c54",
      "tree": "3765f8eccdc5f982ba173a7a05d8981d573b9486",
      "parents": [
        "b3449922502f5a161ee2b5022a33aec8472fbf18"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: implement UMH_KILLABLE\n\nImplement UMH_KILLABLE, should be used along with UMH_WAIT_EXEC/PROC.\nThe caller must ensure that subprocess_info-\u003epath/etc can not go away\nuntil call_usermodehelper_freeinfo().\n\ncall_usermodehelper_exec(UMH_KILLABLE) does\nwait_for_completion_killable.  If it fails, it uses\nxchg(\u0026sub_info-\u003ecomplete, NULL) to serialize with umh_complete() which\ndoes the same xhcg() to access sub_info-\u003ecomplete.\n\nIf call_usermodehelper_exec wins, it can safely return.  umh_complete()\nshould get NULL and call call_usermodehelper_freeinfo().\n\nOtherwise we know that umh_complete() was already called, in this case\ncall_usermodehelper_exec() falls back to wait_for_completion() which\nshould succeed \"very soon\".\n\nNote: UMH_NO_WAIT \u003d\u003d -1 but it obviously should not be used with\nUMH_KILLABLE.  We delay the neccessary cleanup to simplify the back\nporting.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3449922502f5a161ee2b5022a33aec8472fbf18",
      "tree": "4fc28a0b52e61af3fdb47f3ae0770e112a92dfbc",
      "parents": [
        "70834d3070c3f3015ab5c05176d54bd4a0100546"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: introduce umh_complete(sub_info)\n\nPreparation.  Add the new trivial helper, umh_complete().  Currently it\nsimply does complete(sub_info-\u003ecomplete).\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a02d6fd643cbd4c559113b35b31d3b04e4ec60c7",
      "tree": "77bb1bca3380e8a8187bbeb25af6a03307401887",
      "parents": [
        "d2d393099de21eda91c5ec6a05d60e5dee4d5175"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: zap_pid_ns_processes: s/SEND_SIG_NOINFO/SEND_SIG_FORCED/\n\nChange zap_pid_ns_processes() to use SEND_SIG_FORCED, it looks more\nclear compared to SEND_SIG_NOINFO which relies on from_ancestor_ns logic\nsend_signal().\n\nIt is also more efficient if we need to kill a lot of tasks because it\ndoesn\u0027t alloc sigqueue.\n\nWhile at it, add the __fatal_signal_pending(task) check as a minor\noptimization.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "def8cf72562e17ec8316ce0cb5697c7afd6400e3",
      "tree": "de0ee350a81685eddadcbfc8d29545e0f7a01d05",
      "parents": [
        "629d362b9950166c6fac2aa8425db34d824bb043"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: cosmetic, s/from_ancestor_ns/force/ in prepare_signal() paths\n\nCosmetic, rename the from_ancestor_ns argument in prepare_signal()\npaths.  After the previous change it doesn\u0027t match the reality.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "629d362b9950166c6fac2aa8425db34d824bb043",
      "tree": "9f109337c786caff4bfcf7a57516fe961fe769fc",
      "parents": [
        "43aca3246cb7f736b20c11da9ce932a124a2a85a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: give SEND_SIG_FORCED more power to beat SIGNAL_UNKILLABLE\n\nforce_sig_info() and friends have the special semantics for synchronous\nsignals, this interface should not be used if the target is not current.\nAnd it needs the fixes, in particular the clearing of SIGNAL_UNKILLABLE\nis not exactly right.\n\nHowever there are callers which have to use force_ exactly because it\nclears SIGNAL_UNKILLABLE and thus it can kill the CLONE_NEWPID tasks,\nalthough this is almost always is wrong by various reasons.\n\nWith this patch SEND_SIG_FORCED ignores SIGNAL_UNKILLABLE, like we do if\nthe signal comes from the ancestor namespace.\n\nThis makes the naming in prepare_signal() paths insane, fixed by the\nnext cleanup.\n\nNote: this only affects SIGKILL/SIGSTOP, but this is enough for\nforce_sig() abusers.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee00560c7dac1dbbf048446a8489550d0a5765b7",
      "tree": "e2a07e3ee58daa2a915634b18bb14d6c75c3e006",
      "parents": [
        "5cdf389aee90109e2e3d88085dea4dd5508a3be7"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "ptrace: remove PTRACE_SEIZE_DEVEL bit\n\nPTRACE_SEIZE code is tested and ready for production use, remove the\ncode which requires special bit in data argument to make PTRACE_SEIZE\nwork.\n\nStrace team prepares for a new release of strace, and we would like to\nship the code which uses PTRACE_SEIZE, preferably after this change goes\ninto released kernel.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa9147c98f27550bd39416eca5a5844e54bced26",
      "tree": "d73386b9f58034ea3332c5359c04cfc13c085a7f",
      "parents": [
        "86b6c1f301faf085de5a3f9ce16b8de6e69c729b"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: make PTRACE_SEIZE set ptrace options specified in \u0027data\u0027 parameter\n\nThis can be used to close a few corner cases in strace where we get\nunwanted racy behavior after attach, but before we have a chance to set\noptions (the notorious post-execve SIGTRAP comes to mind), and removes\nthe need to track \"did we set opts for this task\" state in strace\ninternals.\n\nWhile we are at it:\n\nMake it possible to extend SEIZE in the future with more functionality\nby passing non-zero \u0027addr\u0027 parameter.  To that end, error out if \u0027addr\u0027\nis non-zero.  PTRACE_ATTACH did not (and still does not) have such\ncheck, and users (strace) do pass garbage there...  let\u0027s avoid\nrepeating this mistake with SEIZE.\n\nSet all task-\u003eptrace bits in one operation - before this change, we were\nadding PT_SEIZED and PT_PTRACE_CAP with task-\u003eptrace |\u003d BIT ops.  This\nwas probably ok (not a bug), but let\u0027s be on a safer side.\n\nChanges since v2: use (unsigned long) casts instead of (long) ones, move\nPTRACE_SEIZE_DEVEL-related code to separate lines of code.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86b6c1f301faf085de5a3f9ce16b8de6e69c729b",
      "tree": "115a168d533a54f4e3dc1ed195c58b65a71d8627",
      "parents": [
        "8c5cf9e5c50dc902713897e10201aa71f3546aa1"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: simplify PTRACE_foo constants and PTRACE_SETOPTIONS code\n\nExchange PT_TRACESYSGOOD and PT_PTRACE_CAP bit positions, which makes\nPT_option bits contiguous and therefore makes code in\nptrace_setoptions() much simpler.\n\nEvery PTRACE_O_TRACEevent is defined to (1 \u003c\u003c PTRACE_EVENT_event)\ninstead of using explicit numeric constants, to ensure we don\u0027t mess up\nrelationship between bit positions and event ids.\n\nPT_EVENT_FLAG_SHIFT was not particularly useful, PT_OPT_FLAG_SHIFT with\nvalue of PT_EVENT_FLAG_SHIFT-1 is easier to use.\n\nPT_TRACE_MASK constant is nuked, the only its use is replaced by\n(PTRACE_O_MASK \u003c\u003c PT_OPT_FLAG_SHIFT).\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c5cf9e5c50dc902713897e10201aa71f3546aa1",
      "tree": "9d5590690c0bf2b596697768972b8d42de2e8a28",
      "parents": [
        "b1845ff53f1a9eadba005ae53dfe60ab00dfe83b"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: don\u0027t modify flags on PTRACE_SETOPTIONS failure\n\nOn ptrace(PTRACE_SETOPTIONS, pid, 0, \u003copts\u003e), we used to set those\noption bits which are known, and then fail with -EINVAL if there are\nsome unknown bits in \u003copts\u003e.\n\nThis is inconsistent with typical error handling, which does not change\nany state if input is invalid.\n\nThis patch changes PTRACE_SETOPTIONS behavior so that in this case, we\nreturn -EINVAL and don\u0027t change any bits in task-\u003eptrace.\n\nIt\u0027s very unlikely that there is userspace code in the wild which will\nbe affected by this change: it should have the form\n\n    ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_BOGUSOPT)\n\nwhere PTRACE_O_BOGUSOPT is a constant unknown to the kernel.  But kernel\nheaders, naturally, don\u0027t contain any PTRACE_O_BOGUSOPTs, thus the only\nway userspace can use one if it defines one itself.  I can\u0027t see why\nanyone would do such a thing deliberately.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b60f796c4ca72545327a069f12938360d833cce7",
      "tree": "dea778b974b2a1396cd85a582557e273cb151b2c",
      "parents": [
        "4501980aae221ed8120dee3491f799ecd75187ad"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Mar 23 15:01:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:32 2012 -0700"
      },
      "message": "kernel/watchdog.c: add comment to watchdog() exit path\n\nRevelation from Peter.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@tglx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4501980aae221ed8120dee3491f799ecd75187ad",
      "tree": "e3b28edb5e0700d3026d9e52f696f677ce712299",
      "parents": [
        "7a05c0f7bbae91d08b7d0acf016fdb42dbc912ae"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Mar 23 15:01:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:32 2012 -0700"
      },
      "message": "kernel/watchdog.c: convert to pr_foo()\n\nIt fixes some 80-col wordwrappings and adds some consistency.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a05c0f7bbae91d08b7d0acf016fdb42dbc912ae",
      "tree": "0fca719baf9c60f5659a28bc977f975acd2ec107",
      "parents": [
        "397a21f24d455982a8a6f9bc11b5f3326ce3c6ef"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Fri Mar 23 15:01:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:32 2012 -0700"
      },
      "message": "watchdog: make sure the watchdog thread gets CPU on loaded system\n\nIf the system is loaded while hotplugging a CPU we might end up with a\nbogus hardlockup detection.  This has been seen during LTP pounder test\nexecuted in parallel with hotplug test.\n\nThe main problem is that enable_watchdog (called when CPU is brought up)\nregisters perf event which periodically checks per-cpu counter\n(hrtimer_interrupts), updated from a hrtimer callback, but the hrtimer\nis fired from the kernel thread.\n\nThis means that while we already do check for the hard lockup the kernel\nthread might be sitting on the runqueue with zillions of tasks so there\nis nobody to update the value we rely on and so we KABOOM.\n\nLet\u0027s fix this by boosting the watchdog thread priority before we wake\nit up rather than when it\u0027s already running.  This still doesn\u0027t handle\na case where we have the same amount of high prio FIFO tasks but that\ndoesn\u0027t seem to be common.  The current implementation doesn\u0027t handle\nthat case anyway so this is not worse at least.\n\nUnfortunately, we cannot start perf counter from the watchdog thread\nbecause we could miss a real lock up and also we cannot start the\nhrtimer watchdog_enable because we there is no way (at least I don\u0027t\nknow any) to start a hrtimer from a different CPU.\n\n[dzickus@redhat.com: fix compile issue with param]\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "397a21f24d455982a8a6f9bc11b5f3326ce3c6ef",
      "tree": "ba92e73491599341db615f719df97cea6fdfaf6b",
      "parents": [
        "ebec18a6d3aa1e7d84aab16225e87fd25170ec2b"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:01:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:32 2012 -0700"
      },
      "message": "kernel/exit.c: if init dies, log a signal which killed it, if any\n\nI just received another user\u0027s pleas for help when their init\nmysteriously died.  I again explained that they need to check whether it\ndied because of bad instruction, a segv, or something else.  Which was\nan annoying detour into writing a trivial C program to spawn his init\nand print its exit code:\n\n  http://lists.busybox.net/pipermail/busybox/2012-January/077172.html\n\nI hear you saying \"just test it under /bin/sh\".  Well, the crashing init\n_was_ /bin/sh.\n\nWhich prompted me to make kernel do this first step automatically.  We can\nprint exit code, which makes it possible to see that death was from e.g.\nSIGILL without writing test programs.\n\n[akpm@linux-foundation.org: add 0x to hex number output]\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebec18a6d3aa1e7d84aab16225e87fd25170ec2b",
      "tree": "fd329dcd5173c252fc7aed64cab9c2a51575dcec",
      "parents": [
        "953326cb60c1dff1bd3458d6468d16d75f2bcd61"
      ],
      "author": {
        "name": "Lennart Poettering",
        "email": "lennart@poettering.net",
        "time": "Fri Mar 23 15:01:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:32 2012 -0700"
      },
      "message": "prctl: add PR_{SET,GET}_CHILD_SUBREAPER to allow simple process supervision\n\nUserspace service managers/supervisors need to track their started\nservices.  Many services daemonize by double-forking and get implicitly\nre-parented to PID 1.  The service manager will no longer be able to\nreceive the SIGCHLD signals for them, and is no longer in charge of\nreaping the children with wait().  All information about the children is\nlost at the moment PID 1 cleans up the re-parented processes.\n\nWith this prctl, a service manager process can mark itself as a sort of\n\u0027sub-init\u0027, able to stay as the parent for all orphaned processes\ncreated by the started services.  All SIGCHLD signals will be delivered\nto the service manager.\n\nReceiving SIGCHLD and doing wait() is in cases of a service-manager much\npreferred over any possible asynchronous notification about specific\nPIDs, because the service manager has full access to the child process\ndata in /proc and the PID can not be re-used until the wait(), the\nservice-manager itself is in charge of, has happened.\n\nAs a side effect, the relevant parent PID information does not get lost\nby a double-fork, which results in a more elaborate process tree and\n\u0027ps\u0027 output:\n\nbefore:\n  # ps afx\n  253 ?        Ss     0:00 /bin/dbus-daemon --system --nofork\n  294 ?        Sl     0:00 /usr/libexec/polkit-1/polkitd\n  328 ?        S      0:00 /usr/sbin/modem-manager\n  608 ?        Sl     0:00 /usr/libexec/colord\n  658 ?        Sl     0:00 /usr/libexec/upowerd\n  819 ?        Sl     0:00 /usr/libexec/imsettings-daemon\n  916 ?        Sl     0:00 /usr/libexec/udisks-daemon\n  917 ?        S      0:00  \\_ udisks-daemon: not polling any devices\n\nafter:\n  # ps afx\n  294 ?        Ss     0:00 /bin/dbus-daemon --system --nofork\n  426 ?        Sl     0:00  \\_ /usr/libexec/polkit-1/polkitd\n  449 ?        S      0:00  \\_ /usr/sbin/modem-manager\n  635 ?        Sl     0:00  \\_ /usr/libexec/colord\n  705 ?        Sl     0:00  \\_ /usr/libexec/upowerd\n  959 ?        Sl     0:00  \\_ /usr/libexec/udisks-daemon\n  960 ?        S      0:00  |   \\_ udisks-daemon: not polling any devices\n  977 ?        Sl     0:00  \\_ /usr/libexec/packagekitd\n\nThis prctl is orthogonal to PID namespaces.  PID namespaces are isolated\nfrom each other, while a service management process usually requires the\nservices to live in the same namespace, to be able to talk to each\nother.\n\nUsers of this will be the systemd per-user instance, which provides\ninit-like functionality for the user\u0027s login session and D-Bus, which\nactivates bus services on-demand.  Both need init-like capabilities to\nbe able to properly keep track of the services they start.\n\nMany thanks to Oleg for several rounds of review and insights.\n\n[akpm@linux-foundation.org: fix comment layout and spelling]\n[akpm@linux-foundation.org: add lengthy code comment from Oleg]\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Lennart Poettering \u003clennart@poettering.net\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88b28adf6fcdd6d10a1cfc7765bb200d7366a265",
      "tree": "2a5e792dbd6e3a8971e8c163dac7f6a85f52f101",
      "parents": [
        "335dd85895abeca1957d5eaa3013dfe8dc60c7d7"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Wed Mar 14 21:28:56 2012 -0600"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 23 16:49:21 2012 -0700"
      },
      "message": "kernel-time: fix s/then/than/ spelling errors\n\nUse than for comparisons, like more than.\n\nCC: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "335dd85895abeca1957d5eaa3013dfe8dc60c7d7",
      "tree": "7ab7ae63376047f6b9fb05b98db6d8ef252c1b5e",
      "parents": [
        "e919cfd42da54d400e7e0385f22cae3672dcf874"
      ],
      "author": {
        "name": "Cesar Eduardo Barros",
        "email": "cesarb@cesarb.net",
        "time": "Sat Feb 11 17:54:59 2012 -0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 23 16:25:20 2012 -0700"
      },
      "message": "time: remove no_sync_cmos_clock\n\nCommit 9863c90f682fba34cdc26c3437e8c00da6c83fa4 (x86, vmware: Remove\ndeprecated VMI kernel support) removed the only place which set\nno_sync_cmos_clock. Since that commit, this variable is never set.\n\nSigned-off-by: Cesar Eduardo Barros \u003ccesarb@cesarb.net\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "e919cfd42da54d400e7e0385f22cae3672dcf874",
      "tree": "2fad9b552439188e2e48b0d3b0cacce52dc71b95",
      "parents": [
        "ad30dfa94c5cc23931c822922a50bd163ab293a5"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Mar 22 19:14:46 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 23 16:25:16 2012 -0700"
      },
      "message": "time: Avoid scary backtraces when warning of \u003e 11% adj\n\nFolks have been getting a number of warnings about time\nadjustments \u003e 11%. The WARN_ON leaves a big useless backtrace\nso this patch removes it for a printk_once().\n\nI\u0027m still working to narrow down the cause of the \u003e 11% adjustment.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ad30dfa94c5cc23931c822922a50bd163ab293a5",
      "tree": "574daa8c88b38161fe6139ba2b3fcda42538f32d",
      "parents": [
        "6b43ae8a619d17c4935c3320d2ef9e92bdeed05d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 23 15:52:25 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 23 16:23:12 2012 -0700"
      },
      "message": "alarmtimer: Make sure we initialize the rtctimer\n\njonghwan Choi reported seeing warnings with the alarmtimer\ncode at suspend/resume time, and pointed out that the\nrtctimer isn\u0027t being properly initialized.\n\nThis patch corrects this issue.\n\nReported-by: jonghwan Choi \u003cjhbird.choi@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "a20ae85abaefb02cc0edf19c34f78d19437c1cf1",
      "tree": "13174b718a7f7b955b7d79f5427506ad62a3054e",
      "parents": [
        "f0a5ec0e8da4521036799ced340172b2732845a8",
        "1ba0c1720eb0de2d0f3abf84c0b128d10af520d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 09:29:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 09:29:44 2012 -0700"
      },
      "message": "Merge tag \u0027for_linus-3.4-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb\n\nPull KGDB/KDB updates from Jason Wessel:\n \"Fixes:\n   - Fix KDB keyboard repeat scan codes and leaked keyboard events\n   - Fix kernel crash with kdb_printf() for users who compile new\n     kdb_printf()\u0027s in early code\n   - Return all segment registers to gdb on x86_64\n\n  Features:\n   - KDB/KGDB hook the reboot notifier and end user can control if it\n     stops, detaches or does nothing (updated docs as well)\n   - Notify users who use CONFIG_DEBUG_RODATA to use hw breakpoints\"\n\n* tag \u0027for_linus-3.4-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:\n  kdb: Add message about CONFIG_DEBUG_RODATA on failure to install breakpoint\n  kdb: Avoid using dbg_io_ops until it is initialized\n  kgdb,debug_core: add the ability to control the reboot notifier\n  KDB: Fix usability issues relating to the \u0027enter\u0027 key.\n  kgdb,debug-core,gdbstub: Hook the reboot notifier for debugger detach\n  kgdb: Respect that flush op is optional\n  kgdb: x86: Return all segment registers also in 64-bit mode\n"
    },
    {
      "commit": "e335e3eb82dada2765297f6ba501afc7555aba10",
      "tree": "bf805c292a9b30103c4ebe6cb373831ec43c2836",
      "parents": [
        "280fb016bfb098f33df96016cfaa840db77ba2d0"
      ],
      "author": {
        "name": "Raghavendra K T",
        "email": "raghavendra.kt@linux.vnet.ibm.com",
        "time": "Thu Mar 22 15:25:08 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Mar 23 13:18:57 2012 +0100"
      },
      "message": "locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage\n\nGet rid of INLINE_SPIN_UNLOCK entirely replacing it with\nUNINLINE_SPIN_UNLOCK instead of the reverse meaning.\n\nWhoever wants to change the default spinlock inlining\nbehavior and uninline the spinlocks for some weird reason,\nsuch as spinlock debugging, paravirt etc. can now all just\nselect UNINLINE_SPIN_UNLOCK\n\nOriginal discussion at: https://lkml.org/lkml/2012/3/21/357\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Raghavendra K T \u003craghavendra.kt@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: linux-mips@linux-mips.org\nLink: http://lkml.kernel.org/r/20120322095502.30866.75756.sendpatchset@codeblue\n[ tidied up the changelog a bit ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6c16a6dcb05e51ace340ff7bc6dbe647f1593528",
      "tree": "5df1dacdd4f9710a569d19b2a114bfca427404d0",
      "parents": [
        "dd9b238c1c53ddcdb10cbb2548f38543d49ad70a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 21 13:07:16 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Mar 23 10:39:28 2012 +0100"
      },
      "message": "sched: Fix compiler warning about declared inline after use\n\nkernel/sched/fair.c:420: warning: \u0027account_cfs_rq_runtime\u0027 declared inline after being called\nkernel/sched/fair.c:420: warning: previous declaration of \u0027account_cfs_rq_runtime\u0027 was here\nkernel/sched/fair.c:1165: warning: \u0027return_cfs_rq_runtime\u0027 declared inlineafter being called\nkernel/sched/fair.c:1165: warning: previous declaration of \u0027return_cfs_rq_runtime\u0027 was here\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20120321200717.49BB4A024E@akpm.mtv.corp.google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c7206205d00ab375839bd6c7ddb247d600693c09",
      "tree": "24b9d66a5eaef77c1fc40bc8f6f28acfd167bf5b",
      "parents": [
        "c5bc437702b24817cabd65a6a57971ff91a7712c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Mar 22 17:26:36 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Mar 23 09:52:16 2012 +0100"
      },
      "message": "perf: Fix mmap_page capabilities and docs\n\nComplete the syscall-less self-profiling feature and address\nall complaints, namely:\n\n - capabilities, so we can detect what is actually available at runtime\n\n     Add a capabilities field to perf_event_mmap_page to indicate\n     what is actually available for use.\n\n - on x86: RDPMC weirdness due to being 40/48 bits and not sign-extending\n   properly.\n\n - ABI documentation as to how all this stuff works.\n\nAlso improve the documentation for the new features.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1332433596.2487.33.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7bfe0e66d5da32961f0060fc5d96b739b1ed64b9",
      "tree": "6d5dcf77248b574bb0c50930bbf9030aafb99fce",
      "parents": [
        "6a76a6992341faab0ef31e7d97000e0cf336d0ba",
        "10ce3cc919f50c2043b41ca968b43c26a3672600"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:20:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:20:18 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull input subsystem updates from Dmitry Torokhov:\n \"- we finally merged driver for USB version of Synaptics touchpads\n    (I guess most commonly found in IBM/Lenovo keyboard/touchpad combo);\n\n   - a bunch of new drivers for embedded platforms (Cypress\n     touchscreens, DA9052 OnKey, MAX8997-haptic, Ilitek ILI210x\n     touchscreens, TI touchscreen);\n\n   - input core allows clients to specify desired clock source for\n     timestamps on input events (EVIOCSCLOCKID ioctl);\n\n   - input core allows querying state of all MT slots for given event\n     code via EVIOCGMTSLOTS ioctl;\n\n   - various driver fixes and improvements.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (45 commits)\n  Input: ili210x - add support for Ilitek ILI210x based touchscreens\n  Input: altera_ps2 - use of_match_ptr()\n  Input: synaptics_usb - switch to module_usb_driver()\n  Input: convert I2C drivers to use module_i2c_driver()\n  Input: convert SPI drivers to use module_spi_driver()\n  Input: omap4-keypad - move platform_data to \u003clinux/platform_data\u003e\n  Input: kxtj9 - who_am_i check value and initial data rate fixes\n  Input: add driver support for MAX8997-haptic\n  Input: tegra-kbc - revise device tree support\n  Input: of_keymap - add device tree bindings for simple key matrices\n  Input: wacom - fix physical size calculation for 3rd-gen Bamboo\n  Input: twl4030-vibra - really switch from #if to #ifdef\n  Input: hp680_ts_input - ensure arguments to request_irq and free_irq are compatible\n  Input: max8925_onkey - avoid accessing input device too early\n  Input: max8925_onkey - allow to be used as a wakeup source\n  Input: atmel-wm97xx - convert to dev_pm_ops\n  Input: atmel-wm97xx - set driver owner\n  Input: add cyttsp touchscreen maintainer entry\n  Input: cyttsp - remove useless checks in cyttsp_probe()\n  Input: usbtouchscreen - add support for Data Modul EasyTouch TP 72037\n  ...\n"
    },
    {
      "commit": "6b43ae8a619d17c4935c3320d2ef9e92bdeed05d",
      "tree": "007df06a9cf0d4d2b72ed7dd8d646e853de80e9b",
      "parents": [
        "57779dc2b3b75bee05ef5d1ada47f615f7a13932"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Mar 15 13:04:03 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Mar 22 19:43:43 2012 -0700"
      },
      "message": "ntp: Fix leap-second hrtimer livelock\n\nSince commit 7dffa3c673fbcf835cd7be80bb4aec8ad3f51168 the ntp\nsubsystem has used an hrtimer for triggering the leapsecond\nadjustment. However, this can cause a potential livelock.\n\nThomas diagnosed this as the following pattern:\nCPU 0                                                    CPU 1\ndo_adjtimex()\n  spin_lock_irq(\u0026ntp_lock);\n    process_adjtimex_modes();\t\t\t\t timer_interrupt()\n      process_adj_status();                                do_timer()\n        ntp_start_leap_timer();                             write_lock(\u0026xtime_lock);\n          hrtimer_start();                                  update_wall_time();\n             hrtimer_reprogram();                            ntp_tick_length()\n               tick_program_event()                            spin_lock(\u0026ntp_lock);\n                 clockevents_program_event()\n\t\t   ktime_get()\n                     seq \u003d req_seqbegin(xtime_lock);\n\nThis patch tries to avoid the problem by reverting back to not using\nan hrtimer to inject leapseconds, and instead we handle the leapsecond\nprocessing in the second_overflow() function.\n\nThe downside to this change is that on systems that support highres\ntimers, the leap second processing will occur on a HZ tick boundary,\n(ie: ~1-10ms, depending on HZ)  after the leap second instead of\npossibly sooner (~34us in my tests w/ x86_64 lapic).\n\nThis patch applies on top of tip/timers/core.\n\nCC: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nDiagnoised-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "1ba0c1720eb0de2d0f3abf84c0b128d10af520d1",
      "tree": "47515d331a39e868510266d72f29267b30b00399",
      "parents": [
        "b8adde8ddec9ff62a21564fa8020b5463e70d4de"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Sep 21 13:07:47 2011 -0700"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 22 15:07:16 2012 -0500"
      },
      "message": "kdb: Add message about CONFIG_DEBUG_RODATA on failure to install breakpoint\n\nOn x86, if CONFIG_DEBUG_RODATA is set, one cannot set breakpoints\nvia KDB.  Apparently this is a well-known problem, as at least one distribution\nnow ships with both KDB enabled and CONFIG_DEBUG_RODATA\u003dy for security reasons.\n\nThis patch adds an printk message to the breakpoint failure case,\nin order to provide suggestions about how to use the debugger.\n\nReported-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\n"
    },
    {
      "commit": "b8adde8ddec9ff62a21564fa8020b5463e70d4de",
      "tree": "750515b98a74e80569148371754869956cea039d",
      "parents": [
        "bec4d62ead8096e433d624d9339893f50badd992"
      ],
      "author": {
        "name": "Tim Bird",
        "email": "tim.bird@am.sony.com",
        "time": "Wed Sep 21 13:19:12 2011 -0700"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 22 15:07:16 2012 -0500"
      },
      "message": "kdb: Avoid using dbg_io_ops until it is initialized\n\nThis fixes a bug with setting a breakpoint during kdb initialization\n(from kdb_cmds).  Any call to kdb_printf() before the initialization\nof the kgdboc serial console driver (which happens much later during\nbootup than kdb_init), results in kernel panic due to the use of\ndbg_io_ops before it is initialized.\n\nSigned-off-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "bec4d62ead8096e433d624d9339893f50badd992",
      "tree": "fd48a6b49acaec668f8b9dfa18c9dedc56d8a0b7",
      "parents": [
        "8f30d411767351656ea62c9e7612120f9b870b59"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Mar 19 19:35:55 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 22 15:07:16 2012 -0500"
      },
      "message": "kgdb,debug_core: add the ability to control the reboot notifier\n\nSometimes it is desirable to stop the kernel debugger before allowing\na system to reboot either with kdb or kgdb.  This patch adds the\nability to turn the reboot notifier on and off or enter the debugger\nand stop kernel execution before rebooting.\n\nIt is possible to change the setting after booting the kernel with the\nfollowing:\n\necho 1 \u003e /sys/module/debug_core/parameters/kgdbreboot\n\nIt is also possible to change this setting using kdb / kgdb to\nmanipulate the variable directly.\n\nUsing KDB:\n   mm kgdbreboot 1\n\nUsing gdb:\n   set kgdbreboot\u003d1\n\nReported-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "8f30d411767351656ea62c9e7612120f9b870b59",
      "tree": "0f685c15620422b008e31d73f81e2c335622b2cb",
      "parents": [
        "2366e047840e33928803c0442176fb3991423da8"
      ],
      "author": {
        "name": "Andrei Warkentin",
        "email": "andrey.warkentin@gmail.com",
        "time": "Tue Feb 28 06:55:05 2012 -0600"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 22 15:07:15 2012 -0500"
      },
      "message": "KDB: Fix usability issues relating to the \u0027enter\u0027 key.\n\nThis fixes the following problems:\n1) Typematic-repeat of \u0027enter\u0027 gives warning message\n   and leaks make/break if KDB exits. Repeats\n   look something like 0x1c 0x1c .... 0x9c\n2) Use of \u0027keypad enter\u0027 gives warning message and\n   leaks the ENTER break/make code out if KDB exits.\n   KP ENTER repeats look someting like 0xe0 0x1c\n   0xe0 0x1c ... 0xe0 0x9c.\n3) Lag on the order of seconds between \"break\" and \"make\" when\n   expecting the enter \"break\" code. Seen under virtualized\n   environments such as VMware ESX.\n\nThe existing special enter handler tries to glob the enter break code,\nbut this fails if the other (KP) enter was used, or if there was a key\nrepeat. It also fails if you mashed some keys along with enter, and\nyou ended up with a non-enter make or non-enter break code coming\nafter the enter make code. So first, we modify the handler to handle\nthese cases. But performing these actions on every enter is annoying\nsince now you can\u0027t hold ENTER down to scroll \u003cmore\u003ed messages in\nKDB. Since this special behaviour is only necessary to handle the\nexiting KDB (\u0027g\u0027 + ENTER) without leaking scancodes to the OS.  This\ncleanup needs to get executed anytime the kdb_main loop exits.\n\nTested on QEMU. Set a bp on atkbd.c to verify no scan code was leaked.\n\nCc: Andrei Warkentin \u003candreiw@vmware.com\u003e\n[jason.wessel@windriver.com: move cleanup calls to kdb_main.c]\nSigned-off-by: Andrei Warkentin \u003candrey.warkentin@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "2366e047840e33928803c0442176fb3991423da8",
      "tree": "6c1488ee97a24c85dd4f2ddb1a06a5694de6e2f2",
      "parents": [
        "9fbe465efc76044dd87afe764db5464ae61aeabc"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 16 14:20:41 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 22 15:07:15 2012 -0500"
      },
      "message": "kgdb,debug-core,gdbstub: Hook the reboot notifier for debugger detach\n\nThe gdbstub and kdb should get detached if the system is rebooting.\nCalling gdbstub_exit() will set the proper debug core state and send a\nmessage to any debugger that is connected to correctly detach.\n\nAn attached debugger will receive the exit code from\ninclude/linux/reboot.h based on SYS_HALT, SYS_REBOOT, etc...\n\nReported-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "9fbe465efc76044dd87afe764db5464ae61aeabc",
      "tree": "b01f5206d050f29875438cc1d2e51a7190fc1c0c",
      "parents": [
        "639077fb69aec8112e5427210a83d0fb192969f0"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Fri Mar 16 13:17:13 2012 +0100"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 22 15:07:15 2012 -0500"
      },
      "message": "kgdb: Respect that flush op is optional\n\nNot all kgdb I/O drivers implement a flush operation. Adjust\ngdbstub_exit accordingly.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "01de982abf8c9e10fc3089e10585cd2cc914bdab",
      "tree": "09819515fa130cf8fad5b17367bbd6f9e787e4a5",
      "parents": [
        "89c5bd08df5841326abbf167d136bcf14cf759ed"
      ],
      "author": {
        "name": "Wolfgang Mauerer",
        "email": "wolfgang.mauerer@siemens.com",
        "time": "Thu Mar 22 11:18:20 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 22 12:19:23 2012 -0400"
      },
      "message": "tracing: Fix ftrace stack trace entries\n\n8 hex characters tell only half the tale for 64 bit CPUs,\nso use the appropriate length.\n\nLink: http://lkml.kernel.org/r/1332411501-8059-2-git-send-email-wolfgang.mauerer@siemens.com\n\nCc: stable@vger.kernel.org\nSigned-off-by: Wolfgang Mauerer \u003cwolfgang.mauerer@siemens.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "95211279c5ad00a317c98221d7e4365e02f20836",
      "tree": "2ddc8625378d2915b8c96392f3cf6663b705ed55",
      "parents": [
        "5375871d432ae9fc581014ac117b96aaee3cd0c7",
        "12724850e8064f64b6223d26d78c0597c742c65a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 09:04:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 09:04:48 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge first batch of patches from Andrew Morton:\n \"A few misc things and all the MM queue\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (92 commits)\n  memcg: avoid THP split in task migration\n  thp: add HPAGE_PMD_* definitions for !CONFIG_TRANSPARENT_HUGEPAGE\n  memcg: clean up existing move charge code\n  mm/memcontrol.c: remove unnecessary \u0027break\u0027 in mem_cgroup_read()\n  mm/memcontrol.c: remove redundant BUG_ON() in mem_cgroup_usage_unregister_event()\n  mm/memcontrol.c: s/stealed/stolen/\n  memcg: fix performance of mem_cgroup_begin_update_page_stat()\n  memcg: remove PCG_FILE_MAPPED\n  memcg: use new logic for page stat accounting\n  memcg: remove PCG_MOVE_LOCK flag from page_cgroup\n  memcg: simplify move_account() check\n  memcg: remove EXPORT_SYMBOL(mem_cgroup_update_page_stat)\n  memcg: kill dead prev_priority stubs\n  memcg: remove PCG_CACHE page_cgroup flag\n  memcg: let css_get_next() rely upon rcu_read_lock()\n  cgroup: revert ss_id_lock to spinlock\n  idr: make idr_get_next() good for rcu_read_lock()\n  memcg: remove unnecessary thp check in page stat accounting\n  memcg: remove redundant returns\n  memcg: enum lru_list lru\n  ...\n"
    },
    {
      "commit": "6605f9ac69593d480324ba5fa05f64cfebf4db2f",
      "tree": "4c64d89d04ad24911d0eca7f3feb0012e4014dae",
      "parents": [
        "ad2a8e6078a16d3b61b530f1447110841c36ae56",
        "93d68e52295fb8b65ded6db49e32e63b6a203e0b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 22 09:17:57 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 22 09:17:57 2012 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n"
    },
    {
      "commit": "ca464d69b19120a826aa2534de2511a6f542edf5",
      "tree": "092582419a30825b8483640856483ea8ee56cf81",
      "parents": [
        "42aee6c495e07dba7410b863a360db6bb9ec6d66"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Mar 21 16:34:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 17:55:01 2012 -0700"
      },
      "message": "memcg: let css_get_next() rely upon rcu_read_lock()\n\nRemove lock and unlock around css_get_next()\u0027s call to idr_get_next().\nmemcg iterators (only users of css_get_next) already did rcu_read_lock(),\nand its comment demands that; but add a WARN_ON_ONCE to make sure of it.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42aee6c495e07dba7410b863a360db6bb9ec6d66",
      "tree": "d014b2b5c7aa9d1a1f13686fa06699f9f734ee1c",
      "parents": [
        "9f7de8275b46d9d11b1505adbfe6c2bb48df4741"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Mar 21 16:34:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 17:55:01 2012 -0700"
      },
      "message": "cgroup: revert ss_id_lock to spinlock\n\nCommit c1e2ee2dc436 (\"memcg: replace ss-\u003eid_lock with a rwlock\") has now\nbeen seen to cause the unfair behavior we should have expected from\nconverting a spinlock to an rwlock: softlockup in cgroup_mkdir(), whose\nget_new_cssid() is waiting for the wlock, while there are 19 tasks using\nthe rlock in css_get_next() to get on with their memcg workload (in an\nartificial test, admittedly).  Yet lib/idr.c was made suitable for RCU\nway back: revert that commit, restoring ss-\u003eid_lock to a spinlock.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05af2e104a0c282dcd9303431e1360750ba76de6",
      "tree": "cdd5876f2d17b26cc3ded7ef85d04d0e853e9b7e",
      "parents": [
        "90481622d75715bfcb68501280a917dbfe516029"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Mar 21 16:34:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 17:54:59 2012 -0700"
      },
      "message": "mm, counters: remove task argument to sync_mm_rss() and __sync_task_rss_stat()\n\nsync_mm_rss() can only be used for current to avoid race conditions in\niterating and clearing its per-task counters.  Remove the task argument\nfor it and its helper function, __sync_task_rss_stat(), to avoid thinking\nit can be used safely for anything other than current.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc9a6c8776615f9c194ccf0b63a0aa5628235545",
      "tree": "0cbbf118e86541f8eb2fc7b717a0e08eaced986d",
      "parents": [
        "e845e199362cc5712ba0e7eedc14eed70e144258"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Mar 21 16:34:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 17:54:59 2012 -0700"
      },
      "message": "cpuset: mm: reduce large amounts of memory barrier related damage v3\n\nCommit c0ff7453bb5c (\"cpuset,mm: fix no node to alloc memory when\nchanging cpuset\u0027s mems\") wins a super prize for the largest number of\nmemory barriers entered into fast paths for one commit.\n\n[get|put]_mems_allowed is incredibly heavy with pairs of full memory\nbarriers inserted into a number of hot paths.  This was detected while\ninvestigating at large page allocator slowdown introduced some time\nafter 2.6.32.  The largest portion of this overhead was shown by\noprofile to be at an mfence introduced by this commit into the page\nallocator hot path.\n\nFor extra style points, the commit introduced the use of yield() in an\nimplementation of what looks like a spinning mutex.\n\nThis patch replaces the full memory barriers on both read and write\nsides with a sequence counter with just read barriers on the fast path\nside.  This is much cheaper on some architectures, including x86.  The\nmain bulk of the patch is the retry logic if the nodemask changes in a\nmanner that can cause a false failure.\n\nWhile updating the nodemask, a check is made to see if a false failure\nis a risk.  If it is, the sequence number gets bumped and parallel\nallocators will briefly stall while the nodemask update takes place.\n\nIn a page fault test microbenchmark, oprofile samples from\n__alloc_pages_nodemask went from 4.53% of all samples to 1.15%.  The\nactual results were\n\n                             3.3.0-rc3          3.3.0-rc3\n                             rc3-vanilla        nobarrier-v2r1\n    Clients   1 UserTime       0.07 (  0.00%)   0.08 (-14.19%)\n    Clients   2 UserTime       0.07 (  0.00%)   0.07 (  2.72%)\n    Clients   4 UserTime       0.08 (  0.00%)   0.07 (  3.29%)\n    Clients   1 SysTime        0.70 (  0.00%)   0.65 (  6.65%)\n    Clients   2 SysTime        0.85 (  0.00%)   0.82 (  3.65%)\n    Clients   4 SysTime        1.41 (  0.00%)   1.41 (  0.32%)\n    Clients   1 WallTime       0.77 (  0.00%)   0.74 (  4.19%)\n    Clients   2 WallTime       0.47 (  0.00%)   0.45 (  3.73%)\n    Clients   4 WallTime       0.38 (  0.00%)   0.37 (  1.58%)\n    Clients   1 Flt/sec/cpu  497620.28 (  0.00%) 520294.53 (  4.56%)\n    Clients   2 Flt/sec/cpu  414639.05 (  0.00%) 429882.01 (  3.68%)\n    Clients   4 Flt/sec/cpu  257959.16 (  0.00%) 258761.48 (  0.31%)\n    Clients   1 Flt/sec      495161.39 (  0.00%) 517292.87 (  4.47%)\n    Clients   2 Flt/sec      820325.95 (  0.00%) 850289.77 (  3.65%)\n    Clients   4 Flt/sec      1020068.93 (  0.00%) 1022674.06 (  0.26%)\n    MMTests Statistics: duration\n    Sys Time Running Test (seconds)             135.68    132.17\n    User+Sys Time Running Test (seconds)         164.2    160.13\n    Total Elapsed Time (seconds)                123.46    120.87\n\nThe overall improvement is small but the System CPU time is much\nimproved and roughly in correlation to what oprofile reported (these\nperformance figures are without profiling so skew is expected).  The\nactual number of page faults is noticeably improved.\n\nFor benchmarks like kernel builds, the overall benefit is marginal but\nthe system CPU time is slightly reduced.\n\nTo test the actual bug the commit fixed I opened two terminals.  The\nfirst ran within a cpuset and continually ran a small program that\nfaulted 100M of anonymous data.  In a second window, the nodemask of the\ncpuset was continually randomised in a loop.\n\nWithout the commit, the program would fail every so often (usually\nwithin 10 seconds) and obviously with the commit everything worked fine.\nWith this patch applied, it also worked fine so the fix should be\nfunctionally equivalent.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3f0327f8e9d7a503f0d64573c311eddd61f197d",
      "tree": "ebc59003d3bef08dd41d073eced2b53970e13662",
      "parents": [
        "dc3f21eadeea6d9898271ff32d35d5e00c6872ea"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Mar 21 16:33:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 17:54:55 2012 -0700"
      },
      "message": "mm: add rss counters consistency check\n\nWarn about non-zero rss counters at final mmdrop.\n\nThis check will prevent reoccurences of bugs such as that fixed in \"mm:\nfix rss count leakage during migration\".\n\nI didn\u0027t hide this check under CONFIG_VM_DEBUG because it rather small and\nrss counters cover whole page-table management, so this is a good\ninvariant.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2a0883e4071237d09b604a342c28b96b44a04b3",
      "tree": "aa56f4d376b5eb1c32358c19c2669c2a94e0e1fd",
      "parents": [
        "3a990a52f9f25f45469e272017a31e7a3fda60ed",
        "07c0c5d8b8c122b2f2df9ee574ac3083daefc981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"This is _not_ all; in particular, Miklos\u0027 and Jan\u0027s stuff is not there\n  yet.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)\n  ext4: initialization of ext4_li_mtx needs to be done earlier\n  debugfs-related mode_t whack-a-mole\n  hfsplus: add an ioctl to bless files\n  hfsplus: change finder_info to u32\n  hfsplus: initialise userflags\n  qnx4: new helper - try_extent()\n  qnx4: get rid of qnx4_bread/qnx4_getblk\n  take removal of PF_FORKNOEXEC to flush_old_exec()\n  trim includes in inode.c\n  um: uml_dup_mmap() relies on -\u003emmap_sem being held, but activate_mm() doesn\u0027t hold it\n  um: embed -\u003estub_pages[] into mmu_context\n  gadgetfs: list_for_each_safe() misuse\n  ocfs2: fix leaks on failure exits in module_init\n  ecryptfs: make register_filesystem() the last potential failure exit\n  ntfs: forgets to unregister sysctls on register_filesystem() failure\n  logfs: missing cleanup on register_filesystem() failure\n  jfs: mising cleanup on register_filesystem() failure\n  make configfs_pin_fs() return root dentry on success\n  configfs: configfs_create_dir() has parent dentry in dentry-\u003ed_parent\n  configfs: sanitize configfs_create()\n  ...\n"
    },
    {
      "commit": "3556485f1595e3964ba539e39ea682acbb835cee",
      "tree": "7f5ee254f425b1427ac0059b5f347a307f8538a1",
      "parents": [
        "b8716614a7cc2fc15ea2a518edd04755fb08d922",
        "09f61cdbb32a9d812c618d3922db533542736bb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:25:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:25:04 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security\n\nPull security subsystem updates for 3.4 from James Morris:\n \"The main addition here is the new Yama security module from Kees Cook,\n  which was discussed at the Linux Security Summit last year.  Its\n  purpose is to collect miscellaneous DAC security enhancements in one\n  place.  This also marks a departure in policy for LSM modules, which\n  were previously limited to being standalone access control systems.\n  Chromium OS is using Yama, and I believe there are plans for Ubuntu,\n  at least.\n\n  This patchset also includes maintenance updates for AppArmor, TOMOYO\n  and others.\"\n\nFix trivial conflict in \u003cnet/sock.h\u003e due to the jumo_label-\u003estatic_key\nrename.\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (38 commits)\n  AppArmor: Fix location of const qualifier on generated string tables\n  TOMOYO: Return error if fails to delete a domain\n  AppArmor: add const qualifiers to string arrays\n  AppArmor: Add ability to load extended policy\n  TOMOYO: Return appropriate value to poll().\n  AppArmor: Move path failure information into aa_get_name and rename\n  AppArmor: Update dfa matching routines.\n  AppArmor: Minor cleanup of d_namespace_path to consolidate error handling\n  AppArmor: Retrieve the dentry_path for error reporting when path lookup fails\n  AppArmor: Add const qualifiers to generated string tables\n  AppArmor: Fix oops in policy unpack auditing\n  AppArmor: Fix error returned when a path lookup is disconnected\n  KEYS: testing wrong bit for KEY_FLAG_REVOKED\n  TOMOYO: Fix mount flags checking order.\n  security: fix ima kconfig warning\n  AppArmor: Fix the error case for chroot relative path name lookup\n  AppArmor: fix mapping of META_READ to audit and quiet flags\n  AppArmor: Fix underflow in xindex calculation\n  AppArmor: Fix dropping of allowed operations that are force audited\n  AppArmor: Add mising end of structure test to caps unpacking\n  ...\n"
    },
    {
      "commit": "b8716614a7cc2fc15ea2a518edd04755fb08d922",
      "tree": "2a8a5d04066b2bd589ba2ebbeb228e2a6a178ec9",
      "parents": [
        "31f6765266417c0d99f0e922fe82848a7c9c2ae9",
        "2dc9b5dbdef09840de852a4f0cc6a9c9eece7220"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:20:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:20:43 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto update from Herbert Xu:\n \"* sha512 bug fixes (already in your tree).\n  * SHA224/SHA384 AEAD support in caam.\n  * X86-64 optimised version of Camellia.\n  * Tegra AES support.\n  * Bulk algorithm registration interface to make driver registration easier.\n  * padata race fixes.\n  * Misc fixes.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (31 commits)\n  padata: Fix race on sequence number wrap\n  padata: Fix race in the serialization path\n  crypto: camellia - add assembler implementation for x86_64\n  crypto: camellia - rename camellia.c to camellia_generic.c\n  crypto: camellia - fix checkpatch warnings\n  crypto: camellia - rename camellia module to camellia_generic\n  crypto: tcrypt - add more camellia tests\n  crypto: testmgr - add more camellia test vectors\n  crypto: camellia - simplify key setup and CAMELLIA_ROUNDSM macro\n  crypto: twofish-x86_64/i586 - set alignmask to zero\n  crypto: blowfish-x86_64 - set alignmask to zero\n  crypto: serpent-sse2 - combine ablk_*_init functions\n  crypto: blowfish-x86_64 - use crypto_[un]register_algs\n  crypto: twofish-x86_64-3way - use crypto_[un]register_algs\n  crypto: serpent-sse2 - use crypto_[un]register_algs\n  crypto: serpent-sse2 - remove dead code from serpent_sse2_glue.c::serpent_sse2_init()\n  crypto: twofish-x86 - Remove dead code from twofish_glue_3way.c::init()\n  crypto: In crypto_add_alg(), \u0027exact\u0027 wants to be initialized to 0\n  crypto: caam - fix gcc 4.6 warning\n  crypto: Add bulk algorithm registration interface\n  ...\n"
    }
  ],
  "next": "c207f3a43194e108dda43dc9a1ce507335cff6b9"
}
