)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "c207f3a43194e108dda43dc9a1ce507335cff6b9",
      "tree": "55880f8301e8546b1908f69947d0d41aaa044814",
      "parents": [
        "c7c66c0cb0c77b1a8edf09bca57d922312d58030",
        "e7cc3aca0f6a36b018934264ee20bee45dc13e29"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:27:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:27:19 2012 -0700"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull irq_domain support for all architectures from Grant Likely:\n \"Generialize powerpc\u0027s irq_host as irq_domain\n\n  This branch takes the PowerPC irq_host infrastructure (reverse mapping\n  from Linux IRQ numbers to hardware irq numbering), generalizes it,\n  renames it to irq_domain, and makes it available to all architectures.\n\n  Originally the plan has been to create an all-new irq_domain\n  implementation which addresses some of the powerpc shortcomings such\n  as not handling 1:1 mappings well, but doing that proved to be far\n  more difficult and invasive than generalizing the working code and\n  refactoring it in-place.  So, this branch rips out the \u0027new\u0027\n  irq_domain and replaces it with the modified powerpc version (in a\n  fully bisectable way of course).  It converts all users over to the\n  new API and makes irq_domain selectable on any architecture.\n\n  No architecture is forced to enable irq_domain, but the infrastructure\n  is required for doing OpenFirmware style irq translations.  It will\n  even work on SPARC even though SPARC has it\u0027s own mechanism for\n  translating irqs at boot time.  MIPS, microblaze, embedded x86 and c6x\n  are converted too.\n\n  The resulting irq_domain code is probably still too verbose and can be\n  optimized more, but that can be done incrementally and is a task for\n  follow-on patches.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6: (31 commits)\n  dt: fix twl4030 for non-dt compile on x86\n  mfd: twl-core: Add IRQ_DOMAIN dependency\n  devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)\n  irq_domain: Centralize definition of irq_dispose_mapping()\n  irq_domain/mips: Allow irq_domain on MIPS\n  irq_domain/x86: Convert x86 (embedded) to use common irq_domain\n  ppc-6xx: fix build failure in flipper-pic.c and hlwd-pic.c\n  irq_domain/microblaze: Convert microblaze to use irq_domains\n  irq_domain/powerpc: Replace custom xlate functions with library functions\n  irq_domain/powerpc: constify irq_domain_ops\n  irq_domain/c6x: Use library of xlate functions\n  irq_domain/c6x: constify irq_domain structures\n  irq_domain/c6x: Convert c6x to use generic irq_domain support.\n  irq_domain: constify irq_domain_ops\n  irq_domain: Create common xlate functions that device drivers can use\n  irq_domain: Remove irq_domain_add_simple()\n  irq_domain: Remove \u0027new\u0027 irq_domain in favour of the ppc one\n  mfd: twl-core.c: Fix the number of interrupts managed by twl4030\n  of/address: add empty static inlines for !CONFIG_OF\n  irq_domain: Add support for base irq and hwirq in legacy mappings\n  ...\n"
    },
    {
      "commit": "c7c66c0cb0c77b1a8edf09bca57d922312d58030",
      "tree": "77277103c5f16aa4dee64978a060933d92e14776",
      "parents": [
        "9f3938346a5c1fa504647670edb5fea5756cfb00",
        "98e8bdafeb4728a6af7bbcbcc3984967d1cf2bc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:15:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:15:51 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management updates for 3.4 from Rafael Wysocki:\n \"Assorted extensions and fixes including:\n\n  * Introduction of early/late suspend/hibernation device callbacks.\n  * Generic PM domains extensions and fixes.\n  * devfreq updates from Axel Lin and MyungJoo Ham.\n  * Device PM QoS updates.\n  * Fixes of concurrency problems with wakeup sources.\n  * System suspend and hibernation fixes.\"\n\n* tag \u0027pm-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (43 commits)\n  PM / Domains: Check domain status during hibernation restore of devices\n  PM / devfreq: add relation of recommended frequency.\n  PM / shmobile: Make MTU2 driver use pm_genpd_dev_always_on()\n  PM / shmobile: Make CMT driver use pm_genpd_dev_always_on()\n  PM / shmobile: Make TMU driver use pm_genpd_dev_always_on()\n  PM / Domains: Introduce \"always on\" device flag\n  PM / Domains: Fix hibernation restore of devices, v2\n  PM / Domains: Fix handling of wakeup devices during system resume\n  sh_mmcif / PM: Use PM QoS latency constraint\n  tmio_mmc / PM: Use PM QoS latency constraint\n  PM / QoS: Make it possible to expose PM QoS latency constraints\n  PM / Sleep: JBD and JBD2 missing set_freezable()\n  PM / Domains: Fix include for PM_GENERIC_DOMAINS\u003dn case\n  PM / Freezer: Remove references to TIF_FREEZE in comments\n  PM / Sleep: Add more wakeup source initialization routines\n  PM / Hibernate: Enable usermodehelpers in hibernate() error path\n  PM / Sleep: Make __pm_stay_awake() delete wakeup source timers\n  PM / Sleep: Fix race conditions related to wakeup source timer function\n  PM / Sleep: Fix possible infinite loop during wakeup source destruction\n  PM / Hibernate: print physical addresses consistently with other parts of kernel\n  ...\n"
    },
    {
      "commit": "9f3938346a5c1fa504647670edb5fea5756cfb00",
      "tree": "7cf6d24d6b076c8db8571494984924cac03703a2",
      "parents": [
        "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
        "317b6e128247f75976b0fc2b9fd8d2c20ef13b3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "message": "Merge branch \u0027kmap_atomic\u0027 of git://github.com/congwang/linux\n\nPull kmap_atomic cleanup from Cong Wang.\n\nIt\u0027s been in -next for a long time, and it gets rid of the (no longer\nused) second argument to k[un]map_atomic().\n\nFix up a few trivial conflicts in various drivers, and do an \"evil\nmerge\" to catch some new uses that have come in since Cong\u0027s tree.\n\n* \u0027kmap_atomic\u0027 of git://github.com/congwang/linux: (59 commits)\n  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal\n  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]\n  drbd: remove the second argument of k[un]map_atomic()\n  zcache: remove the second argument of k[un]map_atomic()\n  gma500: remove the second argument of k[un]map_atomic()\n  dm: remove the second argument of k[un]map_atomic()\n  tomoyo: remove the second argument of k[un]map_atomic()\n  sunrpc: remove the second argument of k[un]map_atomic()\n  rds: remove the second argument of k[un]map_atomic()\n  net: remove the second argument of k[un]map_atomic()\n  mm: remove the second argument of k[un]map_atomic()\n  lib: remove the second argument of k[un]map_atomic()\n  power: remove the second argument of k[un]map_atomic()\n  kdb: remove the second argument of k[un]map_atomic()\n  udf: remove the second argument of k[un]map_atomic()\n  ubifs: remove the second argument of k[un]map_atomic()\n  squashfs: remove the second argument of k[un]map_atomic()\n  reiserfs: remove the second argument of k[un]map_atomic()\n  ocfs2: remove the second argument of k[un]map_atomic()\n  ntfs: remove the second argument of k[un]map_atomic()\n  ...\n"
    },
    {
      "commit": "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
      "tree": "7211df5704b743a7667159748c670a9744164482",
      "parents": [
        "d464c92b5234227c1698862a1906827e2e398ae0",
        "f1f996b66cc3908a8f5ffccc2ff41840e92f3b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree from Jiri Kosina:\n \"It\u0027s indeed trivial -- mostly documentation updates and a bunch of\n  typo fixes from Masanari.\n\n  There are also several linux/version.h include removals from Jesper.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)\n  kcore: fix spelling in read_kcore() comment\n  constify struct pci_dev * in obvious cases\n  Revert \"char: Fix typo in viotape.c\"\n  init: fix wording error in mm_init comment\n  usb: gadget: Kconfig: fix typo for \u0027different\u0027\n  Revert \"power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c\"\n  writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header\n  writeback: fix typo in the writeback_control comment\n  Documentation: Fix multiple typo in Documentation\n  tpm_tis: fix tis_lock with respect to RCU\n  Revert \"media: Fix typo in mixer_drv.c and hdmi_drv.c\"\n  Doc: Update numastat.txt\n  qla4xxx: Add missing spaces to error messages\n  compiler.h: Fix typo\n  security: struct security_operations kerneldoc fix\n  Documentation: broken URL in libata.tmpl\n  Documentation: broken URL in filesystems.tmpl\n  mtd: simplify return logic in do_map_probe()\n  mm: fix comment typo of truncate_inode_pages_range\n  power: bq27x00: Fix typos in comment\n  ...\n"
    },
    {
      "commit": "38eff2892628fa5c4fc8962a17b7296f42833ebe",
      "tree": "6a138b3a4bd712b65797bae334bd7bd3ec12c038",
      "parents": [
        "66b3fad3f4c535c92b6a1184d535a97d6aa5d82a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 14 21:51:10 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:40 2012 -0400"
      },
      "message": "constify path argument of trace_seq_path()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "66b3fad3f4c535c92b6a1184d535a97d6aa5d82a",
      "tree": "e0ac7f847b760b9e8b9777df27cd1581099935a2",
      "parents": [
        "9fcf03d0d6e845ed495fc8b1ec328b473ff298b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 14 21:48:20 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:40 2012 -0400"
      },
      "message": "constify path argument of audit_log_d_path()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "48fde701aff662559b38d9a609574068f22d00fe",
      "tree": "aa6b203dc671b51d58575b65eb08310ff8309b60",
      "parents": [
        "6b4231e2f92adbcf96fb2a3fa751d7ca0a61b21f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 22:15:13 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:35 2012 -0400"
      },
      "message": "switch open-coded instances of d_make_root() to new helper\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e45836fafe157df137a837093037f741ad8f4c90",
      "tree": "cba5fdef1fd2e70f3610c78dbcb56ebd1be67654",
      "parents": [
        "0d9cabdccedb79ee5f27b77ff51f29a9e7d23275",
        "e06ffa1ede4146cbc261d90f5dff3d63fe2e9d7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:13:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:13:22 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"This contains only one commit which cleans up UP allocation path a\n  bit.\"\n\n* \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: use percpu allocator for cwq on UP\n"
    },
    {
      "commit": "0d9cabdccedb79ee5f27b77ff51f29a9e7d23275",
      "tree": "8bfb64c3672d058eb90aec3c3a9c4f61cef9097c",
      "parents": [
        "701085b219016d38f105b031381b9cee6200253a",
        "3ce3230a0cff484e5130153f244d4fb8a56b3a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Out of the 8 commits, one fixes a long-standing locking issue around\n  tasklist walking and others are cleanups.\"\n\n* \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: Walk task list under tasklist_lock in cgroup_enable_task_cg_list\n  cgroup: Remove wrong comment on cgroup_enable_task_cg_list()\n  cgroup: remove cgroup_subsys argument from callbacks\n  cgroup: remove extra calls to find_existing_css_set\n  cgroup: replace tasklist_lock with rcu_read_lock\n  cgroup: simplify double-check locking in cgroup_attach_proc\n  cgroup: move struct cgroup_pidlist out from the header file\n  cgroup: remove cgroup_attach_task_current_cg()\n"
    },
    {
      "commit": "b6e238dceed36891cc633167afe7151f1f3d83c5",
      "tree": "eef4928c1a0cb1b56eb20f8d0ee592709d533f10",
      "parents": [
        "e636825346b36a07ccfc8e30946d52855e21f681"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Mar 19 17:03:41 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 14:16:50 2012 -0700"
      },
      "message": "exit_signal: fix the \"parent has changed security domain\" logic\n\nexit_notify() changes -\u003eexit_signal if the parent already did exec.\nThis doesn\u0027t really work, we are not going to send the signal now\nif there is another live thread or the exiting task is traced. The\nparent can exec before the last dies or the tracer detaches.\n\nMove this check into do_notify_parent() which actually sends the\nsignal.\n\nThe user-visible change is that we do not change -\u003eexit_signal,\nand thus the exiting task is still \"clone children\" for\ndo_wait()-\u003eeligible_child(__WCLONE). Hopefully this is fine, the\ncurrent logic is racy anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e636825346b36a07ccfc8e30946d52855e21f681",
      "tree": "128c37b3102223a95ce03b856766c33e4d077114",
      "parents": [
        "5f8aadd8b9966d71a77bba52b9d499cc2f38269f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Mar 19 17:03:22 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 14:16:50 2012 -0700"
      },
      "message": "exit_signal: simplify the \"we have changed execution domain\" logic\n\nexit_notify() checks \"tsk-\u003eself_exec_id !\u003d tsk-\u003eparent_exec_id\"\nto handle the \"we have changed execution domain\" case.\n\nWe can change do_thread() to always set -\u003eexit_signal \u003d SIGCHLD\nand remove this check to simplify the code.\n\nWe could change setup_new_exec() instead, this looks more logical\nbecause it increments -\u003eself_exec_id. But note that de_thread()\nalready resets -\u003eexit_signal if it changes the leader, let\u0027s keep\nboth changes close to each other.\n\nNote that we change -\u003eexit_signal lockless, this changes the rules.\nThereafter -\u003eexit_signal is not stable under tasklist but this is\nfine, the only possible change is OLDSIG -\u003e SIGCHLD. This can race\nwith eligible_child() but the race is harmless. We can race with\nreparent_leader() which changes our -\u003eexit_signal in parallel, but\nit does the same change to SIGCHLD.\n\nThe noticeable user-visible change is that the execing task is not\n\"visible\" to do_wait()-\u003eeligible_child(__WCLONE) right after exec.\nTo me this looks more logical, and this is consistent with mt case.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f8aadd8b9966d71a77bba52b9d499cc2f38269f",
      "tree": "229735d79edf0c4cc82ac00ba1abaee63040ff6e",
      "parents": [
        "ed378a52dabf77b406b447fd3238f83ea24b71fa"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Mar 14 19:55:38 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 14:16:50 2012 -0700"
      },
      "message": "CLONE_PARENT shouldn\u0027t allow to set -\u003eexit_signal\n\nThe child must not control its -\u003eexit_signal, it is the parent who\ndecides which signal the child should use for notification.\n\nThis means that CLONE_PARENT should not use \"clone_flags \u0026 CSIGNAL\",\nthe forking task is the sibling of the new process and their parent\ndoesn\u0027t control exit_signal in this case.\n\nThis patch uses -\u003eexit_signal of the forking process, but perhaps\nwe should simply use SIGCHLD.\n\nWe read group_leader-\u003eexit_signal lockless, this can race with the\nORIGINAL_SIGNAL -\u003e SIGCHLD transition, but this is fine.\n\nPotentially this change allows to kill self_exec_id/parent_exec_id.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "161f7a7161191ab9c2e97f787829ef8dd2b95771",
      "tree": "9776d3f963c7f0d247b7fb324eab4811a1302f67",
      "parents": [
        "2ba68940c893c8f0bfc8573c041254251bb6aeab",
        "a078c6d0e6288fad6d83fb6d5edd91ddb7b6ab33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:32:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:32:09 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 changes for v3.4 from Ingo Molnar\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)\n  ntp: Fix integer overflow when setting time\n  math: Introduce div64_long\n  cs5535-clockevt: Allow the MFGPT IRQ to be shared\n  cs5535-clockevt: Don\u0027t ignore MFGPT on SMP-capable kernels\n  x86/time: Eliminate unused irq0_irqs counter\n  clocksource: scx200_hrt: Fix the build\n  x86/tsc: Reduce the TSC sync check time for core-siblings\n  timer: Fix bad idle check on irq entry\n  nohz: Remove ts-\u003eEinidle checks before restarting the tick\n  nohz: Remove update_ts_time_stat from tick_nohz_start_idle\n  clockevents: Leave the broadcast device in shutdown mode when not needed\n  clocksource: Load the ACPI PM clocksource asynchronously\n  clocksource: scx200_hrt: Convert scx200 to use clocksource_register_hz\n  clocksource: Get rid of clocksource_calc_mult_shift()\n  clocksource: dbx500: convert to clocksource_register_hz()\n  clocksource: scx200_hrt:  use pr_\u003clevel\u003e instead of printk\n  time: Move common updates to a function\n  time: Reorder so the hot data is together\n  time: Remove most of xtime_lock usage in timekeeping.c\n  ntp: Add ntp_lock to replace xtime_locking\n  ...\n"
    },
    {
      "commit": "2ba68940c893c8f0bfc8573c041254251bb6aeab",
      "tree": "fa83ebb01d32abd98123fa28f9f6f0b3eaeee25d",
      "parents": [
        "9c2b957db1772ebf942ae7a9346b14eba6c8ca66",
        "600e145882802d6ccbfe2c4aea243d97caeb91a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:31:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:31:44 2012 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes for v3.4 from Ingo Molnar\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)\n  printk: Make it compile with !CONFIG_PRINTK\n  sched/x86: Fix overflow in cyc2ns_offset\n  sched: Fix nohz load accounting -- again!\n  sched: Update yield() docs\n  printk/sched: Introduce special printk_sched() for those awkward moments\n  sched/nohz: Correctly initialize \u0027next_balance\u0027 in \u0027nohz\u0027 idle balancer\n  sched: Cleanup cpu_active madness\n  sched: Fix load-balance wreckage\n  sched: Clean up parameter passing of proc_sched_autogroup_set_nice()\n  sched: Ditch per cgroup task lists for load-balancing\n  sched: Rename load-balancing fields\n  sched: Move load-balancing arguments into helper struct\n  sched/rt: Do not submit new work when PI-blocked\n  sched/rt: Prevent idle task boosting\n  sched/wait: Add __wake_up_all_locked() API\n  sched/rt: Document scheduler related skip-resched-check sites\n  sched/rt: Use schedule_preempt_disabled()\n  sched/rt: Add schedule_preempt_disabled()\n  sched/rt: Do not throttle when PI boosting\n  sched/rt: Keep period timer ticking when rt throttling is active\n  ...\n"
    },
    {
      "commit": "9c2b957db1772ebf942ae7a9346b14eba6c8ca66",
      "tree": "0dbb83e57260ea7fc0dc421f214d5f1b26262005",
      "parents": [
        "0bbfcaff9b2a69c71a95e6902253487ab30cb498",
        "bea95c152dee1791dd02cbc708afbb115bb00f9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf events changes for v3.4 from Ingo Molnar:\n\n - New \"hardware based branch profiling\" feature both on the kernel and\n   the tooling side, on CPUs that support it.  (modern x86 Intel CPUs\n   with the \u0027LBR\u0027 hardware feature currently.)\n\n   This new feature is basically a sophisticated \u0027magnifying glass\u0027 for\n   branch execution - something that is pretty difficult to extract from\n   regular, function histogram centric profiles.\n\n   The simplest mode is activated via \u0027perf record -b\u0027, and the result\n   looks like this in perf report:\n\n\t$ perf record -b any_call,u -e cycles:u branchy\n\n\t$ perf report -b --sort\u003dsymbol\n\t    52.34%  [.] main                   [.] f1\n\t    24.04%  [.] f1                     [.] f3\n\t    23.60%  [.] f1                     [.] f2\n\t     0.01%  [k] _IO_new_file_xsputn    [k] _IO_file_overflow\n\t     0.01%  [k] _IO_vfprintf_internal  [k] _IO_new_file_xsputn\n\t     0.01%  [k] _IO_vfprintf_internal  [k] strchrnul\n\t     0.01%  [k] __printf               [k] _IO_vfprintf_internal\n\t     0.01%  [k] main                   [k] __printf\n\n   This output shows from/to branch columns and shows the highest\n   percentage (from,to) jump combinations - i.e.  the most likely taken\n   branches in the system.  \"branches\" can also include function calls\n   and any other synchronous and asynchronous transitions of the\n   instruction pointer that are not \u0027next instruction\u0027 - such as system\n   calls, traps, interrupts, etc.\n\n   This feature comes with (hopefully intuitive) flat ascii and TUI\n   support in perf report.\n\n - Various \u0027perf annotate\u0027 visual improvements for us assembly junkies.\n   It will now recognize function calls in the TUI and by hitting enter\n   you can follow the call (recursively) and back, amongst other\n   improvements.\n\n - Multiple threads/processes recording support in perf record, perf\n   stat, perf top - which is activated via a comma-list of PIDs:\n\n\tperf top -p 21483,21485\n\tperf stat -p 21483,21485 -ddd\n\tperf record -p 21483,21485\n\n - Support for per UID views, via the --uid paramter to perf top, perf\n   report, etc.  For example \u0027perf top --uid mingo\u0027 will only show the\n   tasks that I am running, excluding other users, root, etc.\n\n - Jump label restructurings and improvements - this includes the\n   factoring out of the (hopefully much clearer) include/linux/static_key.h\n   generic facility:\n\n\tstruct static_key key \u003d STATIC_KEY_INIT_FALSE;\n\n\t...\n\n\tif (static_key_false(\u0026key))\n\t        do unlikely code\n\telse\n\t        do likely code\n\n\t...\n\tstatic_key_slow_inc();\n\t...\n\tstatic_key_slow_inc();\n\t...\n\n   The static_key_false() branch will be generated into the code with as\n   little impact to the likely code path as possible.  the\n   static_key_slow_*() APIs flip the branch via live kernel code patching.\n\n   This facility can now be used more widely within the kernel to\n   micro-optimize hot branches whose likelihood matches the static-key\n   usage and fast/slow cost patterns.\n\n - SW function tracer improvements: perf support and filtering support.\n\n - Various hardenings of the perf.data ABI, to make older perf.data\u0027s\n   smoother on newer tool versions, to make new features integrate more\n   smoothly, to support cross-endian recording/analyzing workflows\n   better, etc.\n\n - Restructuring of the kprobes code, the splitting out of \u0027optprobes\u0027,\n   and a corner case bugfix.\n\n - Allow the tracing of kernel console output (printk).\n\n - Improvements/fixes to user-space RDPMC support, allowing user-space\n   self-profiling code to extract PMU counts without performing any\n   system calls, while playing nice with the kernel side.\n\n - \u0027perf bench\u0027 improvements\n\n - ... and lots of internal restructurings, cleanups and fixes that made\n   these features possible.  And, as usual this list is incomplete as\n   there were also lots of other improvements\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (120 commits)\n  perf report: Fix annotate double quit issue in branch view mode\n  perf report: Remove duplicate annotate choice in branch view mode\n  perf/x86: Prettify pmu config literals\n  perf report: Enable TUI in branch view mode\n  perf report: Auto-detect branch stack sampling mode\n  perf record: Add HEADER_BRANCH_STACK tag\n  perf record: Provide default branch stack sampling mode option\n  perf tools: Make perf able to read files from older ABIs\n  perf tools: Fix ABI compatibility bug in print_event_desc()\n  perf tools: Enable reading of perf.data files from different ABI rev\n  perf: Add ABI reference sizes\n  perf report: Add support for taken branch sampling\n  perf record: Add support for sampling taken branch\n  perf tools: Add code to support PERF_SAMPLE_BRANCH_STACK\n  x86/kprobes: Split out optprobe related code to kprobes-opt.c\n  x86/kprobes: Fix a bug which can modify kernel code permanently\n  x86/kprobes: Fix instruction recovery on optimized path\n  perf: Add callback to flush branch_stack on context switch\n  perf: Disable PERF_SAMPLE_BRANCH_* when not supported\n  perf/x86: Add LBR software filter support for Intel CPUs\n  ...\n"
    },
    {
      "commit": "0bbfcaff9b2a69c71a95e6902253487ab30cb498",
      "tree": "f422bbfb8ba57909bf6e43f1d560b3f056cc3c61",
      "parents": [
        "5928a2b60cfdbad730f93696acab142d0b607280",
        "e04268b0effc0ceea366c50b3107baad9edadafa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:28:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:28:56 2012 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull irq/core changes for v3.4 from Ingo Molnar\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Remove paranoid warnons and bogus fixups\n  genirq: Flush the irq thread on synchronization\n  genirq: Get rid of unnecessary IRQTF_DIED flag\n  genirq: No need to check IRQTF_DIED before stopping a thread handler\n  genirq: Get rid of unnecessary irqaction field in task_struct\n  genirq: Fix incorrect check for forced IRQ thread handler\n  softirq: Reduce invoke_softirq() code duplication\n  genirq: Fix long-term regression in genirq irq_set_irq_type() handling\n  x86-32/irq: Don\u0027t switch to irq stack for a user-mode irq\n"
    },
    {
      "commit": "5928a2b60cfdbad730f93696acab142d0b607280",
      "tree": "49bb21c9219673e61bad7a7c9202c7f25f5fe1be",
      "parents": [
        "5ed59af85077d28875a3a137b21933aaf1b4cd50",
        "bdd4431c8d071491a68a65d9457996f222b5ecd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 17:12:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:10:18 2012 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU changes for v3.4 from Ingo Molnar.  The major features of this\nseries are:\n\n - making RCU more aggressive about entering dyntick-idle mode in order\n   to improve energy efficiency\n\n - converting a few more call_rcu()s to kfree_rcu()s\n\n - applying a number of rcutree fixes and cleanups to rcutiny\n\n - removing CONFIG_SMP #ifdefs from treercu\n\n - allowing RCU CPU stall times to be set via sysfs\n\n - adding CPU-stall capability to rcutorture\n\n - adding more RCU-abuse diagnostics\n\n - updating documentation\n\n - fixing yet more issues located by the still-ongoing top-to-bottom\n   inspection of RCU, this time with a special focus on the CPU-hotplug\n   code path.\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)\n  rcu: Stop spurious warnings from synchronize_sched_expedited\n  rcu: Hold off RCU_FAST_NO_HZ after timer posted\n  rcu: Eliminate softirq-mediated RCU_FAST_NO_HZ idle-entry loop\n  rcu: Add RCU_NONIDLE() for idle-loop RCU read-side critical sections\n  rcu: Allow nesting of rcu_idle_enter() and rcu_idle_exit()\n  rcu: Remove redundant check for rcu_head misalignment\n  PTR_ERR should be called before its argument is cleared.\n  rcu: Convert WARN_ON_ONCE() in rcu_lock_acquire() to lockdep\n  rcu: Trace only after NULL-pointer check\n  rcu: Call out dangers of expedited RCU primitives\n  rcu: Rework detection of use of RCU by offline CPUs\n  lockdep: Add CPU-idle/offline warning to lockdep-RCU splat\n  rcu: No interrupt disabling for rcu_prepare_for_idle()\n  rcu: Move synchronize_sched_expedited() to rcutree.c\n  rcu: Check for illegal use of RCU from offlined CPUs\n  rcu: Update stall-warning documentation\n  rcu: Add CPU-stall capability to rcutorture\n  rcu: Make documentation give more realistic rcutorture duration\n  rcutorture: Permit holding off CPU-hotplug operations during boot\n  rcu: Print scheduling-clock information on RCU CPU stall-warning messages\n  ...\n"
    },
    {
      "commit": "0de9a1e28a0d005f42c8cc5456a246710133b9ab",
      "tree": "89914affb67e9884ab13e15eb9ce79bfe1a3a13c",
      "parents": [
        "d762a50b5b1bb93e91cb3cd90b6ae133da98fe31"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:38 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:26 2012 +0800"
      },
      "message": "power: remove the second argument of k[un]map_atomic()\n\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "d762a50b5b1bb93e91cb3cd90b6ae133da98fe31",
      "tree": "8d60c2041cb5f76a86de83eb109735fa105c6567",
      "parents": [
        "7c0fb227529102d38603c0afc76a2c18a7581afa"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:38 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:26 2012 +0800"
      },
      "message": "kdb: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "5ed59af85077d28875a3a137b21933aaf1b4cd50",
      "tree": "d225d654de47ebe480a59d479ae5b3cc7c90cd71",
      "parents": [
        "b7f077d7bc28649f6bd369fadec01219e725a9c6",
        "81b40539e748b108d143a5e38526ab00a6a784b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 17:11:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 17:11:15 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 changes for v3.4 from Ingo Molnar\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  futex: Simplify return logic\n  futex: Cover all PI opcodes with cmpxchg enabled check\n"
    },
    {
      "commit": "e04268b0effc0ceea366c50b3107baad9edadafa",
      "tree": "0248960f688b504d819a2cf1c11218edec962597",
      "parents": [
        "7140ea1980f2fae9c7aaeac5f6b35317e1389ee6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 15 22:55:21 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 16 11:27:28 2012 +0100"
      },
      "message": "genirq: Remove paranoid warnons and bogus fixups\n\nAlexander pointed out that the warnons in the regular exit path are\nbogus and the thread_mask one actually could be triggered when\n__setup_irq() hands out that thread_mask again after __free_irq()\ndropped irq_desc-\u003elock.\n\nThinking more about it, neither IRQTF_RUNTHREAD nor the bit in\nthread_mask can be set as this is the regular exit path. We come here\ndue to:\n\t__free_irq()\n\t   remove action from desc\n\t   synchronize_irq()\n\t   kthread_stop()\n\nSo synchronize_irq() makes sure that the thread finished running and\ncleaned up both the thread_active count and thread_mask. After that\npoint nothing can set IRQTF_RUNTHREAD on this action. So the warnons\nand the cleanups are pointless.\n\nReported-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nCc: Ido Yariv \u003cido@wizery.com\u003e\nLink: http://lkml.kernel.org/r/20120315190755.GA6732@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a4ca1298d8a0472a45624fa5fb99f90f0f367187",
      "tree": "f3df2502fdad72c1bd75b1da66565b197cbbfc35",
      "parents": [
        "f695cf94837de53864180400cbac42cfa370426f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 28 19:46:03 2012 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Mar 15 18:17:55 2012 -0700"
      },
      "message": "time: Remove bogus comments\n\nThere is no global irq lock which makes a syscall magically SMP\nsafe. Remove the outdated comment concerning do_settimeofday() as\nwell.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "f695cf94837de53864180400cbac42cfa370426f",
      "tree": "9bb91a9b8c5a1291a083a37e790da00d477b18f8",
      "parents": [
        "a939e817aa7e199d2fff05a67cb745be32dd5c2d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 14 16:38:15 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Mar 15 18:17:54 2012 -0700"
      },
      "message": "time: Fix change_clocksource locking\n\nchange_clocksource() fails to grab locks or call timekeeping_update(),\nwhich leaves a race window for time inconsistencies.\n\nThis adds proper locking and a call to timekeeping_update() to fix this.\n\nCC: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "79f0713d403c800db9d89134e2fd7f846e68d6ee",
      "tree": "0c59c69742d70080f08d3c42febdf51b8db236ad",
      "parents": [
        "9bbad7da76b3dd578fb55c862624366a8c9ccd22"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu Mar 15 15:17:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 15 17:03:03 2012 -0700"
      },
      "message": "prctl: use CAP_SYS_RESOURCE for PR_SET_MM option\n\nCAP_SYS_ADMIN is already overloaded left and right, so to have more\nfine-grained access control use CAP_SYS_RESOURCE here.\n\nThe CAP_SYS_RESOUCE is chosen because this prctl option allows a current\nprocess to adjust some fields of memory map descriptor which rather\nrepresents what the process owns: pointers to code, data, stack\nsegments, command line, auxiliary vector data and etc.\n\nSuggested-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a078c6d0e6288fad6d83fb6d5edd91ddb7b6ab33",
      "tree": "473eb7484d966e65c51487c72d47502096ab7b99",
      "parents": [
        "f910381a55cdaa097030291f272f6e6e4380c39a"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Thu Mar 15 12:36:14 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 15 21:41:34 2012 +0100"
      },
      "message": "ntp: Fix integer overflow when setting time\n\n\u0027long secs\u0027 is passed as divisor to div_s64, which accepts a 32bit\ndivisor. On 64bit machines that value is trimmed back from 8 bytes\nback to 4, causing a divide by zero when the number is bigger than\n(1 \u003c\u003c 32) - 1 and all 32 lower bits are 0.\n\nUse div64_long() instead.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: johnstul@us.ibm.com\nLink: http://lkml.kernel.org/r/1331829374-31543-2-git-send-email-levinsasha928@gmail.com\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "600e145882802d6ccbfe2c4aea243d97caeb91a9",
      "tree": "0ad47fe66dfe2ea41a75c493e877483049dd446b",
      "parents": [
        "9993bc635d01a6ee7f6b833b4ee65ce7c06350b1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Mar 15 12:35:37 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 15 13:38:54 2012 +0100"
      },
      "message": "printk: Make it compile with !CONFIG_PRINTK\n\nCommit 3ccf3e830615 (\"printk/sched: Introduce special\nprintk_sched() for those awkward moments\") overlooked\nan #ifdef, so move code around to respect these directives.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nLink: http://lkml.kernel.org/r/1331811337.18960.179.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f1cbd03f5eabb75ea8ace23b47d2209f10871c16",
      "tree": "2ac398bd1a50ce135461fae5b5e91ba05831af84",
      "parents": [
        "ff398c45b03d9d64135d928c0146d8c38a70fd3b",
        "ff8c1474cc2f5e11414c71ec4d739c18e6e669c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 14 17:16:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 14 17:16:45 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nPull block fixes from Jens Axboe:\n \"Been sitting on this for a while, but lets get this out the door.\n  This fixes various important bugs for 3.3 final, along with a few more\n  trivial ones.  Please pull!\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: fix ioc leak in put_io_context\n  block, sx8: fix pointer math issue getting fw version\n  Block: use a freezable workqueue for disk-event polling\n  drivers/block/DAC960: fix -Wuninitialized warning\n  drivers/block/DAC960: fix DAC960_V2_IOCTL_Opcode_T -Wenum-compare warning\n  block: fix __blkdev_get and add_disk race condition\n  block: Fix setting bio flags in drivers (sd_dif/floppy)\n  block: Fix NULL pointer dereference in sd_revalidate_disk\n  block: exit_io_context() should call elevator_exit_icq_fn()\n  block: simplify ioc_release_fn()\n  block: replace icq-\u003echanged with icq-\u003eflags\n"
    },
    {
      "commit": "7140ea1980f2fae9c7aaeac5f6b35317e1389ee6",
      "tree": "7b1021c74dee94b0171db25bc1965555e0e9a9e5",
      "parents": [
        "df8d291f28aa1e8437c8f7816328a6516379c71b"
      ],
      "author": {
        "name": "Ido Yariv",
        "email": "ido@wizery.com",
        "time": "Fri Dec 02 18:24:12 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 14 11:56:20 2012 +0100"
      },
      "message": "genirq: Flush the irq thread on synchronization\n\nThe current implementation does not always flush the threaded handler\nwhen disabling the irq. In case the irq handler was called, but the\nthreaded handler hasn\u0027t started running yet, the interrupt will be\nflagged as pending, and the handler will not run. This implementation\nhas some issues:\n\nFirst, if the interrupt is a wake source and flagged as pending, the\nsystem will not be able to suspend.\n\nSecond, when quickly disabling and re-enabling the irq, the threaded\nhandler might continue to run after the irq is re-enabled without the\nirq handler being called first. This might be an unexpected behavior.\n\nIn addition, it might be counter-intuitive that the threaded handler\nwill not be called even though the irq handler was called and returned\nIRQ_WAKE_THREAD.\n\nFix this by always waiting for the threaded handler to complete in\nsynchronize_irq().\n\n[ tglx: Massaged comments, added WARN_ONs and the missing\n  \tIRQTF_RUNTHREAD check in exit_irq_thread() ]\n\nSigned-off-by: Ido Yariv \u003cido@wizery.com\u003e\nLink: http://lkml.kernel.org/r/1322843052-7166-1-git-send-email-ido@wizery.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    }
  ],
  "next": "2dc9b5dbdef09840de852a4f0cc6a9c9eece7220"
}
