)]}'
{
  "log": [
    {
      "commit": "fae85b7c8bcc7de9c0a2698587e20c15beb7d5a6",
      "tree": "96ea37ea08d52b2ef89f823f6e43ba8b15cc66bb",
      "parents": [
        "ac0a3260f37b8616da8d33488ec94b94e6ae5b31"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue Oct 26 20:24:03 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue May 03 12:59:43 2011 +0200"
      },
      "message": "perf: Start the restructuring\n\nmv kernel/perf_event.c -\u003e kernel/events/core.c. From there, all further\nsensible splitting can happen. The idea is that due to perf_event.c\nbecoming pretty sizable and with the advent of the marriage with ftrace,\nsplitting functionality into its logical parts should help speeding up\nthe unification and to manage the complexity of the subsystem.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "ac0a3260f37b8616da8d33488ec94b94e6ae5b31",
      "tree": "0db61f7492d45f1d548b0bcef06a0df9c904442c",
      "parents": [
        "809435ff4f43a5c0cb0201b3b89176253d5ade18",
        "b9df92d2a94eef8811061aecb1396290df440e2e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 01 19:11:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 01 19:11:42 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "809435ff4f43a5c0cb0201b3b89176253d5ade18",
      "tree": "607d673c02117656a956b54dd2bb80fe94edea61",
      "parents": [
        "32673822e440eb92eb334631eb0a199d0c532d13",
        "058e297d34a404caaa5ed277de15698d8dc43000"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 01 19:09:39 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 01 19:09:39 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "b9df92d2a94eef8811061aecb1396290df440e2e",
      "tree": "313ad90dd3cd726af8da4d7768c912f96b3daa9a",
      "parents": [
        "491d0dcfb9707e1f83eff93ca503eb7573162ef2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 28 20:32:08 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 29 22:53:14 2011 -0400"
      },
      "message": "ftrace: Consolidate the function match routines for normal and mods\n\nThe code used for matching functions is almost identical between normal\nselecting of functions and using the :mod: feature of set_ftrace_notrace.\n\nConsolidate the two users into one function.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "491d0dcfb9707e1f83eff93ca503eb7573162ef2",
      "tree": "ab156f8c4bc8ebfcc7429533a34726226a11bbba",
      "parents": [
        "996e87be7f537fb34638875dd37083166c733425"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 27 21:43:36 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 29 22:53:11 2011 -0400"
      },
      "message": "ftrace: Consolidate updating of ftrace_trace_function\n\nThere are three locations that perform almost identical functions in order\nto update the ftrace_trace_function (the ftrace function variable that gets\ncalled by mcount).\n\nConsolidate these into a single function called update_ftrace_function().\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "996e87be7f537fb34638875dd37083166c733425",
      "tree": "0d961a4870b39450470b117cde45c3c2c1931959",
      "parents": [
        "d2c8c3eafbf715306ec891e7ca52d3d999acbe31"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 26 16:11:03 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 29 22:53:08 2011 -0400"
      },
      "message": "ftrace: Move record update for normal and modules into a separate function\n\nThe updating of a function record is moved to a single function. This will allow\nus to add specific changes in one location for both modules and kernel\nfunctions.\n\nLater patches will determine if the function record itself needs to be updated\n(which enables the mcount caller), or just the ftrace_ops needs the update.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d2c8c3eafbf715306ec891e7ca52d3d999acbe31",
      "tree": "1dd5b7ae74f1dd951b542df3eb455af445a349c1",
      "parents": [
        "45a4a2372b364107cabea79f255b333236626416"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 25 14:32:42 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 29 22:53:04 2011 -0400"
      },
      "message": "ftrace: Remove FTRACE_FL_CONVERTED flag\n\nSince we disable all function tracer processing if we detect\nthat a modification of a instruction had failed, we do not need\nto track that the record has failed. No more ftrace processing\nis allowed, and the FTRACE_FL_CONVERTED flag is pointless.\n\nThe FTRACE_FL_CONVERTED flag was used to denote records that were\nsuccessfully converted from mcount calls into nops. But if a single\nrecord fails, all of ftrace is disabled.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "45a4a2372b364107cabea79f255b333236626416",
      "tree": "dfe3e1c3b55451fedc8896aaa8359677d583a0e5",
      "parents": [
        "3499e461147636bf55c41128d83b679ac6ab2d86"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 21 23:16:46 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 29 22:53:01 2011 -0400"
      },
      "message": "ftrace: Remove FTRACE_FL_FAILED flag\n\nSince we disable all function tracer processing if we detect\nthat a modification of a instruction had failed, we do not need\nto track that the record has failed. No more ftrace processing\nis allowed, and the FTRACE_FL_FAILED flag is pointless.\n\nRemoving this flag simplifies some of the code, but some ftrace_disabled\nchecks needed to be added or move around a little.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3499e461147636bf55c41128d83b679ac6ab2d86",
      "tree": "2e79e9becedf3ac971b02160502c2384f9c3018a",
      "parents": [
        "8ab2b7efd3e2ccf2c2dda3206b8171ecdbd0af40"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 21 22:59:12 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 29 22:52:58 2011 -0400"
      },
      "message": "ftrace: Remove failures file\n\nThe failures file in the debugfs tracing directory would list the\nfunctions that failed to convert when the old dead ftrace daemon\ntried to update code but failed. Since this code is now dead along\nwith the daemon the failures file is useless. Remove it.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8ab2b7efd3e2ccf2c2dda3206b8171ecdbd0af40",
      "tree": "69b3bbcdbbe7deecf3910ee28ee62e07c004a2ea",
      "parents": [
        "0778d9ad33898faab7bf6316108b471790376e35"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 21 22:41:35 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 29 22:52:55 2011 -0400"
      },
      "message": "ftrace: Remove unnecessary disabling of irqs\n\nThe disabling of interrupts around ftrace_update_code() was used\nto protect against the evil ftrace daemon from years past. But that\ndaemon has long been killed. It is safe to keep interrupts enabled\nwhile updating the initial mcount into nops.\n\nThe ftrace_mutex is also held which keeps other users at bay.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0778d9ad33898faab7bf6316108b471790376e35",
      "tree": "c096fedf744e114a01acac52930f2bc8a741e863",
      "parents": [
        "32673822e440eb92eb334631eb0a199d0c532d13"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 29 10:36:31 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 29 22:52:52 2011 -0400"
      },
      "message": "ftrace: Make FTRACE_WARN_ON() work in if condition\n\nLet FTRACE_WARN_ON() be used as a stand alone statement or\ninside a conditional: if (FTRACE_WARN_ON(x))\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "058e297d34a404caaa5ed277de15698d8dc43000",
      "tree": "0a4cfa547a4cf466f8c746978ff5fe464cbe88ab",
      "parents": [
        "2bce5daca28346f19c190dbdb5542c9fe3e8c6e6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 29 22:35:33 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 29 22:42:59 2011 -0400"
      },
      "message": "ftrace: Only update the function code on write to filter files\n\nIf function tracing is enabled, a read of the filter files will\ncause the call to stop_machine to update the function trace sites.\nIt should only call stop_machine on write.\n\nCc: stable@kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "32673822e440eb92eb334631eb0a199d0c532d13",
      "tree": "c1e55c1793fa17937d9b8e0a9a2946583f1948d5",
      "parents": [
        "fa7b69475a6c192853949ba496dd9c37b497b548",
        "5373db886b791b2bc7811e2c115377916c409a5d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 10:38:30 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 10:40:21 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n\nConflicts:\n\tinclude/linux/perf_event.h\n\nMerge reason: pick up the latest jump-label enhancements, they are cooked ready.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c8a7213278324f381cbcbf51510711ed745d8e6",
      "tree": "1b83e24917d58dcf4af6d6b4d8c26ce012cff43c",
      "parents": [
        "ec75a71634dabe439db91c1ef51d5099f4493808",
        "d20ac252821ab9780ddf00b95629547d3cebc857"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 10:31:29 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 10:31:29 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "686c4cbb10fc0e75b29b097290b4f7fc3f010b9e",
      "tree": "3361f14eee716d5512a0c423ec89631a5b976ef4",
      "parents": [
        "b07ad9967f40b164af77205027352ba53729cf5a",
        "19234c0819da0e043a02710488dfd9b242b42eba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 23 22:35:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 23 22:35:16 2011 -0700"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Add missing syscore_suspend() and syscore_resume() calls\n  PM: Fix error code paths executed after failing syscore_suspend()\n"
    },
    {
      "commit": "d20ac252821ab9780ddf00b95629547d3cebc857",
      "tree": "bfa57e921857575fea57e696b7d1da7ef66234ba",
      "parents": [
        "855357a21744e488cbee23a47d2b124035160a87"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Mon Apr 04 11:20:12 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 21 09:06:24 2011 -0400"
      },
      "message": "ftrace: Build without frame pointers on Microblaze\n\nMicroblaze doesn\u0027t need/support FRAME_POINTERS in order to have a working\nfunction tracer.\n\nThe patch remove Kconfig warning.\n\nWarning log:\nwarning: (LOCKDEP \u0026\u0026 FAULT_INJECTION_STACKTRACE_FILTER \u0026\u0026 LATENCYTOP \u0026\u0026\nFUNCTION_TRACER \u0026\u0026 KMEMCHECK) selects FRAME_POINTER which has unmet direct\ndependencies (DEBUG_KERNEL \u0026\u0026 (CRIS || M68K || FRV || UML || AVR32 ||\nSUPERH || BLACKFIN || MN10300) || ARCH_WANT_FRAME_POINTERS)\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nLink: http://lkml.kernel.org/r/1301908812-8119-2-git-send-email-monstr@monstr.eu\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCC: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "19234c0819da0e043a02710488dfd9b242b42eba",
      "tree": "c55331dd010e5fe257e001261f1a31f53f62dff4",
      "parents": [
        "2ca6f62f595c01f689b269db6736de5544da7667"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Apr 20 00:36:11 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Apr 20 00:36:11 2011 +0200"
      },
      "message": "PM: Add missing syscore_suspend() and syscore_resume() calls\n\nDevice suspend/resume infrastructure is used not only by the suspend\nand hibernate code in kernel/power, but also by APM, Xen and the\nkexec jump feature.  However, commit 40dc166cb5dddbd36aa4ad11c03915ea\n(PM / Core: Introduce struct syscore_ops for core subsystems PM)\nfailed to add syscore_suspend() and syscore_resume() calls to that\ncode, which generally leads to breakage when the features in question\nare used.\n\nTo fix this problem, add the missing syscore_suspend() and\nsyscore_resume() calls to arch/x86/kernel/apm_32.c, kernel/kexec.c\nand drivers/xen/manage.c.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\n"
    },
    {
      "commit": "4ae0ff16efeffe7d06726fd3022cdb2f3e9e6892",
      "tree": "005e974503185dd221b91299084f6595b5ba60e9",
      "parents": [
        "96ad9999185363a1520434bdc6a775bbb27621f1",
        "2dd93c4f47d506c586b827d75646a4257aafa43e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 19 10:56:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 19 10:56:46 2011 -0700"
      },
      "message": "Merge branch \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: rtc-omap: Fix a leak of the IRQ during init failure\n  posix clocks: Replace mutex with reader/writer semaphore\n"
    },
    {
      "commit": "2ca6f62f595c01f689b269db6736de5544da7667",
      "tree": "bfc4b2225ea1df64542c92dd8336420515072faa",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 18 23:58:59 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 18 23:58:59 2011 +0200"
      },
      "message": "PM: Fix error code paths executed after failing syscore_suspend()\n\nIf syscore_suspend() fails in suspend_enter(), create_image() or\nresume_target_kernel(), it is necessary to call sysdev_resume(),\nbecause sysdev_suspend() has been called already and succeeded\nand we are going to abort the transition.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c78193e9c7bcbf25b8237ad0dec82f805c4ea69b",
      "tree": "1d0c3c90770acb003af06d727b794eb002d58ec7",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:35:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:35:30 2011 -0700"
      },
      "message": "next_pidmap: fix overflow condition\n\nnext_pidmap() just quietly accepted whatever \u0027last\u0027 pid that was passed\nin, which is not all that safe when one of the users is /proc.\n\nAdmittedly the proc code should do some sanity checking on the range\n(and that will be the next commit), but that doesn\u0027t mean that the\nhelper functions should just do that pidmap pointer arithmetic without\nchecking the range of its arguments.\n\nSo clamp \u0027last\u0027 to PID_MAX_LIMIT.  The fact that we then do \"last+1\"\ndoesn\u0027t really matter, the for-loop does check against the end of the\npidmap array properly (it\u0027s only the actual pointer arithmetic overflow\ncase we need to worry about, and going one bit beyond isn\u0027t going to\noverflow).\n\n[ Use PID_MAX_LIMIT rather than pid_max as per Eric Biederman ]\n\nReported-by: Tavis Ormandy \u003ctaviso@cmpxchg8b.com\u003e\nAnalyzed-by: Robert Święcki \u003crobert@swiecki.net\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1791f881435fab951939ad700e947b66c062e083",
      "tree": "53739cfe3847e425b9bb64f22bc7526da26a9a0c",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Wed Mar 30 15:24:21 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 18 10:39:38 2011 +0200"
      },
      "message": "posix clocks: Replace mutex with reader/writer semaphore\n\nA dynamic posix clock is protected from asynchronous removal by a mutex.\nHowever, using a mutex has the unwanted effect that a long running clock\noperation in one process will unnecessarily block other processes.\n\nFor example, one process might call read() to get an external time stamp\ncoming in at one pulse per second. A second process calling clock_gettime\nwould have to wait for almost a whole second.\n\nThis patch fixes the issue by using a reader/writer semaphore instead of\na mutex.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLink: http://lkml.kernel.org/r/%3C20110330132421.GA31771%40riccoc20.at.omicron.at%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d733ed6c34be3aef0517a04e4103eed6b369ec50",
      "tree": "b49723304c48c2f877b9cb284a4b39361934c670",
      "parents": [
        "08150c533c57981054324b9e87dbf686006d890f",
        "49cac01e1fa74174d72adb0e872504a7fefd7c01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 10:33:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 10:33:41 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: make unplug timer trace event correspond to the schedule() unplug\n  block: let io_schedule() flush the plug inline\n"
    },
    {
      "commit": "fdfc552abe2c465ab91b84fb65f36d86c6737ab4",
      "tree": "8c581c34fcf7e462783b9ce404901ee8ad4a6490",
      "parents": [
        "0ebc115da3ed67409792eb8de46361a5c673f072",
        "0cd9c6494ee5c19aef085152bc37f3a4e774a9e1",
        "e566b76ed30768140df8f0023904aed5a41244f7",
        "b30aef17f71cf9e24b10c11cbb5e5f0ebe8a85ab",
        "92f73a62a100d2068e8f327e573da01529184c18",
        "5bbc097d890409d8eff4e3f1d26f11a9d6b7c07e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 09:45:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 09:45:08 2011 -0700"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027perf-fixes-for-linus\u0027, \u0027sched-fixes-for-linus\u0027, \u0027timer-fixes-for-linus\u0027 and \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_event: Fix cgrp event scheduling bug in perf_enable_on_exec()\n  perf: Fix a build error with some GCC versions\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix erroneous all_pinned logic\n  sched: Fix sched-domain avg_load calculation\n\n* \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: rtc-mrst: follow on to the change of rtc_device_register()\n  RTC: add missing \"return 0\" in new alarm func for rtc-bfin.c\n  RTC: Fix s3c compile error due to missing s3c_rtc_setpie\n  RTC: Fix early irqs caused by calling rtc_set_alarm too early\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, amd: Disable GartTlbWlkErr when BIOS forgets it\n  x86, NUMA: Fix fakenuma boot failure\n  x86/mrst: Fix boot crash caused by incorrect pin to irq mapping\n  x86/ce4100: Add reg property to bridges\n"
    },
    {
      "commit": "49cac01e1fa74174d72adb0e872504a7fefd7c01",
      "tree": "a1ab1974eceea3179a604413955ad8369ba715d7",
      "parents": [
        "a237c1c5bc5dc5c76a21be922dca4826f3eca8ca"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:51:05 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:51:05 2011 +0200"
      },
      "message": "block: make unplug timer trace event correspond to the schedule() unplug\n\nIt\u0027s a pretty close match to what we had before - the timer triggering\nwould mean that nobody unplugged the plug in due time, in the new\nscheme this matches very closely what the schedule() unplug now is.\nIt\u0027s essentially the difference between an explicit unplug (IO unplug)\nor an implicit unplug (timer unplug, we scheduled with pending IO\nqueued).\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "a237c1c5bc5dc5c76a21be922dca4826f3eca8ca",
      "tree": "a216c9a6d9e870b84424938e9e0b4722dc8634cd",
      "parents": [
        "5853b4f06f7b9b56f37f457d7923f7b96496074e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:27:55 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:27:55 2011 +0200"
      },
      "message": "block: let io_schedule() flush the plug inline\n\nLinus correctly observes that the most important dispatch cases\nare now done from kblockd, this isn\u0027t ideal for latency reasons.\nThe original reason for switching dispatches out-of-line was to\navoid too deep a stack, so by _only_ letting the \"accidental\"\nflush directly in schedule() be guarded by offload to kblockd,\nwe should be able to get the best of both worlds.\n\nSo add a blk_schedule_flush_plug() that offloads to kblockd,\nand only use that from the schedule() path.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5853b4f06f7b9b56f37f457d7923f7b96496074e",
      "tree": "8cf850e91b26af25071f00055fa89fb924796de6",
      "parents": [
        "a970f5d513163a305d46f330d0a7d2dd4c4506f1",
        "f6603783f9f099bf7a83b3f6c689bbbf74f0e96e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 08:01:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 08:01:13 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: only force kblockd unplugging from the schedule() path\n  block: cleanup the block plug helper functions\n  block, blk-sysfs: Use the variable directly instead of a function call\n  block: move queue run on unplug to kblockd\n  block: kill queue_sync_plugs()\n  block: readd plug trace event\n  block: add callback function for unplug notification\n  block: add comment on why we save and disable interrupts in flush_plug_list()\n  block: fixup block IO unplug trace call\n  block: remove block_unplug_timer() trace point\n  block: splice plug list to local context\n"
    },
    {
      "commit": "0cd9c6494ee5c19aef085152bc37f3a4e774a9e1",
      "tree": "5d24e41c96d4d80e92213520dd98d05695bc0c03",
      "parents": [
        "a6360dd37e1a144ed11e6548371bade559a1e4df"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhart@linux.intel.com",
        "time": "Thu Apr 14 15:41:57 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 15 16:34:32 2011 +0200"
      },
      "message": "futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup\n\nThe FLAGS_HAS_TIMEOUT flag was not getting set, causing the restart_block to\nrestart futex_wait() without a timeout after a signal.\n\nCommit b41277dc7a18ee332d in 2.6.38 introduced the regression by accidentally\nremoving the the FLAGS_HAS_TIMEOUT assignment from futex_wait() during the setup\nof the restart block. Restore the originaly behavior.\n\nFixes: https://bugzilla.kernel.org/show_bug.cgi?id\u003d32922\n\nReported-by: Tim Smith \u003ctsmith201104@yahoo.com\u003e\nReported-by: Torsten Hilbrich \u003ctorsten.hilbrich@secunet.com\u003e\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/%3Cdaac0eb3af607f72b9a4d3126b2ba8fb5ed3b883.1302820917.git.dvhart%40linux.intel.com%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6631e635c65dc33cb798cc2f51d0ddd69ada6319",
      "tree": "c71585118b3ddd42b1bf666fef9f96e60b79f757",
      "parents": [
        "a626ca6a656450e9f4df91d0dda238fff23285f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 13 08:08:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 13 08:08:20 2011 -0700"
      },
      "message": "block: don\u0027t flush plugged IO on forced preemtion scheduling\n\nWe really only want to unplug the pending IO when the process actually\ngoes to sleep.  So move the test for flushing the plug up to the place\nwhere we actually deactivate the task - where we have properly checked\nfor preemption and for the process really sleeping.\n\nAcked-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94b5eb28b41cc79d9713696e0005ae167b5afd1b",
      "tree": "404680c86a360bfe623b5a287ee87dd5263b5a8e",
      "parents": [
        "d9c97833179036408e53ef5f3f5c7eaf781769bc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:12:19 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:12:19 2011 +0200"
      },
      "message": "block: fixup block IO unplug trace call\n\nIt was removed with the on-stack plugging, readd it and track the\ndepth of requests added when flushing the plug.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d9c97833179036408e53ef5f3f5c7eaf781769bc",
      "tree": "3c0a6d7942f61fcdbeb029664400c3a9b7d65494",
      "parents": [
        "109b81296c63228578d4760794d8dd46e02eddfb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:06:33 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:06:33 2011 +0200"
      },
      "message": "block: remove block_unplug_timer() trace point\n\nWe no longer have an unplug timer running, so no point in keeping\nthe trace point.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d419e4c0f7584ffc5c72d9aeeaac485cc756ebcf",
      "tree": "6ba462ef5bf4ecc3abed7f1459199259e00c6ab4",
      "parents": [
        "1f112cee07b314e244ee9e71d9c1e6950dc13327"
      ],
      "author": {
        "name": "Shriram Rajagopalan",
        "email": "rshriram@cs.ubc.ca",
        "time": "Mon Apr 11 22:54:48 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:48 2011 +0200"
      },
      "message": "fix XEN_SAVE_RESTORE Kconfig dependencies\n\nMake XEN_SAVE_RESTORE select HIBERNATE_CALLBACKS.\nRemove XEN_SAVE_RESTORE dependency from PM_SLEEP.\n\nSigned-off-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\nAcked-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1f112cee07b314e244ee9e71d9c1e6950dc13327",
      "tree": "e089e646c78701e37b4ebe00db36082e47cab2d5",
      "parents": [
        "b42282e5a05018ecdc0d63a4ad530b0999785912"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "message": "PM / Hibernate: Introduce CONFIG_HIBERNATE_CALLBACKS\n\nXen save/restore is going to use hibernate device callbacks for\nquiescing devices and putting them back to normal operations and it\nwould need to select CONFIG_HIBERNATION for this purpose.  However,\nthat also would cause the hibernate interfaces for user space to be\nenabled, which might confuse user space, because the Xen kernels\ndon\u0027t support hibernation.  Moreover, it would be wasteful, as it\nwould make the Xen kernels include a substantial amount of code that\nthey would never use.\n\nTo address this issue introduce new power management Kconfig option\nCONFIG_HIBERNATE_CALLBACKS, such that it will only select the code\nthat is necessary for the hibernate device callbacks to work and make\nCONFIG_HIBERNATION select it.  Then, Xen save/restore will be able to\nselect CONFIG_HIBERNATE_CALLBACKS without dragging the entire\nhibernate code along with it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\n"
    },
    {
      "commit": "b30aef17f71cf9e24b10c11cbb5e5f0ebe8a85ab",
      "tree": "0e5e0e0d1d93edf934f58b116ee0c4e81db01e72",
      "parents": [
        "b0432d8f162c7d5d9537b4cb749d44076b76a783"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Fri Apr 08 12:20:16 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 11:08:54 2011 +0200"
      },
      "message": "sched: Fix erroneous all_pinned logic\n\nThe scheduler load balancer has specific code to deal with cases of\nunbalanced system due to lots of unmovable tasks (for example because of\nhard CPU affinity). In those situation, it excludes the busiest CPU that\nhas pinned tasks for load balance consideration such that it can perform\nsecond 2nd load balance pass on the rest of the system.\n\nThis all works as designed if there is only one cgroup in the system.\n\nHowever, when we have multiple cgroups, this logic has false positives and\ntriggers multiple load balance passes despite there are actually no pinned\ntasks at all.\n\nThe reason it has false positives is that the all pinned logic is deep in\nthe lowest function of can_migrate_task() and is too low level:\n\nload_balance_fair() iterates each task group and calls balance_tasks() to\nmigrate target load. Along the way, balance_tasks() will also set a\nall_pinned variable. Given that task-groups are iterated, this all_pinned\nvariable is essentially the status of last group in the scanning process.\nTask group can have number of reasons that no load being migrated, none\ndue to cpu affinity. However, this status bit is being propagated back up\nto the higher level load_balance(), which incorrectly think that no tasks\nwere moved.  It kick off the all pinned logic and start multiple passes\nattempt to move load onto puller CPU.\n\nTo fix this, move the all_pinned aggregation up at the iterator level.\nThis ensures that the status is aggregated over all task-groups, not just\nlast one in the list.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/BANLkTi\u003dernzNawaR5tJZEsV_QVnfxqXmsQ@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0432d8f162c7d5d9537b4cb749d44076b76a783",
      "tree": "98b94ec55f6d18935aedbc9ab898705ad252b939",
      "parents": [
        "4263a2f1dad8c8e7ce2352a0cbc882c2b0c044a9"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Thu Apr 07 17:23:22 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 11:08:54 2011 +0200"
      },
      "message": "sched: Fix sched-domain avg_load calculation\n\nIn function find_busiest_group(), the sched-domain avg_load isn\u0027t\ncalculated at all if there is a group imbalance within the domain. This\nwill cause erroneous imbalance calculation.\n\nThe reason is that calculate_imbalance() sees sds-\u003eavg_load \u003d 0 and it\nwill dump entire sds-\u003emax_load into imbalance variable, which is used\nlater on to migrate entire load from busiest CPU to the puller CPU.\n\nThis has two really bad effect:\n\n1. stampede of task migration, and they won\u0027t be able to break out\n   of the bad state because of positive feedback loop: large load\n   delta -\u003e heavier load migration -\u003e larger imbalance and the cycle\n   goes on.\n\n2. severe imbalance in CPU queue depth.  This causes really long\n   scheduling latency blip which affects badly on application that\n   has tight latency requirement.\n\nThe fix is to have kernel calculate domain avg_load in both cases. This\nwill ensure that imbalance calculation is always sensible and the target\nis usually half way between busiest and puller CPU.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20110408002322.3A0D812217F@elm.corp.google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e566b76ed30768140df8f0023904aed5a41244f7",
      "tree": "5d8fa756453cb6f60554c6c253a3cf2a01945628",
      "parents": [
        "621d26567fd0c222f419e3b5ddf39e529e0fdcb3"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Wed Apr 06 02:54:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 11:07:55 2011 +0200"
      },
      "message": "perf_event: Fix cgrp event scheduling bug in perf_enable_on_exec()\n\nThere is a bug in perf_event_enable_on_exec() when cgroup events are\nactive on a CPU: the cgroup events may be scheduled twice causing event\nstate corruptions which eventually may lead to kernel panics.\n\nThe reason is that the function needs to first schedule out the cgroup\nevents, just like for the per-thread events. The cgroup event are\nscheduled back in automatically from the perf_event_context_sched_in()\nfunction.\n\nThe patch also adds a WARN_ON_ONCE() is perf_cgroup_switch() to catch any\nbogus state.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110406005454.GA1062@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9fa0bc1fabe1d861e46d80ecbe7e85da359195c",
      "tree": "7d90bcd4b78f22a72ea4d3102b8e2714b78d1e43",
      "parents": [
        "bb3c90f0de7b34995b5e35cf5dc97a3d428b3761"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Apr 08 10:53:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 11:05:24 2011 -0700"
      },
      "message": "signal.c: fix erroneous syscall kernel-doc\n\nFix erroneous syscall kernel-doc comments in kernel/signal.c.\n\nReported-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b9686ff4ddfdf45662024edd567920e6db87beb",
      "tree": "1d7e1d735121ea3c44ab72a24506151e4e88a36e",
      "parents": [
        "df9b29d13e043e134e65b9f66b68fa7eae5db8f0",
        "f994d99cf140dbb637e49882891c89b3fd84becd",
        "49c022e657fbe661460d191fbe776a387132e2b3",
        "09552b2696896dbb715be0caf91b23276f9139ba",
        "4f5058c3b71ed5930bb2b478c4d5dbc799dd9ad1",
        "f64fac86f9cd375743ed34385efc8a7732fa8e7b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 12:12:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 12:12:58 2011 -0700"
      },
      "message": "Merge branches \u0027x86-fixes-for-linus\u0027, \u0027sched-fixes-for-linus\u0027, \u0027timers-fixes-for-linus\u0027, \u0027irq-fixes-for-linus\u0027 and \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-32, fpu: Fix FPU exception handling on non-SSE systems\n  x86, hibernate: Initialize mmu_cr4_features during boot\n  x86-32, NUMA: Fix ACPI NUMA init broken by recent x86-64 change\n  x86: visws: Fixup irq overhaul fallout\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Clean up rebalance_domains() load-balance interval calculation\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86/mrst/vrtc: Fix boot crash in mrst_rtc_init()\n  rtc, x86/mrst/vrtc: Fix boot crash in rtc_read_alarm()\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix cpumask leak in __setup_irq()\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf probe: Fix listing incorrect line number with inline function\n  perf probe: Fix to find recursively inlined function\n  perf probe: Fix multiple --vars options behavior\n  perf probe: Fix to remove redundant close\n  perf probe: Fix to ensure function declared file\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "49c022e657fbe661460d191fbe776a387132e2b3",
      "tree": "487b713816a5ff3d81437aeecf111ffa414f6ede",
      "parents": [
        "b2a8b4b81966094703088a7bc76a313af841924d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 10:14:25 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 05 10:29:36 2011 +0200"
      },
      "message": "sched: Clean up rebalance_domains() load-balance interval calculation\n\nInstead of the possible multiple-evaluation of num_online_cpus()\nin rebalance_domains() that Linus reported, avoid it altogether\nin the normal case since it\u0027s implemented with a Hamming weight\nfunction over a cpu bitmask which can be darn expensive for those\nwith big iron.\n\nThis also makes it cleaner, smaller and documents the code.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1301991265.2225.12.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41c57892a2895865afc89ff1a21f91a0f1506f66",
      "tree": "ca637f0e7f4ec93b9c6f58c5868c27305a58da43",
      "parents": [
        "5aba085ededa6c5a1ff465e2aebc3e8eb00a7567"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Apr 04 15:00:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 17:51:46 2011 -0700"
      },
      "message": "kernel/signal.c: add kernel-doc notation to syscalls\n\nAdd kernel-doc to syscalls in signal.c.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5aba085ededa6c5a1ff465e2aebc3e8eb00a7567",
      "tree": "61037c7906bc6334823bc75d1fa0b990aeadcea3",
      "parents": [
        "21b86bd5a838ee882d36d354185e29650b0757dd"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Apr 04 14:59:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 17:51:46 2011 -0700"
      },
      "message": "kernel/signal.c: fix typos and coding style\n\nGeneral coding style and comment fixes; no code changes:\n\n - Use multi-line-comment coding style.\n - Put some function signatures completely on one line.\n - Hyphenate some words.\n - Spell Posix as POSIX.\n - Correct typos \u0026 spellos in some comments.\n - Drop trailing whitespace.\n - End sentences with periods.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d430d3d7e646eb1eac2bb4aa244a644312e67c76",
      "tree": "0f52534f54d89e41042536ff2f1b2ce74c45c033",
      "parents": [
        "ee5e51f51be755830f57445e268ba50e88ccbdbb"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Wed Mar 16 17:29:47 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 04 12:48:08 2011 -0400"
      },
      "message": "jump label: Introduce static_branch() interface\n\nIntroduce:\n\nstatic __always_inline bool static_branch(struct jump_label_key *key);\n\ninstead of the old JUMP_LABEL(key, label) macro.\n\nIn this way, jump labels become really easy to use:\n\nDefine:\n\n        struct jump_label_key jump_key;\n\nCan be used as:\n\n        if (static_branch(\u0026jump_key))\n                do unlikely code\n\nenable/disale via:\n\n        jump_label_inc(\u0026jump_key);\n        jump_label_dec(\u0026jump_key);\n\nthat\u0027s it!\n\nFor the jump labels disabled case, the static_branch() becomes an\natomic_read(), and jump_label_inc()/dec() are simply atomic_inc(),\natomic_dec() operations. We show testing results for this change below.\n\nThanks to H. Peter Anvin for suggesting the \u0027static_branch()\u0027 construct.\n\nSince we now require a \u0027struct jump_label_key *key\u0027, we can store a pointer into\nthe jump table addresses. In this way, we can enable/disable jump labels, in\nbasically constant time. This change allows us to completely remove the previous\nhashtable scheme. Thanks to Peter Zijlstra for this re-write.\n\nTesting:\n\nI ran a series of \u0027tbench 20\u0027 runs 5 times (with reboots) for 3\nconfigurations, where tracepoints were disabled.\n\njump label configured in\navg: 815.6\n\njump label *not* configured in (using atomic reads)\navg: 800.1\n\njump label *not* configured in (regular reads)\navg: 803.4\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110316212947.GA8792@redhat.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSuggested-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nTested-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ee5e51f51be755830f57445e268ba50e88ccbdbb",
      "tree": "059d6c5843275a5ab94ae01408c1dc6dbe00b2ea",
      "parents": [
        "1813dc3776c22ad4b0294a6df8434b9a02c98109"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Mar 25 12:05:18 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 04 12:18:24 2011 -0400"
      },
      "message": "tracing: Avoid soft lockup in trace_pipe\n\nrunning following commands:\n\n  # enable the binary option\n  echo 1 \u003e ./options/bin\n  # disable context info option\n  echo 0 \u003e ./options/context-info\n  # tracing only events\n  echo 1 \u003e ./events/enable\n  cat trace_pipe\n\nplus forcing system to generate many tracing events,\nis causing lockup (in NON preemptive kernels) inside\ntracing_read_pipe function.\n\nThe issue is also easily reproduced by running ltp stress test.\n(ftrace_stress_test.sh)\n\nThe reasons are:\n - bin/hex/raw output functions for events are set to\n   trace_nop_print function, which prints nothing and\n   returns TRACE_TYPE_HANDLED value\n - LOST EVENT trace do not handle trace_seq overflow\n\nThese reasons force the while loop in tracing_read_pipe\nfunction never to break.\n\nThe attached patch fixies handling of lost event trace, and\nchanges trace_nop_print to print minimal info, which is needed\nfor the correct tracing_read_pipe processing.\n\nv2 changes:\n - omit the cond_resched changes by trace_nop_print changes\n - WARN changed to WARN_ONCE and added info to be able\n   to find out the culprit\n\nv3 changes:\n - make more accurate patch comment\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c20110325110518.GC1922@jolsa.brq.redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1813dc3776c22ad4b0294a6df8434b9a02c98109",
      "tree": "b768010ffd8986d2e1df11a067aa8c47c7a0ae62",
      "parents": [
        "0588fa30db44fd2d4032b36a061c87478a43fbee"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 21 23:36:31 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 04 12:18:24 2011 -0400"
      },
      "message": "tracing: Print trace_bprintk() formats for modules too\n\nThe file debugfs/tracing/printk_formats maps the addresses\nto the formats that are used by trace_bprintk() so that userspace\ntools can read the buffer and be able to decode trace_bprintk events\nto get the format saved when reading the ring buffer directly.\n\nThis is because trace_bprintk() does not store the format into the\nbuffer, but just the address of the format, which is hidden in\nthe kernel memory.\n\nBut currently it only exports trace_bprintk()s from the kernel core\nand not for modules. The modules need their formats exported\nas well.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0588fa30db44fd2d4032b36a061c87478a43fbee",
      "tree": "2c58392c0c3bd24ae2831189aea2586de754c8f1",
      "parents": [
        "176fcc5c5f0131504a55e1e1d35389c49a9177c2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 21 22:59:21 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 04 12:18:24 2011 -0400"
      },
      "message": "tracing: Convert trace_printk() formats for module to const char *\n\nThe trace_printk() formats for modules do not show up in the\ndebugfs/tracing/printk_formats file. Only the formats that are\nfor trace_printk()s that are in the kernel core.\n\nTo facilitate the change to add trace_printk() formats from modules\ninto that file as well, we need to convert the structure that\nholds the formats from char fmt[], into const char *fmt,\nand allocate them separately.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "148086bb64694cc91624bab2a550d50f800eb4b7",
      "tree": "77e208ccee6fc97c608f6d827e2605345bf3b20d",
      "parents": [
        "4da7e90e653d67dfd405868246d316b04852e2d5",
        "3436ae1298cb22d722a6520fc97f112dd767a9e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:58 2011 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix rebalance interval calculation\n  sched, doc: Beef up load balancing description\n  sched: Leave sched_setscheduler() earlier if possible, do not disturb SCHED_FIFO tasks\n"
    },
    {
      "commit": "4da7e90e653d67dfd405868246d316b04852e2d5",
      "tree": "735707a0b9f0c212776717ec8bc95735ff6a1d01",
      "parents": [
        "fb9a7d76da108d120efb2258ea83b18dbbb2ecdd",
        "fd1edb3aa2c1d92618d8f0c6d15d44ea41fcac6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:40 2011 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Fix task_struct reference leak\n  perf: Fix task context scheduling\n  perf: mmap 512 kiB by default\n  perf: Rebase max unprivileged mlock threshold on top of page size\n  perf tools: Fix NO_NEWT\u003d1 python build error\n  perf symbols: Properly align symbol_conf.priv_size\n  perf tools: Emit clearer message for sys_perf_event_open ENOENT return\n  perf tools: Fixup exit path when not able to open events\n  perf symbols: Fix vsyscall symbol lookup\n  oprofile, x86: Allow setting EDGE/INV/CMASK for counter events\n"
    },
    {
      "commit": "4352d9d44b935e4d000be6ec89ddb55c2bf35f24",
      "tree": "26b9d37f5a41b4c01d800a444ad230eafb48e47a",
      "parents": [
        "b3b896c73b4b04b506816a09994192e3a54f0fef"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Mon Apr 04 08:31:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:31:23 2011 -0700"
      },
      "message": "ntp: fix non privileged system time shifting\n\nThe ADJ_SETOFFSET bit added in commit 094aa188 (\"ntp: Add ADJ_SETOFFSET\nmode bit\") also introduced a way for any user to change the system time.\nSneaky or buggy calls to adjtimex() could set\n\n    ADJ_OFFSET_SS_READ | ADJ_SETOFFSET\n\nwhich would result in a successful call to timekeeping_inject_offset().\nThis patch fixes the issue by adding the capability check.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f5058c3b71ed5930bb2b478c4d5dbc799dd9ad1",
      "tree": "5c756cbcd329d62fb95744185b54c952eed903df",
      "parents": [
        "78fca1b95837a44983608302e89c7258981be9b3"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Sat Apr 02 19:39:35 2011 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 02 21:26:20 2011 +0200"
      },
      "message": "genirq: Fix cpumask leak in __setup_irq()\n\nThe allocated cpumask should be freed in __setup_irq().\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nLKML-Reference: \u003c1301744375-6812-1-git-send-email-dfeng@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c0bb9e45f3a7f67fc358946727bc3d5f23d0f55d",
      "tree": "55b320cd26722eb6e201110b4aceddfa15983722",
      "parents": [
        "76d479a7caff58b1e5f31d80805f7f65f9177696"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Aug 25 10:22:58 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Apr 01 16:14:30 2011 +1100"
      },
      "message": "kdump: Allow shrinking of kdump region to be overridden\n\nOn ppc64 the crashkernel region almost always overlaps an area of firmware.\nThis works fine except when using the sysfs interface to reduce the kdump\nregion. If we free the firmware area we are guaranteed to crash.\n\nRename free_reserved_phys_range to crash_free_reserved_phys_range and make\nit a weak function so we can override it.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "fd1edb3aa2c1d92618d8f0c6d15d44ea41fcac6a",
      "tree": "ae456f2e42966042790809d7590c31736aa05557",
      "parents": [
        "ab711fe08297de1485fff0a366e6db8828cafd6a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 28 13:13:56 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:02:56 2011 +0200"
      },
      "message": "perf: Fix task_struct reference leak\n\nsys_perf_event_open() had an imbalance in the number of task refs it\ntook causing memory leakage\n\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: stable@kernel.org # .37+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "20443384fe090c5f8aeb016e7e85659c5bbdd69f",
      "tree": "c023e471d96f1c7d5e344f4b6ae7bfb8db0e1937",
      "parents": [
        "652d78fd7a9ebd881290d6bbbc85925c06b907b4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 31 03:33:29 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:02:54 2011 +0200"
      },
      "message": "perf: Rebase max unprivileged mlock threshold on top of page size\n\nEnsure we allow 512 kiB + 1 page for user control without\nassuming a 4096 bytes page size.\n\nReported-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1301535209-9679-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3436ae1298cb22d722a6520fc97f112dd767a9e1",
      "tree": "ba05a2b0a80157f9eb19e34b0ac54b9dd279600b",
      "parents": [
        "e2495b577324938f0209b4f895c5f205c7e47854"
      ],
      "author": {
        "name": "Sisir Koppaka",
        "email": "sisir.koppaka@gmail.com",
        "time": "Sat Mar 26 18:22:55 2011 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:00:37 2011 +0200"
      },
      "message": "sched: Fix rebalance interval calculation\n\nThe interval for checking scheduling domains if they are due to be\nbalanced currently depends on boot state NR_CPUS, which may not\naccurately reflect the number of online CPUs at the time of check.\n\nThus replace NR_CPUS with num_online_cpus().\n\n (ed: Should only affect those who set NR_CPUS really high, such as 4096\n      or so :-)\n\nSigned-off-by: Sisir Koppaka \u003csisir.koppaka@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cAANLkTikqHWid2Q93F5U5Qw5snJH8C5PXoa7J6\u003d6hYO94@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a51e91981870d013fcfcc08b0117997edbcbc7a7",
      "tree": "6e673d3b27f6150dd2723d773a8704657e5bb261",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Dario Faggioli",
        "email": "raistlin@linux.it",
        "time": "Thu Mar 24 14:00:18 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:00:34 2011 +0200"
      },
      "message": "sched: Leave sched_setscheduler() earlier if possible, do not disturb SCHED_FIFO tasks\n\nsched_setscheduler() (in sched.c) is called in order of changing the\nscheduling policy and/or the real-time priority of a task. Thus,\nif we find out that neither of those are actually being modified, it\nis possible to return earlier and save the overhead of a full\ndeactivate+activate cycle of the task in question.\n\nBeside that, if we have more than one SCHED_FIFO task with the same\npriority on the same rq (which means they share the same priority queue)\nhaving one of them changing its position in the priority queue because of\na sched_setscheduler (as it happens by means of the deactivate+activate)\nthat does not actually change the priority violates POSIX which states,\nfor SCHED_FIFO:\n\n  \"If a thread whose policy or priority has been modified by\n   pthread_setschedprio() is a running thread or is runnable, the effect on\n   its position in the thread list depends on the direction of the\n   modification, as follows: a. \u003c...\u003e b. If the priority is unchanged, the\n   thread does not change position in the thread list. c. \u003c...\u003e\"\n\n     http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_08.html\n\n (ed: And the POSIX specification here does, briefly and somewhat unexpectedly,\n      match what common sense tells us as well. )\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1300971618.3960.82.camel@Palantir\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "78c89825649a9a5ed526c507603196f467d781a5",
      "tree": "eb2485baf085f7a6820c6b9030dfa3d733591aa3",
      "parents": [
        "e282326600f31ab38d8814fd6deb277a48850c35"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 30 14:13:23 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 30 14:13:23 2011 +0200"
      },
      "message": "genirq: Remove the now obsolete config options and select statements\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "353c8ed44f8f7414be614685ed29d1e23f5fa76b",
      "tree": "215ed76c15b6d95f7444fc845635253628dc33ba",
      "parents": [
        "0ce790e7d736cedc563e1fb4e998babf5a4dbc3d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 22:18:28 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 22:24:05 2011 +0200"
      },
      "message": "genirq: Fix misnamed label in handle_edge_eoi_irq\n\nReported-by: michael@ellerman.id.au\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: linuxppc-dev@lists.ozlabs.org\n"
    },
    {
      "commit": "851d7cf647e0d31668eb5dc496f7698a2f6136b4",
      "tree": "15a292814827ef43cbfa6d28e41c7058bf71ebf7",
      "parents": [
        "0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 02:51:13 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:50:32 2011 +0200"
      },
      "message": "genirq: Remove move_*irq leftovers\n\nAll users converted to new interface.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1",
      "tree": "b4b0cb4b619368bc93ff883f4b667e05a185549b",
      "parents": [
        "dced35aeb0367dda2636ee9ee914bda14510dcc9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 13:32:20 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:48:19 2011 +0200"
      },
      "message": "genirq: Remove compat code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a6e120ed42004d6051fff7c3233e2554f12ccecb",
      "tree": "dd0210b2f78a5fca1b24fe8211d5dbaac9434a6b",
      "parents": [
        "a9eb076b21425929ce543978db03265d9db210de"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 25 22:20:51 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:47:58 2011 +0200"
      },
      "message": "alpha: Use generic show_interrupts()\n\nThe only subtle difference is that alpha uses ACTUAL_NR_IRQS and\nprints the IRQF_DISABLED flag.\n\nChange the generic implementation to deal with ACTUAL_NR_IRQS if\ndefined.\n\nThe IRQF_DISABLED printing is pointless, as we nowadays run all\ninterrupts with irqs disabled.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cd22c0e44b105aecd78e5f9e77abab3a1b8dc00c",
      "tree": "98be0a3bdb0fcc9ff7f31e774a4c69d655d19041",
      "parents": [
        "89078d572eb9ce8d4c04264b8b0ba86de0d74c8f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 11:36:05 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 11:36:05 2011 +0200"
      },
      "message": "genirq: Fix harmless typo\n\nThe late night fixup missed to convert the data type from irq_desc to\nirq_data, which results in a harmless but annoying warning.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e5217fb8ae5527e95cff9474f7b3c0d8e3a35fea",
      "tree": "eb85a4b7b02fb49a3534a976f79a3798393f7fc6",
      "parents": [
        "5ede9ddfba424b5dad96e7ccd55607875a64ff6c",
        "8ec4ad2bebd1dd7e782bd1a1ac4c5e17ceb2ff81",
        "0ef5ca1e1f0de71300142b8f730f26ded6a0c2f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 17:39:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 17:39:54 2011 -0700"
      },
      "message": "Merge branches \u0027irq-cleanup-for-linus\u0027 and \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  vlynq: Convert irq functions\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq; Fix cleanup fallout\n  genirq: Fix typo and remove unused variable\n  genirq: Fix new kernel-doc warnings\n  genirq: Add setter for AFFINITY_SET in irq_data state\n  genirq: Provide setter inline for IRQD_IRQ_INPROGRESS\n  genirq: Remove handle_IRQ_event\n  arm: Ns9xxx: Remove private irq flow handler\n  powerpc: cell: Use the core flow handler\n  genirq: Provide edge_eoi flow handler\n  genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data\n  genirq: Split irq_set_affinity() so it can be called with lock held.\n  genirq: Add chip flag for restricting cpu_on/offline calls\n  genirq: Add chip hooks for taking CPUs on/off line.\n  genirq: Add irq disabled flag to irq_data state\n  genirq: Reserve the irq when calling irq_set_chip()\n"
    },
    {
      "commit": "0ef5ca1e1f0de71300142b8f730f26ded6a0c2f3",
      "tree": "f8eb0e5e63b7d3115c27f110e59a762fd871d693",
      "parents": [
        "a6aeddd1c4e464a2150f97ca2d1c3d68cfbd9296"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 21:59:37 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 01:41:22 2011 +0200"
      },
      "message": "genirq; Fix cleanup fallout\n\nI missed the CONFIG_GENERIC_PENDING_IRQ dependency in the affinity\nrelated functions and the IRQ_LEVEL propagation into irq_data\nstate. Did not pop up on my main test platforms. :(\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: David Daney \u003cddaney@caviumnetworks.com\u003e\n"
    },
    {
      "commit": "243b422af9ea9af4ead07a8ad54c90d4f9b6081a",
      "tree": "bdcd77b51cce8bd2ed5fcc41c6b430a8d6a9d74f",
      "parents": [
        "5847098cd896c92819800e17e983bf6530035209"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 28 14:13:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 15:45:44 2011 -0700"
      },
      "message": "Relax si_code check in rt_sigqueueinfo and rt_tgsigqueueinfo\n\nCommit da48524eb206 (\"Prevent rt_sigqueueinfo and rt_tgsigqueueinfo\nfrom spoofing the signal code\") made the check on si_code too strict.\nThere are several legitimate places where glibc wants to queue a\nnegative si_code different from SI_QUEUE:\n\n - This was first noticed with glibc\u0027s aio implementation, which wants\n   to queue a signal with si_code SI_ASYNCIO; the current kernel\n   causes glibc\u0027s tst-aio4 test to fail because rt_sigqueueinfo()\n   fails with EPERM.\n\n - Further examination of the glibc source shows that getaddrinfo_a()\n   wants to use SI_ASYNCNL (which the kernel does not even define).\n   The timer_create() fallback code wants to queue signals with SI_TIMER.\n\nAs suggested by Oleg Nesterov \u003coleg@redhat.com\u003e, loosen the check to\nforbid only the problematic SI_TKILL case.\n\nReported-by: Klaus Dittrich \u003ckladit@arcor.de\u003e\nAcked-by: Julien Tinnes \u003cjln@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6aeddd1c4e464a2150f97ca2d1c3d68cfbd9296",
      "tree": "18350cbcc8aa5619e98e5f56750828da300db537",
      "parents": [
        "30398bf6c684a77274dbdabf7efc1f24e4a99028"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 20:28:56 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 20:28:56 2011 +0200"
      },
      "message": "genirq: Fix typo and remove unused variable\n\nSigh, I\u0027m overworked.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "30398bf6c684a77274dbdabf7efc1f24e4a99028",
      "tree": "d4ee5d514a53fbb8186bdbc726a525bb488c7dcf",
      "parents": [
        "ee38c04b58983a236b43bae71b2415d38bceaf75"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Mar 18 09:33:56 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 20:13:57 2011 +0200"
      },
      "message": "genirq: Fix new kernel-doc warnings\n\nFix new irq-related kernel-doc warnings in 2.6.38:\n\nWarning(kernel/irq/manage.c:149): No description found for parameter \u0027mask\u0027\nWarning(kernel/irq/manage.c:149): Excess function parameter \u0027cpumask\u0027 description in \u0027irq_set_affinity\u0027\nWarning(include/linux/irq.h:161): No description found for parameter \u0027state_use_accessors\u0027\nWarning(include/linux/irq.h:161): Excess struct/union/enum/typedef member \u0027state_use_accessor\u0027 description in \u0027irq_data\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nLKML-Reference: \u003c20110318093356.b939558d.randy.dunlap@oracle.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "33b054b867b84015173a38d9cd9ff513b6498818",
      "tree": "341f935d57af66fe82d384940b577fa9215ce5e6",
      "parents": [
        "6829310548a76d343205029bb41c14e75bf6a7fb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:27:31 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:55:11 2011 +0200"
      },
      "message": "genirq: Remove handle_IRQ_event\n\nLast user gone.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0521c8fbb3da45c2a58cd551ca6e9644983f6028",
      "tree": "d2ed3452a75f1d3ff516cd02c86f4371db81e06e",
      "parents": [
        "32f4125ebffee4f3c4dbc6a437fc656129eb9e60"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:13:24 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:55:11 2011 +0200"
      },
      "message": "genirq: Provide edge_eoi flow handler\n\nThis is a replacment for the cell flow handler which is in the way of\ncleanups. Must be selected to avoid general bloat.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "32f4125ebffee4f3c4dbc6a437fc656129eb9e60",
      "tree": "d64c6bb7ba40c33734896303734416ea5b4f3290",
      "parents": [
        "c2d0c555c22242c3a76e366074c4d83ef9fa3b8c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 14:10:52 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:55:10 2011 +0200"
      },
      "message": "genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data\n\nWe really need these flags for some of the interrupt chips. Move it\nfrom internal state to irq_data and provide proper accessors.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David Daney \u003cddaney@caviumnetworks.com\u003e\n"
    },
    {
      "commit": "c2d0c555c22242c3a76e366074c4d83ef9fa3b8c",
      "tree": "7426945b566129163639229fa0a5f420cdce13a8",
      "parents": [
        "b3d422329f2e061d66af4f933ef316e50e5edcac"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Mar 25 12:38:50 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:59 2011 +0200"
      },
      "message": "genirq: Split irq_set_affinity() so it can be called with lock held.\n\nThe .irq_cpu_online() and .irq_cpu_offline() functions may need to\nadjust affinity, but they are called with the descriptor lock held.\nCreate __irq_set_affinity_locked() which is called with the lock held.\nMake irq_set_affinity() just a wrapper that acquires the lock.\n\n[ tglx: Changed the argument to irq_data, added a !desc check and\n        moved the !irq_set_affinity check where it belongs ]\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: linux-mips@linux-mips.org\nCc: ralf@linux-mips.org\nLKML-Reference: \u003c1301081931-11240-4-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b3d422329f2e061d66af4f933ef316e50e5edcac",
      "tree": "530100dd1733e24a017f4b3df4959c667369d236",
      "parents": [
        "0fdb4b259ed3e91b687ac26848202f5e7c217e62"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 16:05:36 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:58 2011 +0200"
      },
      "message": "genirq: Add chip flag for restricting cpu_on/offline calls\n\nAdd a flag which indicates that the on/offline callback should only be\ncalled on enabled interrupts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0fdb4b259ed3e91b687ac26848202f5e7c217e62",
      "tree": "52503c0c5c35f95ab88a9867fc46c43fc7d9c200",
      "parents": [
        "801a0e9ae36e9b487092e31699d28c0b9a21ad52"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Mar 25 12:38:49 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:58 2011 +0200"
      },
      "message": "genirq: Add chip hooks for taking CPUs on/off line.\n\n[ tglx: Removed the enabled argument as this is now available in\nirq_data ]\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: linux-mips@linux-mips.org\nCc: ralf@linux-mips.org\nLKML-Reference: \u003c1301081931-11240-3-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "801a0e9ae36e9b487092e31699d28c0b9a21ad52",
      "tree": "c448d150797272b09417f5410e7570742e59368b",
      "parents": [
        "d72274e5895d11570a0a4a3214a1933c86d5ccb7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 11:02:49 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:58 2011 +0200"
      },
      "message": "genirq: Add irq disabled flag to irq_data state\n\nSome irq_chip implementation require to know the disabled state of the\ninterrupt in certain callbacks. Add a state flag and accessor to\nirq_data.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d72274e5895d11570a0a4a3214a1933c86d5ccb7",
      "tree": "3925786563e67241cc5798ebbbcf79c0ce738f69",
      "parents": [
        "16c29dafcc86024048f1dbb8349d31cb22c7c55a"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Mar 25 12:38:48 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:58 2011 +0200"
      },
      "message": "genirq: Reserve the irq when calling irq_set_chip()\n\nThe helper macros and functions like for_each_active_irq() don\u0027t work\nunless the irq is in the allocated_irqs set.\n\nIn the case of !CONFIG_SPARSE_IRQ, instead of forcing all users of the\nirq infrastructure to explicitly call irq_reserve_irq(), do it for\nthem.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: linux-mips@linux-mips.org\nCc: ralf@linux-mips.org\nLKML-Reference: \u003c1301081931-11240-2-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "16c29dafcc86024048f1dbb8349d31cb22c7c55a",
      "tree": "100c4fd34903adf02c9b8ae7705a3e1f30c8d712",
      "parents": [
        "dc50eddb2f3a0dff365f093b2a93fb4ab4dd4389",
        "d47d81c0e9abdc3c88653fabff5beae82c949b09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 21:07:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 21:07:59 2011 -0700"
      },
      "message": "Merge branch \u0027syscore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027syscore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  Introduce ARCH_NO_SYSDEV_OPS config option (v2)\n  cpufreq: Use syscore_ops for boot CPU suspend/resume (v2)\n  KVM: Use syscore_ops instead of sysdev class and sysdev\n  PCI / Intel IOMMU: Use syscore_ops instead of sysdev class and sysdev\n  timekeeping: Use syscore_ops instead of sysdev class and sysdev\n  x86: Use syscore_ops instead of sysdev classes and sysdevs\n"
    },
    {
      "commit": "95e14ed7fc4b2db62eb597a70850a0fede48b78a",
      "tree": "63d5dacd5ce094c9c48ce426e38440fba6565e51",
      "parents": [
        "00a2470546dd8427325636a711a42c934135dbf5",
        "0d3db28daed2529ab90933a3aaaaf46446fdfda8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 21:04:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 21:04:56 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kdb: add usage string of \u0027per_cpu\u0027 command\n  kgdb,x86_64: fix compile warning found with sparse\n  kdb: code cleanup to use macro instead of value\n  kgdboc,kgdbts: strlen() doesn\u0027t count the terminator\n"
    },
    {
      "commit": "0dd61be7ec1be1b6820af978f901b9ae2c244dc6",
      "tree": "1f49edaa21351034e7d1dff6511424e9a949cf6b",
      "parents": [
        "8dd90265ac0754da0df47d9c597f25187bb1c947",
        "ab7798ffcf98b11a9525cf65bacdae3fd58d357f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 20:24:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 20:24:05 2011 -0700"
      },
      "message": "Merge branch \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (23 commits)\n  genirq: Expand generic show_interrupts()\n  gpio: Fold irq_set_chip/irq_set_handler to irq_set_chip_and_handler\n  gpio: Cleanup genirq namespace\n  arm: ep93xx: Add basic interrupt info\n  arm/gpio: Remove three copies of broken and racy debug code\n  xtensa: Use generic show_interrupts()\n  xtensa: Convert genirq namespace\n  xtensa: Use generic IRQ Kconfig and set GENERIC_HARDIRQS_NO_DEPRECATED\n  xtensa: Convert s6000 gpio irq_chip to new functions\n  xtensa: Convert main irq_chip to new functions\n  um: Use generic show_interrupts()\n  um: Convert genirq namespace\n  m32r: Use generic show_interrupts()\n  m32r: Convert genirq namespace\n  h8300: Use generic show_interrupts()\n  h8300: Convert genirq namespace\n  avr32: Cleanup eic_set_irq_type()\n  avr32: Use generic show_interrupts()\n  avr: Cleanup genirq namespace\n  avr32: Use generic IRQ config, enable GENERIC_HARDIRQS_NO_DEPRECATED\n  ...\n\nFix up trivial conflict in drivers/gpio/timbgpio.c\n"
    },
    {
      "commit": "8dd90265ac0754da0df47d9c597f25187bb1c947",
      "tree": "76b3e83a9417ae8eaf959f9a6306c3da446763b8",
      "parents": [
        "2a20b02c055a14eb60ac8da737d79dc940bb9ee0",
        "1232d6132a986125f6a687ab9b61a4330e319270"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:59:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:59:38 2011 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched, doc: Update sched-design-CFS.txt\n  sched: Remove unused \u0027rq\u0027 variable and cpu_rq() call from alloc_fair_sched_group()\n  sched.h: Fix a typo (\"its\")\n  sched: Fix yield_to kernel-doc\n"
    },
    {
      "commit": "2a20b02c055a14eb60ac8da737d79dc940bb9ee0",
      "tree": "1cf09a5e13f8ed24bc66386c153969ad49f8f098",
      "parents": [
        "839767e79e7bdf06f241a47701f0f64b8e2d3f61",
        "45daae575e08bbf7405c5a3633e956fa364d1b4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:53:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:53:09 2011 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf, x86: Complain louder about BIOSen corrupting CPU/PMU state and continue\n  perf, x86: P4 PMU - Read proper MSR register to catch unflagged overflows\n  perf symbols: Look at .dynsym again if .symtab not found\n  perf build-id: Add quirk to deal with perf.data file format breakage\n  perf session: Pass evsel in event_ops-\u003esample()\n  perf: Better fit max unprivileged mlock pages for tools needs\n  perf_events: Fix stale -\u003ecgrp pointer in update_cgrp_time_from_cpuctx()\n  perf top: Fix uninitialized \u0027counter\u0027 variable\n  tracing: Fix set_ftrace_filter probe function display\n  perf, x86: Fix Intel fixed counters base initialization\n"
    },
    {
      "commit": "839767e79e7bdf06f241a47701f0f64b8e2d3f61",
      "tree": "779e50183bac6bd4b87b6d0d1be0f444bca17428",
      "parents": [
        "94df491c4a01b39d81279a68386158eb02656712",
        "a2e8461a2ce5e8140b7374eb68af0d09e36e07ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:52:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:52:53 2011 -0700"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Provide locked setter for chip, handler, name\n  genirq: Provide a lockdep helper\n  genirq; Remove the last leftovers of the old sparse irq code\n"
    },
    {
      "commit": "94df491c4a01b39d81279a68386158eb02656712",
      "tree": "ba431d9d74f11a7117883df54908ea39e4ef7c5c",
      "parents": [
        "26ff6801f751cd47e44c2e9507ec08b447f2d2b9",
        "29096202176ceaa5016a17ea2dd1aea19a4e90e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:52:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:52:22 2011 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Fix WARN_ON() test for UP\n  WARN_ON_SMP(): Allow use in if() statements on UP\n  x86, dumpstack: Use %pB format specifier for stack trace\n  vsprintf: Introduce %pB format specifier\n  lockdep: Remove unused \u0027factor\u0027 variable from lockdep_stats_show()\n"
    },
    {
      "commit": "0d3db28daed2529ab90933a3aaaaf46446fdfda8",
      "tree": "1d8d490d4c2f96fdd5e4359640ac021e9d2f9072",
      "parents": [
        "21431c2900a0b669080b5bfaae2a7d9d9c026e9b"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Mon Mar 15 07:28:00 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 25 16:37:31 2011 -0500"
      },
      "message": "kdb: add usage string of \u0027per_cpu\u0027 command\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "27029c339b1beebe79bb4e64422ad1bb8d0b6440",
      "tree": "8b4be0918813649ad50fb7ab26f376fee00e21dd",
      "parents": [
        "adb4b83c12f9d966ea3478aa14c60511467c9916"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Mon Mar 15 07:28:00 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 25 16:37:30 2011 -0500"
      },
      "message": "kdb: code cleanup to use macro instead of value\n\nIt\u0027s better to use macro KDB_BASE_CMD_MAX instead of 50\n\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "ab7798ffcf98b11a9525cf65bacdae3fd58d357f",
      "tree": "834ed73e8ab309895934bcf8bfe9e531ec10b32b",
      "parents": [
        "08f1b807355c8d355885a71e7fd462fe9d499411"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 25 16:48:50 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 25 17:04:20 2011 +0100"
      },
      "message": "genirq: Expand generic show_interrupts()\n\nSome archs want to print extra information for certain irq_chips which\nis per irq and not per chip. Allow them to provide a chip callback to\nprint the chip name and the extra information.\n\nPowerPC wants to print the LEVEL/EDGE type information. Make it configurable.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "29096202176ceaa5016a17ea2dd1aea19a4e90e2",
      "tree": "1350963a65beec5d9677b7e295c5ad9eb718b64e",
      "parents": [
        "2092e6be82ec71ecbf5a8ceeef004bbcbdb78812"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 17 15:21:07 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 25 11:32:11 2011 +0100"
      },
      "message": "futex: Fix WARN_ON() test for UP\n\nAn update of the futex code had a\n\n\tWARN_ON(!spin_is_locked(q-\u003elock_ptr))\n\nBut on UP, spin_is_locked() is always false, and will\ntrigger this warning, and even worse, it will exit the function\nwithout doing the necessary work.\n\nConverting this to a WARN_ON_SMP() fixes the problem.\n\nReported-by: Richard Weinberger \u003crichard@nod.at\u003e\nTested-by: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c20110317192208.682654502@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c5103890057b1bb781b26b7aae38d33e4c517d8",
      "tree": "e6e57961dcddcb5841acb34956e70b9dc696a880",
      "parents": [
        "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
        "9d2e157d970a73b3f270b631828e03eb452d525e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block: (65 commits)\n  Documentation/iostats.txt: bit-size reference etc.\n  cfq-iosched: removing unnecessary think time checking\n  cfq-iosched: Don\u0027t clear queue stats when preempt.\n  blk-throttle: Reset group slice when limits are changed\n  blk-cgroup: Only give unaccounted_time under debug\n  cfq-iosched: Don\u0027t set active queue in preempt\n  block: fix non-atomic access to genhd inflight structures\n  block: attempt to merge with existing requests on plug flush\n  block: NULL dereference on error path in __blkdev_get()\n  cfq-iosched: Don\u0027t update group weights when on service tree\n  fs: assign sb-\u003es_bdi to default_backing_dev_info if the bdi is going away\n  block: Require subsystems to explicitly allocate bio_set integrity mempool\n  jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  fs: make fsync_buffers_list() plug\n  mm: make generic_writepages() use plugging\n  blk-cgroup: Add unaccounted time to timeslice_used.\n  block: fixup plugging stubs for !CONFIG_BLOCK\n  block: remove obsolete comments for blkdev_issue_zeroout.\n  blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n  ...\n\nFix up conflicts in fs/{aio.c,super.c}\n"
    },
    {
      "commit": "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
      "tree": "893e9bc5041e7f722722fe13a3b145396f2554d8",
      "parents": [
        "6d1e9a42e7176bbce9348274784b2e5f69223936",
        "5a4b65ab506398ba5a35c37e06edddd387cc0add"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:07:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:07:50 2011 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300:\n  MN10300: gcc 4.6 vs am33 inline assembly\n  MN10300: Deprecate gdbstub\n  MN10300: Allow KGDB to use the MN10300 serial ports\n  MN10300: Emulate single stepping in KGDB on MN10300\n  MN10300: Generalise kernel debugger kernel halt, reboot or power off hook\n  KGDB: Notify GDB of machine halt, reboot or power off\n  MN10300: Use KGDB\n  MN10300: Create generic kernel debugger hooks\n  MN10300: Create general kernel debugger cache flushing\n  MN10300: Introduce a general config option for kernel debugger hooks\n  MN10300: The icache invalidate functions should disable the icache first\n  MN10300: gdbstub: Restrict single-stepping to non-preemptable non-SMP configs\n"
    },
    {
      "commit": "0f77a8d378254f27df4a114a5da67223af1fe93f",
      "tree": "edc37c211adce744100d4776e4a28fb868c8b3c0",
      "parents": [
        "dec2960827c85253d76938dbfa909df3be34958b"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu Mar 24 11:42:29 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 24 08:36:10 2011 +0100"
      },
      "message": "vsprintf: Introduce %pB format specifier\n\nThe %pB format specifier is for stack backtrace. Its handler\nsprint_backtrace() does symbol lookup using (address-1) to\nensure the address will not point outside of the function.\n\nIf there is a tail-call to the function marked \"noreturn\",\ngcc optimized out the code after the call then causes saved\nreturn address points outside of the function (i.e. the start\nof the next function), so pollutes call trace somewhat.\n\nThis patch adds the %pB printk mechanism that allows architecture\ncall-trace printout functions to improve backtrace printouts.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: linux-arch@vger.kernel.org\nLKML-Reference: \u003c1300934550-21394-1-git-send-email-namhyung@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b81a618dcd3ea99de292dbe624f41ca68f464376",
      "tree": "c5fbe44f944da9d7dc0c224116be77094d379c8a",
      "parents": [
        "2f284c846331fa44be1300a3c2c3e85800268a00",
        "a9712bc12c40c172e393f85a9b2ba8db4bf59509"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 20:51:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 20:51:42 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  deal with races in /proc/*/{syscall,stack,personality}\n  proc: enable writing to /proc/pid/mem\n  proc: make check_mem_permission() return an mm_struct on success\n  proc: hold cred_guard_mutex in check_mem_permission()\n  proc: disable mem_write after exec\n  mm: implement access_remote_vm\n  mm: factor out main logic of access_process_vm\n  mm: use mm_struct to resolve gate vma\u0027s in __get_user_pages\n  mm: arch: rename in_gate_area_no_task to in_gate_area_no_mm\n  mm: arch: make in_gate_area take an mm_struct instead of a task_struct\n  mm: arch: make get_gate_vma take an mm_struct instead of a task_struct\n  x86: mark associated mm when running a task in 32 bit compatibility mode\n  x86: add context tag to mark mm when running a task in 32-bit compatibility mode\n  auxv: require the target to be tracable (or yourself)\n  close race in /proc/*/environ\n  report errors in /proc/*/*map* sanely\n  pagemap: close races with suid execve\n  make sessionid permissions in /proc/*/task/* match those in /proc/*\n  fix leaks in path_lookupat()\n\nFix up trivial conflicts in fs/proc/base.c\n"
    },
    {
      "commit": "93a72052be81823fa1584b9be037d51924f9efa4",
      "tree": "4f5c824c8fe3fb737e27b91bfd60c10d092dc3e9",
      "parents": [
        "8547727756a7322b99aa313ce50fe15d8f858872"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olaf@aepfle.de",
        "time": "Wed Mar 23 16:43:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:19 2011 -0700"
      },
      "message": "crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn\n\nThe Xen PV drivers in a crashed HVM guest can not connect to the dom0\nbackend drivers because both frontend and backend drivers are still in\nconnected state.  To run the connection reset function only in case of a\ncrashdump, the is_kdump_kernel() function needs to be available for the PV\ndriver modules.\n\nConsolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn into\nkernel/crash_dump.c Also export elfcorehdr_addr to make is_kdump_kernel()\nusable for modules.\n\nLeave \u0027elfcorehdr\u0027 as early_param().  This changes powerpc from __setup()\nto early_param().  It adds an address range check from x86 also on ia64\nand powerpc.\n\n[akpm@linux-foundation.org: additional #includes]\n[akpm@linux-foundation.org: remove elfcorehdr_addr export]\n[akpm@linux-foundation.org: fix for Tejun\u0027s mm/nobootmem.c changes]\nSigned-off-by: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9b182e24ecb2b3bb33340f053ba31c8c4e1d895",
      "tree": "17964defa2bd5104dc49994385f627d70c5dfdef",
      "parents": [
        "2e1496707560ecf98e9b0604622c0990f94861d3"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Wed Mar 23 16:43:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:14 2011 -0700"
      },
      "message": "taskstats: use appropriate printk priority level\n\nprintk()s without a priority level default to KERN_WARNING.  To reduce\nnoise at KERN_WARNING, this patch set the priority level appriopriately\nfor unleveled printks()s.  This should be useful to folks that look at\ndmesg warnings closely.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@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": "b0e77598f87107001a00b8a4ece9c95e4254ccc4",
      "tree": "2738276570e4faa7c92a64521c192f04dca93801",
      "parents": [
        "b515498f5bb5f38fc0e390b4ff7d00b6077de127"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:08 2011 -0700"
      },
      "message": "userns: user namespaces: convert several capable() calls\n\nCAP_IPC_OWNER and CAP_IPC_LOCK can be checked against current_user_ns(),\nbecause the resource comes from current\u0027s own ipc namespace.\n\nsetuid/setgid are to uids in own namespace, so again checks can be against\ncurrent_user_ns().\n\nChangelog:\n\tJan 11: Use task_ns_capable() in place of sched_capable().\n\tJan 11: Use nsown_capable() as suggested by Bastian Blank.\n\tJan 11: Clarify (hopefully) some logic in futex and sched.c\n\tFeb 15: use ns_capable for ipc, not nsown_capable\n\tFeb 23: let copy_ipcs handle setting ipc_ns-\u003euser_ns\n\tFeb 23: pass ns down rather than taking it from current\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b515498f5bb5f38fc0e390b4ff7d00b6077de127",
      "tree": "b76dfc56415adee9aec5d8619124059ed3ab02a5",
      "parents": [
        "fc832ad3645f0507f24d11752544525a50a83c71"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:07 2011 -0700"
      },
      "message": "userns: add a user namespace owner of ipc ns\n\nChangelog:\n\tFeb 15: Don\u0027t set new ipc-\u003euser_ns if we didn\u0027t create a new\n\t\tipc_ns.\n\tFeb 23: Move extern declaration to ipc_namespace.h, and group\n\t\tfwd declarations at top.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc832ad3645f0507f24d11752544525a50a83c71",
      "tree": "d02dd477d94cdeaa42286dbeffcb60467fb30fb7",
      "parents": [
        "3263245de48344ad7bdd0e7256bf1606d2592f88"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:06 2011 -0700"
      },
      "message": "userns: user namespaces: convert all capable checks in kernel/sys.c\n\nThis allows setuid/setgid in containers.  It also fixes some corner cases\nwhere kernel logic foregoes capability checks when uids are equivalent.\nThe latter will need to be done throughout the whole kernel.\n\nChangelog:\n\tJan 11: Use nsown_capable() as suggested by Bastian Blank.\n\tJan 11: Fix logic errors in uid checks pointed out by Bastian.\n\tFeb 15: allow prlimit to current (was regression in previous version)\n\tFeb 23: remove debugging printks, uninline set_one_prio_perm and\n\t\tmake it bool, and document its return value.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3263245de48344ad7bdd0e7256bf1606d2592f88",
      "tree": "a6fa31305f5b6558d882b2dad29ed9a720167ee0",
      "parents": [
        "8409cca7056113bee3236cb6a8e4d8d4d1eef102"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge.hallyn@canonical.com",
        "time": "Wed Mar 23 16:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:06 2011 -0700"
      },
      "message": "userns: make has_capability* into real functions\n\nSo we can let type safety keep things sane, and as a bonus we can remove\nthe declaration of init_user_ns in capability.h.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8409cca7056113bee3236cb6a8e4d8d4d1eef102",
      "tree": "d9f1ced0d47070fcdf8b399021f33770c150b1ec",
      "parents": [
        "39fd33933b0209e4b6254743f2cede07c5ad4c52"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:05 2011 -0700"
      },
      "message": "userns: allow ptrace from non-init user namespaces\n\nptrace is allowed to tasks in the same user namespace according to the\nusual rules (i.e.  the same rules as for two tasks in the init user\nnamespace).  ptrace is also allowed to a user namespace to which the\ncurrent task the has CAP_SYS_PTRACE capability.\n\nChangelog:\n\tDec 31: Address feedback by Eric:\n\t\t. Correct ptrace uid check\n\t\t. Rename may_ptrace_ns to ptrace_capable\n\t\t. Also fix the cap_ptrace checks.\n\tJan  1: Use const cred struct\n\tJan 11: use task_ns_capable() in place of ptrace_capable().\n\tFeb 23: same_or_ancestore_user_ns() was not an appropriate\n\t\tcheck to constrain cap_issubset.  Rather, cap_issubset()\n\t\tonly is meaningful when both capsets are in the same\n\t\tuser_ns.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39fd33933b0209e4b6254743f2cede07c5ad4c52",
      "tree": "394f09178324fd1e31847a6c71d81f01e6236b02",
      "parents": [
        "bb96a6f50be27390dc959ff67d9ea0ea0cfbe177"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:04 2011 -0700"
      },
      "message": "userns: allow killing tasks in your own or child userns\n\nChangelog:\n\tDec  8: Fixed bug in my check_kill_permission pointed out by\n\t        Eric Biederman.\n\tDec 13: Apply Eric\u0027s suggestion to pass target task into kill_ok_by_cred()\n\t        for clarity\n\tDec 31: address comment by Eric Biederman:\n\t\tdon\u0027t need cred/tcred in check_kill_permission.\n\tJan  1: use const cred struct.\n\tJan 11: Per Bastian Blank\u0027s advice, clean up kill_ok_by_cred().\n\tFeb 16: kill_ok_by_cred: fix bad parentheses\n\tFeb 23: per akpm, let compiler inline kill_ok_by_cred\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb96a6f50be27390dc959ff67d9ea0ea0cfbe177",
      "tree": "478253434235baeb1e4760a25c0a0f01293fbb8a",
      "parents": [
        "3486740a4f32a6a466f5ac931654d154790ba648"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:03 2011 -0700"
      },
      "message": "userns: allow sethostname in a container\n\nChangelog:\n\tFeb 23: let clone_uts_ns() handle setting uts-\u003euser_ns\n\t\tTo do so we need to pass in the task_struct who\u0027ll\n\t\tget the utsname, so we can get its user_ns.\n\tFeb 23: As per Oleg\u0027s coment, just pass in tsk, instead of two\n\t\tof its members.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3486740a4f32a6a466f5ac931654d154790ba648",
      "tree": "ac5d968a66057fa84933b8f89fd3e916270dffed",
      "parents": [
        "59607db367c57f515183cb203642291bb14d9c40"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:02 2011 -0700"
      },
      "message": "userns: security: make capabilities relative to the user namespace\n\n- Introduce ns_capable to test for a capability in a non-default\n  user namespace.\n- Teach cap_capable to handle capabilities in a non-default\n  user namespace.\n\nThe motivation is to get to the unprivileged creation of new\nnamespaces.  It looks like this gets us 90% of the way there, with\nonly potential uid confusion issues left.\n\nI still need to handle getting all caps after creation but otherwise I\nthink I have a good starter patch that achieves all of your goals.\n\nChangelog:\n\t11/05/2010: [serge] add apparmor\n\t12/14/2010: [serge] fix capabilities to created user namespaces\n\tWithout this, if user serge creates a user_ns, he won\u0027t have\n\tcapabilities to the user_ns he created.  THis is because we\n\twere first checking whether his effective caps had the caps\n\the needed and returning -EPERM if not, and THEN checking whether\n\the was the creator.  Reverse those checks.\n\t12/16/2010: [serge] security_real_capable needs ns argument in !security case\n\t01/11/2011: [serge] add task_ns_capable helper\n\t01/11/2011: [serge] add nsown_capable() helper per Bastian Blank suggestion\n\t02/16/2011: [serge] fix a logic bug: the root user is always creator of\n\t\t    init_user_ns, but should not always have capabilities to\n\t\t    it!  Fix the check in cap_capable().\n\t02/21/2011: Add the required user_ns parameter to security_capable,\n\t\t    fixing a compile failure.\n\t02/23/2011: Convert some macros to functions as per akpm comments.  Some\n\t\t    couldn\u0027t be converted because we can\u0027t easily forward-declare\n\t\t    them (they are inline if !SECURITY, extern if SECURITY).  Add\n\t\t    a current_user_ns function so we can use it in capability.h\n\t\t    without #including cred.h.  Move all forward declarations\n\t\t    together to the top of the #ifdef __KERNEL__ section, and use\n\t\t    kernel-doc format.\n\t02/23/2011: Per dhowells, clean up comment in cap_capable().\n\t02/23/2011: Per akpm, remove unreachable \u0027return -EPERM\u0027 in cap_capable.\n\n(Original written and signed off by Eric;  latest, modified version\nacked by him)\n\n[akpm@linux-foundation.org: fix build]\n[akpm@linux-foundation.org: export current_user_ns() for ecryptfs]\n[serge.hallyn@canonical.com: remove unneeded extra argument in selinux\u0027s task_has_capability]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Serge E. 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": "59607db367c57f515183cb203642291bb14d9c40",
      "tree": "9097cfc3a72820c5624de6a24c9fa9cf28b6cb35",
      "parents": [
        "52e9fc76d0d4b1e8adeee736172c6c23180059b2"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:59 2011 -0700"
      },
      "message": "userns: add a user_namespace as creator/owner of uts_namespace\n\nThe expected course of development for user namespaces targeted\ncapabilities is laid out at https://wiki.ubuntu.com/UserNamespace.\n\nGoals:\n\n- Make it safe for an unprivileged user to unshare namespaces.  They\n  will be privileged with respect to the new namespace, but this should\n  only include resources which the unprivileged user already owns.\n\n- Provide separate limits and accounting for userids in different\n  namespaces.\n\nStatus:\n\n  Currently (as of 2.6.38) you can clone with the CLONE_NEWUSER flag to\n  get a new user namespace if you have the CAP_SYS_ADMIN, CAP_SETUID, and\n  CAP_SETGID capabilities.  What this gets you is a whole new set of\n  userids, meaning that user 500 will have a different \u0027struct user\u0027 in\n  your namespace than in other namespaces.  So any accounting information\n  stored in struct user will be unique to your namespace.\n\n  However, throughout the kernel there are checks which\n\n  - simply check for a capability.  Since root in a child namespace\n    has all capabilities, this means that a child namespace is not\n    constrained.\n\n  - simply compare uid1 \u003d\u003d uid2.  Since these are the integer uids,\n    uid 500 in namespace 1 will be said to be equal to uid 500 in\n    namespace 2.\n\n  As a result, the lxc implementation at lxc.sf.net does not use user\n  namespaces.  This is actually helpful because it leaves us free to\n  develop user namespaces in such a way that, for some time, user\n  namespaces may be unuseful.\n\nBugs aside, this patchset is supposed to not at all affect systems which\nare not actively using user namespaces, and only restrict what tasks in\nchild user namespace can do.  They begin to limit privilege to a user\nnamespace, so that root in a container cannot kill or ptrace tasks in the\nparent user namespace, and can only get world access rights to files.\nSince all files currently belong to the initila user namespace, that means\nthat child user namespaces can only get world access rights to *all*\nfiles.  While this temporarily makes user namespaces bad for system\ncontainers, it starts to get useful for some sandboxing.\n\nI\u0027ve run the \u0027runltplite.sh\u0027 with and without this patchset and found no\ndifference.\n\nThis patch:\n\ncopy_process() handles CLONE_NEWUSER before the rest of the namespaces.\nSo in the case of clone(CLONE_NEWUSER|CLONE_NEWUTS) the new uts namespace\nwill have the new user namespace as its owner.  That is what we want,\nsince we want root in that new userns to be able to have privilege over\nit.\n\nChangelog:\n\tFeb 15: don\u0027t set uts_ns-\u003euser_ns if we didn\u0027t create\n\t\ta new uts_ns.\n\tFeb 23: Move extern init_user_ns declaration from\n\t\tinit/version.c to utsname.h.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "4308eebbeb2026827d4492ce8c23d99f7f144a82"
}
