)]}'
{
  "log": [
    {
      "commit": "536b39ecf1b52ab71c2c126db0137611b9e1a4d4",
      "tree": "c6c6c3e848bc927bf560b2ddf3381230d4e39649",
      "parents": [
        "8359f689e23a607ec6758737551045997848ac75"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Tue Apr 30 15:28:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "kernel/relay.c: move FIX_SIZE macro into relay.c\n\nIt\u0027s better to place FIX_SIZE macro in relay.c, instead of relay.h\n\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Dumazet \u003cedumazet@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": "5cc5445164c16d32bab2912fac28356ab07aa8b4",
      "tree": "63ecdef695220d172d1e487a8c94ac6d7a3bab25",
      "parents": [
        "8db049b3d666b3676ff4a976e03c14de302bf9fa"
      ],
      "author": {
        "name": "Raphael S.Carvalho",
        "email": "raphael.scarv@gmail.com",
        "time": "Tue Apr 30 15:28:27 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "pid_namespace.c/.h: simplify defines\n\nMove BITS_PER_PAGE from pid_namespace.c to pid_namespace.h, since we can\nsimplify the define PID_MAP_ENTRIES by using the BITS_PER_PAGE.\n\n[akpm@linux-foundation.org: kernel/pid.c:54:1: warning: \"BITS_PER_PAGE\" redefined]\nSigned-off-by: Raphael S.Carvalho \u003craphael.scarv@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": "e56fb2874015370e3b7f8d85051f6dce26051df9",
      "tree": "0820c06eb4a25daf65734412af139e98ac1649c8",
      "parents": [
        "12eaaf309a798973d215f7f21aa5a67a760ed7c8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:20 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "exec: do not abuse -\u003ecred_guard_mutex in threadgroup_lock()\n\nthreadgroup_lock() takes signal-\u003ecred_guard_mutex to ensure that\nthread_group_leader() is stable.  This doesn\u0027t look nice, the scope of\nthis lock in do_execve() is huge.\n\nAnd as Dave pointed out this can lead to deadlock, we have the\nfollowing dependencies:\n\n\tdo_execve:\t\tcred_guard_mutex -\u003e i_mutex\n\tcgroup_mount:\t\ti_mutex -\u003e cgroup_mutex\n\tattach_task_by_pid:\tcgroup_mutex -\u003e cred_guard_mutex\n\nChange de_thread() to take threadgroup_change_begin() around the\nswitch-the-leader code and change threadgroup_lock() to avoid\n-\u003ecred_guard_mutex.\n\nNote that de_thread() can\u0027t sleep with -\u003egroup_rwsem held, this can\nobviously deadlock with the exiting leader if the writer is active, so it\ndoes threadgroup_change_end() before schedule().\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \u003cstable@vger.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": "403bad72b67d8b3f5a0240af5023adfa48132a65",
      "tree": "d240a287cf7e64824dc6441f397b0290aa79738b",
      "parents": [
        "66e5b7e1948cdbdca2b0cc6ddc6d69ee84583fb4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:10 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "coredump: only SIGKILL should interrupt the coredumping task\n\nThere are 2 well known and ancient problems with coredump/signals, and a\nlot of related bug reports:\n\n- do_coredump() clears TIF_SIGPENDING but of course this can\u0027t help\n  if, say, SIGCHLD comes after that.\n\n  In this case the coredump can fail unexpectedly. See for example\n  wait_for_dump_helper()-\u003esignal_pending() check but there are other\n  reasons.\n\n- At the same time, dumping a huge core on the slow media can take a\n  lot of time/resources and there is no way to kill the coredumping\n  task reliably. In particular this is not oom_kill-friendly.\n\nThis patch tries to fix the 1st problem, and makes the preparation for the\nnext changes.\n\nWe add the new SIGNAL_GROUP_COREDUMP flag set by zap_threads() to indicate\nthat this process dumps the core.  prepare_signal() checks this flag and\nnacks any signal except SIGKILL.\n\nNote that this check tries to be conservative, in the long term we should\nprobably treat the SIGNAL_GROUP_EXIT case equally but this needs more\ndiscussion.  See marc.info/?l\u003dlinux-kernel\u0026m\u003d120508897917439\n\nNotes:\n\t- recalc_sigpending() doesn\u0027t check SIGNAL_GROUP_COREDUMP.\n\t  The patch assumes that dump_write/etc paths should never\n\t  call it, but we can change it as well.\n\n\t- There is another source of TIF_SIGPENDING, freezer. This\n\t  will be addressed separately.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nTested-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Roland McGrath \u003croland@hack.frob.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66e5b7e1948cdbdca2b0cc6ddc6d69ee84583fb4",
      "tree": "aab4bddfc97523c11a7e3714644a29373c8d4a85",
      "parents": [
        "907ed1328d2a748f3d6028503d3e04c74ea62730"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 30 15:28:09 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "kmod: remove call_usermodehelper_fns()\n\nThis function suffers from not being able to determine if the cleanup is\ncalled in case it returns -ENOMEM.  Nobody is using it anymore, so let\u0027s\nremove it.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "938e4b22e2a7d0f6f3962e601339347b2d8e09f5",
      "tree": "1d66004074a1306c20ce7e40eefc2839736e2ea0",
      "parents": [
        "17afab1de42236ee2f6235f4383cc6f3f13f8a10"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 30 15:28:02 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "usermodehelper: export call_usermodehelper_exec() and call_usermodehelper_setup()\n\ncall_usermodehelper_setup() + call_usermodehelper_exec() need to be\ncalled instead of call_usermodehelper_fns() when the cleanup function\nneeds to be called even when an ENOMEM error occurs.  In this case using\ncall_usermodehelper_fns() the user can\u0027t distinguish if the cleanup\nfunction was called or not.\n\n[akpm@linux-foundation.org: export call_usermodehelper_setup() to modules]\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a0df59444972105f0d4c2b0c16ce414d70c420a",
      "tree": "39403c6890f792b0a4af7218884d375ec7b975ed",
      "parents": [
        "8d82e180b51f8ecca9ae9d6a3e7f01d50ea34c20"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Apr 30 15:27:34 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "kernel/compat.c: make do_sysinfo() static\n\nThe only use outside of kernel/timer.c was in kernel/compat.c, so move\ncompat_sys_sysinfo() next to sys_sysinfo() in kernel/timer.c.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Guenter Roeck \u003clinux@roeck-us.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16c7fa05829e8b91db48e3539c5d6ff3c2b18a23",
      "tree": "6658e9f27c033e5f6de19284fe9a6b8485360aa6",
      "parents": [
        "e1d12f327037a59e06c66520951ab4e0bd29f9c4"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Tue Apr 30 15:27:30 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "lib/string_helpers: introduce generic string_unescape\n\nThere are several places in kernel where modules unescapes input to convert\nC-Style Escape Sequences into byte codes.\n\nThe patch provides generic implementation of such approach. Test cases are\nalso included into the patch.\n\n[akpm@linux-foundation.org: clarify comment]\n[akpm@linux-foundation.org: export get_random_int() to modules]\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: William Hubbs \u003cw.d.hubbs@gmail.com\u003e\nCc: Chris Brannon \u003cchris@the-brannons.com\u003e\nCc: Kirk Reiser \u003ckirk@braille.uwo.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74e3d1e17b2e11d175970b85acd44f5927000ba2",
      "tree": "1adaccdd30702c8c151dfb97b13aaf241e092849",
      "parents": [
        "3440a1ca99707f093e9568ba9762764d3162dd8f"
      ],
      "author": {
        "name": "Fan Du",
        "email": "fan.du@windriver.com",
        "time": "Tue Apr 30 15:27:27 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "include/linux/fs.h: disable preempt when acquire i_size_seqcount write lock\n\nTwo rt tasks bind to one CPU core.\n\nThe higher priority rt task A preempts a lower priority rt task B which\nhas already taken the write seq lock, and then the higher priority rt\ntask A try to acquire read seq lock, it\u0027s doomed to lockup.\n\nrt task A with lower priority: call write\ni_size_write                                        rt task B with higher priority: call sync, and preempt task A\n  write_seqcount_begin(\u0026inode-\u003ei_size_seqcount);    i_size_read\n  inode-\u003ei_size \u003d i_size;                             read_seqcount_begin \u003c-- lockup here...\n\nSo disable preempt when acquiring every i_size_seqcount *write* lock will\ncure the problem.\n\nSigned-off-by: Fan Du \u003cfan.du@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3440a1ca99707f093e9568ba9762764d3162dd8f",
      "tree": "af5508d1bd5ff76eb22830a1abea77f0a76639a5",
      "parents": [
        "1def1dc91715acdb6dddfaed1a44149d42d8063c"
      ],
      "author": {
        "name": "liguang",
        "email": "lig.fnst@cn.fujitsu.com",
        "time": "Tue Apr 30 15:27:26 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "kernel/smp.c: remove \u0027priv\u0027 of call_single_data\n\nThe \u0027priv\u0027 field is redundant; we can pass data via \u0027info\u0027.\n\nSigned-off-by: liguang \u003clig.fnst@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d1cb2059d9374e58da481b783332cf191cb6620",
      "tree": "b62afd1038ecabde21df35da3fbcc5e585b9516e",
      "parents": [
        "cd42d559e45e3563c74403e453f8954b593db69d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:22 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "workqueue: include workqueue info when printing debug dump of a worker task\n\nOne of the problems that arise when converting dedicated custom\nthreadpool to workqueue is that the shared worker pool used by workqueue\nanonimizes each worker making it more difficult to identify what the\nworker was doing on which target from the output of sysrq-t or debug\ndump from oops, BUG() and friends.\n\nThis patch implements set_worker_desc() which can be called from any\nworkqueue work function to set its description.  When the worker task is\ndumped for whatever reason - sysrq-t, WARN, BUG, oops, lockdep assertion\nand so on - the description will be printed out together with the\nworkqueue name and the worker function pointer.\n\nThe printing side is implemented by print_worker_info() which is called\nfrom functions in task dump paths - sched_show_task() and\ndump_stack_print_info().  print_worker_info() can be safely called on\nany task in any state as long as the task struct itself is accessible.\nIt uses probe_*() functions to access worker fields.  It may print\ngarbage if something went very wrong, but it wouldn\u0027t cause (another)\noops.\n\nThe description is currently limited to 24bytes including the\nterminating \\0.  worker-\u003edesc_valid and workder-\u003edesc[] are added and\nthe 64 bytes marker which was already incorrect before adding the new\nfields is moved to the correct position.\n\nHere\u0027s an example dump with writeback updated to set the bdi name as\nworker desc.\n\n Hardware name: Bochs\n Modules linked in:\n Pid: 7, comm: kworker/u9:0 Not tainted 3.9.0-rc1-work+ #1\n Workqueue: writeback bdi_writeback_workfn (flush-8:0)\n  ffffffff820a3ab0 ffff88000f6e9cb8 ffffffff81c61845 ffff88000f6e9cf8\n  ffffffff8108f50f 0000000000000000 0000000000000000 ffff88000cde16b0\n  ffff88000cde1aa8 ffff88001ee19240 ffff88000f6e9fd8 ffff88000f6e9d08\n Call Trace:\n  [\u003cffffffff81c61845\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f50f\u003e] warn_slowpath_common+0x7f/0xc0\n  [\u003cffffffff8108f56a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff81200150\u003e] bdi_writeback_workfn+0x2a0/0x3b0\n ...\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd42d559e45e3563c74403e453f8954b593db69d",
      "tree": "99a39e02bd0428eaa52ebace5233de56d6441bae",
      "parents": [
        "681a90ffe829b8ee25d5266d7e69af256c090940"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:21 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "kthread: implement probe_kthread_data()\n\nOne of the problems that arise when converting dedicated custom threadpool\nto workqueue is that the shared worker pool used by workqueue anonimizes\neach worker making it more difficult to identify what the worker was doing\non which target from the output of sysrq-t or debug dump from oops, BUG()\nand friends.\n\nFor example, after writeback is converted to use workqueue instead of\npriviate thread pool, there\u0027s no easy to tell which backing device a\nwriteback work item was working on at the time of task dump, which,\naccording to our writeback brethren, is important in tracking down issues\nwith a lot of mounted file systems on a lot of different devices.\n\nThis patchset implements a way for a work function to mark its execution\ninstance so that task dump of the worker task includes information to\nindicate what the work item was doing.\n\nAn example WARN dump would look like the following.\n\n WARNING: at fs/fs-writeback.c:1015 bdi_writeback_workfn+0x2b4/0x3c0()\n Modules linked in:\n CPU: 0 Pid: 28 Comm: kworker/u18:0 Not tainted 3.9.0-rc1-work+ #24\n Hardware name: empty empty/S3992, BIOS 080011  10/26/2007\n Workqueue: writeback bdi_writeback_workfn (flush-8:16)\n  ffffffff820a3a98 ffff88015b927cb8 ffffffff81c61855 ffff88015b927cf8\n  ffffffff8108f500 0000000000000000 ffff88007a171948 ffff88007a1716b0\n  ffff88015b49df00 ffff88015b8d3940 0000000000000000 ffff88015b927d08\n Call Trace:\n  [\u003cffffffff81c61855\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f500\u003e] warn_slowpath_common+0x70/0xa0\n  ...\n\nThis patch:\n\nImplement probe_kthread_data() which returns kthread_data if accessible.\nThe function is equivalent to kthread_data() except that the specified\n@task may not be a kthread or its vfork_done is already cleared rendering\nstruct kthread inaccessible.  In the former case, probe_kthread_data() may\nreturn any value.  In the latter, NULL.\n\nThis will be used to safely print debug information without affecting\nsynchronization in the normal paths.  Workqueue debug info printing on\ndump_stack() and friends will make use of it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a43cb95d547a061ed5bf1acb28e0f5fd575e26c1",
      "tree": "69bcede26748d00907f6019dee446f538c64dbd2",
      "parents": [
        "98e5e1bf722c4f976a860aed06dd365a56a34ee0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "dump_stack: unify debug information printed by show_regs()\n\nshow_regs() is inherently arch-dependent but it does make sense to print\ngeneric debug information and some archs already do albeit in slightly\ndifferent forms.  This patch introduces a generic function to print debug\ninformation from show_regs() so that different archs print out the same\ninformation and it\u0027s much easier to modify what\u0027s printed.\n\nshow_regs_print_info() prints out the same debug info as dump_stack()\ndoes plus task and thread_info pointers.\n\n* Archs which didn\u0027t print debug info now do.\n\n  alpha, arc, blackfin, c6x, cris, frv, h8300, hexagon, ia64, m32r,\n  metag, microblaze, mn10300, openrisc, parisc, score, sh64, sparc,\n  um, xtensa\n\n* Already prints debug info.  Replaced with show_regs_print_info().\n  The printed information is superset of what used to be there.\n\n  arm, arm64, avr32, mips, powerpc, sh32, tile, unicore32, x86\n\n* s390 is special in that it used to print arch-specific information\n  along with generic debug info.  Heiko and Martin think that the\n  arch-specific extra isn\u0027t worth keeping s390 specfic implementation.\n  Converted to use the generic version.\n\nNote that now all archs print the debug info before actual register\ndumps.\n\nAn example BUG() dump follows.\n\n kernel BUG at /work/os/work/kernel/workqueue.c:4841!\n invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n Modules linked in:\n CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-rc1-work+ #7\n Hardware name: empty empty/S3992, BIOS 080011  10/26/2007\n task: ffff88007c85e040 ti: ffff88007c860000 task.ti: ffff88007c860000\n RIP: 0010:[\u003cffffffff8234a07e\u003e]  [\u003cffffffff8234a07e\u003e] init_workqueues+0x4/0x6\n RSP: 0000:ffff88007c861ec8  EFLAGS: 00010246\n RAX: ffff88007c861fd8 RBX: ffffffff824466a8 RCX: 0000000000000001\n RDX: 0000000000000046 RSI: 0000000000000001 RDI: ffffffff8234a07a\n RBP: ffff88007c861ec8 R08: 0000000000000000 R09: 0000000000000000\n R10: 0000000000000001 R11: 0000000000000000 R12: ffffffff8234a07a\n R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000\n FS:  0000000000000000(0000) GS:ffff88007dc00000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n CR2: ffff88015f7ff000 CR3: 00000000021f1000 CR4: 00000000000007f0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n Stack:\n  ffff88007c861ef8 ffffffff81000312 ffffffff824466a8 ffff88007c85e650\n  0000000000000003 0000000000000000 ffff88007c861f38 ffffffff82335e5d\n  ffff88007c862080 ffffffff8223d8c0 ffff88007c862080 ffffffff81c47760\n Call Trace:\n  [\u003cffffffff81000312\u003e] do_one_initcall+0x122/0x170\n  [\u003cffffffff82335e5d\u003e] kernel_init_freeable+0x9b/0x1c8\n  [\u003cffffffff81c47760\u003e] ? rest_init+0x140/0x140\n  [\u003cffffffff81c4776e\u003e] kernel_init+0xe/0xf0\n  [\u003cffffffff81c6be9c\u003e] ret_from_fork+0x7c/0xb0\n  [\u003cffffffff81c47760\u003e] ? rest_init+0x140/0x140\n  ...\n\nv2: Typo fix in x86-32.\n\nv3: CPU number dropped from show_regs_print_info() as\n    dump_stack_print_info() has been updated to print it.  s390\n    specific implementation dropped as requested by s390 maintainers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\t\t[tile bits]\nAcked-by: Richard Kuo \u003crkuo@codeaurora.org\u003e\t\t[hexagon bits]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98e5e1bf722c4f976a860aed06dd365a56a34ee0",
      "tree": "0988172e9944009ce481fae24fb42732cb873df8",
      "parents": [
        "c90fe6bc0343f7c26b30c9f503b1d061636ac8ee"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:15 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "dump_stack: implement arch-specific hardware description in task dumps\n\nx86 and ia64 can acquire extra hardware identification information\nfrom DMI and print it along with task dumps; however, the usage isn\u0027t\nconsistent.\n\n* x86 show_regs() collects vendor, product and board strings and print\n  them out with PID, comm and utsname.  Some of the information is\n  printed again later in the same dump.\n\n* warn_slowpath_common() explicitly accesses the DMI board and prints\n  it out with \"Hardware name:\" label.  This applies to both x86 and\n  ia64 but is irrelevant on all other archs.\n\n* ia64 doesn\u0027t show DMI information on other non-WARN dumps.\n\nThis patch introduces arch-specific hardware description used by\ndump_stack().  It can be set by calling dump_stack_set_arch_desc()\nduring boot and, if exists, printed out in a separate line with\n\"Hardware name:\" label.\n\ndmi_set_dump_stack_arch_desc() is added which sets arch-specific\ndescription from DMI data.  It uses dmi_ids_string[] which is set from\ndmi_present() used for DMI debug message.  It is superset of the\ninformation x86 show_regs() is using.  The function is called from x86\nand ia64 boot code right after dmi_scan_machine().\n\nThis makes the explicit DMI handling in warn_slowpath_common()\nunnecessary.  Removed.\n\nshow_regs() isn\u0027t yet converted to use generic debug information\nprinting and this patch doesn\u0027t remove the duplicate DMI handling in\nx86 show_regs().  The next patch will unify show_regs() handling and\nremove the duplication.\n\nAn example WARN dump follows.\n\n WARNING: at kernel/workqueue.c:4841 init_workqueues+0x35/0x505()\n Modules linked in:\n CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-rc1-work+ #3\n Hardware name: empty empty/S3992, BIOS 080011  10/26/2007\n  0000000000000009 ffff88007c861e08 ffffffff81c614dc ffff88007c861e48\n  ffffffff8108f500 ffffffff82228240 0000000000000040 ffffffff8234a08e\n  0000000000000000 0000000000000000 0000000000000000 ffff88007c861e58\n Call Trace:\n  [\u003cffffffff81c614dc\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f500\u003e] warn_slowpath_common+0x70/0xa0\n  [\u003cffffffff8108f54a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff8234a0c3\u003e] init_workqueues+0x35/0x505\n  ...\n\nv2: Use the same string as the debug message from dmi_present() which\n    also contains BIOS information.  Move hardware name into its own\n    line as warn_slowpath_common() did.  This change was suggested by\n    Bjorn Helgaas.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "196779b9b4ce1922afabdc20d0270720603bd46c",
      "tree": "9628ad58fef85b4cc060f434e01fe50a8e0e333c",
      "parents": [
        "89e3f23da9c827bfa9806c3d4da83a12c1c8543a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:12 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "dump_stack: consolidate dump_stack() implementations and unify their behaviors\n\nBoth dump_stack() and show_stack() are currently implemented by each\narchitecture.  show_stack(NULL, NULL) dumps the backtrace for the\ncurrent task as does dump_stack().  On some archs, dump_stack() prints\nextra information - pid, utsname and so on - in addition to the\nbacktrace while the two are identical on other archs.\n\nThe usages in arch-independent code of the two functions indicate\nshow_stack(NULL, NULL) should print out bare backtrace while\ndump_stack() is used for debugging purposes when something went wrong,\nso it does make sense to print additional information on the task which\ntriggered dump_stack().\n\nThere\u0027s no reason to require archs to implement two separate but mostly\nidentical functions.  It leads to unnecessary subtle information.\n\nThis patch expands the dummy fallback dump_stack() implementation in\nlib/dump_stack.c such that it prints out debug information (taken from\nx86) and invokes show_stack(NULL, NULL) and drops arch-specific\ndump_stack() implementations in all archs except blackfin.  Blackfin\u0027s\ndump_stack() does something wonky that I don\u0027t understand.\n\nDebug information can be printed separately by calling\ndump_stack_print_info() so that arch-specific dump_stack()\nimplementation can still emit the same debug information.  This is used\nin blackfin.\n\nThis patch brings the following behavior changes.\n\n* On some archs, an extra level in backtrace for show_stack() could be\n  printed.  This is because the top frame was determined in\n  dump_stack() on those archs while generic dump_stack() can\u0027t do that\n  reliably.  It can be compensated by inlining dump_stack() but not\n  sure whether that\u0027d be necessary.\n\n* Most archs didn\u0027t use to print debug info on dump_stack().  They do\n  now.\n\nAn example WARN dump follows.\n\n WARNING: at kernel/workqueue.c:4841 init_workqueues+0x35/0x505()\n Hardware name: empty\n Modules linked in:\n CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-rc1-work+ #9\n  0000000000000009 ffff88007c861e08 ffffffff81c614dc ffff88007c861e48\n  ffffffff8108f50f ffffffff82228240 0000000000000040 ffffffff8234a03c\n  0000000000000000 0000000000000000 0000000000000000 ffff88007c861e58\n Call Trace:\n  [\u003cffffffff81c614dc\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f50f\u003e] warn_slowpath_common+0x7f/0xc0\n  [\u003cffffffff8108f56a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff8234a071\u003e] init_workqueues+0x35/0x505\n  ...\n\nv2: CPU number added to the generic debug info as requested by s390\n    folks and dropped the s390 specific dump_stack().  This loses %ksp\n    from the debug message which the maintainers think isn\u0027t important\n    enough to keep the s390-specific dump_stack() implementation.\n\n    dump_stack_print_info() is moved to kernel/printk.c from\n    lib/dump_stack.c.  Because linkage is per objecct file,\n    dump_stack_print_info() living in the same lib file as generic\n    dump_stack() means that archs which implement custom dump_stack()\n    - at this point, only blackfin - can\u0027t use dump_stack_print_info()\n    as that will bring in the generic version of dump_stack() too.  v1\n    The v1 patch broke build on blackfin due to this issue.  The build\n    breakage was reported by Fengguang Wu.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\t[s390 bits]\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: Richard Kuo \u003crkuo@codeaurora.org\u003e\t\t[hexagon bits]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff610a1d55da22bf95bbc6a8b193e052169b34b7",
      "tree": "0c96ecc78d4d3818825f74871357b94134a22eac",
      "parents": [
        "833f8662af9659508afc3cb80f09138eade378e2"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Tue Apr 30 15:26:58 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "mm: cleancache: clean up cleancache_enabled\n\ncleancache_ops is used to decide whether backend is registered.\nSo now cleancache_enabled is always true if defined CONFIG_CLEANCACHE.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "833f8662af9659508afc3cb80f09138eade378e2",
      "tree": "fffd8a1328c55a6ec8ac1159d1258e28d8ca7cec",
      "parents": [
        "49a9ab815acb8379a2f5fd43abe40038821e8f87"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Apr 30 15:26:57 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "cleancache: Make cleancache_init use a pointer for the ops\n\nInstead of using a backend_registered to determine whether a backend is\nenabled.  This allows us to remove the backend_register check and just\ndo \u0027if (cleancache_ops)\u0027\n\n[v1: Rebase on top of b97c4b430b0a (ramster-\u003ezcache move]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f89849da22db9d0edb378acea65e23fcd546173",
      "tree": "8af95a340c8d8605ad8f492ef0f6f98f2a4e4523",
      "parents": [
        "f066ea230a65f939afc354beae62716ab5f0e645"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Tue Apr 30 15:26:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "frontswap: get rid of swap_lock dependency\n\nFrontswap initialization routine depends on swap_lock, which want to be\natomic about frontswap\u0027s first appearance.  IOW, frontswap is not present\nand will fail all calls OR frontswap is fully functional but if new\nswap_info_struct isn\u0027t registered by enable_swap_info, swap subsystem\ndoesn\u0027t start I/O so there is no race between init procedure and page I/O\nworking on frontswap.\n\nSo let\u0027s remove unnecessary swap_lock dependency.\n\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\n[v1: Rebased on my branch, reworked to work with backends loading late]\n[v2: Added a check for !map]\n[v3: Made the invalidate path follow the init path]\n[v4: Address comments by Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad@darnok.org\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f066ea230a65f939afc354beae62716ab5f0e645",
      "tree": "1056e57d4b0c9819c74bd929006cf352994230d2",
      "parents": [
        "1e01c968db3d0aebd48e31db15f24516b03128df"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Tue Apr 30 15:26:53 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "mm: frontswap: cleanup code\n\nAfter allowing tmem backends to build/run as modules, frontswap_enabled\nalways true if defined CONFIG_FRONTSWAP.  But frontswap_test() depends on\nwhether backend is registered, mv it into frontswap.c using fronstswap_ops\nto make the decision.\n\nfrontswap_set/clear are not used outside frontswap, so don\u0027t export them.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e01c968db3d0aebd48e31db15f24516b03128df",
      "tree": "6f8ebed201fdc426a6926b4a2235e8dd2538f025",
      "parents": [
        "905cd0e1bf9ffe82d6906a01fd974ea0f70be97a"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Apr 30 15:26:51 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "frontswap: make frontswap_init use a pointer for the ops\n\nThis simplifies the code in the frontswap - we can get rid of the\n\u0027backend_registered\u0027 test and instead check against frontswap_ops.\n\n[v1: Rebase on top of 703ba7fe5e0 (ramster-\u003ezcache move]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andor Daam \u003candor.daam@googlemail.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Florian Schmaus \u003cfschmaus@gmail.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Stefan Hengelein \u003cilendir@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ace6128d603d3f15238baba104d0b37ccf0b6c07",
      "tree": "883f0e51d1576d915fde820eae7a21be95a232fb",
      "parents": [
        "677a0b5ac16337277139798ec43fc32ebaae1347"
      ],
      "author": {
        "name": "Vincent Stehlé",
        "email": "vincent.stehle@laposte.net",
        "time": "Tue Apr 30 15:26:45 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:00 2013 -0700"
      },
      "message": "memory hotplug: fix warnings\n\nFix the following compilation warnings:\n\n  mm/slab.c: In function `kmem_cache_init_late\u0027:\n  mm/slab.c:1778:2: warning: statement with no effect [-Wunused-value]\n\n  mm/page_cgroup.c: In function `page_cgroup_init\u0027:\n  mm/page_cgroup.c:305:2: warning: statement with no effect [-Wunused-value]\n\nSigned-off-by: Vincent Stehlé \u003cvincent.stehle@laposte.net\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": "19b344efa35dbc253e2d10403dafe6aafda73c56",
      "tree": "47c4ad25398642bcf1a93e186d77548ced3f7a2a",
      "parents": [
        "5d434fcb255dec99189f1c58a06e4f56e12bf77d",
        "ad1b890e06af049fb48d7ccb799d0e96c071c893"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 09:37:55 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 09:37:55 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\nPull HID updates from Jiri Kosina:\n\n - hid driver transport cleanup, finalizing the long-desired decoupling\n   of core from transport layers, by Benjamin Tissoires and Henrik\n   Rydberg\n\n - support for hybrid finger/pen multitouch HID devices, by Benjamin\n   Tissoires\n\n - fix for long-standing issue in Logitech unifying driver sometimes not\n   inializing properly due to device specifics, by Andrew de los Reyes\n\n - Wii remote driver updates to support 2nd generation of devices, by\n   David Herrmann\n\n - support for Apple IR remote\n\n - roccat driver now supports new devices (Roccat Kone Pure, IskuFX), by\n   Stefan Achatz\n\n - debugfs locking fixes in hid debug interface, by Jiri Kosina\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (43 commits)\n  HID: protect hid_debug_list\n  HID: debug: break out hid_dump_report() into hid-debug\n  HID: Add PID for Japanese version of NE4K keyboard\n  HID: hid-lg4ff add support for new version of DFGT wheel\n  HID: icade: u16 which never \u003c 0\n  HID: clarify Magic Mouse Kconfig description\n  HID: appleir: add support for Apple ir devices\n  HID: roccat: added media key support for Kone\n  HID: hid-lenovo-tpkbd: remove doubled hid_get_drvdata\n  HID: i2c-hid: fix length for set/get report in i2c hid\n  HID: wiimote: parse reduced status reports\n  HID: wiimote: add 2nd generation Wii Remote IDs\n  HID: wiimote: use unique battery names\n  HID: hidraw: warn if userspace headers are outdated\n  HID: multitouch: force BTN_STYLUS for pen devices\n  HID: multitouch: append \" Pen\" to the name of the stylus input\n  HID: multitouch: add handling for pen in dual-sensors device\n  HID: multitouch: change touch sensor detection in mt_input_configured()\n  HID: multitouch: do not map usage from non used reports\n  HID: multitouch: breaks out touch handling in specific functions\n  ...\n"
    },
    {
      "commit": "5d434fcb255dec99189f1c58a06e4f56e12bf77d",
      "tree": "734289dc85074903d9e636a935d43414746e222c",
      "parents": [
        "5a5a1bf099d6942399ea0b34a62e5f0bc4c5c36e",
        "071361d3473ebb8142907470ff12d59c59f6be72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 09:36:50 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 09:36:50 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree updates from Jiri Kosina:\n \"Usual stuff, mostly comment fixes, typo fixes, printk fixes and small\n  code cleanups\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (45 commits)\n  mm: Convert print_symbol to %pSR\n  gfs2: Convert print_symbol to %pSR\n  m32r: Convert print_symbol to %pSR\n  iostats.txt: add easy-to-find description for field 6\n  x86 cmpxchg.h: fix wrong comment\n  treewide: Fix typo in printk and comments\n  doc: devicetree: Fix various typos\n  docbook: fix 8250 naming in device-drivers\n  pata_pdc2027x: Fix compiler warning\n  treewide: Fix typo in printks\n  mei: Fix comments in drivers/misc/mei\n  treewide: Fix typos in kernel messages\n  pm44xx: Fix comment for \"CONFIG_CPU_IDLE\"\n  doc: Fix typo \"CONFIG_CGROUP_CGROUP_MEMCG_SWAP\"\n  mmzone: correct \"pags\" to \"pages\" in comment.\n  kernel-parameters: remove outdated \u0027noresidual\u0027 parameter\n  Remove spurious _H suffixes from ifdef comments\n  sound: Remove stray pluses from Kconfig file\n  radio-shark: Fix printk \"CONFIG_LED_CLASS\"\n  doc: put proper reference to CONFIG_MODULE_SIG_ENFORCE\n  ...\n"
    },
    {
      "commit": "5a5a1bf099d6942399ea0b34a62e5f0bc4c5c36e",
      "tree": "df094aa1544281ec0894eee48ad60c9d000a18ba",
      "parents": [
        "74c7d2f5200a340ae6655e9adcf990381e387937",
        "5379f8c0d72cab43bbe6d974ceb3ad84dddc2b8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 08:42:45 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 08:42:45 2013 -0700"
      },
      "message": "Merge branch \u0027x86-ras-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 RAS changes from Ingo Molnar:\n\n - Add an Intel CMCI hotplug fix\n\n - Add AMD family 16h EDAC support\n\n - Make the AMD MCE banks code more flexible for virtual environments\n\n* \u0027x86-ras-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  amd64_edac: Add Family 16h support\n  x86/mce: Rework cmci_rediscover() to play well with CPU hotplug\n  x86, MCE, AMD: Use MCG_CAP MSR to find out number of banks on AMD\n  x86, MCE, AMD: Replace shared_bank array with is_shared_bank() helper\n"
    },
    {
      "commit": "ab86e974f04b1cd827a9c7c35273834ebcd9ab38",
      "tree": "41df33732d2700d6d57d1e7ab3f430942f09ffcc",
      "parents": [
        "8700c95adb033843fc163d112b9d21d4fda78018",
        "6f7a05d7018de222e40ca003721037a530979974"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 08:15:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 08:15:40 2013 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core timer updates from Ingo Molnar:\n \"The main changes in this cycle\u0027s merge are:\n\n   - Implement shadow timekeeper to shorten in kernel reader side\n     blocking, by Thomas Gleixner.\n\n   - Posix timers enhancements by Pavel Emelyanov:\n\n   - allocate timer ID per process, so that exact timer ID allocations\n     can be re-created be checkpoint/restore code.\n\n   - debuggability and tooling (/proc/PID/timers, etc.) improvements.\n\n   - suspend/resume enhancements by Feng Tang: on certain new Intel Atom\n     processors (Penwell and Cloverview), there is a feature that the\n     TSC won\u0027t stop in S3 state, so the TSC value won\u0027t be reset to 0\n     after resume.  This can be taken advantage of by the generic via\n     the CLOCK_SOURCE_SUSPEND_NONSTOP flag: instead of using the RTC to\n     recover/approximate sleep time, the main (and precise) clocksource\n     can be used.\n\n   - Fix /proc/timer_list for 4096 CPUs by Nathan Zimmer: on so many\n     CPUs the file goes beyond 4MB of size and thus the current\n     simplistic seqfile approach fails.  Convert /proc/timer_list to a\n     proper seq_file with its own iterator.\n\n   - Cleanups and refactorings of the core timekeeping code by John\n     Stultz.\n\n   - International Atomic Clock time is managed by the NTP code\n     internally currently but not exposed externally.  Separate the TAI\n     code out and add CLOCK_TAI support and TAI support to the hrtimer\n     and posix-timer code, by John Stultz.\n\n   - Add deep idle support enhacement to the broadcast clockevents core\n     timer code, by Daniel Lezcano: add an opt-in CLOCK_EVT_FEAT_DYNIRQ\n     clockevents feature (which will be utilized by future clockevents\n     driver updates), which allows the use of IRQ affinities to avoid\n     spurious wakeups of idle CPUs - the right CPU with an expiring\n     timer will be woken.\n\n   - Add new ARM bcm281xx clocksource driver, by Christian Daudt\n\n   - ... various other fixes and cleanups\"\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)\n  clockevents: Set dummy handler on CPU_DEAD shutdown\n  timekeeping: Update tk-\u003ecycle_last in resume\n  posix-timers: Remove unused variable\n  clockevents: Switch into oneshot mode even if broadcast registered late\n  timer_list: Convert timer list to be a proper seq_file\n  timer_list: Split timer_list_show_tickdevices\n  posix-timers: Show sigevent info in proc file\n  posix-timers: Introduce /proc/PID/timers file\n  posix timers: Allocate timer id per process (v2)\n  timekeeping: Make sure to notify hrtimers when TAI offset changes\n  hrtimer: Fix ktime_add_ns() overflow on 32bit architectures\n  hrtimer: Add expiry time overflow check in hrtimer_interrupt\n  timekeeping: Shorten seq_count region\n  timekeeping: Implement a shadow timekeeper\n  timekeeping: Delay update of clock-\u003ecycle_last\n  timekeeping: Store cycle_last value in timekeeper struct as well\n  ntp: Remove ntp_lock, using the timekeeping locks to protect ntp state\n  timekeeping: Simplify tai updating from do_adjtimex\n  timekeeping: Hold timekeepering locks in do_adjtimex and hardpps\n  timekeeping: Move ADJ_SETOFFSET to top level do_adjtimex()\n  ...\n"
    },
    {
      "commit": "8700c95adb033843fc163d112b9d21d4fda78018",
      "tree": "7bb9a37b8fe6328f63a61d88063c556346001098",
      "parents": [
        "16fa94b532b1958f508e07eca1a9256351241fbc",
        "d190e8195b90bc1e65c494fe08e54e9e581bfd16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:50:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:50:17 2013 -0700"
      },
      "message": "Merge branch \u0027smp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull SMP/hotplug changes from Ingo Molnar:\n \"This is a pretty large, multi-arch series unifying and generalizing\n  the various disjunct pieces of idle routines that architectures have\n  historically copied from each other and have grown in random, wildly\n  inconsistent and sometimes buggy directions:\n\n   101 files changed, 455 insertions(+), 1328 deletions(-)\n\n  this went through a number of review and test iterations before it was\n  committed, it was tested on various architectures, was exposed to\n  linux-next for quite some time - nevertheless it might cause problems\n  on architectures that don\u0027t read the mailing lists and don\u0027t regularly\n  test linux-next.\n\n  This cat herding excercise was motivated by the -rt kernel, and was\n  brought to you by Thomas \"the Whip\" Gleixner.\"\n\n* \u0027smp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)\n  idle: Remove GENERIC_IDLE_LOOP config switch\n  um: Use generic idle loop\n  ia64: Make sure interrupts enabled when we \"safe_halt()\"\n  sparc: Use generic idle loop\n  idle: Remove unused ARCH_HAS_DEFAULT_IDLE\n  bfin: Fix typo in arch_cpu_idle()\n  xtensa: Use generic idle loop\n  x86: Use generic idle loop\n  unicore: Use generic idle loop\n  tile: Use generic idle loop\n  tile: Enter idle with preemption disabled\n  sh: Use generic idle loop\n  score: Use generic idle loop\n  s390: Use generic idle loop\n  powerpc: Use generic idle loop\n  parisc: Use generic idle loop\n  openrisc: Use generic idle loop\n  mn10300: Use generic idle loop\n  mips: Use generic idle loop\n  microblaze: Use generic idle loop\n  ...\n"
    },
    {
      "commit": "16fa94b532b1958f508e07eca1a9256351241fbc",
      "tree": "90012a7b7fe2b8cf96f6f5ec12490e0c5e152291",
      "parents": [
        "e0972916e8fe943f342b0dd1c9d43dbf5bc261c2",
        "25f55d9d01ad7a7ad248fd5af1d22675ffd202c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:43:28 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:43:28 2013 -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 from Ingo Molnar:\n \"The main changes in this development cycle were:\n\n   - full dynticks preparatory work by Frederic Weisbecker\n\n   - factor out the cpu time accounting code better, by Li Zefan\n\n   - multi-CPU load balancer cleanups and improvements by Joonsoo Kim\n\n   - various smaller fixes and cleanups\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)\n  sched: Fix init NOHZ_IDLE flag\n  sched: Prevent to re-select dst-cpu in load_balance()\n  sched: Rename load_balance_tmpmask to load_balance_mask\n  sched: Move up affinity check to mitigate useless redoing overhead\n  sched: Don\u0027t consider other cpus in our group in case of NEWLY_IDLE\n  sched: Explicitly cpu_idle_type checking in rebalance_domains()\n  sched: Change position of resched_cpu() in load_balance()\n  sched: Fix wrong rq\u0027s runnable_avg update with rt tasks\n  sched: Document task_struct::personality field\n  sched/cpuacct/UML: Fix header file dependency bug on the UML build\n  cgroup: Kill subsys.active flag\n  sched/cpuacct: No need to check subsys active state\n  sched/cpuacct: Initialize cpuacct subsystem earlier\n  sched/cpuacct: Initialize root cpuacct earlier\n  sched/cpuacct: Allocate per_cpu cpuusage for root cpuacct statically\n  sched/cpuacct: Clean up cpuacct.h\n  sched/cpuacct: Remove redundant NULL checks in cpuacct_acount_field()\n  sched/cpuacct: Remove redundant NULL checks in cpuacct_charge()\n  sched/cpuacct: Add cpuacct_acount_field()\n  sched/cpuacct: Add cpuacct_init()\n  ...\n"
    },
    {
      "commit": "e0972916e8fe943f342b0dd1c9d43dbf5bc261c2",
      "tree": "690c436f1f9b839c4ba34d17ab3efa63b97a2dce",
      "parents": [
        "1f889ec62c3f0d8913f3c32f9aff2a1e15099346",
        "5ac2b5c2721501a8f5c5e1cd4116cbc31ace6886"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:41:01 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:41:01 2013 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates from Ingo Molnar:\n \"Features:\n\n   - Add \"uretprobes\" - an optimization to uprobes, like kretprobes are\n     an optimization to kprobes.  \"perf probe -x file sym%return\" now\n     works like kretprobes.  By Oleg Nesterov.\n\n   - Introduce per core aggregation in \u0027perf stat\u0027, from Stephane\n     Eranian.\n\n   - Add memory profiling via PEBS, from Stephane Eranian.\n\n   - Event group view for \u0027annotate\u0027 in --stdio, --tui and --gtk, from\n     Namhyung Kim.\n\n   - Add support for AMD NB and L2I \"uncore\" counters, by Jacob Shin.\n\n   - Add Ivy Bridge-EP uncore support, by Zheng Yan\n\n   - IBM zEnterprise EC12 oprofile support patchlet from Robert Richter.\n\n   - Add perf test entries for checking breakpoint overflow signal\n     handler issues, from Jiri Olsa.\n\n   - Add perf test entry for for checking number of EXIT events, from\n     Namhyung Kim.\n\n   - Add perf test entries for checking --cpu in record and stat, from\n     Jiri Olsa.\n\n   - Introduce perf stat --repeat forever, from Frederik Deweerdt.\n\n   - Add --no-demangle to report/top, from Namhyung Kim.\n\n   - PowerPC fixes plus a couple of cleanups/optimizations in uprobes\n     and trace_uprobes, by Oleg Nesterov.\n\n  Various fixes and refactorings:\n\n   - Fix dependency of the python binding wrt libtraceevent, from\n     Naohiro Aota.\n\n   - Simplify some perf_evlist methods and to allow \u0027stat\u0027 to share code\n     with \u0027record\u0027 and \u0027trace\u0027, by Arnaldo Carvalho de Melo.\n\n   - Remove dead code in related to libtraceevent integration, from\n     Namhyung Kim.\n\n   - Revert \"perf sched: Handle PERF_RECORD_EXIT events\" to get \u0027perf\n     sched lat\u0027 back working, by Arnaldo Carvalho de Melo\n\n   - We don\u0027t use Newt anymore, just plain libslang, by Arnaldo Carvalho\n     de Melo.\n\n   - Kill a bunch of die() calls, from Namhyung Kim.\n\n   - Fix build on non-glibc systems due to libio.h absence, from Cody P\n     Schafer.\n\n   - Remove some perf_session and tracing dead code, from David Ahern.\n\n   - Honor parallel jobs, fix from Borislav Petkov\n\n   - Introduce tools/lib/lk library, initially just removing duplication\n     among tools/perf and tools/vm.  from Borislav Petkov\n\n  ... and many more I missed to list, see the shortlog and git log for\n  more details.\"\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (136 commits)\n  perf/x86/intel/P4: Robistify P4 PMU types\n  perf/x86/amd: Fix AMD NB and L2I \"uncore\" support\n  perf/x86/amd: Remove old-style NB counter support from perf_event_amd.c\n  perf/x86: Check all MSRs before passing hw check\n  perf/x86/amd: Add support for AMD NB and L2I \"uncore\" counters\n  perf/x86/intel: Add Ivy Bridge-EP uncore support\n  perf/x86/intel: Fix SNB-EP CBO and PCU uncore PMU filter management\n  perf/x86: Avoid kfree() in CPU_{STARTING,DYING}\n  uprobes/perf: Avoid perf_trace_buf_prepare/submit if -\u003eperf_events is empty\n  uprobes/tracing: Don\u0027t pass addr\u003dip to perf_trace_buf_submit()\n  uprobes/tracing: Change create_trace_uprobe() to support uretprobes\n  uprobes/tracing: Make seq_printf() code uretprobe-friendly\n  uprobes/tracing: Make register_uprobe_event() paths uretprobe-friendly\n  uprobes/tracing: Make uprobe_{trace,perf}_print() uretprobe-friendly\n  uprobes/tracing: Introduce is_ret_probe() and uretprobe_dispatcher()\n  uprobes/tracing: Introduce uprobe_{trace,perf}_print() helpers\n  uprobes/tracing: Generalize struct uprobe_trace_entry_head\n  uprobes/tracing: Kill the pointless local_save_flags/preempt_count calls\n  uprobes/tracing: Kill the pointless seq_print_ip_sym() call\n  uprobes/tracing: Kill the pointless task_pt_regs() calls\n  ...\n"
    },
    {
      "commit": "1f889ec62c3f0d8913f3c32f9aff2a1e15099346",
      "tree": "381a74ab73c865ba6d1c77df39898dd4f81cfeef",
      "parents": [
        "6c24499f40d96bf07a85b709fb1bee5cea611a1d",
        "8fcfae31719c0a6c03f2cf63f815b46d378d8be4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:39:01 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:39:01 2013 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU updates from Ingo Molnar:\n \"The main changes in this cycle are mostly related to preparatory work\n  for the full-dynticks work:\n\n   - Remove restrictions on no-CBs CPUs, make RCU_FAST_NO_HZ take\n     advantage of numbered callbacks, do callback accelerations based on\n     numbered callbacks.  Posted to LKML at\n        https://lkml.org/lkml/2013/3/18/960\n\n   - RCU documentation updates.  Posted to LKML at\n        https://lkml.org/lkml/2013/3/18/570\n\n   - Miscellaneous fixes.  Posted to LKML at\n        https://lkml.org/lkml/2013/3/18/594\"\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  rcu: Make rcu_accelerate_cbs() note need for future grace periods\n  rcu: Abstract rcu_start_future_gp() from rcu_nocb_wait_gp()\n  rcu: Rename n_nocb_gp_requests to need_future_gp\n  rcu: Push lock release to rcu_start_gp()\u0027s callers\n  rcu: Repurpose no-CBs event tracing to future-GP events\n  rcu: Rearrange locking in rcu_start_gp()\n  rcu: Make RCU_FAST_NO_HZ take advantage of numbered callbacks\n  rcu: Accelerate RCU callbacks at grace-period end\n  rcu: Export RCU_FAST_NO_HZ parameters to sysfs\n  rcu: Distinguish \"rcuo\" kthreads by RCU flavor\n  rcu: Add event tracing for no-CBs CPUs\u0027 grace periods\n  rcu: Add event tracing for no-CBs CPUs\u0027 callback registration\n  rcu: Introduce proper blocking to no-CBs kthreads GP waits\n  rcu: Provide compile-time control for no-CBs CPUs\n  rcu: Tone down debugging during boot-up and shutdown.\n  rcu: Add softirq-stall indications to stall-warning messages\n  rcu: Documentation update\n  rcu: Make bugginess of code sample more evident\n  rcu: Fix hlist_bl_set_first_rcu() annotation\n  rcu: Delete unused rcu_node \"wakemask\" field\n  ...\n"
    },
    {
      "commit": "72c16d9a5c303dce928a52a8861fe7a2a25f849a",
      "tree": "b38d03007abcfadf12619d422169a6d4d4000ce7",
      "parents": [
        "4f5a81042909fed6977881f22c024aa3582cfcca",
        "fb4d8d98dc24f66f7f98e6506fad63e1c320cd82"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 30 10:17:48 2013 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 30 10:17:48 2013 +0200"
      },
      "message": "Merge branch \u0027for-3.10/mt-hybrid-finger-pen\u0027 into for-linus\n\nConflicts:\n\tdrivers/hid/hid-multitouch.c\n"
    },
    {
      "commit": "4f5a81042909fed6977881f22c024aa3582cfcca",
      "tree": "e4988527cfb63d13a40fe235c8aa399a4931c049",
      "parents": [
        "9a4a5574ce427c364d81746fc7fb82d86b5f1a7e",
        "2353f2bea307390e015493118e425152b8a5a431",
        "7c4d577367fb710ea74a56955c5e3546fe5dd7ac",
        "d991938a807a63c58c9c0fa6cd05cd2490aa6993"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 30 10:12:44 2013 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 30 10:12:44 2013 +0200"
      },
      "message": "Merge branches \u0027for-3.10/appleir\u0027, \u0027for-3.10/hid-debug\u0027, \u0027for-3.10/hid-driver-transport-cleanups\u0027, \u0027for-3.10/i2c-hid\u0027 and \u0027for-3.10/logitech\u0027 into for-linus\n"
    },
    {
      "commit": "2353f2bea307390e015493118e425152b8a5a431",
      "tree": "beb7fd2471690bbd8b0d0982c3b1f40f6784adba",
      "parents": [
        "a5f04b9df1113e0c16271afe5e43028f0d763f13"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 16 15:40:09 2013 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 30 10:09:31 2013 +0200"
      },
      "message": "HID: protect hid_debug_list\n\nAccesses to hid_device-\u003ehid_debug_list are not serialized properly, which\ncould result in SMP concurrency issues when HID debugfs events are accessesed\nby multiple userspace processess.\n\nSerialize all the list operations by a mutex.\n\nSpotted by Al Viro.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "a5f04b9df1113e0c16271afe5e43028f0d763f13",
      "tree": "cf051c3219bcd6d1b782ad51c9a94c5ca2735467",
      "parents": [
        "014642cb0a08d1b12c6089c48c7ba6002a0f6811"
      ],
      "author": {
        "name": "Benjamin Tissoires",
        "email": "benjamin.tissoires@redhat.com",
        "time": "Wed Apr 17 19:38:13 2013 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 30 10:09:06 2013 +0200"
      },
      "message": "HID: debug: break out hid_dump_report() into hid-debug\n\nNo semantic changes, but hid_dump_report should be in hid-debug.c, not\nin hid-core.c\n\nSigned-off-by: Benjamin Tissoires \u003cbenjamin.tissoires@redhat.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "56847d857cb0c3ee78c22ce776a26f88d9ffd4d4",
      "tree": "a85bcf204a53e45d26f6a3984f16ddd525eef3e7",
      "parents": [
        "191a712090bb8a10e6f129360eeed2d68f3d4c9a",
        "8d564368a9a3197f43e56dadf4a18c5738849f94"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:47:50 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:47:50 2013 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (incoming from Andrew)\n\nMerge second batch of fixes from Andrew Morton:\n\n - various misc bits\n\n - some printk updates\n\n - a new \"SRAM\" driver.\n\n - MAINTAINERS updates\n\n - the backlight driver queue\n\n - checkpatch updates\n\n - a few init/ changes\n\n - a huge number of drivers/rtc changes\n\n - fatfs updates\n\n - some lib/idr.c work\n\n - some renaming of the random driver interfaces\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (285 commits)\n  net: rename random32 to prandom\n  net/core: remove duplicate statements by do-while loop\n  net/core: rename random32() to prandom_u32()\n  net/netfilter: rename random32() to prandom_u32()\n  net/sched: rename random32() to prandom_u32()\n  net/sunrpc: rename random32() to prandom_u32()\n  scsi: rename random32() to prandom_u32()\n  lguest: rename random32() to prandom_u32()\n  uwb: rename random32() to prandom_u32()\n  video/uvesafb: rename random32() to prandom_u32()\n  mmc: rename random32() to prandom_u32()\n  drbd: rename random32() to prandom_u32()\n  kernel/: rename random32() to prandom_u32()\n  mm/: rename random32() to prandom_u32()\n  lib/: rename random32() to prandom_u32()\n  x86: rename random32() to prandom_u32()\n  x86: pageattr-test: remove srandom32 call\n  uuid: use prandom_bytes()\n  raid6test: use prandom_bytes()\n  sctp: convert sctp_assoc_set_id() to use idr_alloc_cyclic()\n  ...\n"
    },
    {
      "commit": "191a712090bb8a10e6f129360eeed2d68f3d4c9a",
      "tree": "17e2d6c27fb8a7c3a61828fbcc7c343a4966a0a9",
      "parents": [
        "46d9be3e5eb01f71fc02653755d970247174b400",
        "2a0010af17b1739ef8ea8cf02647a127241ee674"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:14:20 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:14:20 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup updates from Tejun Heo:\n\n - Fixes and a lot of cleanups.  Locking cleanup is finally complete.\n   cgroup_mutex is no longer exposed to individual controlelrs which\n   used to cause nasty deadlock issues.  Li fixed and cleaned up quite a\n   bit including long standing ones like racy cgroup_path().\n\n - device cgroup now supports proper hierarchy thanks to Aristeu.\n\n - perf_event cgroup now supports proper hierarchy.\n\n - A new mount option \"__DEVEL__sane_behavior\" is added.  As indicated\n   by the name, this option is to be used for development only at this\n   point and generates a warning message when used.  Unfortunately,\n   cgroup interface currently has too many brekages and inconsistencies\n   to implement a consistent and unified hierarchy on top.  The new flag\n   is used to collect the behavior changes which are necessary to\n   implement consistent unified hierarchy.  It\u0027s likely that this flag\n   won\u0027t be used verbatim when it becomes ready but will be enabled\n   implicitly along with unified hierarchy.\n\n   The option currently disables some of broken behaviors in cgroup core\n   and also .use_hierarchy switch in memcg (will be routed through -mm),\n   which can be used to make very unusual hierarchy where nesting is\n   partially honored.  It will also be used to implement hierarchy\n   support for blk-throttle which would be impossible otherwise without\n   introducing a full separate set of control knobs.\n\n   This is essentially versioning of interface which isn\u0027t very nice but\n   at this point I can\u0027t see any other options which would allow keeping\n   the interface the same while moving towards hierarchy behavior which\n   is at least somewhat sane.  The planned unified hierarchy is likely\n   to require some level of adaptation from userland anyway, so I think\n   it\u0027d be best to take the chance and update the interface such that\n   it\u0027s supportable in the long term.\n\n   Maintaining the existing interface does complicate cgroup core but\n   shouldn\u0027t put too much strain on individual controllers and I think\n   it\u0027d be manageable for the foreseeable future.  Maybe we\u0027ll be able\n   to drop it in a decade.\n\nFix up conflicts (including a semantic one adding a new #include to ppc\nthat was uncovered by header the file changes) as per Tejun.\n\n* \u0027for-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (45 commits)\n  cpuset: fix compile warning when CONFIG_SMP\u003dn\n  cpuset: fix cpu hotplug vs rebuild_sched_domains() race\n  cpuset: use rebuild_sched_domains() in cpuset_hotplug_workfn()\n  cgroup: restore the call to eventfd-\u003epoll()\n  cgroup: fix use-after-free when umounting cgroupfs\n  cgroup: fix broken file xattrs\n  devcg: remove parent_cgroup.\n  memcg: force use_hierarchy if sane_behavior\n  cgroup: remove cgrp-\u003etop_cgroup\n  cgroup: introduce sane_behavior mount option\n  move cgroupfs_root to include/linux/cgroup.h\n  cgroup: convert cgroupfs_root flag bits to masks and add CGRP_ prefix\n  cgroup: make cgroup_path() not print double slashes\n  Revert \"cgroup: remove bind() method from cgroup_subsys.\"\n  perf: make perf_event cgroup hierarchical\n  cgroup: implement cgroup_is_descendant()\n  cgroup: make sure parent won\u0027t be destroyed before its children\n  cgroup: remove bind() method from cgroup_subsys.\n  devcg: remove broken_hierarchy tag\n  cgroup: remove cgroup_lock_is_held()\n  ...\n"
    },
    {
      "commit": "46d9be3e5eb01f71fc02653755d970247174b400",
      "tree": "01534c9ebfa5f52a7133e34354d2831fe6704f15",
      "parents": [
        "ce8aa48929449b491149b6c87861ac69cb797a42",
        "cece95dfe5aa56ba99e51b4746230ff0b8542abd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:07:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:07:40 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue updates from Tejun Heo:\n \"A lot of activities on workqueue side this time.  The changes achieve\n  the followings.\n\n   - WQ_UNBOUND workqueues - the workqueues which are per-cpu - are\n     updated to be able to interface with multiple backend worker pools.\n     This involved a lot of churning but the end result seems actually\n     neater as unbound workqueues are now a lot closer to per-cpu ones.\n\n   - The ability to interface with multiple backend worker pools are\n     used to implement unbound workqueues with custom attributes.\n     Currently the supported attributes are the nice level and CPU\n     affinity.  It may be expanded to include cgroup association in\n     future.  The attributes can be specified either by calling\n     apply_workqueue_attrs() or through /sys/bus/workqueue/WQ_NAME/* if\n     the workqueue in question is exported through sysfs.\n\n     The backend worker pools are keyed by the actual attributes and\n     shared by any workqueues which share the same attributes.  When\n     attributes of a workqueue are changed, the workqueue binds to the\n     worker pool with the specified attributes while leaving the work\n     items which are already executing in its previous worker pools\n     alone.\n\n     This allows converting custom worker pool implementations which\n     want worker attribute tuning to use workqueues.  The writeback pool\n     is already converted in block tree and there are a couple others\n     are likely to follow including btrfs io workers.\n\n   - WQ_UNBOUND\u0027s ability to bind to multiple worker pools is also used\n     to make it NUMA-aware.  Because there\u0027s no association between work\n     item issuer and the specific worker assigned to execute it, before\n     this change, using unbound workqueue led to unnecessary cross-node\n     bouncing and it couldn\u0027t be helped by autonuma as it requires tasks\n     to have implicit node affinity and workers are assigned randomly.\n\n     After these changes, an unbound workqueue now binds to multiple\n     NUMA-affine worker pools so that queued work items are executed in\n     the same node.  This is turned on by default but can be disabled\n     system-wide or for individual workqueues.\n\n     Crypto was requesting NUMA affinity as encrypting data across\n     different nodes can contribute noticeable overhead and doing it\n     per-cpu was too limiting for certain cases and IO throughput could\n     be bottlenecked by one CPU being fully occupied while others have\n     idle cycles.\n\n  While the new features required a lot of changes including\n  restructuring locking, it didn\u0027t complicate the execution paths much.\n  The unbound workqueue handling is now closer to per-cpu ones and the\n  new features are implemented by simply associating a workqueue with\n  different sets of backend worker pools without changing queue,\n  execution or flush paths.\n\n  As such, even though the amount of change is very high, I feel\n  relatively safe in that it isn\u0027t likely to cause subtle issues with\n  basic correctness of work item execution and handling.  If something\n  is wrong, it\u0027s likely to show up as being associated with worker pools\n  with the wrong attributes or OOPS while workqueue attributes are being\n  changed or during CPU hotplug.\n\n  While this creates more backend worker pools, it doesn\u0027t add too many\n  more workers unless, of course, there are many workqueues with unique\n  combinations of attributes.  Assuming everything else is the same,\n  NUMA awareness costs an extra worker pool per NUMA node with online\n  CPUs.\n\n  There are also a couple things which are being routed outside the\n  workqueue tree.\n\n   - block tree pulled in workqueue for-3.10 so that writeback worker\n     pool can be converted to unbound workqueue with sysfs control\n     exposed.  This simplifies the code, makes writeback workers\n     NUMA-aware and allows tuning nice level and CPU affinity via sysfs.\n\n   - The conversion to workqueue means that there\u0027s no 1:1 association\n     between a specific worker, which makes writeback folks unhappy as\n     they want to be able to tell which filesystem caused a problem from\n     backtrace on systems with many filesystems mounted.  This is\n     resolved by allowing work items to set debug info string which is\n     printed when the task is dumped.  As this change involves unifying\n     implementations of dump_stack() and friends in arch codes, it\u0027s\n     being routed through Andrew\u0027s -mm tree.\"\n\n* \u0027for-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (84 commits)\n  workqueue: use kmem_cache_free() instead of kfree()\n  workqueue: avoid false negative WARN_ON() in destroy_workqueue()\n  workqueue: update sysfs interface to reflect NUMA awareness and a kernel param to disable NUMA affinity\n  workqueue: implement NUMA affinity for unbound workqueues\n  workqueue: introduce put_pwq_unlocked()\n  workqueue: introduce numa_pwq_tbl_install()\n  workqueue: use NUMA-aware allocation for pool_workqueues\n  workqueue: break init_and_link_pwq() into two functions and introduce alloc_unbound_pwq()\n  workqueue: map an unbound workqueues to multiple per-node pool_workqueues\n  workqueue: move hot fields of workqueue_struct to the end\n  workqueue: make workqueue-\u003ename[] fixed len\n  workqueue: add workqueue-\u003eunbound_attrs\n  workqueue: determine NUMA node of workers accourding to the allowed cpumask\n  workqueue: drop \u0027H\u0027 from kworker names of unbound worker pools\n  workqueue: add wq_numa_tbl_len and wq_numa_possible_cpumask[]\n  workqueue: move pwq_pool_locking outside of get/put_unbound_pool()\n  workqueue: fix memory leak in apply_workqueue_attrs()\n  workqueue: fix unbound workqueue attrs hashing / comparison\n  workqueue: fix race condition in unbound workqueue free path\n  workqueue: remove pwq_lock which is no longer used\n  ...\n"
    },
    {
      "commit": "ce8aa48929449b491149b6c87861ac69cb797a42",
      "tree": "6fd8482c0b34842dfcefdaedcd86a0dbf8b0a71d",
      "parents": [
        "b97db0751028b5b911918979da68bfbbbb344d3a",
        "362f2b098b188ede9c4350cc20e58040dbfa515e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:06:59 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:06:59 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.10-async\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull async update from Tejun Heo:\n \"This contains three cleanup patches for async from Lai.  All three\n  patches are essentially cosmetic.\"\n\n* \u0027for-3.10-async\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  async: rename and redefine async_func_ptr\n  async: remove unused @node from struct async_domain\n  async: simplify lowest_in_progress()\n"
    },
    {
      "commit": "8d564368a9a3197f43e56dadf4a18c5738849f94",
      "tree": "deafd4e12d9edfdf45a808fad29854be6a30f257",
      "parents": [
        "70e3ba72ba9afd4ec28ab09f6a27aac00c30b358"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Apr 29 16:21:42 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:44 2013 -0700"
      },
      "message": "net: rename random32 to prandom\n\nCommit 496f2f93b1cc (\"random32: rename random32 to prandom\") renamed\nrandom32() and srandom32() to prandom_u32() and prandom_seed()\nrespectively.\n\nnet_random() and net_srandom() need to be redefined with prandom_* in\norder to finish the naming transition.\n\nWhile I\u0027m at it, enclose macro argument of net_srandom() with parenthesis.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a66c04b4534f9b25e1241dff9a9d94dff9fd66f8",
      "tree": "ce3b9b76dc749a7857715813a96a3533f44e2f1d",
      "parents": [
        "398c33aaa4edb05339fed3720847ea6a06987ff1"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Apr 29 16:21:21 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:41 2013 -0700"
      },
      "message": "inotify: convert inotify_add_to_idr() to use idr_alloc_cyclic()\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: John McCutchan \u003cjohn@johnmccutchan.com\u003e\nCc: Robert Love \u003crlove@rlove.org\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\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": "3e6628c4b347a558965041290c5a92791dd4c741",
      "tree": "7f437ed24761f467b61c0a401fc8d6a6ca7fee3a",
      "parents": [
        "27cf10e133c393f39399137b028c7b24d64ca06e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Apr 29 16:21:16 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:41 2013 -0700"
      },
      "message": "idr: introduce idr_alloc_cyclic()\n\nAs Tejun points out, there are several users of the IDR facility that\nattempt to use it in a cyclic fashion.  These users are likely to see\n-ENOSPC errors after the counter wraps one or more times however.\n\nThis patchset adds a new idr_alloc_cyclic routine and converts several\nof these users to it.  Many of these users are in obscure parts of the\nkernel, and I don\u0027t have a good way to test some of them.  The change is\npretty straightforward though, so hopefully it won\u0027t be an issue.\n\nThere is one other cyclic user of idr_alloc that I didn\u0027t touch in\nipc/util.c.  That one is doing some strange stuff that I didn\u0027t quite\nunderstand, but it looks like it should probably be converted later\nsomehow.\n\nThis patch:\n\nThus spake Tejun Heo:\n\n    Ooh, BTW, the cyclic allocation is broken.  It\u0027s prone to -ENOSPC\n    after the first wraparound.  There are several cyclic users in the\n    kernel and I think it probably would be best to implement cyclic\n    support in idr.\n\nThis patch does that by adding new idr_alloc_cyclic function that such\nusers in the kernel can use.  With this, there\u0027s no need for a caller to\nkeep track of the last value used as that\u0027s now tracked internally.  This\nshould prevent the ENOSPC problems that can hit when the \"last allocated\"\ncounter exceeds INT_MAX.\n\nLater patches will convert existing cyclic users to the new interface.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nCc: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nCc: John McCutchan \u003cjohn@johnmccutchan.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nCc: Robert Love \u003crlove@rlove.org\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nCc: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nCc: Vlad Yasevich \u003cvyasevich@gmail.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea3983ace6b79c96e6ab3d3837e2eaf81ab881e2",
      "tree": "ebd063193dcbbddaccd10e62894d477f9e203ac3",
      "parents": [
        "e22a444275d1e7c80db5d8bec08fb8d0d79617ad"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "namjae.jeon@samsung.com",
        "time": "Mon Apr 29 16:21:11 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:40 2013 -0700"
      },
      "message": "fat: restructure export_operations\n\nDefine two nfs export_operation structures,one for \u0027stale_rw\u0027 mounts and\nthe other for \u0027nostale_ro\u0027.  The latter uses i_pos as a basis for encoding\nand decoding file handles.\n\nAlso, assign i_pos to kstat-\u003eino.  The logic for rebuilding the inode is\nadded in the subsequent patches.\n\nSigned-off-by: Namjae Jeon \u003cnamjae.jeon@samsung.com\u003e\nSigned-off-by: Ravishankar N \u003cravi.n1@samsung.com\u003e\nSigned-off-by: Amit Sahrawat \u003ca.sahrawat@samsung.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6636a9944b9d3b6c4a0a27d5be5abc49ceca3381",
      "tree": "2a33f5f28b66ecb2169f720c5d8fdd3022133a05",
      "parents": [
        "e2bf1151edcdb44e9e871e90e7331dc760c9f856"
      ],
      "author": {
        "name": "Jingoo Han",
        "email": "jg1.han@samsung.com",
        "time": "Mon Apr 29 16:18:33 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:22 2013 -0700"
      },
      "message": "drivers/rtc/class.c: use struct device as the first argument for devm_rtc_device_register()\n\nOther devm_* APIs use \u0027struct device *dev\u0027 as the first argument.  Thus,\nin order to sync with other devm_* functions, struct device is used as\nthe first argument for devm_rtc_device_register().\n\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e217b660281bbdf2db7e58725a4934b5635cb46",
      "tree": "b9e9d6d2cb27e947d2fe3f56c7b04685b7311d68",
      "parents": [
        "51b38c62aa89c8747c350dac2515b8899ff8f4d7"
      ],
      "author": {
        "name": "Jingoo Han",
        "email": "jg1.han@samsung.com",
        "time": "Mon Apr 29 16:18:27 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:21 2013 -0700"
      },
      "message": "rtc: add devm_rtc_device_{register,unregister}()\n\nThese functions allow the driver core to automatically clean up any\nallocation made by rtc drivers.  Thus it simplifies the error paths.\n\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.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": "2e0fb404c86d6c86dc33e284310eb5d28d192dcf",
      "tree": "c75a1dd1cab54473d3174aa00fc49d18deabfa5e",
      "parents": [
        "095d141b2e40665289d44a42d387ffac2841ef82"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Apr 29 16:18:11 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:19 2013 -0700"
      },
      "message": "lib, net: make isodigit() public and use it\n\nThere are at least two users of isodigit().  Let\u0027s make it a public\nfunction of ctype.h.\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d22f8c306233433bdf9298b2e7806e9c71674bc",
      "tree": "49b3a37f0cb85d98936d4e02b66e85f27f50c158",
      "parents": [
        "17e45db62a4683a7318294d652895dfad575da41"
      ],
      "author": {
        "name": "Matus Ujhelyi",
        "email": "ujhelyi.m@gmail.com",
        "time": "Mon Apr 29 16:18:08 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:19 2013 -0700"
      },
      "message": "drivers/video/backlight/tps65217_bl.c add default brightness value option\n\nSigned-off-by: Matus Ujhelyi \u003cmatus.ujhelyi@streamunlimited.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c365e59d47b75c5f288f7e63d95dc0c9abcfe516",
      "tree": "93b77b3a538b27797ab5bbd50f5c462b8154dec1",
      "parents": [
        "98e35be2badd7a499a001a0681d1904f8c56f3e6"
      ],
      "author": {
        "name": "Kim, Milo",
        "email": "Milo.Kim@ti.com",
        "time": "Mon Apr 29 16:18:05 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:19 2013 -0700"
      },
      "message": "backlight: lp855x: remove duplicate platform data\n\nThe \u0027load_new_rom_data\u0027 was used for checking whether new ROM data should\nbe updated or not.\n\nHowever, we can decide it with \u0027size_program\u0027 data.  If the size is\ngreater than 0, it means updating ROM area is required.  Otherwise, the\ndefault ROM data will be used.  Therefore, this duplicate platform data\ncan be removed.\n\nSigned-off-by: Milo(Woogyom) Kim \u003cmilo.kim@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98e35be2badd7a499a001a0681d1904f8c56f3e6",
      "tree": "821287aa7f6a536a047eca3e6e1649e521e08d2b",
      "parents": [
        "0b8185733966c1863b6b90ca2697327118ce5032"
      ],
      "author": {
        "name": "Kim, Milo",
        "email": "Milo.Kim@ti.com",
        "time": "Mon Apr 29 16:18:04 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:18 2013 -0700"
      },
      "message": "backlight: lp855x: fix initial brightness type\n\nValid range of the brightness is from 0 to 255, so initial brightness\nis changed from integer to u8.\n\nSigned-off-by: Milo(Woogyom) Kim \u003cmilo.kim@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b8185733966c1863b6b90ca2697327118ce5032",
      "tree": "746742b89c6eb0b9f20058139afc2ec93c3bd122",
      "parents": [
        "600ffd33d09e3803d81607d3404a8cad709160e4"
      ],
      "author": {
        "name": "Kim, Milo",
        "email": "Milo.Kim@ti.com",
        "time": "Mon Apr 29 16:18:03 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:18 2013 -0700"
      },
      "message": "backlight: lp855x: move backlight mode platform data\n\nThe brightness of LP855x devices is controlled by I2C register or PWM\ninput .  This mode was selected through the platform data, but it can be\nchosen by the driver internally without platform data configuration.\n\nHow to decide the control mode:\n  If the PWM period has specific value, the mode is PWM input.\n  On the other hand, the mode is register-based.\n  This mode selection is done on the _probe().\n\nMove \u0027mode\u0027 from a header file to the driver private data structure,\n\u0027lp855 x\u0027.  And correlated code was replaced.\n\nSigned-off-by: Milo(Woogyom) Kim \u003cmilo.kim@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "600ffd33d09e3803d81607d3404a8cad709160e4",
      "tree": "123ac4b96e5447b669fc3783e2cca5351919f23c",
      "parents": [
        "eb39ad2558c75b43ea21a2578088ab8d63a79d92"
      ],
      "author": {
        "name": "Kim, Milo",
        "email": "Milo.Kim@ti.com",
        "time": "Mon Apr 29 16:18:02 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:18 2013 -0700"
      },
      "message": "backlight: lp855x: convert a type of device name\n\nConfigurable data, backlight device name is set to constant character type.\n\nSigned-off-by: Milo(Woogyom) Kim \u003cmilo.kim@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b2c289b4f9018f4bd54d22ab54aaeda9181cd2a",
      "tree": "b2fd354c2d9fa092a4348e1a758a14047fd38b3f",
      "parents": [
        "d0380e6c3c0f6edb986d8798a23acfaf33d5df23"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 29 16:17:19 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:13 2013 -0700"
      },
      "message": "include/linux/printk.h: include stdarg.h\n\nprintk.h uses va_list but doesn\u0027t include stdarg.h.  Hence printk.h is\nunusable unless its includer has already included kernel.h (which includes\nstdarg.h).\n\nRemove the dependency by including stdarg.h in printk.h\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0380e6c3c0f6edb986d8798a23acfaf33d5df23",
      "tree": "454ea23060995d2e1326962cedfd6e86a335629d",
      "parents": [
        "07c65f4d1aa74f7cf1c46d7f96e05cfa3e628ba1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 29 16:17:18 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:13 2013 -0700"
      },
      "message": "early_printk: consolidate random copies of identical code\n\nThe early console implementations are the same all over the place.  Move\nthe print function to kernel/printk and get rid of the copies.\n\n[akpm@linux-foundation.org: arch/mips/kernel/early_printk.c needs kernel.h for va_list]\n[paul.gortmaker@windriver.com: sh4: make the bios early console support depend on EARLY_PRINTK]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nTested-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2fb0815c9ee6b9ac50e15dd8360ec76d9fa46a22",
      "tree": "f643cc99fbca761607b39a9ca47e710f05b91e8a",
      "parents": [
        "657eee7d25fb1422422ca32d5619185ae56a245d"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "linux@roeck-us.net",
        "time": "Mon Apr 29 16:17:15 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:13 2013 -0700"
      },
      "message": "gcc4: disable __compiletime_object_size for GCC 4.6+\n\n__builtin_object_size is known to be broken on gcc 4.6+.\nSee http://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d48880 for details.\n\nThis causes unnecssary build warnings and errors such as\n\n  In function \u0027copy_from_user\u0027, inlined from \u0027sb16_copy_from_user\u0027\n\tat sound/oss/sb_audio.c:878:22:\n  arch/x86/include/asm/uaccess_32.h:211:26: error: call to \u0027copy_from_user_overflow\u0027\n\tdeclared with attribute error: copy_from_user() buffer size is not provably correct\n  make[3]: [sound/oss/sb_audio.o] Error 1 (ignored)\n\nDisable it where broken.\n\nSigned-off-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nCc: David Howells \u003cdhowells@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": "657eee7d25fb1422422ca32d5619185ae56a245d",
      "tree": "0591c85ff0b4757c0392396b3b1b0029241f8957",
      "parents": [
        "4984c6f5e56c3e68922fd979347ba7aff385783b"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "p.zabel@pengutronix.de",
        "time": "Mon Apr 29 16:17:14 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:13 2013 -0700"
      },
      "message": "media: coda: use genalloc API\n\nThis patch depends on \"genalloc: add devres support, allow to find a\nmanaged pool by device\", which provides the of_get_named_gen_pool and\ndev_get_gen_pool functions.\n\nSigned-off-by: Philipp Zabel \u003cp.zabel@pengutronix.de\u003e\nAcked-by: Javier Martin \u003cjavier.martin@vista-silicon.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nCc: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Huang Shijie \u003cshijie8@gmail.com\u003e\nCc: Matt Porter \u003cmporter@ti.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9375db07adeaeea5f5ea7ca0463a8b371d71ddbb",
      "tree": "8825d1985a7bd6acd9e13de4594c574c81dd11fe",
      "parents": [
        "3119b487e03650b51589a86aac33098b7cc2a09e"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "p.zabel@pengutronix.de",
        "time": "Mon Apr 29 16:17:10 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:13 2013 -0700"
      },
      "message": "genalloc: add devres support, allow to find a managed pool by device\n\nThis patch adds three exported functions to lib/genalloc.c:\ndevm_gen_pool_create, dev_get_gen_pool, and of_get_named_gen_pool.\n\ndevm_gen_pool_create is a managed version of gen_pool_create that keeps\ntrack of the pool via devres and allows the management code to\nautomatically destroy it after device removal.\n\ndev_get_gen_pool retrieves the gen_pool for a given device, if it was\ncreated with devm_gen_pool_create, using devres_find.\n\nof_get_named_gen_pool retrieves the gen_pool for a given device node and\nproperty name, where the property must contain a phandle pointing to a\nplatform device node.  The corresponding platform device is then fed into\ndev_get_gen_pool and the resulting gen_pool is returned.\n\n[akpm@linux-foundation.org: make the of_get_named_gen_pool() stub static, fixing a zillion link errors]\n[akpm@linux-foundation.org: squish \"struct device declared inside parameter list\" warning]\nSigned-off-by: Philipp Zabel \u003cp.zabel@pengutronix.de\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nCc: Matt Porter \u003cmporter@ti.com\u003e\nCc: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Javier Martin \u003cjavier.martin@vista-silicon.com\u003e\nCc: Huang Shijie \u003cshijie8@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": "73154383f02998fdd6a1f26c7ef33bfc3785a101",
      "tree": "85a4c10cf32172b99aed01e95ded7269afcc9d7d",
      "parents": [
        "362ed48dee509abe24cf84b7e137c7a29a8f4d2d",
        "ca0dde97178e75ed1370b8616326f5496a803d65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 17:29:08 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 17:29:08 2013 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (incoming from Andrew)\n\nMerge first batch of fixes from Andrew Morton:\n\n - A couple of kthread changes\n\n - A few minor audit patches\n\n - A number of fbdev patches.  Florian remains AWOL so I\u0027m picking up\n   some of these.\n\n - A few kbuild things\n\n - ocfs2 updates\n\n - Almost all of the MM queue\n\n(And in the meantime, I already have the second big batch from Andrew\npending in my mailbox ;^)\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (149 commits)\n  memcg: take reference before releasing rcu_read_lock\n  mem hotunplug: fix kfree() of bootmem memory\n  mmKconfig: add an option to disable bounce\n  mm, nobootmem: do memset() after memblock_reserve()\n  mm, nobootmem: clean-up of free_low_memory_core_early()\n  fs/buffer.c: remove unnecessary init operation after allocating buffer_head.\n  numa, cpu hotplug: change links of CPU and node when changing node number by onlining CPU\n  mm: fix memory_hotplug.c printk format warning\n  mm: swap: mark swap pages writeback before queueing for direct IO\n  swap: redirty page if page write fails on swap file\n  mm, memcg: give exiting processes access to memory reserves\n  thp: fix huge zero page logic for page with pfn \u003d\u003d 0\n  memcg: avoid accessing memcg after releasing reference\n  fs: fix fsync() error reporting\n  memblock: fix missing comment of memblock_insert_region()\n  mm: Remove unused parameter of pages_correctly_reserved()\n  firmware, memmap: fix firmware_map_entry leak\n  mm/vmstat: add note on safety of drain_zonestat\n  mm: thp: add split tail pages to shrink page list in page reclaim\n  mm: allow for outstanding swap writeback accounting\n  ...\n"
    },
    {
      "commit": "362ed48dee509abe24cf84b7e137c7a29a8f4d2d",
      "tree": "f2c2397afa517becf3ff3d8ac4c5c542dfed9795",
      "parents": [
        "61f3d0a9883d965b498edeb673235bddc92770fd",
        "1e435256d625c203660f0105f1155cd2af283051"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 16:43:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 16:43:54 2013 -0700"
      },
      "message": "Merge tag \u0027clk-for-linus-3.10\u0027 of git://git.linaro.org/people/mturquette/linux\n\nPull clock framework update from Michael Turquette:\n \"The common clock framework changes for 3.10 include many fixes for\n  existing platforms, as well as adoption of the framework by new\n  platforms and devices.\n\n  Some long-needed fixes to the core framework are here as well as new\n  features such as improved initialization of clocks from DT as well as\n  framework reentrancy for nested clock operations.\"\n\n* tag \u0027clk-for-linus-3.10\u0027 of git://git.linaro.org/people/mturquette/linux: (44 commits)\n  clk: add clk_ignore_unused option to keep boot clocks on\n  clk: ux500: fix mismatched types\n  clk: vexpress: Add separate SP810 driver\n  clk: si5351: make clk-si5351 depend on CONFIG_OF\n  clk: export __clk_get_flags for modular clock providers\n  clk: vt8500: Missing breaks in vtwm_pll_round_rate/_set_rate.\n  clk: sunxi: Unify oscillator clock\n  clk: composite: allow fixed rates \u0026 fixed dividers\n  clk: composite: rename \u0027div\u0027 references to \u0027rate\u0027\n  clk: add si5351 i2c common clock driver\n  clk: add device tree fixed-factor-clock binding support\n  clk: Properly handle notifier return values\n  clk: ux500: abx500: Define clock tree for ab850x\n  clk: ux500: Add support for sysctrl clocks\n  clk: mvebu: Fix valid value range checking for cpu_freq_select\n  clk: Fixup locking issues for clk_set_parent\n  clk: Fixup errorhandling for clk_set_parent\n  clk: Restructure code for __clk_reparent\n  clk: sunxi: drop an unnecesary kmalloc\n  clk: sunxi: drop CLK_IGNORE_UNUSED\n  ...\n"
    },
    {
      "commit": "61f3d0a9883d965b498edeb673235bddc92770fd",
      "tree": "fa1e394cd1d5332f4a205d12f0db88320bc83813",
      "parents": [
        "8ded8d4e4facab78acf616bc34085ddd15c2c21c",
        "cd8d984f0def2a8c5733a9468634ec3e0feec03d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 16:38:41 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 16:38:41 2013 -0700"
      },
      "message": "Merge tag \u0027spi-v3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi\n\nPull spi updates from Mark Brown:\n \"A fairly quiet release for SPI, mainly driver work.  A few highlights:\n\n   - Supports bits per word compatibility checking in the core.\n   - Allow use of the IP used in Freescale SPI controllers outside\n     Freescale SoCs.\n   - DMA support for the Atmel SPI driver.\n   - New drivers for the BCM2835 and Tegra114\"\n\n* tag \u0027spi-v3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (68 commits)\n  spi-topcliff-pch: fix to use list_for_each_entry_safe() when delete list items\n  spi-topcliff-pch: missing platform_driver_unregister() on error in pch_spi_init()\n  ARM: dts: add pinctrl property for spi node for atmel SoC\n  ARM: dts: add spi nodes for the atmel boards\n  ARM: dts: add spi nodes for atmel SoC\n  ARM: at91: add clocks for spi dt entries\n  spi/spi-atmel: add dmaengine support\n  spi/spi-atmel: add flag to controller data for lock operations\n  spi/spi-atmel: add physical base address\n  spi/sirf: fix MODULE_DEVICE_TABLE\n  MAINTAINERS: Add git repository and update my address\n  spi/s3c64xx: Check for errors in dmaengine prepare_transfer()\n  spi/s3c64xx: Fix non-dmaengine usage\n  spi: omap2-mcspi: fix error return code in omap2_mcspi_probe()\n  spi/s3c64xx: let device core setup the default pin configuration\n  MAINTAINERS: Update Grant\u0027s email address and maintainership\n  spi: omap2-mcspi: Fix transfers if DMADEVICES is not set\n  spi: s3c64xx: move to generic dmaengine API\n  spi-gpio: init CS before spi_bitbang_setup()\n  spi: spi-mpc512x-psc: let transmiter/receiver enabled when in xfer loop\n  ...\n"
    },
    {
      "commit": "8ded8d4e4facab78acf616bc34085ddd15c2c21c",
      "tree": "7cb470ffbaffd4c1119d1baf4b0341f76cb4242a",
      "parents": [
        "7b053842b95914119f132fdac294fb2591b2e9a8",
        "bee546581424b5514ec6a034fb83fd4e95b804da"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 16:32:25 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 16:32:25 2013 -0700"
      },
      "message": "Merge tag \u0027regulator-v3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator\n\nPull regulator updates from Mark Brown:\n \"The diffstat and changelog here is dominated by Lee Jones\u0027 heroic\n  efforts to sync the ab8500 driver that\u0027s been maintained out of tree\n  with mainline (plus Axel\u0027s cleanup work on the results) but there\u0027s a\n  few other things here:\n\n   - Axel Lin added regulator_map_voltage_ascend() optimising a common\n     pattern for drivers using the core code.\n   - Milo Kim tought the regulator core to handle regulators sharing an\n     enable GPIO, avoiding the need to do hacks to support such systems.\n   - Andrew Bresticker added code to handle missing supplies for\n     regulators more sensibly for device tree systems, reducing the need\n     for stubbing there.\n\n  plus the usual batch of driver specific updates and fixes\"\n\n* tag \u0027regulator-v3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (152 commits)\n  regulator: mc13892: Fix MC13892_SWITCHERS0_SWxHI bit in set_voltage_sel\n  regulator: Remove NULL test before calling regulator_unregister()\n  regulator: mc13783: Add device tree probe support\n  regulator: mc13xxx: Add warning of incorrect names of regulators\n  regulator: max77686: Don\u0027t update max77686-\u003eopmode if update register fails\n  regulator: max8952: Add missing config.of_node setting for regulator register\n  regulator: ab3100: Fix regulator register error handling\n  regulator: tps6524x: Use regulator_map_voltage_ascend\n  regulator: lp8788-buck: Use regulator_map_voltage_ascend\n  regulator: lp872x: Use regulator_map_voltage_ascend\n  regulator: mc13892: Use regulator_map_voltage_ascend for mc13892_sw_regulator_ops\n  regulator: tps65023: Use regulator_map_voltage_ascend\n  regulator: tps65023: Merge tps65020 ldo1 and ldo2 vsel table\n  regulator: tps6507x: Use regulator_map_voltage_ascend\n  regulator: mc13892: Fix MC13892_SWITCHERS0_SWxHI bit in set_voltage_sel\n  regulator: ab3100: device tree support\n  regulator: ab3100: refactor probe to use IDs\n  regulator: max8973: Don\u0027t override control1 variable when set ramp delay bits\n  regulator: tps80031: Convert tps80031_dcdc_ops to [get|set]_voltage_sel_regmap\n  regulator: tps80031: Fix LDO2 track mode for TPS80031 or TPS80032-ES1.0\n  ...\n"
    },
    {
      "commit": "7b053842b95914119f132fdac294fb2591b2e9a8",
      "tree": "9d17379a2ed7c8a3119489168adf695a44543960",
      "parents": [
        "5415ba99c229105a6939a7f9effe21045b8b2e5b",
        "38a817965d2d624b0db68f3bf5ae783ad7f2087a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 16:31:26 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 16:31:26 2013 -0700"
      },
      "message": "Merge tag \u0027regmap-v3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap\n\nPull regmap updates from Mark Brown:\n \"In user visible terms just a couple of enhancements here, though there\n  was a moderate amount of refactoring required in order to support the\n  register cache sync performance improvements.\n\n   - Support for block and asynchronous I/O during register cache\n     syncing; this provides a use case dependant performance\n     improvement.\n   - Additional debugfs information on the memory consuption and\n     register set\"\n\n* tag \u0027regmap-v3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (23 commits)\n  regmap: don\u0027t corrupt work buffer in _regmap_raw_write()\n  regmap: cache: Fix format specifier in dev_dbg\n  regmap: cache: Make regcache_sync_block_raw static\n  regmap: cache: Write consecutive registers in a single block write\n  regmap: cache: Split raw and non-raw syncs\n  regmap: cache: Factor out block sync\n  regmap: cache: Factor out reg_present support from rbtree cache\n  regmap: cache: Use raw I/O to sync rbtrees if we can\n  regmap: core: Provide regmap_can_raw_write() operation\n  regmap: cache: Provide a get address of value operation\n  regmap: Cut down on the average # of nodes in the rbtree cache\n  regmap: core: Make raw write available to regcache\n  regmap: core: Warn on invalid operation combinations\n  regmap: irq: Clarify error message when we fail to request primary IRQ\n  regmap: rbtree Expose total memory consumption in the rbtree debugfs entry\n  regmap: debugfs: Add a registers `range\u0027 file\n  regmap: debugfs: Simplify calculation of `c-\u003emax_reg\u0027\n  regmap: cache: Store caches in native register format where possible\n  regmap: core: Split out in place value parsing\n  regmap: cache: Use regcache_get_value() to check if we updated\n  ...\n"
    },
    {
      "commit": "b4def3509d18c1db9198f92d4c35065e029a09a1",
      "tree": "dcf16e6d10ae52f2ff7fe900b94ce92b04950a03",
      "parents": [
        "e76004093db167730bb3871d6c307a3e32a821f4"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Mon Apr 29 15:08:52 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:39 2013 -0700"
      },
      "message": "mm, nobootmem: clean-up of free_low_memory_core_early()\n\nRemove unused argument and make function static, because there is no user\noutside of nobootmem.c\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Jiang Liu \u003cliuj97@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": "5bc7b8aca942d03bf2716ddcfcb4e0b57e43a1b8",
      "tree": "c76049e13755609ecbd4c4066fddd8bbfdd9f650",
      "parents": [
        "1eec6702a80e04416d528846a5ff2122484d95ec"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shli@kernel.org",
        "time": "Mon Apr 29 15:08:36 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:38 2013 -0700"
      },
      "message": "mm: thp: add split tail pages to shrink page list in page reclaim\n\nIn page reclaim, huge page is split.  split_huge_page() adds tail pages\nto LRU list.  Since we are reclaiming a huge page, it\u0027s better we\nreclaim all subpages of the huge page instead of just the head page.\nThis patch adds split tail pages to shrink page list so the tail pages\ncan be reclaimed soon.\n\nBefore this patch, run a swap workload:\n  thp_fault_alloc 3492\n  thp_fault_fallback 608\n  thp_collapse_alloc 6\n  thp_collapse_alloc_failed 0\n  thp_split 916\n\nWith this patch:\n  thp_fault_alloc 4085\n  thp_fault_fallback 16\n  thp_collapse_alloc 90\n  thp_collapse_alloc_failed 0\n  thp_split 1272\n\nfallback allocation is reduced a lot.\n\n[akpm@linux-foundation.org: fix CONFIG_SWAP\u003dn build]\nSigned-off-by: Shaohua Li \u003cshli@fusionio.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Minchan Kim \u003cminchan@kernel.org\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@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": "1eec6702a80e04416d528846a5ff2122484d95ec",
      "tree": "ead36835b194b3253cef6c4391489fef6a574575",
      "parents": [
        "2f772e6cadf8ad8fca38927b17e6be028be669f5"
      ],
      "author": {
        "name": "Seth Jennings",
        "email": "sjenning@linux.vnet.ibm.com",
        "time": "Mon Apr 29 15:08:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:38 2013 -0700"
      },
      "message": "mm: allow for outstanding swap writeback accounting\n\nTo prevent flooding the swap device with writebacks, frontswap backends\nneed to count and limit the number of outstanding writebacks.  The\nincrementing of the counter can be done before the call to\n__swap_writepage().  However, the caller must receive a notification\nwhen the writeback completes in order to decrement the counter.\n\nTo achieve this functionality, this patch modifies __swap_writepage() to\ntake the bio completion callback function as an argument.\n\nend_swap_bio_write(), the normal bio completion function, is also made\nnon-static so that code doing the accounting can call it after the\naccounting is done.\n\nThere should be no behavioural change to existing code.\n\nSigned-off-by: Seth Jennings \u003csjenning@linux.vnet.ibm.com\u003e\nSigned-off-by: Bob Liu \u003cbob.liu@oracle.com\u003e\nAcked-by: Minchan Kim \u003cminchan@kernel.org\u003e\nReviewed-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f772e6cadf8ad8fca38927b17e6be028be669f5",
      "tree": "5eac4cfd72c6e8e9b4d48ad7463cdf1a8b97f7b4",
      "parents": [
        "e8420a8ece80b3fe810415ecf061d54ca7fab266"
      ],
      "author": {
        "name": "Seth Jennings",
        "email": "sjenning@linux.vnet.ibm.com",
        "time": "Mon Apr 29 15:08:34 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:38 2013 -0700"
      },
      "message": "mm: break up swap_writepage() for frontswap backends\n\nswap_writepage() is currently where frontswap hooks into the swap write\npath to capture pages with the frontswap_store() function.  However, if\na frontswap backend wants to \"resume\" the writeback of a page to the\nswap device, it can\u0027t call swap_writepage() as the page will simply\nreenter the backend.\n\nThis patch separates swap_writepage() into a top and bottom half, the\nbottom half named __swap_writepage() to allow a frontswap backend, like\nzswap, to resume writeback beyond the frontswap_store() hook.\n\n__add_to_swap_cache() is also made non-static so that the page for which\nwriteback is to be resumed can be added to the swap cache.\n\nSigned-off-by: Seth Jennings \u003csjenning@linux.vnet.ibm.com\u003e\nSigned-off-by: Bob Liu \u003cbob.liu@oracle.com\u003e\nAcked-by: Minchan Kim \u003cminchan@kernel.org\u003e\nReviewed-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70ddf637eebe47e61fb2be08a59315581b6d2f38",
      "tree": "7fdb9e04da11c191daa225cad2314e440effc176",
      "parents": [
        "84d96d897671cfb386e722acbefdb3a79e115a8a"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Mon Apr 29 15:08:31 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:38 2013 -0700"
      },
      "message": "memcg: add memory.pressure_level events\n\nWith this patch userland applications that want to maintain the\ninteractivity/memory allocation cost can use the pressure level\nnotifications.  The levels are defined like this:\n\nThe \"low\" level means that the system is reclaiming memory for new\nallocations.  Monitoring this reclaiming activity might be useful for\nmaintaining cache level.  Upon notification, the program (typically\n\"Activity Manager\") might analyze vmstat and act in advance (i.e.\nprematurely shutdown unimportant services).\n\nThe \"medium\" level means that the system is experiencing medium memory\npressure, the system might be making swap, paging out active file\ncaches, etc.  Upon this event applications may decide to further analyze\nvmstat/zoneinfo/memcg or internal memory usage statistics and free any\nresources that can be easily reconstructed or re-read from a disk.\n\nThe \"critical\" level means that the system is actively thrashing, it is\nabout to out of memory (OOM) or even the in-kernel OOM killer is on its\nway to trigger.  Applications should do whatever they can to help the\nsystem.  It might be too late to consult with vmstat or any other\nstatistics, so it\u0027s advisable to take an immediate action.\n\nThe events are propagated upward until the event is handled, i.e.  the\nevents are not pass-through.  Here is what this means: for example you\nhave three cgroups: A-\u003eB-\u003eC.  Now you set up an event listener on\ncgroups A, B and C, and suppose group C experiences some pressure.  In\nthis situation, only group C will receive the notification, i.e.  groups\nA and B will not receive it.  This is done to avoid excessive\n\"broadcasting\" of messages, which disturbs the system and which is\nespecially bad if we are low on memory or thrashing.  So, organize the\ncgroups wisely, or propagate the events manually (or, ask us to\nimplement the pass-through events, explaining why would you need them.)\n\nPerformance wise, the memory pressure notifications feature itself is\nlightweight and does not require much of bookkeeping, in contrast to the\nrest of memcg features.  Unfortunately, as of current memcg\nimplementation, pages accounting is an inseparable part and cannot be\nturned off.  The good news is that there are some efforts[1] to improve\nthe situation; plus, implementing the same, fully API-compatible[2]\ninterface for CONFIG_MEMCG\u003dn case (e.g.  embedded) is also a viable\noption, so it will not require any changes on the userland side.\n\n[1] http://permalink.gmane.org/gmane.linux.kernel.cgroups/6291\n[2] http://lkml.org/lkml/2013/2/21/454\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix CONFIG_CGROPUPS\u003dn warnings]\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Luiz Capitulino \u003clcapitulino@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Leonid Moiseichuk \u003cleonid.moiseichuk@nokia.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4edd7ceff0662afde195da6f6c43e7cbe1ed2dc4",
      "tree": "89e53f524dae229f9db490a1e091842302010c21",
      "parents": [
        "fe74ebb106a5950e82222c8ea258a9c0d7c65f04"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 29 15:08:22 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:37 2013 -0700"
      },
      "message": "mm, hotplug: avoid compiling memory hotremove functions when disabled\n\n__remove_pages() is only necessary for CONFIG_MEMORY_HOTREMOVE.  PowerPC\npseries will return -EOPNOTSUPP if unsupported.\n\nAdding an #ifdef causes several other functions it depends on to also\nbecome unnecessary, which saves in .text when disabled (it\u0027s disabled in\nmost defconfigs besides powerpc, including x86).  remove_memory_block()\nbecomes static since it is not referenced outside of\ndrivers/base/memory.c.\n\nBuild tested on x86 and powerpc with CONFIG_MEMORY_HOTREMOVE both enabled\nand disabled.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Toshi Kani \u003ctoshi.kani@hp.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nCc: Tang Chen \u003ctangchen@cn.fujitsu.com\u003e\nCc: Yasuaki Ishimatsu \u003cisimatu.yasuaki@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": "825f787bb49676083b97c1de1f8f2f8f26b5c908",
      "tree": "f0cda2ad649b442fffc064dc625aa85e2b005ae2",
      "parents": [
        "ae8e3a915aef5af5ace5936c56f05f0b1502ded1"
      ],
      "author": {
        "name": "Toshi Kani",
        "email": "toshi.kani@hp.com",
        "time": "Mon Apr 29 15:08:19 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:37 2013 -0700"
      },
      "message": "resource: add release_mem_region_adjustable()\n\nAdd release_mem_region_adjustable(), which releases a requested region\nfrom a currently busy memory resource.  This interface adjusts the\nmatched memory resource accordingly even if the requested region does\nnot match exactly but still fits into.\n\nThis new interface is intended for memory hot-delete.  During bootup,\nmemory resources are inserted from the boot descriptor table, such as\nEFI Memory Table and e820.  Each memory resource entry usually covers\nthe whole contigous memory range.  Memory hot-delete request, on the\nother hand, may target to a particular range of memory resource, and its\nsize can be much smaller than the whole contiguous memory.  Since the\nexisting release interfaces like __release_region() require a requested\nregion to be exactly matched to a resource entry, they do not allow a\npartial resource to be released.\n\nThis new interface is restrictive (i.e.  release under certain\nconditions), which is consistent with other release interfaces,\n__release_region() and __release_resource().  Additional release\nconditions, such as an overlapping region to a resource entry, can be\nsupported after they are confirmed as valid cases.\n\nThere is no change to the existing interfaces since their restriction is\nvalid for I/O resources.\n\n[akpm@linux-foundation.org: use GFP_ATOMIC under write_lock()]\n[akpm@linux-foundation.org: switch back to GFP_KERNEL, less buggily]\n[akpm@linux-foundation.org: remove unneeded and wrong kfree(), per Toshi]\nSigned-off-by: Toshi Kani \u003ctoshi.kani@hp.com\u003e\nReviewed-by : Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: T Makphaibulchoke \u003ctmac@hp.com\u003e\nCc: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nCc: Tang Chen \u003ctangchen@cn.fujitsu.com\u003e\nCc: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1cb08798e2497238b28f377bd131426f0b9835d",
      "tree": "9d58a1463766d99af3b123177dc31837700185d2",
      "parents": [
        "573b400d01b3411c2436e73d8e63fc1186b94535"
      ],
      "author": {
        "name": "Yijing Wang",
        "email": "wangyijing@huawei.com",
        "time": "Mon Apr 29 15:08:14 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:37 2013 -0700"
      },
      "message": "mm: remove CONFIG_HOTPLUG ifdefs\n\nCONFIG_HOTPLUG is going away as an option, cleanup CONFIG_HOTPLUG\nifdefs in mm files.\n\nSigned-off-by: Yijing Wang \u003cwangyijing@huawei.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Rik van Riel \u003criel@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": "4eeab4f5580d11bffedc697684b91b0bca0d5009",
      "tree": "4e9a0c010d34e786df52225039a17aa38e9adf17",
      "parents": [
        "c9b1d0981fcce3d9976d7b7a56e4e0503bc610dd"
      ],
      "author": {
        "name": "Andrew Shewmaker",
        "email": "agshew@gmail.com",
        "time": "Mon Apr 29 15:08:11 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:36 2013 -0700"
      },
      "message": "mm: replace hardcoded 3% with admin_reserve_pages knob\n\nAdd an admin_reserve_kbytes knob to allow admins to change the hardcoded\nmemory reserve to something other than 3%, which may be multiple\ngigabytes on large memory systems.  Only about 8MB is necessary to\nenable recovery in the default mode, and only a few hundred MB are\nrequired even when overcommit is disabled.\n\nThis affects OVERCOMMIT_GUESS and OVERCOMMIT_NEVER.\n\nadmin_reserve_kbytes is initialized to min(3% free pages, 8MB)\n\nI arrived at 8MB by summing the RSS of sshd or login, bash, and top.\n\nPlease see first patch in this series for full background, motivation,\ntesting, and full changelog.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: make init_admin_reserve() static]\nSigned-off-by: Andrew Shewmaker \u003cagshew@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": "c9b1d0981fcce3d9976d7b7a56e4e0503bc610dd",
      "tree": "f7adfbfb1e34b3727e7d6b63a1ece93b358f87d8",
      "parents": [
        "d8f10cb3d375c34ad668f32ca6e4661ad1fc23b2"
      ],
      "author": {
        "name": "Andrew Shewmaker",
        "email": "agshew@gmail.com",
        "time": "Mon Apr 29 15:08:10 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:36 2013 -0700"
      },
      "message": "mm: limit growth of 3% hardcoded other user reserve\n\nAdd user_reserve_kbytes knob.\n\nLimit the growth of the memory reserved for other user processes to\nmin(3% current process size, user_reserve_pages).  Only about 8MB is\nnecessary to enable recovery in the default mode, and only a few hundred\nMB are required even when overcommit is disabled.\n\nuser_reserve_pages defaults to min(3% free pages, 128MB)\n\nI arrived at 128MB by taking the max VSZ of sshd, login, bash, and top ...\nthen adding the RSS of each.\n\nThis only affects OVERCOMMIT_NEVER mode.\n\nBackground\n\n1. user reserve\n\n__vm_enough_memory reserves a hardcoded 3% of the current process size for\nother applications when overcommit is disabled.  This was done so that a\nuser could recover if they launched a memory hogging process.  Without the\nreserve, a user would easily run into a message such as:\n\nbash: fork: Cannot allocate memory\n\n2. admin reserve\n\nAdditionally, a hardcoded 3% of free memory is reserved for root in both\novercommit \u0027guess\u0027 and \u0027never\u0027 modes.  This was intended to prevent a\nscenario where root-cant-log-in and perform recovery operations.\n\nNote that this reserve shrinks, and doesn\u0027t guarantee a useful reserve.\n\nMotivation\n\nThe two hardcoded memory reserves should be updated to account for current\nmemory sizes.\n\nAlso, the admin reserve would be more useful if it didn\u0027t shrink too much.\n\nWhen the current code was originally written, 1GB was considered\n\"enterprise\".  Now the 3% reserve can grow to multiple GB on large memory\nsystems, and it only needs to be a few hundred MB at most to enable a user\nor admin to recover a system with an unwanted memory hogging process.\n\nI\u0027ve found that reducing these reserves is especially beneficial for a\nspecific type of application load:\n\n * single application system\n * one or few processes (e.g. one per core)\n * allocating all available memory\n * not initializing every page immediately\n * long running\n\nI\u0027ve run scientific clusters with this sort of load.  A long running job\nsometimes failed many hours (weeks of CPU time) into a calculation.  They\nweren\u0027t initializing all of their memory immediately, and they weren\u0027t\nusing calloc, so I put systems into overcommit \u0027never\u0027 mode.  These\nclusters run diskless and have no swap.\n\nHowever, with the current reserves, a user wishing to allocate as much\nmemory as possible to one process may be prevented from using, for\nexample, almost 2GB out of 32GB.\n\nThe effect is less, but still significant when a user starts a job with\none process per core.  I have repeatedly seen a set of processes\nrequesting the same amount of memory fail because one of them could not\nallocate the amount of memory a user would expect to be able to allocate.\nFor example, Message Passing Interfce (MPI) processes, one per core.  And\nit is similar for other parallel programming frameworks.\n\nChanging this reserve code will make the overcommit never mode more useful\nby allowing applications to allocate nearly all of the available memory.\n\nAlso, the new admin_reserve_kbytes will be safer than the current behavior\nsince the hardcoded 3% of available memory reserve can shrink to something\nuseless in the case where applications have grabbed all available memory.\n\nRisks\n\n* \"bash: fork: Cannot allocate memory\"\n\n  The downside of the first patch-- which creates a tunable user reserve\n  that is only used in overcommit \u0027never\u0027 mode--is that an admin can set\n  it so low that a user may not be able to kill their process, even if\n  they already have a shell prompt.\n\n  Of course, a user can get in the same predicament with the current 3%\n  reserve--they just have to launch processes until 3% becomes negligible.\n\n* root-cant-log-in problem\n\n  The second patch, adding the tunable rootuser_reserve_pages, allows\n  the admin to shoot themselves in the foot by setting it too small.  They\n  can easily get the system into a state where root-can\u0027t-log-in.\n\n  However, the new admin_reserve_kbytes will be safer than the current\n  behavior since the hardcoded 3% of available memory reserve can shrink\n  to something useless in the case where applications have grabbed all\n  available memory.\n\nAlternatives\n\n * Memory cgroups provide a more flexible way to limit application memory.\n\n   Not everyone wants to set up cgroups or deal with their overhead.\n\n * We could create a fourth overcommit mode which provides smaller reserves.\n\n   The size of useful reserves may be drastically different depending\n   on the whether the system is embedded or enterprise.\n\n * Force users to initialize all of their memory or use calloc.\n\n   Some users don\u0027t want/expect the system to overcommit when they malloc.\n   Overcommit \u0027never\u0027 mode is for this scenario, and it should work well.\n\nThe new user and admin reserve tunables are simple to use, with low\noverhead compared to cgroups.  The patches preserve current behavior where\n3% of memory is less than 128MB, except that the admin reserve doesn\u0027t\nshrink to an unusable size under pressure.  The code allows admins to tune\nfor embedded and enterprise usage.\n\nFAQ\n\n * How is the root-cant-login problem addressed?\n   What happens if admin_reserve_pages is set to 0?\n\n   Root is free to shoot themselves in the foot by setting\n   admin_reserve_kbytes too low.\n\n   On x86_64, the minimum useful reserve is:\n     8MB for overcommit \u0027guess\u0027\n   128MB for overcommit \u0027never\u0027\n\n   admin_reserve_pages defaults to min(3% free memory, 8MB)\n\n   So, anyone switching to \u0027never\u0027 mode needs to adjust\n   admin_reserve_pages.\n\n * How do you calculate a minimum useful reserve?\n\n   A user or the admin needs enough memory to login and perform\n   recovery operations, which includes, at a minimum:\n\n   sshd or login + bash (or some other shell) + top (or ps, kill, etc.)\n\n   For overcommit \u0027guess\u0027, we can sum resident set sizes (RSS)\n   because we only need enough memory to handle what the recovery\n   programs will typically use. On x86_64 this is about 8MB.\n\n   For overcommit \u0027never\u0027, we can take the max of their virtual sizes (VSZ)\n   and add the sum of their RSS. We use VSZ instead of RSS because mode\n   forces us to ensure we can fulfill all of the requested memory allocations--\n   even if the programs only use a fraction of what they ask for.\n   On x86_64 this is about 128MB.\n\n   When swap is enabled, reserves are useful even when they are as\n   small as 10MB, regardless of overcommit mode.\n\n   When both swap and overcommit are disabled, then the admin should\n   tune the reserves higher to be absolutley safe. Over 230MB each\n   was safest in my testing.\n\n * What happens if user_reserve_pages is set to 0?\n\n   Note, this only affects overcomitt \u0027never\u0027 mode.\n\n   Then a user will be able to allocate all available memory minus\n   admin_reserve_kbytes.\n\n   However, they will easily see a message such as:\n\n   \"bash: fork: Cannot allocate memory\"\n\n   And they won\u0027t be able to recover/kill their application.\n   The admin should be able to recover the system if\n   admin_reserve_kbytes is set appropriately.\n\n * What\u0027s the difference between overcommit \u0027guess\u0027 and \u0027never\u0027?\n\n   \"Guess\" allows an allocation if there are enough free + reclaimable\n   pages. It has a hardcoded 3% of free pages reserved for root.\n\n   \"Never\" allows an allocation if there is enough swap + a configurable\n   percentage (default is 50) of physical RAM. It has a hardcoded 3% of\n   free pages reserved for root, like \"Guess\" mode. It also has a\n   hardcoded 3% of the current process size reserved for additional\n   applications.\n\n * Why is overcommit \u0027guess\u0027 not suitable even when an app eventually\n   writes to every page? It takes free pages, file pages, available\n   swap pages, reclaimable slab pages into consideration. In other words,\n   these are all pages available, then why isn\u0027t overcommit suitable?\n\n   Because it only looks at the present state of the system. It\n   does not take into account the memory that other applications have\n   malloced, but haven\u0027t initialized yet. It overcommits the system.\n\nTest Summary\n\nThere was little change in behavior in the default overcommit \u0027guess\u0027\nmode with swap enabled before and after the patch. This was expected.\n\nSystems run most predictably (i.e. no oom kills) in overcommit \u0027never\u0027\nmode with swap enabled. This also allowed the most memory to be allocated\nto a user application.\n\nOvercommit \u0027guess\u0027 mode without swap is a bad idea. It is easy to\ncrash the system. None of the other tested combinations crashed.\nThis matches my experience on the Roadrunner supercomputer.\n\nWithout the tunable user reserve, a system in overcommit \u0027never\u0027 mode\nand without swap does not allow the admin to recover, although the\nadmin can.\n\nWith the new tunable reserves, a system in overcommit \u0027never\u0027 mode\nand without swap can be configured to:\n\n1. maximize user-allocatable memory, running close to the edge of\nrecoverability\n\n2. maximize recoverability, sacrificing allocatable memory to\nensure that a user cannot take down a system\n\nTest Description\n\nFedora 18 VM - 4 x86_64 cores, 5725MB RAM, 4GB Swap\n\nSystem is booted into multiuser console mode, with unnecessary services\nturned off. Caches were dropped before each test.\n\nHogs are user memtester processes that attempt to allocate all free memory\nas reported by /proc/meminfo\n\nIn overcommit \u0027never\u0027 mode, memory_ratio\u003d100\n\nTest Results\n\n3.9.0-rc1-mm1\n\nOvercommit | Swap | Hogs | MB Got/Wanted | OOMs | User Recovery | Admin Recovery\n----------   ----   ----   -------------   ----   -------------   --------------\nguess        yes    1      5432/5432       no     yes             yes\nguess        yes    4      5444/5444       1      yes             yes\nguess        no     1      5302/5449       no     yes             yes\nguess        no     4      -               crash  no              no\n\nnever        yes    1      5460/5460       1      yes             yes\nnever        yes    4      5460/5460       1      yes             yes\nnever        no     1      5218/5432       no     no              yes\nnever        no     4      5203/5448       no     no              yes\n\n3.9.0-rc1-mm1-tunablereserves\n\nUser and Admin Recovery show their respective reserves, if applicable.\n\nOvercommit | Swap | Hogs | MB Got/Wanted | OOMs | User Recovery | Admin Recovery\n----------   ----   ----   -------------   ----   -------------   --------------\nguess        yes    1      5419/5419       no     - yes           8MB yes\nguess        yes    4      5436/5436       1      - yes           8MB yes\nguess        no     1      5440/5440       *      - yes           8MB yes\nguess        no     4      -               crash  - no            8MB no\n\n* process would successfully mlock, then the oom killer would pick it\n\nnever        yes    1      5446/5446       no     10MB yes        20MB yes\nnever        yes    4      5456/5456       no     10MB yes        20MB yes\nnever        no     1      5387/5429       no     128MB no        8MB barely\nnever        no     1      5323/5428       no     226MB barely    8MB barely\nnever        no     1      5323/5428       no     226MB barely    8MB barely\n\nnever        no     1      5359/5448       no     10MB no         10MB barely\n\nnever        no     1      5323/5428       no     0MB no          10MB barely\nnever        no     1      5332/5428       no     0MB no          50MB yes\nnever        no     1      5293/5429       no     0MB no          90MB yes\n\nnever        no     1      5001/5427       no     230MB yes       338MB yes\nnever        no     4*     4998/5424       no     230MB yes       338MB yes\n\n* more memtesters were launched, able to allocate approximately another 100MB\n\nFuture Work\n\n - Test larger memory systems.\n\n - Test an embedded image.\n\n - Test other architectures.\n\n - Time malloc microbenchmarks.\n\n - Would it be useful to be able to set overcommit policy for\n   each memory cgroup?\n\n - Some lines are slightly above 80 chars.\n   Perhaps define a macro to convert between pages and kb?\n   Other places in the kernel do this.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: make init_user_reserve() static]\nSigned-off-by: Andrew Shewmaker \u003cagshew@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": "f02c696800886382198df897b30bb796b46a8dae",
      "tree": "72155687f3f89bf1f300114cd22f90540396a69c",
      "parents": [
        "f9d531b8dcd1b62a7bf96f29212ca80b58f96e82"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 29 15:08:04 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:36 2013 -0700"
      },
      "message": "include/linux/memory.h: implement register_hotmemory_notifier()\n\nWhen CONFIG_MEMORY_HOTPLUG\u003dn, we don\u0027t want the memory-hotplug notifier\nhandlers to be included in the .o files, for space reasons.\n\nThe existing hotplug_memory_notifier() tries to handle this but testing\nwith gcc-4.4.4 shows that it doesn\u0027t work - the hotplug functions are\nstill present in the .o files.\n\nSo implement a new register_hotmemory_notifier() which is a copy of\nregister_hotcpu_notifier(), and which actually works as desired.\nhotplug_memory_notifier() and register_memory_notifier() callsites\nshould be converted to use this new register_hotmemory_notifier().\n\nWhile we\u0027re there, let\u0027s repair the existing hotplug_memory_notifier():\nit simply stomps on the register_memory_notifier() return value, so\nwell-behaved code cannot check for errors.  Apparently non of the\nexisting callers were well-behaved :(\n\nCc: Andrew Shewmaker \u003cagshew@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": "f9872caf07c1c774034b8bddde7d4a3a7f4a6484",
      "tree": "bfaa2883e6d2ae3945f6789b3a8935e7461ab9cb",
      "parents": [
        "7c243c7168dcc1bc2081fc0494923cd7cc808fb6"
      ],
      "author": {
        "name": "Cody P Schafer",
        "email": "cody@linux.vnet.ibm.com",
        "time": "Mon Apr 29 15:08:01 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:36 2013 -0700"
      },
      "message": "page_alloc: make setup_nr_node_ids() usable for arch init code\n\npowerpc and x86 were opencoding copies of setup_nr_node_ids(), which\npage_alloc provides but makes static.  Make it avaliable to the archs in\nlinux/mm.h.\n\nSigned-off-by: Cody P Schafer \u003ccody@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0aad818b2de455f1bfd7ef87c28cdbbaaed9a699",
      "tree": "a86fe62f7c740d431f76bd2262abae5825e1a21e",
      "parents": [
        "055e4fd96e95b0eee0d92fd54a26be7f0d3bcad0"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Apr 29 15:07:50 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:35 2013 -0700"
      },
      "message": "sparse-vmemmap: specify vmemmap population range in bytes\n\nThe sparse code, when asking the architecture to populate the vmemmap,\nspecifies the section range as a starting page and a number of pages.\n\nThis is an awkward interface, because none of the arch-specific code\nactually thinks of the range in terms of \u0027struct page\u0027 units and always\ntranslates it to bytes first.\n\nIn addition, later patches mix huge page and regular page backing for\nthe vmemmap.  For this, they need to call vmemmap_populate_basepages()\non sub-section ranges with PAGE_SIZE and PMD_SIZE in mind.  But these\nare not necessarily multiples of the \u0027struct page\u0027 size and so this unit\nis too coarse.\n\nJust translate the section range into bytes once in the generic sparse\ncode, then pass byte ranges down the stack.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Bernhard Schmidt \u003cBernhard.Schmidt@lrz.de\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nTested-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "949f7ec5760b021da3cccc1eaeb0671270e4238f",
      "tree": "8610da7dff952d64cc59e8a922aa16fb430dd66e",
      "parents": [
        "1444f92c84984dd13f3e8e121115783ae5b22c55"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 29 15:07:48 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:35 2013 -0700"
      },
      "message": "mm, hugetlb: include hugepages in meminfo\n\nParticularly in oom conditions, it\u0027s troublesome that hugetlb memory is\nnot displayed.  All other meminfo that is emitted will not add up to\nwhat is expected, and there is no artifact left in the kernel log to\nshow that a potentially significant amount of memory is actually\nallocated as hugepages which are not available to be reclaimed.\n\nBooting with hugepages\u003d8192 on the command line, this memory is now\nshown in oom conditions.  For example, with echo m \u003e\n/proc/sysrq-trigger:\n\n  Node 0 hugepages_total\u003d2048 hugepages_free\u003d2048 hugepages_surp\u003d0 hugepages_size\u003d2048kB\n  Node 1 hugepages_total\u003d2048 hugepages_free\u003d2048 hugepages_surp\u003d0 hugepages_size\u003d2048kB\n  Node 2 hugepages_total\u003d2048 hugepages_free\u003d2048 hugepages_surp\u003d0 hugepages_size\u003d2048kB\n  Node 3 hugepages_total\u003d2048 hugepages_free\u003d2048 hugepages_surp\u003d0 hugepages_size\u003d2048kB\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13ba3fcbbe31068b1ee7c39a0b58ecbed03c4d72",
      "tree": "07991835bdf224ec3d4fcc1ce630d4b8c08b1c41",
      "parents": [
        "4341fa454796b8a37efd5db98112524e85e7114e"
      ],
      "author": {
        "name": "Atsushi Kumagai",
        "email": "kumagai-atsushi@mxc.nes.nec.co.jp",
        "time": "Mon Apr 29 15:07:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:34 2013 -0700"
      },
      "message": "kexec, vmalloc: export additional vmalloc layer information\n\nNow, vmap_area_list is exported as VMCOREINFO for makedumpfile to get\nthe start address of vmalloc region (vmalloc_start).  The address which\ncontains vmalloc_start value is represented as below:\n\n  vmap_area_list.next - OFFSET(vmap_area.list) + OFFSET(vmap_area.va_start)\n\nHowever, both OFFSET(vmap_area.va_start) and OFFSET(vmap_area.list)\naren\u0027t exported as VMCOREINFO.\n\nSo this patch exports them externally with small cleanup.\n\n[akpm@linux-foundation.org: vmalloc.h should include list.h for list_head]\nSigned-off-by: Atsushi Kumagai \u003ckumagai-atsushi@mxc.nes.nec.co.jp\u003e\nCc: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nCc: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Atsushi Kumagai \u003ckumagai-atsushi@mxc.nes.nec.co.jp\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Dave Anderson \u003canderson@redhat.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Vivek Goyal \u003cvgoyal@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": "f1c4069e1dc128dc8a851174cba2e273652e9216",
      "tree": "cb5b315796926eb14fe7ee3c0db8b616e38ccb63",
      "parents": [
        "d4033afdf8282802ad28b0ed854393454115a071"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "js1304@gmail.com",
        "time": "Mon Apr 29 15:07:37 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:34 2013 -0700"
      },
      "message": "mm, vmalloc: export vmap_area_list, instead of vmlist\n\nAlthough our intention is to unexport internal structure entirely, but\nthere is one exception for kexec.  kexec dumps address of vmlist and\nmakedumpfile uses this information.\n\nWe are about to remove vmlist, then another way to retrieve information\nof vmalloc layer is needed for makedumpfile.  For this purpose, we\nexport vmap_area_list, instead of vmlist.\n\nSigned-off-by: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Dave Anderson \u003canderson@redhat.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Atsushi Kumagai \u003ckumagai-atsushi@mxc.nes.nec.co.jp\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: Ingo Molnar \u003cmingo@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": "db3808c1bac64740b9d830fda92801ae65f1c851",
      "tree": "5f209495fa8865cf7283ae928f566142bb9a9c00",
      "parents": [
        "ef93247325028a35e089f3012c270379a89d052c"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "js1304@gmail.com",
        "time": "Mon Apr 29 15:07:28 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:33 2013 -0700"
      },
      "message": "mm, vmalloc: move get_vmalloc_info() to vmalloc.c\n\nNow get_vmalloc_info() is in fs/proc/mmu.c.  There is no reason that this\ncode must be here and it\u0027s implementation needs vmlist_lock and it iterate\na vmlist which may be internal data structure for vmalloc.\n\nIt is preferable that vmlist_lock and vmlist is only used in vmalloc.c\nfor maintainability. So move the code to vmalloc.c\n\nSigned-off-by: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Atsushi Kumagai \u003ckumagai-atsushi@mxc.nes.nec.co.jp\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Dave Anderson \u003canderson@redhat.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Vivek Goyal \u003cvgoyal@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": "7136851117744f1d291bed6d307432699d405109",
      "tree": "6dc7d6bef45e24ad0d3d5d1b9290a81109758172",
      "parents": [
        "106c992a5ebef28193cf5958e49ceff5e4aebb04"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Apr 29 15:07:25 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:33 2013 -0700"
      },
      "message": "mm: make snapshotting pages for stable writes a per-bio operation\n\nWalking a bio\u0027s page mappings has proved problematic, so create a new\nbio flag to indicate that a bio\u0027s data needs to be snapshotted in order\nto guarantee stable pages during writeback.  Next, for the one user\n(ext3/jbd) of snapshotting, hook all the places where writes can be\ninitiated without PG_writeback set, and set BIO_SNAP_STABLE there.\n\nWe must also flag journal \"metadata\" bios for stable writeout, since\nfile data can be written through the journal.  Finally, the\nMS_SNAP_STABLE mount flag (only used by ext3) is now superfluous, so get\nrid of it.\n\n[akpm@linux-foundation.org: rename _submit_bh()\u0027s `flags\u0027 to `bio_flags\u0027, delobotomize the _submit_bh declaration]\n[akpm@linux-foundation.org: teeny cleanup]\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "146732ce104ddfed3d4d82722c0b336074016b92",
      "tree": "07185bc6ff143cc669cc9e0a197a3adf0c13004a",
      "parents": [
        "6d2488f64a240191f0733c1f32d73607916b01b7"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Apr 29 15:07:22 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:33 2013 -0700"
      },
      "message": "fs: don\u0027t compile in drop_caches.c when CONFIG_SYSCTL\u003dn\n\ndrop_caches.c provides code only invokable via sysctl, so don\u0027t compile it\nin when CONFIG_SYSCTL\u003dn.\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d2488f64a240191f0733c1f32d73607916b01b7",
      "tree": "8e83c602ae560623ee9a8fc2959ce8d61e52eb03",
      "parents": [
        "16248d8fe65ea116cc30b915e05a1c29496da120"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Mon Apr 29 15:07:21 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:33 2013 -0700"
      },
      "message": "cgroup: remove css_get_next\n\nNow that we have generic and well ordered cgroup tree walkers there is\nno need to keep css_get_next in the place.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfa11e08ed39eb28a9eff9a907b20913020c69b5",
      "tree": "de70473dbf74cfee568e78b1d00c4764e9035729",
      "parents": [
        "e07cee23e64137f7da2fb35d7b7c0ad26cc0edec"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "liuj97@gmail.com",
        "time": "Mon Apr 29 15:07:00 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:31 2013 -0700"
      },
      "message": "mm: introduce free_highmem_page() helper to free highmem pages into buddy system\n\nThe original goal of this patchset is to fix the bug reported by\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d53501\n\nNow it has also been expanded to reduce common code used by memory\ninitializion.\n\nThis is the second part, which applies to the previous part at:\n  http://marc.info/?l\u003dlinux-mm\u0026m\u003d136289696323825\u0026w\u003d2\n\nIt introduces a helper function free_highmem_page() to free highmem\npages into the buddy system when initializing mm subsystem.\nIntroduction of free_highmem_page() is one step forward to clean up\naccesses and modificaitons of totalhigh_pages, totalram_pages and\nzone-\u003emanaged_pages etc. I hope we could remove all references to\ntotalhigh_pages from the arch/ subdirectory.\n\nWe have only tested these patchset on x86 platforms, and have done basic\ncompliation tests using cross-compilers from ftp.kernel.org. That means\nsome code may not pass compilation on some architectures. So any help\nto test this patchset are welcomed!\n\nThere are several other parts still under development:\nPart3: refine code to manage totalram_pages, totalhigh_pages and\n\tzone-\u003emanaged_pages\nPart4: introduce helper functions to simplify mem_init() and remove the\n\tglobal variable num_physpages.\n\nThis patch:\n\nIntroduce helper function free_highmem_page(), which will be used by\narchitectures with HIGHMEM enabled to free highmem pages into the buddy\nsystem.\n\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \"Suzuki K. Poulose\" \u003csuzuki@in.ibm.com\u003e\nCc: Alexander Graf \u003cagraf@suse.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Attilio Rao \u003cattilio.rao@citrix.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Cong Wang \u003camwang@redhat.com\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: James Hogan \u003cjames.hogan@imgtec.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: Jiang Liu \u003cliuj97@gmail.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@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": "69afade72a3e13e96a065f757891d384d466123f",
      "tree": "e294349336908e3ffac054f8fa9827226c9ed5b1",
      "parents": [
        "2d42a40d592fadbd01cb639ac21a761fa31423f8"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "liuj97@gmail.com",
        "time": "Mon Apr 29 15:06:21 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:29 2013 -0700"
      },
      "message": "mm: introduce common help functions to deal with reserved/managed pages\n\nThe original goal of this patchset is to fix the bug reported by\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d53501\n\nNow it has also been expanded to reduce common code used by memory\ninitializion.\n\nThis is the first part, which applies to v3.9-rc1.\n\nIt introduces following common helper functions to simplify\nfree_initmem() and free_initrd_mem() on different architectures:\n\nadjust_managed_page_count():\n\twill be used to adjust totalram_pages, totalhigh_pages,\n\tzone-\u003emanaged_pages when reserving/unresering a page.\n\n__free_reserved_page():\n\tfree a reserved page into the buddy system without adjusting\n\tpage statistics info\n\nfree_reserved_page():\n\tfree a reserved page into the buddy system and adjust page\n\tstatistics info\n\nmark_page_reserved():\n\tmark a page as reserved and adjust page statistics info\n\nfree_reserved_area():\n\tfree a continous ranges of pages by calling free_reserved_page()\n\nfree_initmem_default():\n\tdefault method to free __init pages.\n\nWe have only tested these patchset on x86 platforms, and have done basic\ncompliation tests using cross-compilers from ftp.kernel.org.  That means\nsome code may not pass compilation on some architectures.  So any help to\ntest this patchset are welcomed!\n\nThere are several other parts still under development:\nPart2: introduce free_highmem_page() to simplify freeing highmem pages\nPart3: refine code to manage totalram_pages, totalhigh_pages and\n\tzone-\u003emanaged_pages\nPart4: introduce helper functions to simplify mem_init() and remove the\n\tglobal variable num_physpages.\n\nThis patch:\n\nCode to deal with reserved/managed pages are duplicated by many\narchitectures, so introduce common help functions to reduce duplicated\ncode.  These common help functions will also be used to concentrate code\nto modify totalram_pages and zone-\u003emanaged_pages, which makes the code\nmuch more clear.\n\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \"James E.J. Bottomley\" \u003cjejb@parisc-linux.org\u003e\nCc: Anatolij Gustschin \u003cagust@denx.de\u003e\nCc: Aurelien Jacquiot \u003ca-jacquiot@ti.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@gmail.com\u003e\nCc: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: James Hogan \u003cjames.hogan@imgtec.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: Jiang Liu \u003cliuj97@gmail.com\u003e\nCc: Jonas Bonn \u003cjonas@southpole.se\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nCc: Lennox Wu \u003clennox.wu@gmail.com\u003e\nCc: Mark Salter \u003cmsalter@redhat.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Max Filippov \u003cjcmvbkbc@gmail.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Zhang Yanfei \u003czhangyanfei@cn.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": "8375ad98cc1defc36adf4a77d9ea1e71db51a371",
      "tree": "b9cb0c43c35ca982c86f638d87bf88cbbf65e70b",
      "parents": [
        "250297edf83292c831fbf4504df54953c2aacfe4"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 29 15:06:13 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:28 2013 -0700"
      },
      "message": "vm: adjust ifdef for TINY_RCU\n\nThere is an ifdef in page_cache_get_speculative() that checks for !SMP\nand TREE_RCU, which has been an impossible combination since the advent\nof TINY_RCU.  The ifdef enables a fastpath that is valid when preemption\nis disabled by rcu_read_lock() in UP systems, which is the case when\nTINY_RCU is enabled.  This commit therefore adjusts the ifdef to\ngenerate the fastpath when TINY_RCU is enabled.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReported-by: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "250297edf83292c831fbf4504df54953c2aacfe4",
      "tree": "48cfad4e3eff92382c600582ba1c8ea7b4671d09",
      "parents": [
        "4b59e6c4730978679b414a8da61514a2518da512"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 29 15:06:12 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:28 2013 -0700"
      },
      "message": "mm/shmem.c: remove an ifdef\n\nCreate a CONFIG_MMU\u003dy stub for ramfs_nommu_expand_for_mapping() in the\nusual fashion.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Wolfram Sang \u003cwsa@the-dreams.de\u003e\nCc: Hugh Dickins \u003chughd@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": "4b59e6c4730978679b414a8da61514a2518da512",
      "tree": "241f48acea764191a458c6ae2d058b079b24f12d",
      "parents": [
        "fe0bfaaff84429a35e4447d4ccd646aecf5999fb"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 29 15:06:11 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:28 2013 -0700"
      },
      "message": "mm, show_mem: suppress page counts in non-blockable contexts\n\nOn large systems with a lot of memory, walking all RAM to determine page\ntypes may take a half second or even more.\n\nIn non-blockable contexts, the page allocator will emit a page allocation\nfailure warning unless __GFP_NOWARN is specified.  In such contexts, irqs\nare typically disabled and such a lengthy delay may even result in NMI\nwatchdog timeouts.\n\nTo fix this, suppress the page walk in such contexts when printing the\npage allocation failure warning.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Dave Hansen \u003cdave@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": "2c2fea11957c8c45bf873d9bcd7cd9a342654e79",
      "tree": "a63ff950ac8799cec859f46b7f57b2f0fe2dc031",
      "parents": [
        "7cfa74d1018f871e82da1a36992369df5ddda6fa"
      ],
      "author": {
        "name": "James Hogan",
        "email": "james.hogan@imgtec.com",
        "time": "Mon Apr 29 15:06:06 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:27 2013 -0700"
      },
      "message": "debug_locks.h: make warning more verbose\n\nThe WARN_ON(1) in DEBUG_LOCKS_WARN_ON is surprisingly awkward to track\ndown when it\u0027s hit, as it\u0027s usually buried in macros, causing multiple\ninstances to land on the same line number.\n\nThis patch makes it more useful by switching to:\n\n    WARN(1, \"DEBUG_LOCKS_WARN_ON(%s)\", #c);\n\nso that the particular DEBUG_LOCKS_WARN_ON is more easily identified and\ngrep\u0027d for.  For example:\n\n    WARNING: at kernel/mutex.c:198 _mutex_lock_nested+0x31c/0x380()\n    DEBUG_LOCKS_WARN_ON(l-\u003emagic !\u003d l)\n\nSigned-off-by: James Hogan \u003cjames.hogan@imgtec.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68a2d20b79b105f02dcbc52c211d7e62f98996b7",
      "tree": "7068bd5a37c0d85e92ff20ed079df1e74b676c61",
      "parents": [
        "6cd472d3d2a9cace26eae924fe95ec21dc4a0502"
      ],
      "author": {
        "name": "Haiyang Zhang",
        "email": "haiyangz@microsoft.com",
        "time": "Mon Apr 29 15:05:42 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:26 2013 -0700"
      },
      "message": "drivers/video: add Hyper-V Synthetic Video Frame Buffer Driver\n\nThis is the driver for the Hyper-V Synthetic Video, which supports\nscreen resolution up to Full HD 1920x1080 on Windows Server 2012 host,\nand 1600x1200 on Windows Server 2008 R2 or earlier.  It also solves the\ndouble mouse cursor issue of the emulated video mode.\n\nSigned-off-by: Haiyang Zhang \u003chaiyangz@microsoft.com\u003e\nReviewed-by: K. Y. Srinivasan \u003ckys@microsoft.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e,\nCc: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e8529afc4518f4e5d610001545ebc97e1333c79",
      "tree": "26e1aa2cbb50f3f511cfa7d8e39e6b7bd9221b68",
      "parents": [
        "ec25e246b94a3233ab064994ef05a170bdba0e7c",
        "4c69e6ea415a35eb7f0fc8ee9390c8f7436492a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 13:55:38 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 13:55:38 2013 -0700"
      },
      "message": "Merge tag \u0027trace-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace\n\nPull tracing updates from Steven Rostedt:\n \"Along with the usual minor fixes and clean ups there are a few major\n  changes with this pull request.\n\n   1) Multiple buffers for the ftrace facility\n\n  This feature has been requested by many people over the last few\n  years.  I even heard that Google was about to implement it themselves.\n  I finally had time and cleaned up the code such that you can now\n  create multiple instances of the ftrace buffer and have different\n  events go to different buffers.  This way, a low frequency event will\n  not be lost in the noise of a high frequency event.\n\n  Note, currently only events can go to different buffers, the tracers\n  (ie function, function_graph and the latency tracers) still can only\n  be written to the main buffer.\n\n   2) The function tracer triggers have now been extended.\n\n  The function tracer had two triggers.  One to enable tracing when a\n  function is hit, and one to disable tracing.  Now you can record a\n  stack trace on a single (or many) function(s), take a snapshot of the\n  buffer (copy it to the snapshot buffer), and you can enable or disable\n  an event to be traced when a function is hit.\n\n   3) A perf clock has been added.\n\n  A \"perf\" clock can be chosen to be used when tracing.  This will cause\n  ftrace to use the same clock as perf uses, and hopefully this will\n  make it easier to interleave the perf and ftrace data for analysis.\"\n\n* tag \u0027trace-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (82 commits)\n  tracepoints: Prevent null probe from being added\n  tracing: Compare to 1 instead of zero for is_signed_type()\n  tracing: Remove obsolete macro guard _TRACE_PROFILE_INIT\n  ftrace: Get rid of ftrace_profile_bits\n  tracing: Check return value of tracing_init_dentry()\n  tracing: Get rid of unneeded key calculation in ftrace_hash_move()\n  tracing: Reset ftrace_graph_filter_enabled if count is zero\n  tracing: Fix off-by-one on allocating stat-\u003epages\n  kernel: tracing: Use strlcpy instead of strncpy\n  tracing: Update debugfs README file\n  tracing: Fix ftrace_dump()\n  tracing: Rename trace_event_mutex to trace_event_sem\n  tracing: Fix comment about prefix in arch_syscall_match_sym_name()\n  tracing: Convert trace_destroy_fields() to static\n  tracing: Move find_event_field() into trace_events.c\n  tracing: Use TRACE_MAX_PRINT instead of constant\n  tracing: Use pr_warn_once instead of open coded implementation\n  ring-buffer: Add ring buffer startup selftest\n  tracing: Bring Documentation/trace/ftrace.txt up to date\n  tracing: Add \"perf\" trace_clock\n  ...\n\nConflicts:\n\tkernel/trace/ftrace.c\n\tkernel/trace/trace.c\n"
    },
    {
      "commit": "ec25e246b94a3233ab064994ef05a170bdba0e7c",
      "tree": "49b7d7e4c46e13bb465c7b832961596e41e8526a",
      "parents": [
        "507ffe4f3840ac24890a8123c702cf1b7fe4d33c",
        "4626b8daf9bb00ce6b4d533c1a155211ad880f32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 12:19:23 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 12:19:23 2013 -0700"
      },
      "message": "Merge tag \u0027usb-3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\nPull USB patches from Greg Kroah-Hartman:\n \"Here\u0027s the big USB pull request for 3.10-rc1.\n\n  Lots of USB patches here, the majority being USB gadget changes and\n  USB-serial driver cleanups, the rest being ARM build fixes / cleanups,\n  and individual driver updates.  We also finally got some chipidea\n  fixes, which have been delayed for a number of kernel releases, as the\n  maintainer has now reappeared.\n\n  All of these have been in linux-next for a while\"\n\n* tag \u0027usb-3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (568 commits)\n  USB: ehci-msm: USB_MSM_OTG needs USB_PHY\n  USB: OHCI: avoid conflicting platform drivers\n  USB: OMAP: ISP1301 needs USB_PHY\n  USB: lpc32xx: ISP1301 needs USB_PHY\n  USB: ftdi_sio: enable two UART ports on ST Microconnect Lite\n  usb: phy: tegra: don\u0027t call into tegra-ehci directly\n  usb: phy: phy core cannot yet be a module\n  USB: Fix initconst in ehci driver\n  usb-storage: CY7C68300A chips do not support Cypress ATACB\n  USB: serial: option: Added support Olivetti Olicard 145\n  USB: ftdi_sio: correct ST Micro Connect Lite PIDs\n  ARM: mxs_defconfig: add CONFIG_USB_PHY\n  ARM: imx_v6_v7_defconfig: add CONFIG_USB_PHY\n  usb: phy: remove exported function from __init section\n  usb: gadget: zero: put function instances on unbind\n  usb: gadget: f_sourcesink.c: correct a copy-paste misnomer\n  usb: gadget: cdc2: fix error return code in cdc_do_config()\n  usb: gadget: multi: fix error return code in rndis_do_config()\n  usb: gadget: f_obex: fix error return code in obex_bind()\n  USB: storage: convert to use module_usb_driver()\n  ...\n"
    },
    {
      "commit": "507ffe4f3840ac24890a8123c702cf1b7fe4d33c",
      "tree": "1046888f9db00f268a0056d7f6e427e21502f84c",
      "parents": [
        "fdc719b63ae35d6a2d8a2a2c76eed813294664bf",
        "45efcb2d32d35f6509543e477568842d8467035d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 12:16:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 12:16:17 2013 -0700"
      },
      "message": "Merge tag \u0027tty-3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nPull tty/serial driver update from Greg Kroah-Hartman:\n \"Here\u0027s the big tty/serial driver merge request for 3.10-rc1\n\n  Once again, Jiri has a number of TTY driver fixes and cleanups, and\n  Peter Hurley came through with a bunch of ldisc fixes that resolve a\n  number of reported issues.  There are some other serial driver\n  cleanups as well.\n\n  All of these have been in the linux-next tree for a while\"\n\n* tag \u0027tty-3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (117 commits)\n  tty/serial/sirf: fix MODULE_DEVICE_TABLE\n  serial: mxs: drop superfluous {get|put}_device\n  serial: mxs: fix buffer overflow\n  ARM: PL011: add support for extended FIFO-size of PL011-r1p5\n  serial_core.c: add put_device() after device_find_child()\n  tty: Fix unsafe bit ops in tty_throttle_safe/unthrottle_safe\n  serial: sccnxp: Replace pdata.init/exit with regulator API\n  serial: sccnxp: Do not override device name\n  TTY: pty, fix compilation warning\n  TTY: rocket, fix compilation warning\n  TTY: ircomm: fix DTR being raised on hang up\n  TTY: synclinkmp: fix DTR being raised on hang up\n  TTY: synclink_gt: fix DTR being raised on hang up\n  TTY: synclink: fix DTR being raised on hang up\n  serial: 8250_dw: Fix the stub for dw8250_probe_acpi()\n  serial: 8250_dw: Convert to devm_ioremap()\n  serial: 8250_dw: Set port capabilities based on CPR register\n  serial: 8250_dw: Let ACPI code extract the DMA client info\n  serial: 8250_dw: Support clk framework also with ACPI\n  serial: 8250_dw: Enable runtime PM\n  ...\n"
    },
    {
      "commit": "fdc719b63ae35d6a2d8a2a2c76eed813294664bf",
      "tree": "f02336d93870e77f8bba4db49f7fc58078465fca",
      "parents": [
        "2794b5d408c625e104de813d3de7ac0ec34d46d9",
        "a0eeed40100b2eca57afdf99d76c57dedd218a8a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 11:34:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 11:34:17 2013 -0700"
      },
      "message": "Merge tag \u0027staging-3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging\n\nPull staging driver tree update from Greg Kroah-Hartman:\n \"Here\u0027s the big staging driver tree update for 3.10-rc1\n\n  This update contains loads of comedi driver cleanups and fixes in\n  here, iio updates, android driver changes, and other various staging\n  driver cleanups.\n\n  Thanks to some drivers being removed, and the comedi driver cleanups,\n  we have removed more code than we added:\n\n   627 files changed, 65145 insertions(+), 76321 deletions(-)\n\n  which is always nice to see.\n\n  All of these have been in linux-next for a while.\"\n\n* tag \u0027staging-3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (940 commits)\n  staging: comedi: ni_labpc: fix legacy driver build\n  staging: comedi: das800: cleanup the cio-das802/16 fifo comments\n  staging: comedi: das800: rename CamelCase vars in das800_ai_do_cmd()\n  staging: comedi: das800: tidy up the private data\n  staging: comedi: das800: tidy up das800_interrupt()\n  staging: comedi: das800: tidy up das800_ai_insn_read()\n  staging: comedi: das800: tidy up das800_di_insn_bits()\n  staging: comedi: das800: tidy up das800_do_insn_bits()\n  staging: comedi: das800: remove extra divisor calculation call\n  staging: comedi: das800: rename {enable,disable}_das800\n  staging: comedi: das800: tidy up subdevice init\n  staging: comedi: das800: allow attaching without interrupt support\n  staging: comedi: das800: interrupts are required for async command support\n  staging: comedi: das800: tidy up das800_ai_do_cmdtest()\n  staging: comedi: das800: remove \u0027volatile\u0027 on private data variables\n  staging: comedi: das800: cleanup the boardinfo\n  staging: comedi: das800: cleanup range table declarations\n  staging: comedi: das800: introduce das800_ind_{write, read}()\n  staging: comedi: das800: remove forward declarations\n  staging: comedi: das800: move das800_set_frequency()\n  ...\n"
    },
    {
      "commit": "2794b5d408c625e104de813d3de7ac0ec34d46d9",
      "tree": "a99e067475ed4e1de27c86a544347be97e7458fb",
      "parents": [
        "4f567cbc957a7cffd1a428a000d93bd903f42349",
        "0d1d392f011b284bb4af0411b2d36e5d04e0f058"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 11:31:50 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 11:31:50 2013 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core update from Greg Kroah-Hartman:\n \"Here\u0027s the merge request for the driver core tree for 3.10-rc1\n\n  It\u0027s pretty small, just a number of driver core and sysfs updates and\n  fixes, all of which have been in linux-next for a while now.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\nFixed conflict in kernel/rtmutex-tester.c, the locking tree had a better\nfix for the same sysfs file mode problem.\n\n* tag \u0027driver-core-3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:\n  PM / Runtime: Idle devices asynchronously after probe|release\n  driver core: handle user namespaces properly with the uid/gid devtmpfs change\n  driver core: devtmpfs: fix compile failure with CONFIG_UIDGID_STRICT_TYPE_CHECKS\n  devtmpfs: add base.h include\n  driver core: add uid and gid to devtmpfs\n  sysfs: check if one entry has been removed before freeing\n  sysfs: fix crash_notes_size build warning\n  sysfs: fix use after free in case of concurrent read/write and readdir\n  rtmutex-tester: fix mode of sysfs files\n  Documentation: Add ABI entry for crash_notes and crash_notes_size\n  sysfs: Add crash_notes_size to export percpu note size\n  driver core: platform_device.h: fix checkpatch errors and warnings\n  driver core: platform.c: fix checkpatch errors and warnings\n  driver core: warn that platform_driver_probe can not use deferred probing\n  sysfs: use atomic_inc_unless_negative in sysfs_get_active\n  base: core: WARN() about bogus permissions on device attributes\n  device: separate all subsys mutexes\n"
    },
    {
      "commit": "4f567cbc957a7cffd1a428a000d93bd903f42349",
      "tree": "e648bfed3732a23031a32811b20975827dad62d2",
      "parents": [
        "92ddcf4a011a95dac98d3bbb0211a2fa42f13dc1",
        "0e27263926699fcbbd574cff4dd6920007a50e8a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 11:18:34 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 11:18:34 2013 -0700"
      },
      "message": "Merge tag \u0027char-misc-3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc\n\nPull char/misc driver update from Greg Kroah-Hartman:\n \"Here\u0027s the big char / misc driver update for 3.10-rc1\n\n  A number of various driver updates, the majority being new\n  functionality in the MEI driver subsystem (it\u0027s now a subsystem, it\n  started out just a single driver), extcon updates, memory updates,\n  hyper-v updates, and a bunch of other small stuff that doesn\u0027t fit in\n  any other tree.\n\n  All of these have been in linux-next for a while\"\n\n* tag \u0027char-misc-3.10-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (148 commits)\n  Tools: hv: Fix a checkpatch warning\n  tools: hv: skip iso9660 mounts in hv_vss_daemon\n  tools: hv: use FIFREEZE/FITHAW in hv_vss_daemon\n  tools: hv: use getmntent in hv_vss_daemon\n  Tools: hv: Fix a checkpatch warning\n  tools: hv: fix checks for origin of netlink message in hv_vss_daemon\n  Tools: hv: fix warnings in hv_vss_daemon\n  misc: mark spear13xx-pcie-gadget as broken\n  mei: fix krealloc() misuse in in mei_cl_irq_read_msg()\n  mei: reduce flow control only for completed messages\n  mei: reseting -\u003e resetting\n  mei: fix reading large reposnes\n  mei: revamp mei_irq_read_client_message function\n  mei: revamp mei_amthif_irq_read_message\n  mei: revamp hbm state machine\n  Revert \"drivers/scsi: use module_pcmcia_driver() in pcmcia drivers\"\n  Revert \"scsi: pcmcia: nsp_cs: remove module init/exit function prototypes\"\n  scsi: pcmcia: nsp_cs: remove module init/exit function prototypes\n  mei: wd: fix line over 80 characters\n  misc: tsl2550: Use dev_pm_ops\n  ...\n"
    },
    {
      "commit": "92ddcf4a011a95dac98d3bbb0211a2fa42f13dc1",
      "tree": "ac937fd7cc4d53542c5c299c85df09b1b87bf1c8",
      "parents": [
        "000a74f41e601bc4e36a760aa42f219a019c5391",
        "6445e6600fa632448cac64e71119310378464ad9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 09:45:48 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 09:45:48 2013 -0700"
      },
      "message": "Merge tag \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging\n\nPull hwmon update from Guenter Roeck:\n\n - New drivers for NCT6775, NCT6776, NCT6779, and LM95234.\n\n - Added support for LTC2974, LTC3883, LM25056, TMP431, TMP432, ADT7310,\n   and ADT7320 to existing drivers.\n\n - Various code cleanups and minor improvements.\n\n* tag \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (54 commits)\n  hwmon: (nct6775) Fix coding style problems\n  hwmon: (nct6775) Constify strings\n  hwmon: (tmp401) Add support for TMP432\n  hwmon: (tmp401) Add support for update_interval attribute\n  hwmon: (tmp401) Reset valid flag when resetting temperature history\n  hwmon: (tmp401) Simplification and cleanup\n  hwmon: (tmp401) Use sysfs_create_group / sysfs_remove_group\n  hwmon: (tmp401) Drop unused defines, use BIT for bit masks\n  hwmon: (nct6775) Use ARRAY_SIZE for loops where possible\n  documentation: hwmon: Fix typo in documentation/hwmon\n  hwmon: (nct6775) Enable both AUXTIN and VIN3 on NCT6776\n  hwmon: (ad7314) use spi_get_drvdata() and spi_set_drvdata()\n  MAINTAINERS: Add myself as maintainer for the NCT6775 driver\n  hwmon: (nct6775) Expand scope of supported chips\n  hwmon: (gpio-fan) Use is_visible to determine if attributes should be created\n  hwmon: (tmp401) Fix device detection for TMP411B and TMP411C\n  hwmon: Add driver for LM95234\n  hwmon: (tmp401) Add support for TMP431\n  hwmon: (pmbus/lm25066) Add support for LM25056\n  hwmon: (pmbus/lm25066) Refactor device specific coefficients\n  ...\n"
    },
    {
      "commit": "000a74f41e601bc4e36a760aa42f219a019c5391",
      "tree": "6ff200c5112af40ef97afacac07f862aa428edb9",
      "parents": [
        "8127b39e700f965a60fca443d23f3e171bf7c3a9",
        "42fed7ba44e4e8c1fb27b28ad14490cb1daff3c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 09:40:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 09:40:35 2013 -0700"
      },
      "message": "Merge tag \u0027pinctrl-for-v3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl\n\nPull pinctrl update from Linus Walleij:\n \"These are the pinctrl changes for v3.10:\n\n   - Patrice Chotard contributed a new configuration debugfs interface\n     and reintroduced fine-grained locking into the core: instead of\n     having a \"big pinctrl lock\" we have a per-controller lock and\n     specialized locks for the global controller and pinctrl handle\n     lists.\n\n   - Haoijan Zhuang deleted all the PXA and MMP2 pinctrl drivers and\n     replaced them with pinctrl-single (which is also used by other\n     SoCs) so we are gaining consolidation.  The platform particulars\n     now come in through the device tree.\n\n   - Haoijan also added support for generic pin config into the\n     pinctrl-single driver which is another big consolidation win.\n\n   - Finally also GPIO ranges are now supported by the pinctrl-single\n     driver.\n\n   - Tomasz Figa contributed a new Samsung S3C pinctrl driver, bringing\n     more of the older Samsung platforms under the pinctrl umbrella and\n     out of arch/arm.\n\n   - Maxime Ripard contributed new Allwinner A10/A13 drivers.\n\n   - Sachin Kamat, Wei Yongjun and Axel Lin did a lot of cleanups.\"\n\n* tag \u0027pinctrl-for-v3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (66 commits)\n  pinctrl: move subsystem mutex to pinctrl_dev struct\n  pinctrl/pinconfig: fix misplaced goto\n  pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter\n  pinctrl/pinconfig: add debug interface\n  pinctrl: abx500: fix issue when no pdata\n  pinctrl: pinctrl-single: add missing double quote\n  pinctrl: sunxi: Rename wemac functions to emac\n  pinctrl: exynos5440: add gpio interrupt support\n  pinctrl: exynos5440: fix probe failure due to missing pin-list in config nodes\n  pinctrl: ab8505: Staticize some symbols\n  pinctrl: ab8540: Staticize some symbols\n  pinctrl: ab9540: Staticize some symbols\n  pinctrl: ab8500: Staticize some symbols\n  pinctrl: abx500: Staticize some symbols\n  pinctrl: Add pinctrl-s3c64xx driver\n  pinctrl: samsung: Handle banks with two configuration registers\n  pinctrl: samsung: Remove hardcoded register offsets\n  pinctrl: samsung: Split pin bank description into two structures\n  pinctrl: samsung: Include pinctrl-exynos driver data conditionally\n  pinctrl: samsung: Protect bank registers with a spinlock\n  ...\n"
    },
    {
      "commit": "8127b39e700f965a60fca443d23f3e171bf7c3a9",
      "tree": "435e3e4b640cb6e0c2428d2d84bfde39304be5ed",
      "parents": [
        "96a3e8af5a54c324535472ca946215d5bafe6539",
        "9bf9d47a29afbf7a43eae74a988a4aefe88ccbfd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 09:35:27 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 09:35:27 2013 -0700"
      },
      "message": "Merge tag \u0027fbdev-for-3.10\u0027 of git://gitorious.org/linux-omap-dss2/linux\n\nPull fbdev updates from Tomi Valkeinen:\n\n - use vm_iomap_memory() in various fb drivers to map the fb memory to\n   userspace\n\n - Cleanups for the videomode and display_timing features\n\n - Updates to vt8500, wm8505 and auo-k190x fb drivers\n\n* tag \u0027fbdev-for-3.10\u0027 of git://gitorious.org/linux-omap-dss2/linux: (36 commits)\n  fbdev: fix check for fb_mmap\u0027s mmio availability\n  fbdev: improve fb_mmap bounds checks\n  fbdev/ps3fb: use vm_iomap_memory()\n  fbdev/sgivwfb: use vm_iomap_memory()\n  fbdev/vermillion: use vm_iomap_memory()\n  fbdev/sa1100fb: use vm_iomap_memory()\n  fbdev/fb-puv3: use vm_iomap_memory()\n  fbdev/controlfb: use vm_iomap_memory()\n  fbdev/omapfb: use vm_iomap_memory()\n  video: vt8500: fix Kconfig for videomode\n  video/s3c: move platform_data out of arch/arm\n  video/exynos: remove unnecessary header inclusions\n  drivers/video: fsl-diu-fb: add hardware cursor support\n  drivers: video: use module_platform_driver_probe()\n  ARM: OMAP: remove \"config FB_OMAP_CONSISTENT_DMA_SIZE\"\n  video: wm8505fb: Convert to devm_ioremap_resource()\n  AUO-K190x: Add resolutions for portrait displays\n  AUO-K190x: add framebuffer rotation support\n  AUO-K190x: add a 16bit truecolor mode\n  AUO-K190x: make color handling more flexible\n  ...\n"
    },
    {
      "commit": "96a3e8af5a54c324535472ca946215d5bafe6539",
      "tree": "e59b48aa3fa2b8c6c1f59f76b7b4c71f9c694093",
      "parents": [
        "a87451052fb914744571fc3ab39fcbf4fa4ef944",
        "d4f09c5d7fbabd1389a5f03f5c9329d790f544e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 09:30:25 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 09:30:25 2013 -0700"
      },
      "message": "Merge tag \u0027pci-v3.10-changes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci\n\nPull PCI updates from Bjorn Helgaas:\n \"PCI changes for the v3.10 merge window:\n\n  PCI device hotplug\n   - Remove ACPI PCI subdrivers (Jiang Liu, Myron Stowe)\n   - Make acpiphp builtin only, not modular (Jiang Liu)\n   - Add acpiphp mutual exclusion (Jiang Liu)\n\n  Power management\n   - Skip \"PME enabled/disabled\" messages when not supported (Rafael\n     Wysocki)\n   - Fix fallback to PCI_D0 (Rafael Wysocki)\n\n  Miscellaneous\n   - Factor quirk_io_region (Yinghai Lu)\n   - Cache MSI capability offsets \u0026 cleanup (Gavin Shan, Bjorn Helgaas)\n   - Clean up EISA resource initialization and logging (Bjorn Helgaas)\n   - Fix prototype warnings (Andy Shevchenko, Bjorn Helgaas)\n   - MIPS: Initialize of_node before scanning bus (Gabor Juhos)\n   - Fix pcibios_get_phb_of_node() declaration \"weak\" annotation (Gabor\n     Juhos)\n   - Add MSI INTX_DISABLE quirks for AR8161/AR8162/etc (Xiong Huang)\n   - Fix aer_inject return values (Prarit Bhargava)\n   - Remove PME/ACPI dependency (Andrew Murray)\n   - Use shared PCI_BUS_NUM() and PCI_DEVID() (Shuah Khan)\"\n\n* tag \u0027pci-v3.10-changes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (63 commits)\n  vfio-pci: Use cached MSI/MSI-X capabilities\n  vfio-pci: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK\n  PCI: Remove \"extern\" from function declarations\n  PCI: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK\n  PCI: Drop msi_mask_reg() and remove drivers/pci/msi.h\n  PCI: Use msix_table_size() directly, drop multi_msix_capable()\n  PCI: Drop msix_table_offset_reg() and msix_pba_offset_reg() macros\n  PCI: Drop is_64bit_address() and is_mask_bit_support() macros\n  PCI: Drop msi_data_reg() macro\n  PCI: Drop msi_lower_address_reg() and msi_upper_address_reg() macros\n  PCI: Drop msi_control_reg() macro and use PCI_MSI_FLAGS directly\n  PCI: Use cached MSI/MSI-X offsets from dev, not from msi_desc\n  PCI: Clean up MSI/MSI-X capability #defines\n  PCI: Use cached MSI-X cap while enabling MSI-X\n  PCI: Use cached MSI cap while enabling MSI interrupts\n  PCI: Remove MSI/MSI-X cap check in pci_msi_check_device()\n  PCI: Cache MSI/MSI-X capability offsets in struct pci_dev\n  PCI: Use u8, not int, for PM capability offset\n  [SCSI] megaraid_sas: Use correct #define for MSI-X capability\n  PCI: Remove \"extern\" from function declarations\n  ...\n"
    },
    {
      "commit": "916bb6d76dfa49b540baa3f7262792d1de7f1c24",
      "tree": "8548db9da607ad8616125130969e7c2165ad00d5",
      "parents": [
        "d0b8883800c913f5cc0eb273c052bcac94ad44d8",
        "2c522836627c6e78660f8bd52cdb4cdcb75e3e3c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 08:21:37 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 08:21:37 2013 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull locking changes from Ingo Molnar:\n \"The most noticeable change are mutex speedups from Waiman Long, for\n  higher loads.  These scalability changes should be most noticeable on\n  larger server systems.\n\n  There are also cleanups, fixes and debuggability improvements.\"\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  lockdep: Consolidate bug messages into a single print_lockdep_off() function\n  lockdep: Print out additional debugging advice when we hit lockdep BUGs\n  mutex: Back out architecture specific check for negative mutex count\n  mutex: Queue mutex spinners with MCS lock to reduce cacheline contention\n  mutex: Make more scalable by doing less atomic operations\n  mutex: Move mutex spinning code from sched/core.c back to mutex.c\n  locking/rtmutex/tester: Set correct permissions on sysfs files\n  lockdep: Remove unnecessary \u0027hlock_next\u0027 variable\n"
    },
    {
      "commit": "ae5f5203e5ea2a50e90bdd3a6f2a2a2d0b2d56d5",
      "tree": "5a94af168769f0c100df2b08c07f7599b7e7bfa6",
      "parents": [
        "75f01f949902db68b7937dfbae71b0b46a398161",
        "0ea34b578647e60ad4e06c9ba29829dc07c5264a"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@sirena.org.uk",
        "time": "Sun Apr 28 02:13:45 2013 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@sirena.org.uk",
        "time": "Sun Apr 28 02:13:45 2013 +0100"
      },
      "message": "Merge remote-tracking branch \u0027regulator/topic/palmas\u0027 into v3.9-rc8\n"
    },
    {
      "commit": "a2c05e91b991179d43e358d5eb9390f57a59a75f",
      "tree": "6f33a25e977d47558ea914ddd96be05683f1d366",
      "parents": [
        "2e1be9f7b359d653331876968e68e849857222d3",
        "71622e15dd4d497447d19317d93292184ceb67d9"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@sirena.org.uk",
        "time": "Sun Apr 28 02:13:43 2013 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@sirena.org.uk",
        "time": "Sun Apr 28 02:13:43 2013 +0100"
      },
      "message": "Merge remote-tracking branch \u0027regulator/topic/max8952\u0027 into v3.9-rc8\n"
    },
    {
      "commit": "3dc06c1baf2b28e5365a1159755eac2e95142601",
      "tree": "771e1dcfd1ac5f0d2e14bec7973bcd58c9f7dfea",
      "parents": [
        "5f19a85ba728de8a1eca8b8ae239cc27f9449985",
        "407945fd78c3fddef83ba17bf2250112c07dc7c1"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@sirena.org.uk",
        "time": "Sun Apr 28 02:13:40 2013 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@sirena.org.uk",
        "time": "Sun Apr 28 02:13:40 2013 +0100"
      },
      "message": "Merge remote-tracking branch \u0027regulator/topic/gpio\u0027 into v3.9-rc8\n"
    }
  ],
  "next": "1d60a4cf975a196d585149e667f58cbca1a574fc"
}
