)]}'
{
  "log": [
    {
      "commit": "a05342cbd62b7f6dacb8d71683d799f5e5e694b8",
      "tree": "5d606df07845f07ecfd44e4498139ac2bbc13d9c",
      "parents": [
        "536b39ecf1b52ab71c2c126db0137611b9e1a4d4"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Tue Apr 30 15:28:41 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "relay: use macro PAGE_ALIGN instead of FIX_SIZE\n\nMacro FIX_SIZE is same as PAGE_ALIGN at present, so use PAGE_ALIGN\ninstead.\n\nThanks Andrew found this.\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": "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": "8359f689e23a607ec6758737551045997848ac75",
      "tree": "f4fccf4d02e9b3d56176f3481bf2146b85f16472",
      "parents": [
        "4d10e0f2dd42b950448c13715f88edfce82a0975"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Tue Apr 30 15:28:39 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "kernel/relay.c: remove unused function argument actor\n\nCurrently argument `actor\u0027 is never used in the relay reading path, so\nremove it.\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": "06a6ea3702143e0af38270ac07d102a68810d564",
      "tree": "66e76bcaa0b76258bbfec40540f9118b288c083e",
      "parents": [
        "c74f66ce102e2cfb61c185f7451538e29de640b9"
      ],
      "author": {
        "name": "liguang",
        "email": "lig.fnst@cn.fujitsu.com",
        "time": "Tue Apr 30 15:28:33 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "semaphore: use `bool\u0027 type for semaphore_waiter\u0027s up\n\nSigned-off-by: liguang \u003clig.fnst@cn.fujitsu.com\u003e\nCc: Jiri Kosina \u003cjkosina@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": "c74f66ce102e2cfb61c185f7451538e29de640b9",
      "tree": "20ad92052a52f5cc080633d5a2e6a2e400d2f010",
      "parents": [
        "97439d0f84942d3031545e80852dde09457136c6"
      ],
      "author": {
        "name": "liguang",
        "email": "lig.fnst@cn.fujitsu.com",
        "time": "Tue Apr 30 15:28:32 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:08 2013 -0700"
      },
      "message": "semaphore: use unlikely() for down\u0027s timeout\n\nSigned-off-by: liguang \u003clig.fnst@cn.fujitsu.com\u003e\nCc: Jiri Kosina \u003cjkosina@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": "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": "8db049b3d666b3676ff4a976e03c14de302bf9fa",
      "tree": "74d5e5c8e25b451e983e66cb1e2a41cbf8e1b4f1",
      "parents": [
        "c75aaa8ed03eb1312ed2990f1a716b2b9cc0df42"
      ],
      "author": {
        "name": "Raphael S. Carvalho",
        "email": "raphael.scarv@gmail.com",
        "time": "Tue Apr 30 15:28:26 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "kernel/pid.c: improve flow of a loop inside alloc_pidmap.\n\nfind_next_offset() searches for an available \"cleaned bit\" in the\nrespective pid bitmap (page), so returns the offset if found, otherwise\nit returns a value equals to BITS_PER_PAGE.\n\nFor example, suppose find_next_offset didn\u0027t find any available bit, so\nthere\u0027s no purpose to call mk_pid (Wasteful Cpu Cycles).\n\nTherefore, I found it could be better to call mk_pid after the checking\n(offset \u003c BITS_PER_PAGE) returned sucessfully! Another point: If (offset\n\u003c BITS_PER_PAGE) results in a \"failure\", then mk_pid would be called\nagain afterwards.\n\n[akpm@linux-foundation.org: simplify code]\nSigned-off-by: Raphael S. Carvalho \u003craphael.scarv@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31c3a3fe0777642816045a8dd1b666f1718851d7",
      "tree": "09995a2cfce420c77b2403acf1a73d25c99a7a78",
      "parents": [
        "310faaa9b2d075b8fd477550c3d85ccddec76f35"
      ],
      "author": {
        "name": "Zhang Yanfei",
        "email": "zhangyanfei@cn.fujitsu.com",
        "time": "Tue Apr 30 15:28:23 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "kexec: Use min() and min_t() to simplify logic\n\nSimplify the logic of variable assignments.\n\n[akpm@linux-foundation.org: replace min_t with min, remove unneeded casts]\nSigned-off-by: Zhang Yanfei \u003czhangyanfei@cn.fujitsu.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nReviewed-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "310faaa9b2d075b8fd477550c3d85ccddec76f35",
      "tree": "065b412dca377501a60b38c0f9e33d12df070d30",
      "parents": [
        "e56fb2874015370e3b7f8d85051f6dce26051df9"
      ],
      "author": {
        "name": "Zhang Yanfei",
        "email": "zhangyanfei@cn.fujitsu.com",
        "time": "Tue Apr 30 15:28:21 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "kexec: fix wrong types of some local variables\n\nThe types of the following local variables:\n\n- ubytes/mbytes in kimage_load_crash_segment()/kimage_load_normal_segment()\n\n- r in vmcoreinfo_append_str()\n\nare wrong, so fix them.\n\nSigned-off-by: Zhang Yanfei \u003czhangyanfei@cn.fujitsu.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Joe Perches \u003cjoe@perches.com\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": "f634460c90751da21745eec7a220edf76c7d0c76",
      "tree": "1f6e389c735fa2fca650e5b15c1cc81c1125b34a",
      "parents": [
        "938e4b22e2a7d0f6f3962e601339347b2d8e09f5"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 30 15:28:03 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:06 2013 -0700"
      },
      "message": "kmod: split call to call_usermodehelper_fns()\n\nUse call_usermodehelper_setup() + call_usermodehelper_exec() instead of\ncalling call_usermodehelper_fns().  In case the latter returns -ENOMEM the\ncleanup function may had not been called - in this case we would not free\nargv and module_name.\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": "84c751bd4aebbaae995fe32279d3dba48327bad4",
      "tree": "3ada98123a0a7e85e903e930eea5510f488d4c4d",
      "parents": [
        "865f38a3a3262d4a8a3d381a6899d2a6b7242244"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Tue Apr 30 15:27:59 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:05 2013 -0700"
      },
      "message": "ptrace: add ability to retrieve signals without removing from a queue (v4)\n\nThis patch adds a new ptrace request PTRACE_PEEKSIGINFO.\n\nThis request is used to retrieve information about pending signals\nstarting with the specified sequence number.  Siginfo_t structures are\ncopied from the child into the buffer starting at \"data\".\n\nThe argument \"addr\" is a pointer to struct ptrace_peeksiginfo_args.\nstruct ptrace_peeksiginfo_args {\n\tu64 off;\t/* from which siginfo to start */\n\tu32 flags;\n\ts32 nr;\t\t/* how may siginfos to take */\n};\n\n\"nr\" has type \"s32\", because ptrace() returns \"long\", which has 32 bits on\ni386 and a negative values is used for errors.\n\nCurrently here is only one flag PTRACE_PEEKSIGINFO_SHARED for dumping\nsignals from process-wide queue.  If this flag is not set, signals are\nread from a per-thread queue.\n\nThe request PTRACE_PEEKSIGINFO returns a number of dumped signals.  If a\nsignal with the specified sequence number doesn\u0027t exist, ptrace returns\nzero.  The request returns an error, if no signal has been dumped.\n\nErrors:\nEINVAL - one or more specified flags are not supported or nr is negative\nEFAULT - buf or addr is outside your accessible address space.\n\nA result siginfo contains a kernel part of si_code which usually striped,\nbut it\u0027s required for queuing the same siginfo back during restore of\npending signals.\n\nThis functionality is required for checkpointing pending signals.  Pedro\nAlves suggested using it in \"gdb\" to peek at pending signals.  gdb already\nuses PTRACE_GETSIGINFO to get the siginfo for the signal which was already\ndequeued.  This functionality allows gdb to look at the pending signals\nwhich were not reported yet.\n\nThe prototype of this code was developed by Oleg Nesterov.\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: \"Michael Kerrisk (man-pages)\" \u003cmtk.manpages@gmail.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Pedro Alves \u003cpalves@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": "4a22f16636259f503847b0805e04824171b270fc",
      "tree": "764c9b6239416c1b032dd10398b372d84eba8cb8",
      "parents": [
        "1043f65a573b65a5398925551583ea72092e1be2"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Apr 30 15:27:37 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "kernel/timer.c: move some non timer related syscalls to kernel/sys.c\n\nAndrew Morton noted:\n\n\takpm3:/usr/src/25\u003e grep SYSCALL kernel/timer.c\n\tSYSCALL_DEFINE1(alarm, unsigned int, seconds)\n\tSYSCALL_DEFINE0(getpid)\n\tSYSCALL_DEFINE0(getppid)\n\tSYSCALL_DEFINE0(getuid)\n\tSYSCALL_DEFINE0(geteuid)\n\tSYSCALL_DEFINE0(getgid)\n\tSYSCALL_DEFINE0(getegid)\n\tSYSCALL_DEFINE0(gettid)\n\tSYSCALL_DEFINE1(sysinfo, struct sysinfo __user *, info)\n\tCOMPAT_SYSCALL_DEFINE1(sysinfo, struct compat_sysinfo __user *, info)\n\n\tOnly one of those should be in kernel/timer.c.  Who wrote this thing?\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Guenter Roeck \u003clinux@roeck-us.net\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": "1043f65a573b65a5398925551583ea72092e1be2",
      "tree": "3926a889945a790685cbb27f2302e36df52f46b8",
      "parents": [
        "1a0df59444972105f0d4c2b0c16ce414d70c420a"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Apr 30 15:27:35 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "kernel/timer.c: convert compat_sys_sysinfo to COMPAT_SYSCALL_DEFINE\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\nCc: 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": "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": "e1d12f327037a59e06c66520951ab4e0bd29f9c4",
      "tree": "551fc711bf5ad115e5f239825bc00ba9632ec0f9",
      "parents": [
        "74e3d1e17b2e11d175970b85acd44f5927000ba2"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Apr 30 15:27:28 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "kernel/smp.c: cleanups\n\nWe sometimes use \"struct call_single_data *data\" and sometimes \"struct\ncall_single_data *csd\".  Use \"csd\" consistently.\n\nWe sometimes use \"struct call_function_data *data\" and sometimes \"struct\ncall_function_data *cfd\".  Use \"cfd\" consistently.\n\nAlso, avoid some 80-col layout tricks.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Shaohua Li \u003cshli@fusionio.com\u003e\nCc: Shaohua Li \u003cshli@kernel.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\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": "1def1dc91715acdb6dddfaed1a44149d42d8063c",
      "tree": "34bbf0888cf4fbf32fe37e2851f44c0304c5a241",
      "parents": [
        "ef3b101925f2170c2b8cd2e126b37492ae02f77c"
      ],
      "author": {
        "name": "liguang",
        "email": "lig.fnst@cn.fujitsu.com",
        "time": "Tue Apr 30 15:27:25 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "kernel/smp.c: use \u0027|\u003d\u0027 for csd_lock\n\ncsd_lock() uses assignment to data-\u003eflags rather than |\u003d.  That is not\nbuggy at present because only one bit (CSD_FLAG_LOCK) is defined in\ncall_single_data.flags.\n\nBut it will become buggy if we later add another flag, so fix it now.\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": "681a90ffe829b8ee25d5266d7e69af256c090940",
      "tree": "d134b561ac610ed54856dd42207011d474235b30",
      "parents": [
        "a43cb95d547a061ed5bf1acb28e0f5fd575e26c1"
      ],
      "author": {
        "name": "Vineet Gupta",
        "email": "vgupta@synopsys.com",
        "time": "Tue Apr 30 15:27:19 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "arc, print-fatal-signals: reduce duplicated information\n\nAfter the recent generic debug info on dump_stack() and friends, arc\nis printing duplicate information on debug dumps.\n\n [ARCLinux]$ ./crash\n crash/50: potentially unexpected fatal signal 11.\t\u003c-- [1]\n /sbin/crash, TGID 50\t\t\t\t\t\u003c-- [2]\n Pid: 50, comm: crash Not tainted 3.9.0-rc4+ #132 \t\u003c-- [3]\n ...\n\nRemove them.\n\n[tj@kernel.org: updated patch desc]\nSigned-off-by: Vineet Gupta \u003cvgupta@synopsys.com\u003e\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: 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": "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": "7fba2c27a3e0cf7fa411fbab4839e1807a3e0734",
      "tree": "70e4c22a99a682752f7802162108de8e653eb604",
      "parents": [
        "58c7be84fec87b3a96964d65129b36c0e8c59a19"
      ],
      "author": {
        "name": "Lin Feng",
        "email": "linfeng@cn.fujitsu.com",
        "time": "Tue Apr 30 15:27:07 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:01 2013 -0700"
      },
      "message": "kernel/range.c: subtract_range: fix the broken phrase issued by printk\n\nAlso replace deprecated printk(KERN_ERR...) with pr_err() as suggested\nby Yinghai, attaching the function name to provide plenty info.\n\nSigned-off-by: Lin Feng \u003clinfeng@cn.fujitsu.com\u003e\nCc: Yinghai Lu \u003cyinghai@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": "e486b4c4ba601410772136ba0f8337bf545dccad",
      "tree": "56db95a38cba74071bd0080e83dbbbe9f788498e",
      "parents": [
        "ab86e974f04b1cd827a9c7c35273834ebcd9ab38",
        "bec1b9e76353ecf05fac6a87f8e4102dfb618cd2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 08:32:16 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 08:32:16 2013 -0700"
      },
      "message": "Merge branch \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull extable dmesg fixlet from Ingo Molnar:\n \"Small tweak to reduce kmsg boot time spam\"\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  extable: Flip the sorting message\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": "6c24499f40d96bf07a85b709fb1bee5cea611a1d",
      "tree": "7f6591997eeb5b8a74246acb22780b9189cc1d56",
      "parents": [
        "500fcbc4a9f91dfd011c9a6caec80a55e14fd338"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 29 20:08:14 2013 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:23:08 2013 -0700"
      },
      "message": "tracing: Fix small merge bug\n\nDuring the 3.10 merge, a conflict happened and the resolution was\nalmost, but not quite, correct. An if statement was reversed.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n[ Duh. That was just silly of me  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "6d65df3325c380f3c897330c48f0e53d73b8f362",
      "tree": "469323f63abe2d00925328c7fbcb41624dc85949",
      "parents": [
        "d3d30417d32adb5bec041f2c3988b5f91c4e7eec"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Apr 29 16:21:30 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:42 2013 -0700"
      },
      "message": "kernel/: rename random32() to prandom_u32()\n\nUse preferable function name which implies using a pseudo-random\nnumber generator.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a285317daf785424c884d1a7548705c60bc42cc",
      "tree": "196895c36f8252f84bbc6b3b6d776f656267d5a0",
      "parents": [
        "1b2c289b4f9018f4bd54d22ab54aaeda9181cd2a"
      ],
      "author": {
        "name": "Nicolas Kaiser",
        "email": "nikai@nikai.net",
        "time": "Mon Apr 29 16:17:20 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:14 2013 -0700"
      },
      "message": "printk: fix failure to return error in devkmsg_poll()\n\nError value got overwritten instantly.\n\nSigned-off-by: Nicolas Kaiser \u003cnikai@nikai.net\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\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": "07c65f4d1aa74f7cf1c46d7f96e05cfa3e628ba1",
      "tree": "9f8dc41a23bae07daf3d1fdd4b95da3787e37dae",
      "parents": [
        "2fb0815c9ee6b9ac50e15dd8360ec76d9fa46a22"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Mon Apr 29 16:17:16 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:13 2013 -0700"
      },
      "message": "printk/tracing: rework console tracing\n\nCommit 7ff9554bb578 (\"printk: convert byte-buffer to variable-length\nrecord buffer\") removed start and end parameters from\ncall_console_drivers, but those parameters still exist in\ninclude/trace/events/printk.h.\n\nWithout start and end parameters handling, printk tracing became more\nsimple as: trace_console(text, len);\n\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Kay Sievers \u003ckay@vrfy.org\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": "ebff7d8f270d045338d9f4796014f4db429a17f9",
      "tree": "e9270cfd75a045565faee702f167db0efcaf5c76",
      "parents": [
        "9ca24e2e19325edc3ed0b437657d26219b7a768a"
      ],
      "author": {
        "name": "Yasuaki Ishimatsu",
        "email": "isimatu.yasuaki@jp.fujitsu.com",
        "time": "Mon Apr 29 15:08:56 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:40 2013 -0700"
      },
      "message": "mem hotunplug: fix kfree() of bootmem memory\n\nWhen hot removing memory presented at boot time, following messages are shown:\n\n  kernel BUG at mm/slub.c:3409!\n  invalid opcode: 0000 [#1] SMP\n  Modules linked in: ebtable_nat ebtables xt_CHECKSUM iptable_mangle bridge stp llc ipmi_devintf ipmi_msghandler sunrpc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables binfmt_misc vfat fat dm_mirror dm_region_hash dm_log dm_mod vhost_net macvtap macvlan tun uinput iTCO_wdt iTCO_vendor_support coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel microcode pcspkr sg i2c_i801 lpc_ich mfd_core igb i2c_algo_bit i2c_core e1000e ptp pps_core tpm_infineon ioatdma dca sr_mod cdrom sd_mod crc_t10dif usb_storage megaraid_sas lpfc scsi_transport_fc scsi_tgt scsi_mod\n  CPU 0\n  Pid: 5091, comm: kworker/0:2 Tainted: G        W    3.9.0-rc6+ #15\n  RIP: kfree+0x232/0x240\n  Process kworker/0:2 (pid: 5091, threadinfo ffff88084678c000, task ffff88083928ca80)\n  Call Trace:\n    __release_region+0xd4/0xe0\n    __remove_pages+0x52/0x110\n    arch_remove_memory+0x89/0xd0\n    remove_memory+0xc4/0x100\n    acpi_memory_device_remove+0x6d/0xb1\n    acpi_device_remove+0x89/0xab\n    __device_release_driver+0x7c/0xf0\n    device_release_driver+0x2f/0x50\n    acpi_bus_device_detach+0x6c/0x70\n    acpi_ns_walk_namespace+0x11a/0x250\n    acpi_walk_namespace+0xee/0x137\n    acpi_bus_trim+0x33/0x7a\n    acpi_bus_hot_remove_device+0xc4/0x1a1\n    acpi_os_execute_deferred+0x27/0x34\n    process_one_work+0x1f7/0x590\n    worker_thread+0x11a/0x370\n    kthread+0xee/0x100\n    ret_from_fork+0x7c/0xb0\n  RIP  [\u003cffffffff811c41d2\u003e] kfree+0x232/0x240\n   RSP \u003cffff88084678d968\u003e\n\nThe reason why the messages are shown is to release a resource\nstructure, allocated by bootmem, by kfree().  So when we release a\nresource structure, we should check whether it is allocated by bootmem\nor not.\n\nBut even if we know a resource structure is allocated by bootmem, we\ncannot release it since SLxB cannot treat it.  So for reusing a resource\nstructure, this patch remembers it by using bootmem_resource as follows:\n\nWhen releasing a resource structure by free_resource(), free_resource()\nchecks whether the resource structure is allocated by bootmem or not.\nIf it is allocated by bootmem, free_resource() adds it to\nbootmem_resource.  If it is not allocated by bootmem, free_resource()\nrelease it by kfree().\n\nAnd when getting a new resource structure by get_resource(),\nget_resource() checks whether bootmem_resource has released resource\nstructures or not.  If there is a released resource structure,\nget_resource() returns it.  If there is not a releaed resource\nstructure, get_resource() returns new resource structure allocated by\nkzalloc().\n\n[akpm@linux-foundation.org: s/get_resource/alloc_resource/]\nSigned-off-by: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nReviewed-by: Toshi Kani \u003ctoshi.kani@hp.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "ae8e3a915aef5af5ace5936c56f05f0b1502ded1",
      "tree": "379207c57c1773d77b5796e95ac7d7f5445b9271",
      "parents": [
        "c73e5c9c59a0f7ba30b3e5f7bd2d8097d4c89c6d"
      ],
      "author": {
        "name": "Toshi Kani",
        "email": "toshi.kani@hp.com",
        "time": "Mon Apr 29 15:08:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:37 2013 -0700"
      },
      "message": "resource: add __adjust_resource() for internal use\n\nAdd __adjust_resource(), which is called by adjust_resource() internally\nafter the resource_lock is held.  There is no interface change to\nadjust_resource().  This change allows other functions to call\n__adjust_resource() internally while the resource_lock is held.\n\nSigned-off-by: Toshi Kani \u003ctoshi.kani@hp.com\u003e\nReviewed-by: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: 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": "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": "d8f10cb3d375c34ad668f32ca6e4661ad1fc23b2",
      "tree": "37e8289b0f5d28a8ca608c7ee3fac5b5bb8a0e15",
      "parents": [
        "3c743a7f7b682dedef188664514c0ea82e232742"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 29 15:08:08 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:36 2013 -0700"
      },
      "message": "kernel/cpuset.c: use register_hotmemory_notifier()\n\nUse the new interface, remove one ifdef.  No code size changes.\n\nWe could/should have been using __meminit/__meminitdata here but there\u0027s\nnow no point in doing that because all this code is elided at compile time.\n\nCc: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "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": "e07cee23e64137f7da2fb35d7b7c0ad26cc0edec",
      "tree": "24dd1390f705818c95c11bd44942c44c02712398",
      "parents": [
        "c941836819569abd5319f93f68638b65e2dfecc5"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "liuj97@gmail.com",
        "time": "Mon Apr 29 15:06:58 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:31 2013 -0700"
      },
      "message": "mm,kexec: use common help functions to free reserved pages\n\nUse common help functions to free reserved pages.\n\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nReviewed-by: 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": "12b2f117f3bf738c1a00a6f64393f1953a740bd4",
      "tree": "acbf54228d7b99e1b2fb984e9cc6619dea199738",
      "parents": [
        "373e0f3408fe671550d69d9a7965d8a49e988525"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Mon Apr 29 15:05:19 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:26 2013 -0700"
      },
      "message": "kernel/audit_tree.c: tree will leak memory when failure occurs in audit_trim_trees()\n\naudit_trim_trees() calls get_tree().  If a failure occurs we must call\nput_tree().\n\n[akpm@linux-foundation.org: run put_tree() before mutex_lock() for small scalability improvement]\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@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": "373e0f3408fe671550d69d9a7965d8a49e988525",
      "tree": "4005a557ef08eda7542ba349d66695caacf54224",
      "parents": [
        "dde5b7d6e7be308ce371baa96058c2d40df26c05"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Mon Apr 29 15:05:18 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:26 2013 -0700"
      },
      "message": "kernel/auditfilter.c: tree and watch will memory leak when failure occurs\n\nIn audit_data_to_entry() when a failure occurs we must check and free\nthe tree and watch to avoid a memory leak.\n\n  test:\n    plan:\n      test command:\n        \"auditctl -a exit,always -w /etc -F auid\u003d-1\"\n        (on fedora17, need modify auditctl to let \"-w /etc\" has effect)\n      running:\n        under fedora17 x86_64, 2 CPUs 3.20GHz, 2.5GB RAM.\n        let 15 auditctl processes continue running at the same time.\n      monitor command:\n        watch -d -n 1 \"cat /proc/meminfo | awk \u0027{print \\$2}\u0027 \\\n          | head -n 4 | xargs \\\n          | awk \u0027{print \\\"used \\\",\\$1 - \\$2 - \\$3 - \\$4}\u0027\"\n\n    result:\n      for original version:\n        will use up all memory, within 3 hours.\n        kill all auditctl, the memory still does not free.\n      for new version (apply this patch):\n        after 14 hours later, not find issues.\n\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\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": "dde5b7d6e7be308ce371baa96058c2d40df26c05",
      "tree": "b10201805803cd062de298bb604151cedbfbd273",
      "parents": [
        "374c586d95f288296e1e718533401d8ce0eecee3"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Apr 29 15:05:16 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:26 2013 -0700"
      },
      "message": "audit: remove unnecessary #if CONFIG_AUDIT\n\nThe files which include kernel/audit.h are complied only when\nCONFIG_AUDIT is set.\n\nJust like audit_pid, there is no need to surround audit_ever_enabled\nwith CONFIG_AUDIT.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@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": "374c586d95f288296e1e718533401d8ce0eecee3",
      "tree": "35ec4a1923be92aaea3096da257396457d536b19",
      "parents": [
        "13f51e1c3fbebeab801f768f433067ff075dea5a"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Apr 29 15:05:15 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:26 2013 -0700"
      },
      "message": "audit: remove duplicate export of audit_enabled\n\naudit_enabled has already been exported in include/linux/audit.h.  and\nkernel/audit.h includes include/linux/audit.h, no need to export\naduit_enabled again in kernel/audit.h\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@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": "13f51e1c3fbebeab801f768f433067ff075dea5a",
      "tree": "ce4c99e262771b82f3c5213d7c0a0a5dc87d5207",
      "parents": [
        "3f68613f39cdc242fa2e872ac04a802e7cc7b7cb"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Apr 29 15:05:14 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:26 2013 -0700"
      },
      "message": "audit: don\u0027t check if kauditd is valid every time\n\nWe only need to check if kauditd is valid after we start it, if kauditd\nis invalid, we will set kauditd_task to NULL.  So next time, we will\nstart kauditd again.\n\nIt means if kauditd_task is not NULL,it must be valid.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\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": "3f68613f39cdc242fa2e872ac04a802e7cc7b7cb",
      "tree": "0e77f79e1051323fef9737b4ad52845182ad7e0a",
      "parents": [
        "b5c5442bb6bce0c67701d55124be561043a51faf"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Mon Apr 29 15:05:13 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:26 2013 -0700"
      },
      "message": "kernel/auditsc.c: use kzalloc instead of kmalloc+memset\n\nIn audit_alloc_context() use kzalloc instead of kmalloc+memset.  Also\nrename audit_zero_context() to audit_set_context(), to represent it\u0027s\ninner workings properly.\n\n[akpm@linux-foundation.org: remove audit_set_context() altogether - fold it into its caller]\nSigned-off-by: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@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": "b5c5442bb6bce0c67701d55124be561043a51faf",
      "tree": "f00a0fdcdb157fa4b8f54c6a31d3935b7c927aa6",
      "parents": [
        "4ecdafc8084fe1d95bb59ed7753b345abcd586fb"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Apr 29 15:05:12 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:25 2013 -0700"
      },
      "message": "kthread: kill task_get_live_kthread()\n\ntask_get_live_kthread() looks confusing and unneeded.  It does\nget_task_struct() but only kthread_stop() needs this, it can be called\neven if the calller doesn\u0027t have a reference when we know that this\nkthread can\u0027t exit until we do kthread_stop().\n\nkthread_park() and kthread_unpark() do not need get_task_struct(), the\ncallers already have the reference.  And it can not help if we can race\nwith the exiting kthread anyway, kthread_park() can hang forever in this\ncase.\n\nChange kthread_park() and kthread_unpark() to use to_live_kthread(),\nchange kthread_stop() to do get_task_struct() by hand and remove\ntask_get_live_kthread().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: \"Srivatsa S. Bhat\" \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ecdafc8084fe1d95bb59ed7753b345abcd586fb",
      "tree": "b119ed319cfb2f526ac5666f04bef7e13caecd3c",
      "parents": [
        "ec25e246b94a3233ab064994ef05a170bdba0e7c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Apr 29 15:05:01 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:25 2013 -0700"
      },
      "message": "kthread: introduce to_live_kthread()\n\n\"k-\u003evfork_done !\u003d NULL\" with a barrier() after to_kthread(k) in\ntask_get_live_kthread(k) looks unclear, and sub-optimal because we load\n-\u003evfork_done twice.\n\nAll we need is to ensure that we do not return to_kthread(NULL).  Add a\nnew trivial helper which loads/checks -\u003evfork_done once, this also looks\nmore understandable.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: \"Srivatsa S. Bhat\" \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "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": "2a0010af17b1739ef8ea8cf02647a127241ee674",
      "tree": "aa96feb5df61f15c1814874ce44c69371b1570e9",
      "parents": [
        "5b16c2a493fe1e439c4e7ad51f58153968ca6cf3"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Sun Apr 28 09:46:57 2013 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Apr 27 19:55:04 2013 -0700"
      },
      "message": "cpuset: fix compile warning when CONFIG_SMP\u003dn\n\nReported by Fengguang\u0027s kbuild test robot:\n\nkernel/cpuset.c:787: warning: \u0027generate_sched_domains\u0027 defined but not used\n\nIntroduced by commit e0e80a02e5701c8790bd348ab59edb154fbda60b\n(\"cpuset: use rebuild_sched_domains() in cpuset_hotplug_workfn()),\nwhich removed generate_sched_domains() from cpuset_hotplug_workfn().\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "e09d13c4c8805546d97bcc8c508c07f7d8f4c8e8",
      "tree": "49304cce7cbc67dd188bd35183b89f664343ec27",
      "parents": [
        "d7d7271f421f1e45289f2a737c7f636c02c673ce",
        "c79aa0d96548aee50570209eb2d45c8f4ac49230"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 27 10:08:09 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 27 10:08:09 2013 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fix from Ingo Molnar:\n \"This fix adds missing RCU read protection\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  events: Protect access via task_subsys_state_check()\n"
    },
    {
      "commit": "5b16c2a493fe1e439c4e7ad51f58153968ca6cf3",
      "tree": "82ed118dcd768f713b96ca055200c341ee02baeb",
      "parents": [
        "e0e80a02e5701c8790bd348ab59edb154fbda60b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Sat Apr 27 06:52:43 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Apr 27 06:52:43 2013 -0700"
      },
      "message": "cpuset: fix cpu hotplug vs rebuild_sched_domains() race\n\nrebuild_sched_domains() might pass doms with offlined cpu to\npartition_sched_domains(), which results in an oops:\n\ngeneral protection fault: 0000 [#1] SMP\n...\nRIP: 0010:[\u003cffffffff81077a1e\u003e]  [\u003cffffffff81077a1e\u003e] get_group+0x6e/0x90\n...\nCall Trace:\n [\u003cffffffff8107f07c\u003e] build_sched_domains+0x70c/0xcb0\n [\u003cffffffff8107f2a7\u003e] ? build_sched_domains+0x937/0xcb0\n [\u003cffffffff81173f64\u003e] ? kfree+0xe4/0x1b0\n [\u003cffffffff8107f6e0\u003e] ? partition_sched_domains+0xc0/0x470\n [\u003cffffffff8107f905\u003e] partition_sched_domains+0x2e5/0x470\n [\u003cffffffff8107f6e0\u003e] ? partition_sched_domains+0xc0/0x470\n [\u003cffffffff810c9007\u003e] ? generate_sched_domains+0xc7/0x530\n [\u003cffffffff810c94a8\u003e] rebuild_sched_domains_locked+0x38/0x70\n [\u003cffffffff810cb4a4\u003e] cpuset_write_resmask+0x1a4/0x500\n [\u003cffffffff810c8700\u003e] ? cpuset_mount+0xe0/0xe0\n [\u003cffffffff810c7f50\u003e] ? cpuset_read_u64+0x100/0x100\n [\u003cffffffff810be890\u003e] ? cgroup_iter_next+0x90/0x90\n [\u003cffffffff810cb300\u003e] ? cpuset_css_offline+0x70/0x70\n [\u003cffffffff810c1a73\u003e] cgroup_file_write+0x133/0x2e0\n [\u003cffffffff8118995b\u003e] vfs_write+0xcb/0x130\n [\u003cffffffff8118a174\u003e] sys_write+0x64/0xa0\n\nReported-by: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "e0e80a02e5701c8790bd348ab59edb154fbda60b",
      "tree": "2fa0dc207322674ec0719857449971240d2b7e4e",
      "parents": [
        "7ef70e48735e17d2be5c8e8f85052842b16b923a"
      ],
      "author": {
        "name": "Li Zhong",
        "email": "zhong@linux.vnet.ibm.com",
        "time": "Sat Apr 27 06:52:43 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Apr 27 06:52:43 2013 -0700"
      },
      "message": "cpuset: use rebuild_sched_domains() in cpuset_hotplug_workfn()\n\nIn cpuset_hotplug_workfn(), partition_sched_domains() is called without\nhotplug lock held, which is actually needed (stated in the function\nheader of partition_sched_domains()).\n\nThis patch tries to use rebuild_sched_domains() to solve the above\nissue, and makes the code looks a little simpler.\n\nSigned-off-by: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "7ef70e48735e17d2be5c8e8f85052842b16b923a",
      "tree": "ed5a6f181441dc96dbda4fcea6e14632d0231d93",
      "parents": [
        "cc20e01cd607282d48f8ea538aba10fa850a4312"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Apr 26 11:58:03 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Apr 26 11:58:03 2013 -0700"
      },
      "message": "cgroup: restore the call to eventfd-\u003epoll()\n\nI mistakenly removed the call to eventfd-\u003epoll() while I was actually\nintending to remove the return value...\n\nCalling evenfd-\u003epoll() will hook cgroup_event_wake() to the poll\nwaitqueue, which will be called to unregister eventfd when rmdir a\ncgroup or close eventfd.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "cc20e01cd607282d48f8ea538aba10fa850a4312",
      "tree": "598ff80edab2c3bb3547dcd109e35ed1291f4454",
      "parents": [
        "712317ad97f41e738e1a19aa0a6392a78a84094e"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Apr 26 11:58:02 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Apr 26 11:58:02 2013 -0700"
      },
      "message": "cgroup: fix use-after-free when umounting cgroupfs\n\nTry:\n  # mount -t cgroup xxx /cgroup\n  # mkdir /cgroup/sub \u0026\u0026 rmdir /cgroup/sub \u0026\u0026 umount /cgroup\n\nAnd you might see this:\n\nida_remove called for id\u003d1 which is not allocated.\n\nIt\u0027s because cgroup_kill_sb() is called to destroy root-\u003ecgroup_ida\nand free cgrp-\u003eroot before ida_simple_removed() is called. What\u0027s\nworse is we\u0027re accessing cgrp-\u003eroot while it has been freed.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "25f55d9d01ad7a7ad248fd5af1d22675ffd202c5",
      "tree": "dc6ba0d1f4dc8119c7dd4d0844fa31a8ed60bf6f",
      "parents": [
        "e02e60c109ca70935bad1131976bdbf5160cf576"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Tue Apr 23 16:59:02 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 26 12:13:44 2013 +0200"
      },
      "message": "sched: Fix init NOHZ_IDLE flag\n\nOn my SMP platform which is made of 5 cores in 2 clusters, I\nhave the nr_busy_cpu field of sched_group_power struct that is\nnot null when the platform is fully idle - which makes the\nscheduler unhappy.\n\nThe root cause is:\n\nDuring the boot sequence, some CPUs reach the idle loop and set\ntheir NOHZ_IDLE flag while waiting for others CPUs to boot. But\nthe nr_busy_cpus field is initialized later with the assumption\nthat all CPUs are in the busy state whereas some CPUs have\nalready set their NOHZ_IDLE flag.\n\nMore generally, the NOHZ_IDLE flag must be initialized when new\nsched_domains are created in order to ensure that NOHZ_IDLE and\nnr_busy_cpus are aligned.\n\nThis condition can be ensured by adding a synchronize_rcu()\nbetween the destruction of old sched_domains and the creation of\nnew ones so the NOHZ_IDLE flag will not be updated with old\nsched_domain once it has been initialized. But this solution\nintroduces a additionnal latency in the rebuild sequence that is\ncalled during cpu hotplug.\n\nAs suggested by Frederic Weisbecker, another solution is to have\nthe same rcu lifecycle for both NOHZ_IDLE and sched_domain\nstruct. A new nohz_idle field is added to sched_domain so both\nstatus and sched_domain will share the same RCU lifecycle and\nwill be always synchronized. In addition, there is no more need\nto protect nohz_idle against concurrent access as it is only\nmodified by 2 exclusive functions called by local cpu.\n\nThis solution has been prefered to the creation of a new struct\nwith an extra pointer indirection for sched_domain.\n\nThe synchronization is done at the cost of :\n\n - An additional indirection and a rcu_dereference for accessing nohz_idle.\n - We use only the nohz_idle field of the top sched_domain.\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: linaro-kernel@lists.linaro.org\nCc: peterz@infradead.org\nCc: fweisbec@gmail.com\nCc: pjt@google.com\nCc: rostedt@goodmis.org\nCc: efault@gmx.de\nLink: http://lkml.kernel.org/r/1366729142-14662-1-git-send-email-vincent.guittot@linaro.org\n[ Fixed !NO_HZ build bug. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2c522836627c6e78660f8bd52cdb4cdcb75e3e3c",
      "tree": "7e10e6d8a4bc303ecd4211882f3eddc8f879f4cd",
      "parents": [
        "199e371f59d31c828345b0d959d27d752827b517"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Apr 25 13:40:02 2013 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 26 08:37:22 2013 +0200"
      },
      "message": "lockdep: Consolidate bug messages into a single print_lockdep_off() function\n\nAlso add some missing printk levels.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20130425174002.GA26769@redhat.com\n[ Tweaked the messages a bit. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "199e371f59d31c828345b0d959d27d752827b517",
      "tree": "55d482c51276d98e2bcefba0b8460b48174f3e77",
      "parents": [
        "cc189d2513d1f45cde87a9043fe3be28559c7490"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Apr 23 12:34:03 2013 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 26 08:36:33 2013 +0200"
      },
      "message": "lockdep: Print out additional debugging advice when we hit lockdep BUGs\n\nWe occasionally get reports of these BUGs being hit, and the\nstack trace doesn\u0027t necessarily always tell us what we need to\nknow about why we are hitting those limits.\n\nIf users start attaching /proc/lock_stats to reports we may have\nmore of a clue what\u0027s going on.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20130423163403.GA12839@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6f7a05d7018de222e40ca003721037a530979974",
      "tree": "351f0785c033f5c954c8ac67175ccc6524918586",
      "parents": [
        "6402c7dc2a19c19bd8cdc7d80878b850da418942"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 25 11:45:53 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 25 13:57:04 2013 +0200"
      },
      "message": "clockevents: Set dummy handler on CPU_DEAD shutdown\n\nVitaliy reported that a per cpu HPET timer interrupt crashes the\nsystem during hibernation. What happens is that the per cpu HPET timer\ngets shut down when the nonboot cpus are stopped. When the nonboot\ncpus are onlined again the HPET code sets up the MSI interrupt which\nfires before the clock event device is registered. The event handler\nis still set to hrtimer_interrupt, which then crashes the machine due\nto highres mode not being active.\n\nSee http://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d700333\n\nThere is no real good way to avoid that in the HPET code. The HPET\ncode alrady has a mechanism to detect spurious interrupts when event\nhandler \u003d\u003d NULL for a similar reason.\n\nWe can handle that in the clockevent/tick layer and replace the\nprevious functional handler with a dummy handler like we do in\ntick_setup_new_device().\n\nThe original clockevents code did this in clockevents_exchange_device(),\nbut that got removed by commit 7c1e76897 (clockevents: prevent\nclockevent event_handler ending up handler_noop) which forgot to fix\nit up in tick_shutdown(). Same issue with the broadcast device.\n\nReported-by: Vitaliy Fillipov \u003cvitalif@yourcmc.ru\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: stable@vger.kernel.org\nCc: 700333@bugs.debian.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6402c7dc2a19c19bd8cdc7d80878b850da418942",
      "tree": "cda2ea2df40442e2aa016119f3548cc504127ea8",
      "parents": [
        "77c675ba18836802f6b73d2d773481d06ebc0f04",
        "60d509fa6a9c4653a86ad830e4c4b30360b23f0e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 24 20:33:46 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 24 20:33:54 2013 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\nReason: Get upstream fixes before adding conflicting code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e02e60c109ca70935bad1131976bdbf5160cf576",
      "tree": "56295c7eacea90fb95a2febf178ea287664e4407",
      "parents": [
        "e6252c3ef4b9cd251b53f7b68035f395d20b044e"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:42 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:46 2013 +0200"
      },
      "message": "sched: Prevent to re-select dst-cpu in load_balance()\n\nCommit 88b8dac0 makes load_balance() consider other cpus in its\ngroup. But, in that, there is no code for preventing to\nre-select dst-cpu. So, same dst-cpu can be selected over and\nover.\n\nThis patch add functionality to load_balance() in order to\nexclude cpu which is selected once. We prevent to re-select\ndst_cpu via env\u0027s cpus, so now, env\u0027s cpus is a candidate not\nonly for src_cpus, but also dst_cpus.\n\nWith this patch, we can remove lb_iterations and\nmax_lb_iterations, because we decide whether we can go ahead or\nnot via env\u0027s cpus.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-7-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e6252c3ef4b9cd251b53f7b68035f395d20b044e",
      "tree": "ab331d8a6b9dfd9733c857cbf66944d278d72f2f",
      "parents": [
        "d31980846f9688db3ee3e5863525c6ff8ace4c7c"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:41 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:45 2013 +0200"
      },
      "message": "sched: Rename load_balance_tmpmask to load_balance_mask\n\nThis name doesn\u0027t represent specific meaning.\nSo rename it to imply it\u0027s purpose.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-6-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d31980846f9688db3ee3e5863525c6ff8ace4c7c",
      "tree": "92ec80802dd11061e5b1515a0bf41d9b9be22cb1",
      "parents": [
        "cfc03118047172f5bdc58d63c607d16d33ce5305"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:40 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:44 2013 +0200"
      },
      "message": "sched: Move up affinity check to mitigate useless redoing overhead\n\nCurrently, LBF_ALL_PINNED is cleared after affinity check is\npassed. So, if task migration is skipped by small load value or\nsmall imbalance value in move_tasks(), we don\u0027t clear\nLBF_ALL_PINNED. At last, we trigger \u0027redo\u0027 in load_balance().\n\nImbalance value is often so small that any tasks cannot be moved\nto other cpus and, of course, this situation may be continued\nafter we change the target cpu. So this patch move up affinity\ncheck code and clear LBF_ALL_PINNED before evaluating load value\nin order to mitigate useless redoing overhead.\n\nIn addition, re-order some comments correctly.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-5-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cfc03118047172f5bdc58d63c607d16d33ce5305",
      "tree": "8711e931791f814b3a40956b4a6d0f7d9088c0a6",
      "parents": [
        "de5eb2dd7f171ee8a45d23cd41aa2efe9ab922b3"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:39 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:44 2013 +0200"
      },
      "message": "sched: Don\u0027t consider other cpus in our group in case of NEWLY_IDLE\n\nCommit 88b8dac0 makes load_balance() consider other cpus in its\ngroup, regardless of idle type. When we do NEWLY_IDLE balancing,\nwe should not consider it, because a motivation of NEWLY_IDLE\nbalancing is to turn this cpu to non idle state if needed. This\nis not the case of other cpus. So, change code not to consider\nother cpus for NEWLY_IDLE balancing.\n\nWith this patch, assign \u0027if (pulled_task) this_rq-\u003eidle_stamp \u003d\n0\u0027 in idle_balance() is corrected, because NEWLY_IDLE balancing\ndoesn\u0027t consider other cpus. Assigning to \u0027this_rq-\u003eidle_stamp\u0027\nis now valid.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-4-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "de5eb2dd7f171ee8a45d23cd41aa2efe9ab922b3",
      "tree": "14ad92528f988552549ee962b9274911a0e16c92",
      "parents": [
        "f1cd0858100c67273f2c74344e0c464344c4a982"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:38 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:43 2013 +0200"
      },
      "message": "sched: Explicitly cpu_idle_type checking in rebalance_domains()\n\nAfter commit 88b8dac0, dst-cpu can be changed in load_balance(),\nthen we can\u0027t know cpu_idle_type of dst-cpu when load_balance()\nreturn positive. So, add explicit cpu_idle_type checking.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-3-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f1cd0858100c67273f2c74344e0c464344c4a982",
      "tree": "1b3acc84023a16fabf7c37bf0bdb782fe25094cb",
      "parents": [
        "642dbc39ab1ea00f47e0fee1b8e8a27da036d940"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:37 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:43 2013 +0200"
      },
      "message": "sched: Change position of resched_cpu() in load_balance()\n\ncur_ld_moved is reset if env.flags hit LBF_NEED_BREAK.\nSo, there is possibility that we miss doing resched_cpu().\nCorrect it as changing position of resched_cpu()\nbefore checking LBF_NEED_BREAK.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-2-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "77c675ba18836802f6b73d2d773481d06ebc0f04",
      "tree": "fbf1afe074218e110fb90cdbc108e78a3c89b008",
      "parents": [
        "d2054b2c11682495fca41e9d4092e654df63b517"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 22 09:37:04 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 22 20:17:51 2013 +0200"
      },
      "message": "timekeeping: Update tk-\u003ecycle_last in resume\n\ncommit 7ec98e15aa (timekeeping: Delay update of clock-\u003ecycle_last)\nforgot to update tk-\u003ecycle_last in the resume path. This results in a\nstale value versus clock-\u003ecycle_last and prevents resume in the worst\ncase.\n\nReported-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReported-and-tested-by: Borislav Petkov \u003cbp@alien8.de\u003e\nAcked-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Linux-pm mailing list \u003clinux-pm@lists.linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1304211648150.21884@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f83b2933667b923d4e30ee04720e160438e26047",
      "tree": "d5aba5a546cb69b7971f22c5f2439dd8705288a2",
      "parents": [
        "7790ff45be89b6a3ed98bb8c0572255ad4ed7a28"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Apr 22 18:51:50 2013 +0930"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 22 07:09:06 2013 -0700"
      },
      "message": "kernel/hz.bc: ignore.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "312592945487c6e2451d4a41130bfc34d0dba22c",
      "tree": "78ddc81f1fc1cb83e4efc65b8d5fbfbce7b8f0be",
      "parents": [
        "12c71c4b601923a9cc28918e944ec1e8c65ddac9",
        "f1923820c447e986a9da0fc6bf60c1dccdf0408e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 21 10:25:42 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 21 10:25:42 2013 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n \"Misc fixes\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf/x86: Fix offcore_rsp valid mask for SNB/IVB\n  perf: Treat attr.config as u64 in perf_swevent_init()\n"
    },
    {
      "commit": "642dbc39ab1ea00f47e0fee1b8e8a27da036d940",
      "tree": "337e3cd2be83a916577f78c4819fafe6d29c99c8",
      "parents": [
        "9b89f6ba2ab56e4d9c00e7e591d6bc333137895e"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Thu Apr 18 18:34:26 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Apr 21 11:22:52 2013 +0200"
      },
      "message": "sched: Fix wrong rq\u0027s runnable_avg update with rt tasks\n\nThe current update of the rq\u0027s load can be erroneous when RT\ntasks are involved.\n\nThe update of the load of a rq that becomes idle, is done only\nif the avg_idle is less than sysctl_sched_migration_cost. If RT\ntasks and short idle duration alternate, the runnable_avg will\nnot be updated correctly and the time will be accounted as idle\ntime when a CFS task wakes up.\n\nA new idle_enter function is called when the next task is the\nidle function so the elapsed time will be accounted as run time\nin the load of the rq, whatever the average idle time is. The\nfunction update_rq_runnable_avg is removed from idle_balance.\n\nWhen a RT task is scheduled on an idle CPU, the update of the\nrq\u0027s load is not done when the rq exit idle state because CFS\u0027s\nfunctions are not called. Then, the idle_balance, which is\ncalled just before entering the idle function, updates the rq\u0027s\nload and makes the assumption that the elapsed time since the\nlast update, was only running time.\n\nAs a consequence, the rq\u0027s load of a CPU that only runs a\nperiodic RT task, is close to LOAD_AVG_MAX whatever the running\nduration of the RT task is.\n\nA new idle_exit function is called when the prev task is the\nidle function so the elapsed time will be accounted as idle time\nin the rq\u0027s load.\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: linaro-kernel@lists.linaro.org\nCc: peterz@infradead.org\nCc: pjt@google.com\nCc: fweisbec@gmail.com\nCc: efault@gmx.de\nLink: http://lkml.kernel.org/r/1366302867-5055-1-git-send-email-vincent.guittot@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c79aa0d96548aee50570209eb2d45c8f4ac49230",
      "tree": "0b0cc53e2a4b3b37e98b720f0c149a9f074681be",
      "parents": [
        "f1923820c447e986a9da0fc6bf60c1dccdf0408e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Apr 19 12:01:24 2013 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Apr 21 11:21:39 2013 +0200"
      },
      "message": "events: Protect access via task_subsys_state_check()\n\nThe following RCU splat indicates lack of RCU protection:\n\n[  953.267649] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  953.267652] [ INFO: suspicious RCU usage. ]\n[  953.267657] 3.9.0-0.rc6.git2.4.fc19.ppc64p7 #1 Not tainted\n[  953.267661] -------------------------------\n[  953.267664] include/linux/cgroup.h:534 suspicious rcu_dereference_check() usage!\n[  953.267669]\n[  953.267669] other info that might help us debug this:\n[  953.267669]\n[  953.267675]\n[  953.267675] rcu_scheduler_active \u003d 1, debug_locks \u003d 0\n[  953.267680] 1 lock held by glxgears/1289:\n[  953.267683]  #0:  (\u0026sig-\u003ecred_guard_mutex){+.+.+.}, at: [\u003cc00000000027f884\u003e] .prepare_bprm_creds+0x34/0xa0\n[  953.267700]\n[  953.267700] stack backtrace:\n[  953.267704] Call Trace:\n[  953.267709] [c0000001f0d1b6e0] [c000000000016e30] .show_stack+0x130/0x200 (unreliable)\n[  953.267717] [c0000001f0d1b7b0] [c0000000001267f8] .lockdep_rcu_suspicious+0x138/0x180\n[  953.267724] [c0000001f0d1b840] [c0000000001d43a4] .perf_event_comm+0x4c4/0x690\n[  953.267731] [c0000001f0d1b950] [c00000000027f6e4] .set_task_comm+0x84/0x1f0\n[  953.267737] [c0000001f0d1b9f0] [c000000000280414] .setup_new_exec+0x94/0x220\n[  953.267744] [c0000001f0d1ba70] [c0000000002f665c] .load_elf_binary+0x58c/0x19b0\n...\n\nThis commit therefore adds the required RCU read-side critical\nsection to perf_event_comm().\n\nReported-by: Adam Jackson \u003cajax@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: a.p.zijlstra@chello.nl\nCc: paulus@samba.org\nCc: acme@ghostprotocols.net\nLink: http://lkml.kernel.org/r/20130419190124.GA8638@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nTested-by: Gustavo Luiz Duarte \u003cgusld@br.ibm.com\u003e\n"
    },
    {
      "commit": "73e21ce28d8d2b75140b742b01373c3a085ecc52",
      "tree": "add380154271f9a68be4099590f912b4ab4bed9f",
      "parents": [
        "b5210b2a34bae35fc00675462333af45676d727c",
        "f1923820c447e986a9da0fc6bf60c1dccdf0408e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Apr 21 10:57:33 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Apr 21 10:57:33 2013 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\tarch/x86/kernel/cpu/perf_event_intel.c\n\nMerge in the latest fixes before applying new patches, resolve the conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "830ac8524f301da8867400777d5c19e6d01ec525",
      "tree": "8d8588c66e9d424973304a84e6857d1a87695eaa",
      "parents": [
        "db93f8b42036bd60d95e8d28ee98b308d5846b9f",
        "157752d84f5df47e01577970f9c5f61a0b9f4546"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 20 18:40:36 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 20 18:40:36 2013 -0700"
      },
      "message": "Merge branch \u0027x86-kdump-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull kdump fixes from Peter Anvin:\n \"The kexec/kdump people have found several problems with the support\n  for loading over 4 GiB that was introduced in this merge cycle.  This\n  is partly due to a number of design problems inherent in the way the\n  various pieces of kdump fit together (it is pretty horrifically manual\n  in many places.)\n\n  After a *lot* of iterations this is the patchset that was agreed upon,\n  but of course it is now very late in the cycle.  However, because it\n  changes both the syntax and semantics of the crashkernel option, it\n  would be desirable to avoid a stable release with the broken\n  interfaces.\"\n\nI\u0027m not happy with the timing, since originally the plan was to release\nthe final 3.9 tomorrow.  But apparently I\u0027m doing an -rc8 instead...\n\n* \u0027x86-kdump-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  kexec: use Crash kernel for Crash kernel low\n  x86, kdump: Change crashkernel_high/low\u003d to crashkernel\u003d,high/low\n  x86, kdump: Retore crashkernel\u003d to allocate under 896M\n  x86, kdump: Set crashkernel_low automatically\n"
    },
    {
      "commit": "4c69e6ea415a35eb7f0fc8ee9390c8f7436492a2",
      "tree": "586b87d0779390d498ce45df375b97decacfb059",
      "parents": [
        "d2802d0739dcc61af5e5ea00773ce7ddead4e9c2"
      ],
      "author": {
        "name": "Sahara",
        "email": "keun-o.park@windriver.com",
        "time": "Mon Apr 15 11:13:15 2013 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 19 19:59:49 2013 -0400"
      },
      "message": "tracepoints: Prevent null probe from being added\n\nSomehow tracepoint_entry_add_probe() function allows a null probe function.\nAnd, this may lead to unexpected results since the number of probe\nfunctions in an entry can be counted by checking whether a probe is null\nor not in the for-loop.\nThis patch prevents a null probe from being added.\nIn tracepoint_entry_remove_probe() function, checking probe parameter\nwithin the for-loop is moved out for code efficiency, leaving the null probe\nfeature which removes all probe functions in the entry.\n\nLink: http://lkml.kernel.org/r/1365991995-19445-1-git-send-email-kpark3469@gmail.com\n\nReviewed-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Sahara \u003ckeun-o.park@windriver.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cc189d2513d1f45cde87a9043fe3be28559c7490",
      "tree": "064796cc597cfae5cc657d8bdc212774ea5251ff",
      "parents": [
        "2bd2c92cf07cc4a373bf316c75b78ac465fefd35"
      ],
      "author": {
        "name": "Waiman Long",
        "email": "Waiman.Long@hp.com",
        "time": "Wed Apr 17 15:23:14 2013 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 19 09:33:36 2013 +0200"
      },
      "message": "mutex: Back out architecture specific check for negative mutex count\n\nLinus suggested that probably all the supported architectures can\nallow a negative mutex count without incorrect behavior, so we can\nthen back out the architecture specific change and allow the\nmutex count to go to any negative number. That should further\nreduce contention for non-x86 architecture.\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Waiman Long \u003cWaiman.Long@hp.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Chandramouleeswaran Aswin \u003caswin@hp.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Norton Scott J \u003cscott.norton@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366226594-5506-5-git-send-email-Waiman.Long@hp.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2bd2c92cf07cc4a373bf316c75b78ac465fefd35",
      "tree": "0d8e6121b5f9d364a3fa90489c8f8fe32717b63c",
      "parents": [
        "0dc8c730c98a06a4d927f8d08bd0dd6de973b8dd"
      ],
      "author": {
        "name": "Waiman Long",
        "email": "Waiman.Long@hp.com",
        "time": "Wed Apr 17 15:23:13 2013 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 19 09:33:36 2013 +0200"
      },
      "message": "mutex: Queue mutex spinners with MCS lock to reduce cacheline contention\n\nThe current mutex spinning code (with MUTEX_SPIN_ON_OWNER option\nturned on) allow multiple tasks to spin on a single mutex\nconcurrently. A potential problem with the current approach is\nthat when the mutex becomes available, all the spinning tasks\nwill try to acquire the mutex more or less simultaneously. As a\nresult, there will be a lot of cacheline bouncing especially on\nsystems with a large number of CPUs.\n\nThis patch tries to reduce this kind of contention by putting\nthe mutex spinners into a queue so that only the first one in\nthe queue will try to acquire the mutex. This will reduce\ncontention and allow all the tasks to move forward faster.\n\nThe queuing of mutex spinners is done using an MCS lock based\nimplementation which will further reduce contention on the mutex\ncacheline than a similar ticket spinlock based implementation.\nThis patch will add a new field into the mutex data structure\nfor holding the MCS lock. This expands the mutex size by 8 bytes\nfor 64-bit system and 4 bytes for 32-bit system. This overhead\nwill be avoid if the MUTEX_SPIN_ON_OWNER option is turned off.\n\nThe following table shows the jobs per minute (JPM) scalability\ndata on an 8-node 80-core Westmere box with a 3.7.10 kernel. The\nnumactl command is used to restrict the running of the fserver\nworkloads to 1/2/4/8 nodes with hyperthreading off.\n\n+-----------------+-----------+-----------+-------------+----------+\n|  Configuration  | Mean JPM  | Mean JPM  |  Mean JPM   | % Change |\n|                 | w/o patch | patch 1   | patches 1\u00262 |  1-\u003e1\u00262  |\n+-----------------+------------------------------------------------+\n|                 |              User Range 1100 - 2000            |\n+-----------------+------------------------------------------------+\n| 8 nodes, HT off |  227972   |  227237   |   305043    |  +34.2%  |\n| 4 nodes, HT off |  393503   |  381558   |   394650    |   +3.4%  |\n| 2 nodes, HT off |  334957   |  325240   |   338853    |   +4.2%  |\n| 1 node , HT off |  198141   |  197972   |   198075    |   +0.1%  |\n+-----------------+------------------------------------------------+\n|                 |              User Range 200 - 1000             |\n+-----------------+------------------------------------------------+\n| 8 nodes, HT off |  282325   |  312870   |   332185    |   +6.2%  |\n| 4 nodes, HT off |  390698   |  378279   |   393419    |   +4.0%  |\n| 2 nodes, HT off |  336986   |  326543   |   340260    |   +4.2%  |\n| 1 node , HT off |  197588   |  197622   |   197582    |    0.0%  |\n+-----------------+-----------+-----------+-------------+----------+\n\nAt low user range 10-100, the JPM differences were within +/-1%.\nSo they are not that interesting.\n\nThe fserver workload uses mutex spinning extensively. With just\nthe mutex change in the first patch, there is no noticeable\nchange in performance.  Rather, there is a slight drop in\nperformance. This mutex spinning patch more than recovers the\nlost performance and show a significant increase of +30% at high\nuser load with the full 8 nodes. Similar improvements were also\nseen in a 3.8 kernel.\n\nThe table below shows the %time spent by different kernel\nfunctions as reported by perf when running the fserver workload\nat 1500 users with all 8 nodes.\n\n+-----------------------+-----------+---------+-------------+\n|        Function       |  % time   | % time  |   % time    |\n|                       | w/o patch | patch 1 | patches 1\u00262 |\n+-----------------------+-----------+---------+-------------+\n| __read_lock_failed    |  34.96%   | 34.91%  |   29.14%    |\n| __write_lock_failed   |  10.14%   | 10.68%  |    7.51%    |\n| mutex_spin_on_owner   |   3.62%   |  3.42%  |    2.33%    |\n| mspin_lock            |    N/A    |   N/A   |    9.90%    |\n| __mutex_lock_slowpath |   1.46%   |  0.81%  |    0.14%    |\n| _raw_spin_lock        |   2.25%   |  2.50%  |    1.10%    |\n+-----------------------+-----------+---------+-------------+\n\nThe fserver workload for an 8-node system is dominated by the\ncontention in the read/write lock. Mutex contention also plays a\nrole. With the first patch only, mutex contention is down (as\nshown by the __mutex_lock_slowpath figure) which help a little\nbit. We saw only a few percents improvement with that.\n\nBy applying patch 2 as well, the single mutex_spin_on_owner\nfigure is now split out into an additional mspin_lock figure.\nThe time increases from 3.42% to 11.23%. It shows a great\nreduction in contention among the spinners leading to a 30%\nimprovement. The time ratio 9.9/2.33\u003d4.3 indicates that there\nare on average 4+ spinners waiting in the spin_lock loop for\neach spinner in the mutex_spin_on_owner loop. Contention in\nother locking functions also go down by quite a lot.\n\nThe table below shows the performance change of both patches 1 \u0026\n2 over patch 1 alone in other AIM7 workloads (at 8 nodes,\nhyperthreading off).\n\n+--------------+---------------+----------------+-----------------+\n|   Workload   | mean % change | mean % change  | mean % change   |\n|              | 10-100 users  | 200-1000 users | 1100-2000 users |\n+--------------+---------------+----------------+-----------------+\n| alltests     |      0.0%     |     -0.8%      |     +0.6%       |\n| five_sec     |     -0.3%     |     +0.8%      |     +0.8%       |\n| high_systime |     +0.4%     |     +2.4%      |     +2.1%       |\n| new_fserver  |     +0.1%     |    +14.1%      |    +34.2%       |\n| shared       |     -0.5%     |     -0.3%      |     -0.4%       |\n| short        |     -1.7%     |     -9.8%      |     -8.3%       |\n+--------------+---------------+----------------+-----------------+\n\nThe short workload is the only one that shows a decline in\nperformance probably due to the spinner locking and queuing\noverhead.\n\nSigned-off-by: Waiman Long \u003cWaiman.Long@hp.com\u003e\nReviewed-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Chandramouleeswaran Aswin \u003caswin@hp.com\u003e\nCc: Norton Scott J \u003cscott.norton@hp.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366226594-5506-4-git-send-email-Waiman.Long@hp.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0dc8c730c98a06a4d927f8d08bd0dd6de973b8dd",
      "tree": "c7f9a0194315b011feea42ccdbc1443f41116916",
      "parents": [
        "41fcb9f230bf773656d1768b73000ef720bf00c3"
      ],
      "author": {
        "name": "Waiman Long",
        "email": "Waiman.Long@hp.com",
        "time": "Wed Apr 17 15:23:12 2013 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 19 09:33:35 2013 +0200"
      },
      "message": "mutex: Make more scalable by doing less atomic operations\n\nIn the __mutex_lock_common() function, an initial entry into\nthe lock slow path will cause two atomic_xchg instructions to be\nissued. Together with the atomic decrement in the fast path, a\ntotal of three atomic read-modify-write instructions will be\nissued in rapid succession. This can cause a lot of cache\nbouncing when many tasks are trying to acquire the mutex at the\nsame time.\n\nThis patch will reduce the number of atomic_xchg instructions\nused by checking the counter value first before issuing the\ninstruction. The atomic_read() function is just a simple memory\nread. The atomic_xchg() function, on the other hand, can be up\nto 2 order of magnitude or even more in cost when compared with\natomic_read(). By using atomic_read() to check the value first\nbefore calling atomic_xchg(), we can avoid a lot of unnecessary\ncache coherency traffic. The only downside with this change is\nthat a task on the slow path will have a tiny bit less chance of\ngetting the mutex when competing with another task in the fast\npath.\n\nThe same is true for the atomic_cmpxchg() function in the\nmutex-spin-on-owner loop. So an atomic_read() is also performed\nbefore calling atomic_cmpxchg().\n\nThe mutex locking and unlocking code for the x86 architecture\ncan allow any negative number to be used in the mutex count to\nindicate that some tasks are waiting for the mutex. I am not so\nsure if that is the case for the other architectures. So the\ndefault is to avoid atomic_xchg() if the count has already been\nset to -1. For x86, the check is modified to include all\nnegative numbers to cover a larger case.\n\nThe following table shows the jobs per minutes (JPM) scalability\ndata on an 8-node 80-core Westmere box with a 3.7.10 kernel. The\nnumactl command is used to restrict the running of the\nhigh_systime workloads to 1/2/4/8 nodes with hyperthreading on\nand off.\n\n+-----------------+-----------+------------+----------+\n|  Configuration  | Mean JPM  |  Mean JPM  | % Change |\n|\t\t  | w/o patch | with patch |\t      |\n+-----------------+-----------------------------------+\n|\t\t  |      User Range 1100 - 2000\t      |\n+-----------------+-----------------------------------+\n| 8 nodes, HT on  |    36980   |   148590  | +301.8%  |\n| 8 nodes, HT off |    42799   |   145011  | +238.8%  |\n| 4 nodes, HT on  |    61318   |   118445  |  +51.1%  |\n| 4 nodes, HT off |   158481   |   158592  |   +0.1%  |\n| 2 nodes, HT on  |   180602   |   173967  |   -3.7%  |\n| 2 nodes, HT off |   198409   |   198073  |   -0.2%  |\n| 1 node , HT on  |   149042   |   147671  |   -0.9%  |\n| 1 node , HT off |   126036   |   126533  |   +0.4%  |\n+-----------------+-----------------------------------+\n|\t\t  |       User Range 200 - 1000\t      |\n+-----------------+-----------------------------------+\n| 8 nodes, HT on  |   41525    |   122349  | +194.6%  |\n| 8 nodes, HT off |   49866    |   124032  | +148.7%  |\n| 4 nodes, HT on  |   66409    |   106984  |  +61.1%  |\n| 4 nodes, HT off |  119880    |   130508  |   +8.9%  |\n| 2 nodes, HT on  |  138003    |   133948  |   -2.9%  |\n| 2 nodes, HT off |  132792    |   131997  |   -0.6%  |\n| 1 node , HT on  |  116593    |   115859  |   -0.6%  |\n| 1 node , HT off |  104499    |   104597  |   +0.1%  |\n+-----------------+------------+-----------+----------+\n\nAt low user range 10-100, the JPM differences were within +/-1%.\nSo they are not that interesting.\n\nAIM7 benchmark run has a pretty large run-to-run variance due to\nrandom nature of the subtests executed. So a difference of less\nthan +-5% may not be really significant.\n\nThis patch improves high_systime workload performance at 4 nodes\nand up by maintaining transaction rates without significant\ndrop-off at high node count.  The patch has practically no\nimpact on 1 and 2 nodes system.\n\nThe table below shows the percentage time (as reported by perf\nrecord -a -s -g) spent on the __mutex_lock_slowpath() function\nby the high_systime workload at 1500 users for 2/4/8-node\nconfigurations with hyperthreading off.\n\n+---------------+-----------------+------------------+---------+\n| Configuration | %Time w/o patch | %Time with patch | %Change |\n+---------------+-----------------+------------------+---------+\n|    8 nodes    |      65.34%     |      0.69%       |  -99%   |\n|    4 nodes    |       8.70%\t  |      1.02%\t     |  -88%   |\n|    2 nodes    |       0.41%     |      0.32%       |  -22%   |\n+---------------+-----------------+------------------+---------+\n\nIt is obvious that the dramatic performance improvement at 8\nnodes was due to the drastic cut in the time spent within the\n__mutex_lock_slowpath() function.\n\nThe table below show the improvements in other AIM7 workloads\n(at 8 nodes, hyperthreading off).\n\n+--------------+---------------+----------------+-----------------+\n|   Workload   | mean % change | mean % change  | mean % change   |\n|              | 10-100 users  | 200-1000 users | 1100-2000 users |\n+--------------+---------------+----------------+-----------------+\n| alltests     |     +0.6%     |   +104.2%      |   +185.9%       |\n| five_sec     |     +1.9%     |     +0.9%      |     +0.9%       |\n| fserver      |     +1.4%     |     -7.7%      |     +5.1%       |\n| new_fserver  |     -0.5%     |     +3.2%      |     +3.1%       |\n| shared       |    +13.1%     |   +146.1%      |   +181.5%       |\n| short        |     +7.4%     |     +5.0%      |     +4.2%       |\n+--------------+---------------+----------------+-----------------+\n\nSigned-off-by: Waiman Long \u003cWaiman.Long@hp.com\u003e\nReviewed-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Chandramouleeswaran Aswin \u003caswin@hp.com\u003e\nCc: Norton: Scott J \u003cscott.norton@hp.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366226594-5506-3-git-send-email-Waiman.Long@hp.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "41fcb9f230bf773656d1768b73000ef720bf00c3",
      "tree": "dd87697f88e28825668ed4c342824929b4d7070c",
      "parents": [
        "8184004ed7a0bc9538f5e825615c29fc52466bab"
      ],
      "author": {
        "name": "Waiman Long",
        "email": "Waiman.Long@hp.com",
        "time": "Wed Apr 17 15:23:11 2013 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 19 09:33:34 2013 +0200"
      },
      "message": "mutex: Move mutex spinning code from sched/core.c back to mutex.c\n\nAs mentioned by Ingo, the SCHED_FEAT_OWNER_SPIN scheduler\nfeature bit was really just an early hack to make with/without\nmutex-spinning testable. So it is no longer necessary.\n\nThis patch removes the SCHED_FEAT_OWNER_SPIN feature bit and\nmove the mutex spinning code from kernel/sched/core.c back to\nkernel/mutex.c which is where they should belong.\n\nSigned-off-by: Waiman Long \u003cWaiman.Long@hp.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Chandramouleeswaran Aswin \u003caswin@hp.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Norton Scott J \u003cscott.norton@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366226594-5506-2-git-send-email-Waiman.Long@hp.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "712317ad97f41e738e1a19aa0a6392a78a84094e",
      "tree": "66988449eb8cca53e032eed6ddc1169f9296eeac",
      "parents": [
        "e57d5cf2f894e3f2727f8cf74bed0bc81cae70c8"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Thu Apr 18 23:09:52 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 18 23:11:40 2013 -0700"
      },
      "message": "cgroup: fix broken file xattrs\n\nWe should store file xattrs in struct cfent instead of struct cftype,\nbecause cftype is a type while cfent is object instance of cftype.\n\nFor example each cgroup has a tasks file, and each tasks file is\nassociated with a uniq cfent, but all those files share the same\nstruct cftype.\n\nAlexey Kodanev reported a crash, which can be reproduced:\n\n  # mount -t cgroup -o xattr /sys/fs/cgroup\n  # mkdir /sys/fs/cgroup/test\n  # setfattr -n trusted.value -v test_value /sys/fs/cgroup/tasks\n  # rmdir /sys/fs/cgroup/test\n  # umount /sys/fs/cgroup\n  oops!\n\nIn this case, simple_xattrs_free() will free the same struct simple_xattrs\ntwice.\n\ntj: Dropped unused local variable @cft from cgroup_diput().\n\nCc: \u003cstable@vger.kernel.org\u003e # 3.8.x\nReported-by: Alexey Kodanev \u003calexey.kodanev@oracle.com\u003e\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "6835039d7ed618bbac0c8c18d62d3e030b162d37",
      "tree": "840f453cebdb1a908d3b40dfbcb9e42699636055",
      "parents": [
        "a86d52667d8eda5de39393ce737794403bdce1eb",
        "41c21e351e79004dbb4efa4bc14a53a7e0af38c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 18 18:09:12 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 18 18:09:12 2013 -0700"
      },
      "message": "Merge branch \u0027userns-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux\n\nPull user-namespace fixes from Andy Lutomirski.\n\n* \u0027userns-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux:\n  userns: Changing any namespace id mappings should require privileges\n  userns: Check uid_map\u0027s opener\u0027s fsuid, not the current fsuid\n  userns: Don\u0027t let unprivileged users trick privileged users into setting the id_map\n"
    },
    {
      "commit": "0a82a8d132b26d438eb90b3ab35a7016e7227a1d",
      "tree": "ee01c8dd1db41aaa1d2acfd47330e488f8573c9b",
      "parents": [
        "5c51543b0ae45967cfa99ca16748dc72888cc265"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 18 09:00:26 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 18 09:00:26 2013 -0700"
      },
      "message": "Revert \"block: add missing block_bio_complete() tracepoint\"\n\nThis reverts commit 3a366e614d0837d9fc23f78cdb1a1186ebc3387f.\n\nWanlong Gao reports that it causes a kernel panic on his machine several\nminutes after boot. Reverting it removes the panic.\n\nJens says:\n \"It\u0027s not quite clear why that is yet, so I think we should just revert\n  the commit for 3.9 final (which I\u0027m assuming is pretty close).\n\n  The wifi is crap at the LSF hotel, so sending this email instead of\n  queueing up a revert and pull request.\"\n\nReported-by: Wanlong Gao \u003cgaowanlong@cn.fujitsu.com\u003e\nRequested-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c51543b0ae45967cfa99ca16748dc72888cc265",
      "tree": "3bcc3c5f26adf4c773e934f110b596914b4fb856",
      "parents": [
        "d202f05158442396033f416df376f8ece1f563df"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Thu Apr 18 18:33:18 2013 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 18 08:58:38 2013 -0700"
      },
      "message": "kprobes: Fix a double lock bug of kprobe_mutex\n\nFix a double locking bug caused when debug.kprobe-optimization\u003d0.\nWhile the proc_kprobes_optimization_handler locks kprobe_mutex,\nwait_for_kprobe_optimizer locks it again and that causes a double lock.\nTo fix the bug, this introduces different mutex for protecting\nsysctl parameter and locks it in proc_kprobes_optimization_handler.\nOf course, since we need to lock kprobe_mutex when touching kprobes\nresources, that is done in *optimize_all_kprobes().\n\nThis bug was introduced by commit ad72b3bea744 (\"kprobes: fix\nwait_for_kprobe_optimizer()\")\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2054b2c11682495fca41e9d4092e654df63b517",
      "tree": "0320e37293ca3633291eaed49450a98af6d60181",
      "parents": [
        "c038c1c44179c80da6201f91ef354e48d5689617"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 18 12:51:19 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 18 12:51:19 2013 +0200"
      },
      "message": "posix-timers: Remove unused variable\n\nRemove the unused variable *node introduced by commit 5ed67f05 (posix\ntimers: Allocate timer id per process)\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\n"
    },
    {
      "commit": "b9e146d8eb3b9ecae5086d373b50fa0c1f3e7f0f",
      "tree": "2b6d313cc798d76ea1f50e63fa60ceb1f753c89a",
      "parents": [
        "d72515b85a6583db131ec6032978e3c9d4291d95"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Wed Apr 17 15:58:36 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 17 16:10:45 2013 -0700"
      },
      "message": "kernel/signal.c: stop info leak via the tkill and the tgkill syscalls\n\nThis fixes a kernel memory contents leak via the tkill and tgkill syscalls\nfor compat processes.\n\nThis is visible in the siginfo_t-\u003e_sifields._rt.si_sigval.sival_ptr field\nwhen handling signals delivered from tkill.\n\nThe place of the infoleak:\n\nint copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from)\n{\n        ...\n        put_user_ex(ptr_to_compat(from-\u003esi_ptr), \u0026to-\u003esi_ptr);\n        ...\n}\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nReviewed-by: PaX Team \u003cpageexec@freemail.hu\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.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": "157752d84f5df47e01577970f9c5f61a0b9f4546",
      "tree": "2fae7925e0b6b8b7fc14f33ba880e256c2bde562",
      "parents": [
        "adbc742bf78695bb98c79d18c558b61571748b99"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Apr 15 22:23:46 2013 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Apr 17 12:35:34 2013 -0700"
      },
      "message": "kexec: use Crash kernel for Crash kernel low\n\nWe can extend kexec-tools to support multiple \"Crash kernel\" in /proc/iomem\ninstead.\n\nSo we can use \"Crash kernel\" instead of \"Crash kernel low\" in /proc/iomem.\n\nSuggested-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1366089828-19692-3-git-send-email-yinghai@kernel.org\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    }
  ],
  "next": "adbc742bf78695bb98c79d18c558b61571748b99"
}
