)]}'
{
  "log": [
    {
      "commit": "e579d2c259be42b6f29458327e5153b22414b031",
      "tree": "ac3babd0f075ddfeb5e6fa083651852b34a0a79f",
      "parents": [
        "5d1fadc1472396d602f0eeb10d37519e2a14e8bc"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Wed Feb 27 17:03:15 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 19:10:11 2013 -0800"
      },
      "message": "coredump: remove redundant defines for dumpable states\n\nThe existing SUID_DUMP_* defines duplicate the newer SUID_DUMPABLE_*\ndefines introduced in 54b501992dd2 (\"coredump: warn about unsafe\nsuid_dumpable / core_pattern combo\").  Remove the new ones, and use the\nprior values instead.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nReported-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcad0fceae528e8007610308bad7e5a3370e5c39",
      "tree": "1af69697e0988e8dbdf42d915508bd58a1887b4f",
      "parents": [
        "f8ef15d6b9d8e38729cd740a43919adf88468119",
        "7f6575f1fb963d5231afbceecd3feadb6ab58cd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 26 19:42:08 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 26 19:42:08 2013 -0800"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  cputime: Use local_clock() for full dynticks cputime accounting\n  cputime: Constify timeval_to_cputime(timeval) argument\n  sched: Move RR_TIMESLICE from sysctl.h to rt.h\n  sched: Fix /proc/sched_debug failure on very very large systems\n  sched: Fix /proc/sched_stat failure on very very large systems\n  sched/core: Remove the obsolete and unused nr_uninterruptible() function\n"
    },
    {
      "commit": "9e2d59ad580d590134285f361a0e80f0e98c0207",
      "tree": "f3232be75781484193413f32ec82c21f6d8eb76e",
      "parents": [
        "5ce1a70e2f00f0bce0cab57f798ca354b9496169",
        "235b80226b986dabcbba844968f7807866bd0bfe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 23 18:50:11 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 23 18:50:11 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull signal handling cleanups from Al Viro:\n \"This is the first pile; another one will come a bit later and will\n  contain SYSCALL_DEFINE-related patches.\n\n   - a bunch of signal-related syscalls (both native and compat)\n     unified.\n\n   - a bunch of compat syscalls switched to COMPAT_SYSCALL_DEFINE\n     (fixing several potential problems with missing argument\n     validation, while we are at it)\n\n   - a lot of now-pointless wrappers killed\n\n   - a couple of architectures (cris and hexagon) forgot to save\n     altstack settings into sigframe, even though they used the\n     (uninitialized) values in sigreturn; fixed.\n\n   - microblaze fixes for delivery of multiple signals arriving at once\n\n   - saner set of helpers for signal delivery introduced, several\n     architectures switched to using those.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (143 commits)\n  x86: convert to ksignal\n  sparc: convert to ksignal\n  arm: switch to struct ksignal * passing\n  alpha: pass k_sigaction and siginfo_t using ksignal pointer\n  burying unused conditionals\n  make do_sigaltstack() static\n  arm64: switch to generic old sigaction() (compat-only)\n  arm64: switch to generic compat rt_sigaction()\n  arm64: switch compat to generic old sigsuspend\n  arm64: switch to generic compat rt_sigqueueinfo()\n  arm64: switch to generic compat rt_sigpending()\n  arm64: switch to generic compat rt_sigprocmask()\n  arm64: switch to generic sigaltstack\n  sparc: switch to generic old sigsuspend\n  sparc: COMPAT_SYSCALL_DEFINE does all sign-extension as well as SYSCALL_DEFINE\n  sparc: kill sign-extending wrappers for native syscalls\n  kill sparc32_open()\n  sparc: switch to use of generic old sigaction\n  sparc: switch sys_compat_rt_sigaction() to COMPAT_SYSCALL_DEFINE\n  mips: switch to generic sys_fork() and sys_clone()\n  ...\n"
    },
    {
      "commit": "21caf2fc1931b485483ddd254b634fa8f0099963",
      "tree": "e7cbdfe56948775328f7622522620864356d8264",
      "parents": [
        "258401a60c4df39332f30ef57afbc6dbf29a7e84"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "ming.lei@canonical.com",
        "time": "Fri Feb 22 16:34:08 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 23 17:50:16 2013 -0800"
      },
      "message": "mm: teach mm by current context info to not do I/O during memory allocation\n\nThis patch introduces PF_MEMALLOC_NOIO on process flag(\u0027flags\u0027 field of\n\u0027struct task_struct\u0027), so that the flag can be set by one task to avoid\ndoing I/O inside memory allocation in the task\u0027s context.\n\nThe patch trys to solve one deadlock problem caused by block device, and\nthe problem may happen at least in the below situations:\n\n- during block device runtime resume, if memory allocation with\n  GFP_KERNEL is called inside runtime resume callback of any one of its\n  ancestors(or the block device itself), the deadlock may be triggered\n  inside the memory allocation since it might not complete until the block\n  device becomes active and the involed page I/O finishes.  The situation\n  is pointed out first by Alan Stern.  It is not a good approach to\n  convert all GFP_KERNEL[1] in the path into GFP_NOIO because several\n  subsystems may be involved(for example, PCI, USB and SCSI may be\n  involved for usb mass stoarage device, network devices involved too in\n  the iSCSI case)\n\n- during block device runtime suspend, because runtime resume need to\n  wait for completion of concurrent runtime suspend.\n\n- during error handling of usb mass storage deivce, USB bus reset will\n  be put on the device, so there shouldn\u0027t have any memory allocation with\n  GFP_KERNEL during USB bus reset, otherwise the deadlock similar with\n  above may be triggered.  Unfortunately, any usb device may include one\n  mass storage interface in theory, so it requires all usb interface\n  drivers to handle the situation.  In fact, most usb drivers don\u0027t know\n  how to handle bus reset on the device and don\u0027t provide .pre_set() and\n  .post_reset() callback at all, so USB core has to unbind and bind driver\n  for these devices.  So it is still not practical to resort to GFP_NOIO\n  for solving the problem.\n\nAlso the introduced solution can be used by block subsystem or block\ndrivers too, for example, set the PF_MEMALLOC_NOIO flag before doing\nactual I/O transfer.\n\nIt is not a good idea to convert all these GFP_KERNEL in the affected\npath into GFP_NOIO because these functions doing that may be implemented\nas library and will be called in many other contexts.\n\nIn fact, memalloc_noio_flags() can convert some of current static\nGFP_NOIO allocation into GFP_KERNEL back in other non-affected contexts,\nat least almost all GFP_NOIO in USB subsystem can be converted into\nGFP_KERNEL after applying the approach and make allocation with GFP_NOIO\nonly happen in runtime resume/bus reset/block I/O transfer contexts\ngenerally.\n\n[1], several GFP_KERNEL allocation examples in runtime resume path\n\n- pci subsystem\nacpi_os_allocate\n\t\u003c-acpi_ut_allocate\n\t\t\u003c-ACPI_ALLOCATE_ZEROED\n\t\t\t\u003c-acpi_evaluate_object\n\t\t\t\t\u003c-__acpi_bus_set_power\n\t\t\t\t\t\u003c-acpi_bus_set_power\n\t\t\t\t\t\t\u003c-acpi_pci_set_power_state\n\t\t\t\t\t\t\t\u003c-platform_pci_set_power_state\n\t\t\t\t\t\t\t\t\u003c-pci_platform_power_transition\n\t\t\t\t\t\t\t\t\t\u003c-__pci_complete_power_transition\n\t\t\t\t\t\t\t\t\t\t\u003c-pci_set_power_state\n\t\t\t\t\t\t\t\t\t\t\t\u003c-pci_restore_standard_config\n\t\t\t\t\t\t\t\t\t\t\t\t\u003c-pci_pm_runtime_resume\n- usb subsystem\nusb_get_status\n\t\u003c-finish_port_resume\n\t\t\u003c-usb_port_resume\n\t\t\t\u003c-generic_resume\n\t\t\t\t\u003c-usb_resume_device\n\t\t\t\t\t\u003c-usb_resume_both\n\t\t\t\t\t\t\u003c-usb_runtime_resume\n\n- some individual usb drivers\nusblp, uvc, gspca, most of dvb-usb-v2 media drivers, cpia2, az6007, ....\n\nThat is just what I have found.  Unfortunately, this allocation can only\nbe found by human being now, and there should be many not found since\nany function in the resume path(call tree) may allocate memory with\nGFP_KERNEL.\n\nSigned-off-by: Ming Lei \u003cming.lei@canonical.com\u003e\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Oliver Neukum \u003coneukum@suse.de\u003e\nCc: Jiri Kosina \u003cjiri.kosina@suse.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: David Decotigny \u003cdavid.decotigny@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "502b24c23b44fbaa01cc2cbd86d8035845b7811f",
      "tree": "3096deeb99f6acc2d72ee33f145008ec5e2c68b3",
      "parents": [
        "ece8e0b2f9c980e5511fe8db2d68c6f1859b9d83",
        "f169007b2773f285e098cb84c74aac0154d65ff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:16:21 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:16:21 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Nothing too drastic.\n\n   - Removal of synchronize_rcu() from userland visible paths.\n\n   - Various fixes and cleanups from Li.\n\n   - cgroup_rightmost_descendant() added which will be used by cpuset\n     changes (it will be a separate pull request).\"\n\n* \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: fail if monitored file and event_control are in different cgroup\n  cgroup: fix cgroup_rmdir() vs close(eventfd) race\n  cpuset: fix cpuset_print_task_mems_allowed() vs rename() race\n  cgroup: fix exit() vs rmdir() race\n  cgroup: remove bogus comments in cgroup_diput()\n  cgroup: remove synchronize_rcu() from cgroup_diput()\n  cgroup: remove duplicate RCU free on struct cgroup\n  sched: remove redundant NULL cgroup check in task_group_path()\n  sched: split out css_online/css_offline from tg creation/destruction\n  cgroup: initialize cgrp-\u003edentry before css_alloc()\n  cgroup: remove a NULL check in cgroup_exit()\n  cgroup: fix bogus kernel warnings when cgroup_create() failed\n  cgroup: remove synchronize_rcu() from rebind_subsystems()\n  cgroup: remove synchronize_rcu() from cgroup_attach_{task|proc}()\n  cgroup: use new hashtable implementation\n  cgroups: fix cgroup_event_listener error handling\n  cgroups: move cgroup_event_listener.c to tools/cgroup\n  cgroup: implement cgroup_rightmost_descendant()\n  cgroup: remove unused dummy cgroup_fork_callbacks()\n"
    },
    {
      "commit": "1c3e826482ab698e418c7a894440e62c76aac893",
      "tree": "308b6ec83faaf1185c937ef4d2a5387bef00ff99",
      "parents": [
        "ece8e0b2f9c980e5511fe8db2d68c6f1859b9d83"
      ],
      "author": {
        "name": "Sha Zhengju",
        "email": "handai.szj@taobao.com",
        "time": "Wed Feb 20 17:14:38 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Feb 20 11:39:24 2013 +0100"
      },
      "message": "sched/core: Remove the obsolete and unused nr_uninterruptible() function\n\nSigned-off-by: Sha Zhengju \u003chandai.szj@taobao.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1361351678-8065-1-git-send-email-handai.szj@taobao.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e9b04b5b67ec628a5e9a312e14b6864f8f73ba12",
      "tree": "bd147c23da22edc74fd8c381b0f053678599615f",
      "parents": [
        "9b25d604182169a08b206306b312d2df26b5f502"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 20 11:14:10 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Feb 14 09:21:15 2013 -0500"
      },
      "message": "make do_sigaltstack() static\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8bd75c77b7c6a3954140dd2e20346aef3efe4a35",
      "tree": "10e0d451a58aeb6c8f48b871a848276bf3a8a359",
      "parents": [
        "ce0dbbbb30aee6a835511d5be446462388ba9eee"
      ],
      "author": {
        "name": "Clark Williams",
        "email": "williams@redhat.com",
        "time": "Thu Feb 07 09:47:07 2013 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 07 20:51:08 2013 +0100"
      },
      "message": "sched/rt: Move rt specific bits into new header file\n\nMove rt scheduler definitions out of include/linux/sched.h into\nnew file include/linux/sched/rt.h\n\nSigned-off-by: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20130207094707.7b9f825f@riff.lan\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cf4aebc292fac7f34f8345664320e9d4a42ca76c",
      "tree": "6eceb9bb2d8382c4499366a8fee060688aad6107",
      "parents": [
        "b2c77a57e4a0a7877e357dead7ee8acc19944f3e"
      ],
      "author": {
        "name": "Clark Williams",
        "email": "williams@redhat.com",
        "time": "Thu Feb 07 09:46:59 2013 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 07 20:50:54 2013 +0100"
      },
      "message": "sched: Move sched.h sysctl bits into separate header\n\nMove the sysctl-related bits from include/linux/sched.h into\na new file: include/linux/sched/sysctl.h. Then update source\nfiles requiring access to those bits by including the new\nheader file.\n\nSigned-off-by: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20130207094659.06dced96@riff.lan\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b2c77a57e4a0a7877e357dead7ee8acc19944f3e",
      "tree": "fa192b5a058711299c2a8ce2621df6c9bd8f3a99",
      "parents": [
        "c3c186403c6abd32e719f005f0af950155a9e54d",
        "6a61671bb2f3a1bd12cd17b8fca811a624782632"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Feb 05 13:10:33 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Feb 05 13:10:33 2013 +0100"
      },
      "message": "Merge tag \u0027full-dynticks-cputime-for-mingo\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into sched/core\n\nPull full-dynticks (user-space execution is undisturbed and\nreceives no timer IRQs) preparation changes that convert the\ncputime accounting code to be full-dynticks ready,\nfrom Frederic Weisbecker:\n\n \"This implements the cputime accounting on full dynticks CPUs.\n\n  Typical cputime stats infrastructure relies on the timer tick and\n  its periodic polling on the CPU to account the amount of time\n  spent by the CPUs and the tasks per high level domains such as\n  userspace, kernelspace, guest, ...\n\n  Now we are preparing to implement full dynticks capability on\n  Linux for Real Time and HPC users who want full CPU isolation.\n  This feature requires a cputime accounting that doesn\u0027t depend\n  on the timer tick.\n\n  To implement it, this new cputime infrastructure plugs into\n  kernel/user/guest boundaries to take snapshots of cputime and\n  flush these to the stats when needed. This performs pretty\n  much like CONFIG_VIRT_CPU_ACCOUNTING except that context location\n  and cputime snaphots are synchronized between write and read\n  side such that the latter can safely retrieve the pending tickless\n  cputime of a task and add it to its latest cputime snapshot to\n  return the correct result to the user.\"\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5a1b98d3096f1d780045f9be812335ad77aed93d",
      "tree": "8a7dd49d3ed891d3d2f6cd47f972fee36ecaf325",
      "parents": [
        "2ce5da17570771330f44ac993b77749debf7954b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 06 13:28:21 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Feb 03 15:09:26 2013 -0500"
      },
      "message": "new helper: sigsp()\n\nNormal logics for altstack handling in sigframe allocation\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6a61671bb2f3a1bd12cd17b8fca811a624782632",
      "tree": "0afc2915fb7e517472710a49a524510322dd5baa",
      "parents": [
        "c11f11fcbdb5be790c565aed46411486a7586afc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 16 20:00:34 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 20:35:47 2013 +0100"
      },
      "message": "cputime: Safely read cputime of full dynticks CPUs\n\nWhile remotely reading the cputime of a task running in a\nfull dynticks CPU, the values stored in utime/stime fields\nof struct task_struct may be stale. Its values may be those\nof the last kernel \u003c-\u003e user transition time snapshot and\nwe need to add the tickless time spent since this snapshot.\n\nTo fix this, flush the cputime of the dynticks CPUs on\nkernel \u003c-\u003e user transition and record the time / context\nwhere we did this. Then on top of this snapshot and the current\ntime, perform the fixup on the reader side from task_times()\naccessors.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[fixed kvm module related build errors]\nSigned-off-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\n"
    },
    {
      "commit": "6fac4829ce0ef9b7f24369086ce5f0e9f38d37bc",
      "tree": "44da712b66d778c2fd701f9c96b00e108530e1a9",
      "parents": [
        "3f4724ea85b7d9055a9976fa8f30b471bdfbca93"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 13 14:20:55 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 19:23:31 2013 +0100"
      },
      "message": "cputime: Use accessors to read task cputime stats\n\nThis is in preparation for the full dynticks feature. While\nremotely reading the cputime of a task running in a full\ndynticks CPU, we\u0027ll need to do some extra-computation. This\nway we can account the time it spent tickless in userspace\nsince its last cputime snapshot.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "57d2aa00dcec67afa52478730f2b524521af14fb",
      "tree": "ee5ba553c8d22aaeb5c4ecf946d298ddb7d63fa0",
      "parents": [
        "16c8f1c72ece3871a6c93003cd888fc2d003a7eb"
      ],
      "author": {
        "name": "Ying Xue",
        "email": "ying.xue@windriver.com",
        "time": "Tue Jul 17 15:03:43 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jan 25 08:31:54 2013 +0100"
      },
      "message": "sched/rt: Avoid updating RT entry timeout twice within one tick period\n\nThe issue below was found in 2.6.34-rt rather than mainline rt\nkernel, but the issue still exists upstream as well.\n\nSo please let me describe how it was noticed on 2.6.34-rt:\n\nOn this version, each softirq has its own thread, it means there\nis at least one RT FIFO task per cpu. The priority of these\ntasks is set to 49 by default. If user launches an RT FIFO task\nwith priority lower than 49 of softirq RT tasks, it\u0027s possible\nthere are two RT FIFO tasks enqueued one cpu runqueue at one\nmoment. By current strategy of balancing RT tasks, when it comes\nto RT tasks, we really need to put them off to a CPU that they\ncan run on as soon as possible. Even if it means a bit of cache\nline flushing, we want RT tasks to be run with the least latency.\n\nWhen the user RT FIFO task which just launched before is\nrunning, the sched timer tick of the current cpu happens. In this\ntick period, the timeout value of the user RT task will be\nupdated once. Subsequently, we try to wake up one softirq RT\ntask on its local cpu. As the priority of current user RT task\nis lower than the softirq RT task, the current task will be\npreempted by the higher priority softirq RT task. Before\npreemption, we check to see if current can readily move to a\ndifferent cpu. If so, we will reschedule to allow the RT push logic\nto try to move current somewhere else. Whenever the woken\nsoftirq RT task runs, it first tries to migrate the user FIFO RT\ntask over to a cpu that is running a task of lesser priority. If\nmigration is done, it will send a reschedule request to the found\ncpu by IPI interrupt. Once the target cpu responds the IPI\ninterrupt, it will pick the migrated user RT task to preempt its\ncurrent task. When the user RT task is running on the new cpu,\nthe sched timer tick of the cpu fires. So it will tick the user\nRT task again. This also means the RT task timeout value will be\nupdated again. As the migration may be done in one tick period,\nit means the user RT task timeout value will be updated twice\nwithin one tick.\n\nIf we set a limit on the amount of cpu time for the user RT task\nby setrlimit(RLIMIT_RTTIME), the SIGXCPU signal should be posted\nupon reaching the soft limit.\n\nBut exactly when the SIGXCPU signal should be sent depends on the\nRT task timeout value. In fact the timeout mechanism of sending\nthe SIGXCPU signal assumes the RT task timeout is increased once\nevery tick.\n\nHowever, currently the timeout value may be added twice per\ntick. So it results in the SIGXCPU signal being sent earlier\nthan expected.\n\nTo solve this issue, we prevent the timeout value from increasing\ntwice within one tick time by remembering the jiffies value of\nlast updating the timeout. As long as the RT task\u0027s jiffies is\ndifferent with the global jiffies value, we allow its timeout to\nbe updated.\n\nSigned-off-by: Ying Xue \u003cying.xue@windriver.com\u003e\nSigned-off-by: Fan Du \u003cfan.du@windriver.com\u003e\nReviewed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1342508623-2887-1-git-send-email-ying.xue@windriver.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ace783b9bbfa2182b4a561498db3f09a0c56bc79",
      "tree": "e490b561cbd0d14f6514f4f2cf1413bcab05c275",
      "parents": [
        "fe1c06ca7523baa668c1eaf1e1016fa64753c32e"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Thu Jan 24 14:30:48 2013 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 24 12:05:18 2013 -0800"
      },
      "message": "sched: split out css_online/css_offline from tg creation/destruction\n\nThis is a preparaton for later patches.\n\n- What do we gain from cpu_cgroup_css_online():\n\nAfter ss-\u003ecss_alloc() and before ss-\u003ecss_online(), there\u0027s a small\nwindow that tg-\u003ecss.cgroup is NULL. With this change, tg won\u0027t be seen\nbefore ss-\u003ecss_online(), where it\u0027s added to the global list, so we\u0027re\nguaranteed we\u0027ll never see NULL tg-\u003ecss.cgroup.\n\n- What do we gain from cpu_cgroup_css_offline():\n\ntg is freed via RCU, so is cgroup. Without this change, This is how\nsynchronization works:\n\ncgroup_rmdir()\n  no ss-\u003ecss_offline()\ndiput()\n  syncornize_rcu()\n  ss-\u003ecss_free()       \u003c-- unregister tg, and free it via call_rcu()\n  kfree_rcu(cgroup)    \u003c-- wait possible refs to cgroup, and free cgroup\n\nWe can\u0027t just kfree(cgroup), because tg might access tg-\u003ecss.cgroup.\n\nWith this change:\n\ncgroup_rmdir()\n  ss-\u003ecss_offline()    \u003c-- unregister tg\ndiput()\n  synchronize_rcu()    \u003c-- wait possible refs to tg and cgroup\n  ss-\u003ecss_free()       \u003c-- free tg\n  kfree_rcu(cgroup)    \u003c-- free cgroup\n\nAs you see, kfree_rcu() is redundant now.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "910ffdb18a6408e14febbb6e4b6840fd2c928c82",
      "tree": "258a215685f2ca2bb11dcd92582e0adafbd83f7b",
      "parents": [
        "9a9284153d965a57edc7162a8e57c14c97f3a935"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jan 21 20:47:41 2013 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 22 08:50:08 2013 -0800"
      },
      "message": "ptrace: introduce signal_wake_up_state() and ptrace_signal_wake_up()\n\nCleanup and preparation for the next change.\n\nsignal_wake_up(resume \u003d\u003e true) is overused. None of ptrace/jctl callers\nactually want to wakeup a TASK_WAKEKILL task, but they can\u0027t specify the\nnecessary mask.\n\nTurn signal_wake_up() into signal_wake_up_state(state), reintroduce\nsignal_wake_up() as a trivial helper, and add ptrace_signal_wake_up()\nwhich adds __TASK_TRACED.\n\nThis way ptrace_signal_wake_up() can work \"inside\" ptrace_request()\neven if the tracee doesn\u0027t have the TASK_WAKEKILL bit set.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "774a1221e862b343388347bac9b318767336b20b",
      "tree": "ee02b2b71268d9478f709bea8636ddd5eafdc007",
      "parents": [
        "406089d01562f1e2bf9f089fd7637009ebaad589"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 15 18:52:51 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 09:05:33 2013 -0800"
      },
      "message": "module, async: async_synchronize_full() on module init iff async is used\n\nIf the default iosched is built as module, the kernel may deadlock\nwhile trying to load the iosched module on device probe if the probing\nwas running off async.  This is because async_synchronize_full() at\nthe end of module init ends up waiting for the async job which\ninitiated the module loading.\n\n async A\t\t\t\tmodprobe\n\n 1. finds a device\n 2. registers the block device\n 3. request_module(default iosched)\n\t\t\t\t\t4. modprobe in userland\n\t\t\t\t\t5. load and init module\n\t\t\t\t\t6. async_synchronize_full()\n\nAsync A waits for modprobe to finish in request_module() and modprobe\nwaits for async A to finish in async_synchronize_full().\n\nBecause there\u0027s no easy to track dependency once control goes out to\nuserland, implementing properly nested flushing is difficult.  For\nnow, make module init perform async_synchronize_full() iff module init\nhas queued async jobs as suggested by Linus.\n\nThis avoids the described deadlock because iosched module doesn\u0027t use\nasync and thus wouldn\u0027t invoke async_synchronize_full().  This is\nhacky and incomplete.  It will deadlock if async module loading nests;\nhowever, this works around the known problem case and seems to be the\nbest of bad options.\n\nFor more details, please refer to the following thread.\n\n  http://thread.gmane.org/gmane.linux.kernel/1420814\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Alex Riesen \u003craa.lkml@gmail.com\u003e\nTested-by: Ming Lei \u003cming.lei@canonical.com\u003e\nTested-by: Alex Riesen \u003craa.lkml@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54d46ea993744c5408e39ce0cb4851e13cbea716",
      "tree": "8e38fa92cc2ae72e0353c44e1e68be9bf5a7a058",
      "parents": [
        "f59dc2bb5a50b26ea751f9eac1c81e4cc7de5257",
        "50ececcfa7d1acee085b2c518cad495062db6379"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull signal handling cleanups from Al Viro:\n \"sigaltstack infrastructure + conversion for x86, alpha and um,\n  COMPAT_SYSCALL_DEFINE infrastructure.\n\n  Note that there are several conflicts between \"unify\n  SS_ONSTACK/SS_DISABLE definitions\" and UAPI patches in mainline;\n  resolution is trivial - just remove definitions of SS_ONSTACK and\n  SS_DISABLED from arch/*/uapi/asm/signal.h; they are all identical and\n  include/uapi/linux/signal.h contains the unified variant.\"\n\nFixed up conflicts as per Al.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  alpha: switch to generic sigaltstack\n  new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those\n  generic compat_sys_sigaltstack()\n  introduce generic sys_sigaltstack(), switch x86 and um to it\n  new helper: compat_user_stack_pointer()\n  new helper: restore_altstack()\n  unify SS_ONSTACK/SS_DISABLE definitions\n  new helper: current_user_stack_pointer()\n  missing user_stack_pointer() instances\n  Bury the conditionals from kernel_thread/kernel_execve series\n  COMPAT_SYSCALL_DEFINE: infrastructure\n"
    },
    {
      "commit": "ae903caae267154de7cf8576b130ff474630596b",
      "tree": "a39d238d7fd1742f7f20cacbd24a4d1b4957176e",
      "parents": [
        "468366138850f20543f1d4878028900672b23dae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 14 12:44:11 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 19 18:07:38 2012 -0500"
      },
      "message": "Bury the conditionals from kernel_thread/kernel_execve series\n\nAll architectures have\n\tCONFIG_GENERIC_KERNEL_THREAD\n\tCONFIG_GENERIC_KERNEL_EXECVE\n\t__ARCH_WANT_SYS_EXECVE\nNone of them have __ARCH_WANT_KERNEL_EXECVE and there are only two callers\nof kernel_execve() (which is a trivial wrapper for do_execve() now) left.\nKill the conditionals and make both callers use do_execve().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0e9d92f2d02d8c8320f0502307c688d07bdac2b3",
      "tree": "bbbdb6759579766c60679963497064e0db3a6f32",
      "parents": [
        "d7f25f8a2f81252d1ac134470ba1d0a287cf8fcd"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue Dec 18 14:22:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:14 2012 -0800"
      },
      "message": "memcg: skip memcg kmem allocations in specified code regions\n\nCreate a mechanism that skip memcg allocations during certain pieces of\nour core code.  It basically works in the same way as\npreempt_disable()/preempt_enable(): By marking a region under which all\nallocations will be accounted to the root memcg.\n\nWe need this to prevent races in early cache creation, when we\nallocate data using caches that are not necessarily created already.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nyCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: JoonSoo Kim \u003cjs1304@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Suleiman Souhlal \u003csuleiman@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5ba911ec3792168530d35e16a8ec3b6fc60bcb5",
      "tree": "1dbffcb920aabeb12dc166aa11299bbddba8a245",
      "parents": [
        "d740269867021faf4ce38a449353d2b986c34a67"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Dec 17 16:03:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:23 2012 -0800"
      },
      "message": "pidns: remove unused is_container_init()\n\nSince commit 1cdcbec1a337 (\"CRED: Neuter sys_capset()\")\nis_container_init() has no callers.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d59eebc5e137bd89c6351e4c70e90ba1d0dc234",
      "tree": "b4ddfd0b057454a7437a3b4e3074a3b8b4b03817",
      "parents": [
        "11520e5e7c1855fc3bf202bb3be35a39d9efa034",
        "4fc3f1d66b1ef0d7b8dc11f4ff1cc510f78b37d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 16 14:33:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 16 15:18:08 2012 -0800"
      },
      "message": "Merge tag \u0027balancenuma-v11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux-balancenuma\n\nPull Automatic NUMA Balancing bare-bones from Mel Gorman:\n \"There are three implementations for NUMA balancing, this tree\n  (balancenuma), numacore which has been developed in tip/master and\n  autonuma which is in aa.git.\n\n  In almost all respects balancenuma is the dumbest of the three because\n  its main impact is on the VM side with no attempt to be smart about\n  scheduling.  In the interest of getting the ball rolling, it would be\n  desirable to see this much merged for 3.8 with the view to building\n  scheduler smarts on top and adapting the VM where required for 3.9.\n\n  The most recent set of comparisons available from different people are\n\n    mel:    https://lkml.org/lkml/2012/12/9/108\n    mingo:  https://lkml.org/lkml/2012/12/7/331\n    tglx:   https://lkml.org/lkml/2012/12/10/437\n    srikar: https://lkml.org/lkml/2012/12/10/397\n\n  The results are a mixed bag.  In my own tests, balancenuma does\n  reasonably well.  It\u0027s dumb as rocks and does not regress against\n  mainline.  On the other hand, Ingo\u0027s tests shows that balancenuma is\n  incapable of converging for this workloads driven by perf which is bad\n  but is potentially explained by the lack of scheduler smarts.  Thomas\u0027\n  results show balancenuma improves on mainline but falls far short of\n  numacore or autonuma.  Srikar\u0027s results indicate we all suffer on a\n  large machine with imbalanced node sizes.\n\n  My own testing showed that recent numacore results have improved\n  dramatically, particularly in the last week but not universally.\n  We\u0027ve butted heads heavily on system CPU usage and high levels of\n  migration even when it shows that overall performance is better.\n  There are also cases where it regresses.  Of interest is that for\n  specjbb in some configurations it will regress for lower numbers of\n  warehouses and show gains for higher numbers which is not reported by\n  the tool by default and sometimes missed in treports.  Recently I\n  reported for numacore that the JVM was crashing with\n  NullPointerExceptions but currently it\u0027s unclear what the source of\n  this problem is.  Initially I thought it was in how numacore batch\n  handles PTEs but I\u0027m no longer think this is the case.  It\u0027s possible\n  numacore is just able to trigger it due to higher rates of migration.\n\n  These reports were quite late in the cycle so I/we would like to start\n  with this tree as it contains much of the code we can agree on and has\n  not changed significantly over the last 2-3 weeks.\"\n\n* tag \u0027balancenuma-v11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux-balancenuma: (50 commits)\n  mm/rmap, migration: Make rmap_walk_anon() and try_to_unmap_anon() more scalable\n  mm/rmap: Convert the struct anon_vma::mutex to an rwsem\n  mm: migrate: Account a transhuge page properly when rate limiting\n  mm: numa: Account for failed allocations and isolations as migration failures\n  mm: numa: Add THP migration for the NUMA working set scanning fault case build fix\n  mm: numa: Add THP migration for the NUMA working set scanning fault case.\n  mm: sched: numa: Delay PTE scanning until a task is scheduled on a new node\n  mm: sched: numa: Control enabling and disabling of NUMA balancing if !SCHED_DEBUG\n  mm: sched: numa: Control enabling and disabling of NUMA balancing\n  mm: sched: Adapt the scanning rate if a NUMA hinting fault does not migrate\n  mm: numa: Use a two-stage filter to restrict pages being migrated for unlikely task\u003c-\u003enode relationships\n  mm: numa: migrate: Set last_nid on newly allocated page\n  mm: numa: split_huge_page: Transfer last_nid on tail page\n  mm: numa: Introduce last_nid to the page frame\n  sched: numa: Slowly increase the scanning period as NUMA faults are handled\n  mm: numa: Rate limit setting of pte_numa if node is saturated\n  mm: numa: Rate limit the amount of memory that is migrated between nodes\n  mm: numa: Structures for Migrate On Fault per NUMA migration rate limiting\n  mm: numa: Migrate pages handled during a pmd_numa hinting fault\n  mm: numa: Migrate on reference policy\n  ...\n"
    },
    {
      "commit": "66cdd0ceaf65a18996f561b770eedde1d123b019",
      "tree": "4892eaa422d366fce5d1e866ff1fe0988af95569",
      "parents": [
        "896ea17d3da5f44b2625c9cda9874d7dfe447393",
        "58b7825bc324da55415034a9f6ca5d716b8fd898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 15:31:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 15:31:08 2012 -0800"
      },
      "message": "Merge tag \u0027kvm-3.8-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Marcelo Tosatti:\n \"Considerable KVM/PPC work, x86 kvmclock vsyscall support,\n  IA32_TSC_ADJUST MSR emulation, amongst others.\"\n\nFix up trivial conflict in kernel/sched/core.c due to cross-cpu\nmigration notifier added next to rq migration call-back.\n\n* tag \u0027kvm-3.8-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (156 commits)\n  KVM: emulator: fix real mode segment checks in address linearization\n  VMX: remove unneeded enable_unrestricted_guest check\n  KVM: VMX: fix DPL during entry to protected mode\n  x86/kexec: crash_vmclear_local_vmcss needs __rcu\n  kvm: Fix irqfd resampler list walk\n  KVM: VMX: provide the vmclear function and a bitmap to support VMCLEAR in kdump\n  x86/kexec: VMCLEAR VMCSs loaded on all cpus if necessary\n  KVM: MMU: optimize for set_spte\n  KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface\n  KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation\n  KVM: PPC: bookehv: Add guest computation mode for irq delivery\n  KVM: PPC: Make EPCR a valid field for booke64 and bookehv\n  KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit\n  KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation\n  KVM: PPC: Mask ea\u0027s high 32-bits in 32/64 instr emulation\n  KVM: PPC: e500: Add emulation helper for getting instruction ea\n  KVM: PPC: bookehv64: Add support for interrupt handling\n  KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler\n  KVM: PPC: booke: Fix get_tb() compile error on 64-bit\n  KVM: PPC: e500: Silence bogus GCC warning in tlb code\n  ...\n"
    },
    {
      "commit": "9977d9b379cb77e0f67bd6f4563618106e58e11d",
      "tree": "0191accfddf578edb52c69c933d64521e3dce297",
      "parents": [
        "cf4af01221579a4e895f43dbfc47598fbfc5a731",
        "541880d9a2c7871f6370071d55aa6662d329c51e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 12:22:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 12:22:13 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull big execve/kernel_thread/fork unification series from Al Viro:\n \"All architectures are converted to new model.  Quite a bit of that\n  stuff is actually shared with architecture trees; in such cases it\u0027s\n  literally shared branch pulled by both, not a cherry-pick.\n\n  A lot of ugliness and black magic is gone (-3KLoC total in this one):\n\n   - kernel_thread()/kernel_execve()/sys_execve() redesign.\n\n     We don\u0027t do syscalls from kernel anymore for either kernel_thread()\n     or kernel_execve():\n\n     kernel_thread() is essentially clone(2) with callback run before we\n     return to userland, the callbacks either never return or do\n     successful do_execve() before returning.\n\n     kernel_execve() is a wrapper for do_execve() - it doesn\u0027t need to\n     do transition to user mode anymore.\n\n     As a result kernel_thread() and kernel_execve() are\n     arch-independent now - they live in kernel/fork.c and fs/exec.c\n     resp.  sys_execve() is also in fs/exec.c and it\u0027s completely\n     architecture-independent.\n\n   - daemonize() is gone, along with its parts in fs/*.c\n\n   - struct pt_regs * is no longer passed to do_fork/copy_process/\n     copy_thread/do_execve/search_binary_handler/-\u003eload_binary/do_coredump.\n\n   - sys_fork()/sys_vfork()/sys_clone() unified; some architectures\n     still need wrappers (ones with callee-saved registers not saved in\n     pt_regs on syscall entry), but the main part of those suckers is in\n     kernel/fork.c now.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (113 commits)\n  do_coredump(): get rid of pt_regs argument\n  print_fatal_signal(): get rid of pt_regs argument\n  ptrace_signal(): get rid of unused arguments\n  get rid of ptrace_signal_deliver() arguments\n  new helper: signal_pt_regs()\n  unify default ptrace_signal_deliver\n  flagday: kill pt_regs argument of do_fork()\n  death to idle_regs()\n  don\u0027t pass regs to copy_process()\n  flagday: don\u0027t pass regs to copy_thread()\n  bfin: switch to generic vfork, get rid of pointless wrappers\n  xtensa: switch to generic clone()\n  openrisc: switch to use of generic fork and clone\n  unicore32: switch to generic clone(2)\n  score: switch to generic fork/vfork/clone\n  c6x: sanitize copy_thread(), get rid of clone(2) wrapper, switch to generic clone()\n  take sys_fork/sys_vfork/sys_clone prototypes to linux/syscalls.h\n  mn10300: switch to generic fork/vfork/clone\n  h8300: switch to generic fork/vfork/clone\n  tile: switch to generic clone()\n  ...\n\nConflicts:\n\tarch/microblaze/include/asm/Kbuild\n"
    },
    {
      "commit": "f57d54bab696133fae569c5f01352249c36fc74f",
      "tree": "8ebe3c6deaf95c424c86843c3d290fbf2a9e80d2",
      "parents": [
        "da830e589a45f0c42eef6f3cbd07275f8893f181",
        "c1ad41f1f7270c1956da13fa8fd59d8d5929d56e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:21:38 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:21:38 2012 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler updates from Ingo Molnar:\n \"The biggest change affects group scheduling: we now track the runnable\n  average on a per-task entity basis, allowing a smoother, exponential\n  decay average based load/weight estimation instead of the previous\n  binary on-the-runqueue/off-the-runqueue load weight method.\n\n  This will inevitably disturb workloads that were in some sort of\n  borderline balancing state or unstable equilibrium, so an eye has to\n  be kept on regressions.\n\n  For that reason the new load average is only limited to group\n  scheduling (shares distribution) at the moment (which was also hurting\n  the most from the prior, crude weight calculation and whose scheduling\n  quality wins most from this change) - but we plan to extend this to\n  regular SMP balancing as well in the future, which will simplify and\n  speed up things a bit.\n\n  Other changes involve ongoing preparatory work to extend NOHZ to the\n  scheduler as well, eventually allowing completely irq-free user-space\n  execution.\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)\n  Revert \"sched/autogroup: Fix crash on reboot when autogroup is disabled\"\n  cputime: Comment cputime\u0027s adjusting code\n  cputime: Consolidate cputime adjustment code\n  cputime: Rename thread_group_times to thread_group_cputime_adjusted\n  cputime: Move thread_group_cputime() to sched code\n  vtime: Warn if irqs aren\u0027t disabled on system time accounting APIs\n  vtime: No need to disable irqs on vtime_account()\n  vtime: Consolidate a bit the ctx switch code\n  vtime: Explicitly account pending user time on process tick\n  vtime: Remove the underscore prefix invasion\n  sched/autogroup: Fix crash on reboot when autogroup is disabled\n  cputime: Separate irqtime accounting from generic vtime\n  cputime: Specialize irq vtime hooks\n  kvm: Directly account vtime to system on guest switch\n  vtime: Make vtime_account_system() irqsafe\n  vtime: Gather vtime declarations to their own header file\n  sched: Describe CFS load-balancer\n  sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking\n  sched: Make __update_entity_runnable_avg() fast\n  sched: Update_cfs_shares at period edge\n  ...\n"
    },
    {
      "commit": "37ea95a959d4a49846ecbf2dd45326b6b34bf049",
      "tree": "43791e1244ce06d8ca18ecbfd0b0f6dcb86ebb8b",
      "parents": [
        "de0c276b31538fcd56611132f20b63eae2891876",
        "630e1e0bcddfda9566462d4f9a0d58b31c29d467"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:10:49 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:10:49 2012 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU update from Ingo Molnar:\n \"The major features of this tree are:\n\n     1. A first version of no-callbacks CPUs.  This version prohibits\n        offlining CPU 0, but only when enabled via CONFIG_RCU_NOCB_CPU\u003dy.\n        Relaxing this constraint is in progress, but not yet ready\n        for prime time.  These commits were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/724.\n\n     2. Changes to SRCU that allows statically initialized srcu_struct\n        structures.  These commits were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/296.\n\n     3. Restructuring of RCU\u0027s debugfs output.  These commits were posted\n        to LKML at https://lkml.org/lkml/2012/10/30/341.\n\n     4. Additional CPU-hotplug/RCU improvements, posted to LKML at\n        https://lkml.org/lkml/2012/10/30/327.\n        Note that the commit eliminating __stop_machine() was judged to\n        be too-high of risk, so is deferred to 3.9.\n\n     5. Changes to RCU\u0027s idle interface, most notably a new module\n        parameter that redirects normal grace-period operations to\n        their expedited equivalents.  These were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/739.\n\n     6. Additional diagnostics for RCU\u0027s CPU stall warning facility,\n        posted to LKML at https://lkml.org/lkml/2012/10/30/315.\n        The most notable change reduces the\n        default RCU CPU stall-warning time from 60 seconds to 21 seconds,\n        so that it once again happens sooner than the softlockup timeout.\n\n     7. Documentation updates, which were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/280.\n        A couple of late-breaking changes were posted at\n        https://lkml.org/lkml/2012/11/16/634 and\n        https://lkml.org/lkml/2012/11/16/547.\n\n     8. Miscellaneous fixes, which were posted to LKML at\n        https://lkml.org/lkml/2012/10/30/309.\n\n     9. Finally, a fix for an lockdep-RCU splat was posted to LKML\n        at https://lkml.org/lkml/2012/11/7/486.\"\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (49 commits)\n  context_tracking: New context tracking susbsystem\n  sched: Mark RCU reader in sched_show_task()\n  rcu: Separate accounting of callbacks from callback-free CPUs\n  rcu: Add callback-free CPUs\n  rcu: Add documentation for the new rcuexp debugfs trace file\n  rcu: Update documentation for TREE_RCU debugfs tracing\n  rcu: Reduce default RCU CPU stall warning timeout\n  rcu: Fix TINY_RCU rcu_is_cpu_rrupt_from_idle check\n  rcu: Clarify memory-ordering properties of grace-period primitives\n  rcu: Add new rcutorture module parameters to start/end test messages\n  rcu: Remove list_for_each_continue_rcu()\n  rcu: Fix batch-limit size problem\n  rcu: Add tracing for synchronize_sched_expedited()\n  rcu: Remove old debugfs interfaces and also RCU flavor name\n  rcu: split \u0027rcuhier\u0027 to each flavor\n  rcu: split \u0027rcugp\u0027 to each flavor\n  rcu: split \u0027rcuboost\u0027 to each flavor\n  rcu: split \u0027rcubarrier\u0027 to each flavor\n  rcu: Fix tracing formatting\n  rcu: Remove the interface \"rcudata.csv\"\n  ...\n"
    },
    {
      "commit": "e1e12d2f3104be886073ac6c5c4678f30b1b9e51",
      "tree": "b08cba1dba28e18cf7c2ffd8d076ce744e368b5f",
      "parents": [
        "a9c58b907dbc6821533dfc295b63caf111ff1f16"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Dec 11 16:02:56 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 17:22:27 2012 -0800"
      },
      "message": "mm, oom: fix race when specifying a thread as the oom origin\n\ntest_set_oom_score_adj() and compare_swap_oom_score_adj() are used to\nspecify that current should be killed first if an oom condition occurs in\nbetween the two calls.\n\nThe usage is\n\n\tshort oom_score_adj \u003d test_set_oom_score_adj(OOM_SCORE_ADJ_MAX);\n\t...\n\tcompare_swap_oom_score_adj(OOM_SCORE_ADJ_MAX, oom_score_adj);\n\nto store the thread\u0027s oom_score_adj, temporarily change it to the maximum\nscore possible, and then restore the old value if it is still the same.\n\nThis happens to still be racy, however, if the user writes\nOOM_SCORE_ADJ_MAX to /proc/pid/oom_score_adj in between the two calls.\nThe compare_swap_oom_score_adj() will then incorrectly reset the old value\nprior to the write of OOM_SCORE_ADJ_MAX.\n\nTo fix this, introduce a new oom_flags_t member in struct signal_struct\nthat will be used for per-thread oom killer flags.  KSM and swapoff can\nnow use a bit in this member to specify that threads should be killed\nfirst in oom conditions without playing around with oom_score_adj.\n\nThis also allows the correct oom_score_adj to always be shown when reading\n/proc/pid/oom_score.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9c58b907dbc6821533dfc295b63caf111ff1f16",
      "tree": "e50714c48de89400a02a8e92ef4e240c5206bbcc",
      "parents": [
        "fa264375175a382621c5344a6508e02ec4d1c3c0"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Dec 11 16:02:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 17:22:27 2012 -0800"
      },
      "message": "mm, oom: change type of oom_score_adj to short\n\nThe maximum oom_score_adj is 1000 and the minimum oom_score_adj is -1000,\nso this range can be represented by the signed short type with no\nfunctional change.  The extra space this frees up in struct signal_struct\nwill be used for per-thread oom kill flags in the next patch.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a687c2e9a99335c9e77392f050fe607fa18a652",
      "tree": "06df958bfdfeaf9f38f333af106b55faa81f1c6b",
      "parents": [
        "b8593bfda1652755136333cdd362de125b283a9c"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Nov 22 11:16:36 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:55 2012 +0000"
      },
      "message": "mm: sched: numa: Control enabling and disabling of NUMA balancing\n\nThis patch adds Kconfig options and kernel parameters to allow the\nenabling and disabling of automatic NUMA balancing. The existance\nof such a switch was and is very important when debugging problems\nrelated to transparent hugepages and we should have the same for\nautomatic NUMA placement.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "b8593bfda1652755136333cdd362de125b283a9c",
      "tree": "c0395d9cf775fd9225e81b055fc8f5540a14333a",
      "parents": [
        "e42c8ff2999de1239a57d434bfbd8e9f2a56e814"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Wed Nov 21 01:18:23 2012 +0000"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:55 2012 +0000"
      },
      "message": "mm: sched: Adapt the scanning rate if a NUMA hinting fault does not migrate\n\nThe PTE scanning rate and fault rates are two of the biggest sources of\nsystem CPU overhead with automatic NUMA placement.  Ideally a proper policy\nwould detect if a workload was properly placed, schedule and adjust the\nPTE scanning rate accordingly. We do not track the necessary information\nto do that but we at least know if we migrated or not.\n\nThis patch scans slower if a page was not migrated as the result of a\nNUMA hinting fault up to sysctl_numa_balancing_scan_period_max which is\nnow higher than the previous default. Once every minute it will reset\nthe scanner in case of phase changes.\n\nThis is hilariously crude and the numbers are arbitrary. Workloads will\nconverge quite slowly in comparison to what a proper policy should be able\nto do. On the plus side, we will chew up less CPU for workloads that have\nno need for automatic balancing.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\n"
    },
    {
      "commit": "4b96a29ba891dd59734cb7be80a900fe93aa2d9f",
      "tree": "5162223c4ceae37f6ccf0ef1b84993c2556e60cf",
      "parents": [
        "9f40604cdab935e80db57b309c48659de349d4e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:47 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:47 2012 +0000"
      },
      "message": "mm: sched: numa: Implement slow start for working set sampling\n\nAdd a 1 second delay before starting to scan the working set of\na task and starting to balance it amongst nodes.\n\n[ note that before the constant per task WSS sampling rate patch\n  the initial scan would happen much later still, in effect that\n  patch caused this regression. ]\n\nThe theory is that short-run tasks benefit very little from NUMA\nplacement: they come and go, and they better stick to the node\nthey were started on. As tasks mature and rebalance to other CPUs\nand nodes, so does their NUMA placement have to change and so\ndoes it start to matter more and more.\n\nIn practice this change fixes an observable kbuild regression:\n\n   # [ a perf stat --null --repeat 10 test of ten bzImage builds to /dev/shm ]\n\n   !NUMA:\n   45.291088843 seconds time elapsed                                          ( +-  0.40% )\n   45.154231752 seconds time elapsed                                          ( +-  0.36% )\n\n   +NUMA, no slow start:\n   46.172308123 seconds time elapsed                                          ( +-  0.30% )\n   46.343168745 seconds time elapsed                                          ( +-  0.25% )\n\n   +NUMA, 1 sec slow start:\n   45.224189155 seconds time elapsed                                          ( +-  0.25% )\n   45.160866532 seconds time elapsed                                          ( +-  0.17% )\n\nand it also fixes an observable perf bench (hackbench) regression:\n\n   # perf stat --null --repeat 10 perf bench sched messaging\n\n   -NUMA:\n\n   -NUMA:                  0.246225691 seconds time elapsed                   ( +-  1.31% )\n   +NUMA no slow start:    0.252620063 seconds time elapsed                   ( +-  1.13% )\n\n   +NUMA 1sec delay:       0.248076230 seconds time elapsed                   ( +-  1.35% )\n\nThe implementation is simple and straightforward, most of the patch\ndeals with adding the /proc/sys/kernel/numa_balancing_scan_delay_ms tunable\nknob.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Wrote the changelog, ran measurements, tuned the default. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "6e5fb223e89dbe5cb5c563f8d4a4a0a7d62455a8",
      "tree": "0d5c93240702a51b1d6f22fefd979235a19692fd",
      "parents": [
        "cbee9f88ec1b8dd6b58f25f54e4f52c82ed77690"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:45 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:46 2012 +0000"
      },
      "message": "mm: sched: numa: Implement constant, per task Working Set Sampling (WSS) rate\n\nPreviously, to probe the working set of a task, we\u0027d use\na very simple and crude method: mark all of its address\nspace PROT_NONE.\n\nThat method has various (obvious) disadvantages:\n\n - it samples the working set at dissimilar rates,\n   giving some tasks a sampling quality advantage\n   over others.\n\n - creates performance problems for tasks with very\n   large working sets\n\n - over-samples processes with large address spaces but\n   which only very rarely execute\n\nImprove that method by keeping a rotating offset into the\naddress space that marks the current position of the scan,\nand advance it by a constant rate (in a CPU cycles execution\nproportional manner). If the offset reaches the last mapped\naddress of the mm then it then it starts over at the first\naddress.\n\nThe per-task nature of the working set sampling functionality in this tree\nallows such constant rate, per task, execution-weight proportional sampling\nof the working set, with an adaptive sampling interval/frequency that\ngoes from once per 100ms up to just once per 8 seconds.  The current\nsampling volume is 256 MB per interval.\n\nAs tasks mature and converge their working set, so does the\nsampling rate slow down to just a trickle, 256 MB per 8\nseconds of CPU time executed.\n\nThis, beyond being adaptive, also rate-limits rarely\nexecuting systems and does not over-sample on overloaded\nsystems.\n\n[ In AutoNUMA speak, this patch deals with the effective sampling\n  rate of the \u0027hinting page fault\u0027. AutoNUMA\u0027s scanning is\n  currently rate-limited, but it is also fundamentally\n  single-threaded, executing in the knuma_scand kernel thread,\n  so the limit in AutoNUMA is global and does not scale up with\n  the number of CPUs, nor does it scan tasks in an execution\n  proportional manner.\n\n  So the idea of rate-limiting the scanning was first implemented\n  in the AutoNUMA tree via a global rate limit. This patch goes\n  beyond that by implementing an execution rate proportional\n  working set sampling rate that is not implemented via a single\n  global scanning daemon. ]\n\n[ Dan Carpenter pointed out a possible NULL pointer dereference in the\n  first version of this patch. ]\n\nBased-on-idea-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nBug-Found-By: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\n[ Wrote changelog and fixed bug. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "cbee9f88ec1b8dd6b58f25f54e4f52c82ed77690",
      "tree": "d4cfbcfa3e89742216cd792d4aa914356406b532",
      "parents": [
        "a720094ded8cbb303111035be91858011d2eac71"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 25 14:16:43 2012 +0200"
      },
      "committer": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Dec 11 14:42:45 2012 +0000"
      },
      "message": "mm: numa: Add fault driven placement and migration\n\nNOTE: This patch is based on \"sched, numa, mm: Add fault driven\n\tplacement and migration policy\" but as it throws away all the policy\n\tto just leave a basic foundation I had to drop the signed-offs-by.\n\nThis patch creates a bare-bones method for setting PTEs pte_numa in the\ncontext of the scheduler that when faulted later will be faulted onto the\nnode the CPU is running on.  In itself this does nothing useful but any\nplacement policy will fundamentally depend on receiving hints on placement\nfrom fault context and doing something intelligent about it.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\n"
    },
    {
      "commit": "e80d6661c3a5caa0cebec0853c6cb0db090fb506",
      "tree": "efc60762bbcdf8904f9779310ac60d0131ac9f3d",
      "parents": [
        "18c26c27ae0abe82253cb2e2363df465dbbb657e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 22 23:10:08 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 29 00:01:08 2012 -0500"
      },
      "message": "flagday: kill pt_regs argument of do_fork()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "afa86fc426ff7e7f5477f15da9c405d08d5cf790",
      "tree": "0f82925269757902ce6f7c287a968f7b439d2b2d",
      "parents": [
        "135c37b83c81b79a888108e3f7c5f64423d8a851"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 22 22:51:14 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 28 23:43:42 2012 -0500"
      },
      "message": "flagday: don\u0027t pass regs to copy_thread()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "da3d4c5fa56236dd924d77ffc4f982356816b93b",
      "tree": "37cbc90820ef0e5474801db00c968e2da7c455aa",
      "parents": [
        "d03d26e58fde2ec99478e26aab47b55755189b08"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 20 21:49:33 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 28 21:53:37 2012 -0500"
      },
      "message": "get rid of pt_regs argument of do_execve()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c4144670fd9b34d6eae22c9f83751745898e8243",
      "tree": "da0bbda5707fafdc1d79eb2c851835c777182e89",
      "parents": [
        "02232f8d2b22708f0651dc515544f4a7ef1e0224"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 02 16:34:38 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 28 21:49:02 2012 -0500"
      },
      "message": "kill daemonize()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d37f761dbd276790f70dcf73a287fde2c3464482",
      "tree": "302d4bda699ab2e159b3a180f253019a38bf8132",
      "parents": [
        "e80d0a1ae8bb8fee0edd37427836f108b30f596b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Nov 22 00:58:35 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 28 17:08:10 2012 +0100"
      },
      "message": "cputime: Consolidate cputime adjustment code\n\ntask_cputime_adjusted() and thread_group_cputime_adjusted()\nessentially share the same code. They just don\u0027t use the same\nsource:\n\n* The first function uses the cputime in the task struct and the\nprevious adjusted snapshot that ensures monotonicity.\n\n* The second adds the cputime of all tasks in the group and the\nprevious adjusted snapshot of the whole group from the signal\nstructure.\n\nJust consolidate the common code that does the adjustment. These\nfunctions just need to fetch the values from the appropriate\nsource.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "e80d0a1ae8bb8fee0edd37427836f108b30f596b",
      "tree": "437db8b1643e39d3d114a7c0e3c913455e693b70",
      "parents": [
        "a634f93335daa8f38180a0e576ccd68a73c36eaf"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 21 16:26:44 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 28 17:07:57 2012 +0100"
      },
      "message": "cputime: Rename thread_group_times to thread_group_cputime_adjusted\n\nWe have thread_group_cputime() and thread_group_times(). The naming\ndoesn\u0027t provide enough information about the difference between\nthese two APIs.\n\nTo lower the confusion, rename thread_group_times() to\nthread_group_cputime_adjusted(). This name better suggests that\nit\u0027s a version of thread_group_cputime() that does some stabilization\non the raw cputime values. ie here: scale on top of CFS runtime\nstats and bound lower value for monotonicity.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "582b336ec2c0f0076f5650a029fcc9abd4a906f7",
      "tree": "4827fe468a1aac8be0227cac5bab922b32c2facc",
      "parents": [
        "189e11731aa858597095fbe1e6d243bad26bd96b"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:28:54 2012 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:29:09 2012 -0200"
      },
      "message": "sched: add notifier for cross-cpu migrations\n\nOriginally from Jeremy Fitzhardinge.\n\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "aac1cda34b84a9411d6b8d18c3658f094c834911",
      "tree": "60cc2e3d6793fdbf8b13704608aafdf01bcec118",
      "parents": [
        "2c5594df344cd1ff0cc9bf007dea3235582b3acf",
        "d484a215139cf556cb718a7ec7042260b7fc2d28",
        "351573a86d0ef17cbba1c5436706602692781bfe",
        "cda4dc813071e6cb04944c5a140610bd06acd295",
        "c896054f75f9a720ecf2ab3e688f4da79a55fe05",
        "7bd8f2a74bcbd39f4277766f4d49441c45dd10a0",
        "af71befa282ddf51c09509978abe1e83de8fe7eb"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Nov 16 09:59:58 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Nov 16 09:59:58 2012 -0800"
      },
      "message": "Merge branches \u0027urgent.2012.10.27a\u0027, \u0027doc.2012.11.16a\u0027, \u0027fixes.2012.11.13a\u0027, \u0027srcu.2012.10.27a\u0027, \u0027stall.2012.11.13a\u0027, \u0027tracing.2012.11.08a\u0027 and \u0027idle.2012.10.24a\u0027 into HEAD\n\nurgent.2012.10.27a: Fix for RCU user-mode transition (already in -tip).\n\ndoc.2012.11.08a: Documentation updates, most notably codifying the\n\tmemory-barrier guarantees inherent to grace periods.\n\nfixes.2012.11.13a: Miscellaneous fixes.\n\nsrcu.2012.10.27a: Allow statically allocated and initialized srcu_struct\n\tstructures (courtesy of Lai Jiangshan).\n\nstall.2012.11.13a: Add more diagnostic information to RCU CPU stall\n\twarnings, also decrease from 60 seconds to 21 seconds.\n\nhotplug.2012.11.08a: Minor updates to CPU hotplug handling.\n\ntracing.2012.11.08a: Improved debugfs tracing, courtesy of Michael Wang.\n\nidle.2012.10.24a: Updates to RCU idle/adaptive-idle handling, including\n\ta boot parameter that maps normal grace periods to expedited.\n\nResolved conflict in kernel/rcutree.c due to side-by-side change.\n"
    },
    {
      "commit": "f4e26b120b9de84cb627bc7361ba43cfdc51341f",
      "tree": "19786e34c5de3c9b7c9c871a27b0f8d85cc8690d",
      "parents": [
        "5b51f2f80b3b906ce59bd4dce6eca3c7f34cb1b9"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:32 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:31 2012 +0200"
      },
      "message": "sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking\n\nWhile per-entity load-tracking is generally useful, beyond computing shares\ndistribution, e.g. runnable based load-balance (in progress), governors,\npower-management, etc.\n\nThese facilities are not yet consumers of this data.  This may be trivially\nreverted when the information is required; but avoid paying the overhead for\ncalculations we will not use until then.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141507.422162369@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0a74bef8bed18dc6889e9bc37ea1050a50c86c89",
      "tree": "9d7b66a1b7ac0b05cd9b9b093cb6d89904db8f83",
      "parents": [
        "9ee474f55664ff63111c843099d365e7ecffb56f"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:30 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:23 2012 +0200"
      },
      "message": "sched: Add an rq migration call-back to sched_class\n\nSince we are now doing bottom up load accumulation we need explicit\nnotification when a task has been re-parented so that the old hierarchy can be\nupdated.\n\nAdds: migrate_task_rq(struct task_struct *p, int next_cpu)\n\n(The alternative is to do this out of __set_task_cpu, but it was suggested that\nthis would be a cleaner encapsulation.)\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.660023400@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9ee474f55664ff63111c843099d365e7ecffb56f",
      "tree": "745a678b0d3cd72ba42b67d0b6ac6c3872b14229",
      "parents": [
        "2dac754e10a5d41d94d2d2365c0345d4f215a266"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:30 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:22 2012 +0200"
      },
      "message": "sched: Maintain the load contribution of blocked entities\n\nWe are currently maintaining:\n\n  runnable_load(cfs_rq) \u003d \\Sum task_load(t)\n\nFor all running children t of cfs_rq.  While this can be naturally updated for\ntasks in a runnable state (as they are scheduled); this does not account for\nthe load contributed by blocked task entities.\n\nThis can be solved by introducing a separate accounting for blocked load:\n\n  blocked_load(cfs_rq) \u003d \\Sum runnable(b) * weight(b)\n\nObviously we do not want to iterate over all blocked entities to account for\ntheir decay, we instead observe that:\n\n  runnable_load(t) \u003d \\Sum p_i*y^i\n\nand that to account for an additional idle period we only need to compute:\n\n  y*runnable_load(t).\n\nThis means that we can compute all blocked entities at once by evaluating:\n\n  blocked_load(cfs_rq)` \u003d y * blocked_load(cfs_rq)\n\nFinally we maintain a decay counter so that when a sleeping entity re-awakens\nwe can determine how much of its load should be removed from the blocked sum.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.585389902@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2dac754e10a5d41d94d2d2365c0345d4f215a266",
      "tree": "4016ab214b5b51b2be5c40ab2fdc9832c8aca870",
      "parents": [
        "18bf2805d9b30cb823d4919b42cd230f59c7ce1f"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:30 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:21 2012 +0200"
      },
      "message": "sched: Aggregate load contributed by task entities on parenting cfs_rq\n\nFor a given task t, we can compute its contribution to load as:\n\n  task_load(t) \u003d runnable_avg(t) * weight(t)\n\nOn a parenting cfs_rq we can then aggregate:\n\n  runnable_load(cfs_rq) \u003d \\Sum task_load(t), for all runnable children t\n\nMaintain this bottom up, with task entities adding their contributed load to\nthe parenting cfs_rq sum.  When a task entity\u0027s load changes we add the same\ndelta to the maintained sum.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.514678907@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9d85f21c94f7f7a84d0ba686c58aa6d9da58fdbb",
      "tree": "bec53516fbe39007b12250423b7a09e7b62184c3",
      "parents": [
        "0e9e3e306c7e472bdcffa34c4c4584301eda03b3"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Oct 04 13:18:29 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:27:18 2012 +0200"
      },
      "message": "sched: Track the runnable average on a per-task entity basis\n\nInstead of tracking averaging the load parented by a cfs_rq, we can track\nentity load directly. With the load for a given cfs_rq then being the sum\nof its children.\n\nTo do this we represent the historical contribution to runnable average\nwithin each trailing 1024us of execution as the coefficients of a\ngeometric series.\n\nWe can express this for a given task t as:\n\n  runnable_sum(t) \u003d \\Sum u_i * y^i, runnable_avg_period(t) \u003d \\Sum 1024 * y^i\n  load(t) \u003d weight_t * runnable_sum(t) / runnable_avg_period(t)\n\nWhere: u_i is the usage in the last i`th 1024us period (approximately 1ms)\n~ms and y is chosen such that y^k \u003d 1/2.  We currently choose k to be 32 which\nroughly translates to about a sched period.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120823141506.372695337@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b637a328bd4f43a0e146d1eef0142b650ba0d644",
      "tree": "f1bcf34f229b9ab62612971903ccd61d05db7aea",
      "parents": [
        "6f0c0580b70c89094b3422ba81118c7b959c7556"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Sep 19 16:58:38 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Oct 23 14:55:25 2012 -0700"
      },
      "message": "rcu: Print remote CPU\u0027s stacks in stall warnings\n\nThe RCU CPU stall warnings rely on trigger_all_cpu_backtrace() to\ndo NMI-based dump of the stack traces of all CPUs.  Unfortunately, a\nnumber of architectures do not implement trigger_all_cpu_backtrace(), in\nwhich case RCU falls back to just dumping the stack of the running CPU.\nThis is unhelpful in the case where the running CPU has detected that\nsome other CPU has stalled.\n\nThis commit therefore makes the running CPU dump the stacks of the\ntasks running on the stalled CPUs.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4d9a5d4319e22670ec6d6227e12b54f361c46d0f",
      "tree": "d82eb23f01225bf31027e19ce983cd05e9b900bd",
      "parents": [
        "6f0c0580b70c89094b3422ba81118c7b959c7556"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Oct 11 01:47:16 2012 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Oct 23 14:54:06 2012 -0700"
      },
      "message": "rcu: Remove rcu_switch()\n\nIt\u0027s only there to call rcu_user_hooks_switch(). Let\u0027s\njust call rcu_user_hooks_switch() directly, we don\u0027t need this\nfunction in the middle.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "607ca46e97a1b6594b29647d98a32d545c24bdff",
      "tree": "30f4c0784bfddb57332cdc0678bd06d1e77fa185",
      "parents": [
        "08cce05c5a91f5017f4edc9866cf026908c73f9f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Oct 13 10:46:48 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Oct 13 10:46:48 2012 +0100"
      },
      "message": "UAPI: (Scripted) Disintegrate include/linux\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "42859eea96ba6beabfb0369a1eeffa3c7d2bd9cb",
      "tree": "fa38aeda0d6e7a4c48a882b166b8643594a1ad50",
      "parents": [
        "f59b51fe3d3092c08d7d554ecb40db24011b2ebc",
        "f322220d6159455da2b5a8a596d802c8695fed30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 10 12:02:25 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 10 12:02:25 2012 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull generic execve() changes from Al Viro:\n \"This introduces the generic kernel_thread() and kernel_execve()\n  functions, and switches x86, arm, alpha, um and s390 over to them.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (26 commits)\n  s390: convert to generic kernel_execve()\n  s390: switch to generic kernel_thread()\n  s390: fold kernel_thread_helper() into ret_from_fork()\n  s390: fold execve_tail() into start_thread(), convert to generic sys_execve()\n  um: switch to generic kernel_thread()\n  x86, um/x86: switch to generic sys_execve and kernel_execve\n  x86: split ret_from_fork\n  alpha: introduce ret_from_kernel_execve(), switch to generic kernel_execve()\n  alpha: switch to generic kernel_thread()\n  alpha: switch to generic sys_execve()\n  arm: get rid of execve wrapper, switch to generic execve() implementation\n  arm: optimized current_pt_regs()\n  arm: introduce ret_from_kernel_execve(), switch to generic kernel_execve()\n  arm: split ret_from_fork, simplify kernel_thread() [based on patch by rmk]\n  generic sys_execve()\n  generic kernel_execve()\n  new helper: current_pt_regs()\n  preparation for generic kernel_thread()\n  um: kill thread-\u003eforking\n  um: let signal_delivered() do SIGTRAP on singlestepping into handler\n  ...\n"
    },
    {
      "commit": "01dc52ebdf472f77cca623ca693ca24cfc0f1bbe",
      "tree": "2d0f35f2aff418d52a84fb50974ad3bacf68d4bd",
      "parents": [
        "d5dc0ad928fb9e972001e552597fd0b794863f34"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "dave@gnu.org",
        "time": "Mon Oct 08 16:29:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 09 16:22:24 2012 +0900"
      },
      "message": "oom: remove deprecated oom_adj\n\nThe deprecated /proc/\u003cpid\u003e/oom_adj is scheduled for removal this month.\n\nSigned-off-by: Davidlohr Bueso \u003cdave@gnu.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "179899fd5dc780fe3bcd44d0eb7823e3d855c855",
      "tree": "a2e7bf0098162e1fa940cad56bb1e99ec10440ca",
      "parents": [
        "046d662f481830e652ac34cd112249adde16452a"
      ],
      "author": {
        "name": "Alex Kelly",
        "email": "alex.page.kelly@gmail.com",
        "time": "Thu Oct 04 17:15:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 06 03:05:15 2012 +0900"
      },
      "message": "coredump: update coredump-related headers\n\nCreate a new header file, fs/coredump.h, which contains functions only\nused by the new coredump.c.  It also moves do_coredump to the\ninclude/linux/coredump.h header file, for consistency.\n\nSigned-off-by: Alex Kelly \u003calex.page.kelly@gmail.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aab174f0df5d72d31caccf281af5f614fa254578",
      "tree": "2a172c5009c4ac8755e858593154c258ce7709a0",
      "parents": [
        "ca41cc96b2813221b05af57d0355157924de5a07",
        "2bd2c1941f141ad780135ccc1cd08ca71a24f10a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 20:25:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 20:25:04 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs update from Al Viro:\n\n - big one - consolidation of descriptor-related logics; almost all of\n   that is moved to fs/file.c\n\n   (BTW, I\u0027m seriously tempted to rename the result to fd.c.  As it is,\n   we have a situation when file_table.c is about handling of struct\n   file and file.c is about handling of descriptor tables; the reasons\n   are historical - file_table.c used to be about a static array of\n   struct file we used to have way back).\n\n   A lot of stray ends got cleaned up and converted to saner primitives,\n   disgusting mess in android/binder.c is still disgusting, but at least\n   doesn\u0027t poke so much in descriptor table guts anymore.  A bunch of\n   relatively minor races got fixed in process, plus an ext4 struct file\n   leak.\n\n - related thing - fget_light() partially unuglified; see fdget() in\n   there (and yes, it generates the code as good as we used to have).\n\n - also related - bits of Cyrill\u0027s procfs stuff that got entangled into\n   that work; _not_ all of it, just the initial move to fs/proc/fd.c and\n   switch of fdinfo to seq_file.\n\n - Alex\u0027s fs/coredump.c spiltoff - the same story, had been easier to\n   take that commit than mess with conflicts.  The rest is a separate\n   pile, this was just a mechanical code movement.\n\n - a few misc patches all over the place.  Not all for this cycle,\n   there\u0027ll be more (and quite a few currently sit in akpm\u0027s tree).\"\n\nFix up trivial conflicts in the android binder driver, and some fairly\nsimple conflicts due to two different changes to the sock_alloc_file()\ninterface (\"take descriptor handling from sock_alloc_file() to callers\"\nvs \"net: Providing protocol type via system.sockprotoname xattr of\n/proc/PID/fd entries\" adding a dentry name to the socket)\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (72 commits)\n  MAX_LFS_FILESIZE should be a loff_t\n  compat: fs: Generic compat_sys_sendfile implementation\n  fs: push rcu_barrier() from deactivate_locked_super() to filesystems\n  btrfs: reada_extent doesn\u0027t need kref for refcount\n  coredump: move core dump functionality into its own file\n  coredump: prevent double-free on an error path in core dumper\n  usb/gadget: fix misannotations\n  fcntl: fix misannotations\n  ceph: don\u0027t abuse d_delete() on failure exits\n  hypfs: -\u003ed_parent is never NULL or negative\n  vfs: delete surplus inode NULL check\n  switch simple cases of fget_light to fdget\n  new helpers: fdget()/fdput()\n  switch o2hb_region_dev_write() to fget_light()\n  proc_map_files_readdir(): don\u0027t bother with grabbing files\n  make get_file() return its argument\n  vhost_set_vring(): turn pollstart/pollstop into bool\n  switch prctl_set_mm_exe_file() to fget_light()\n  switch xfs_find_handle() to fget_light()\n  switch xfs_swapext() to fget_light()\n  ...\n"
    },
    {
      "commit": "10c28d937e2cca577c2d804106b50dd0562fb062",
      "tree": "249f1c487bf8a9cc32912e20bf9f274c650f58e9",
      "parents": [
        "f34f9d186df35e5c39163444c43b4fc6255e39c5"
      ],
      "author": {
        "name": "Alex Kelly",
        "email": "alex.page.kelly@gmail.com",
        "time": "Wed Sep 26 21:52:08 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 02 21:35:55 2012 -0400"
      },
      "message": "coredump: move core dump functionality into its own file\n\nThis prepares for making core dump functionality optional.\n\nThe variable \"suid_dumpable\" and associated functions are left in fs/exec.c\nbecause they\u0027re used elsewhere, such as in ptrace.\n\nSigned-off-by: Alex Kelly \u003calex.page.kelly@gmail.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aecdc33e111b2c447b622e287c6003726daa1426",
      "tree": "3e7657eae4b785e1a1fb5dfb225dbae0b2f0cfc6",
      "parents": [
        "a20acf99f75e49271381d65db097c9763060a1e8",
        "a3a6cab5ea10cca64d036851fe0d932448f2fe4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 13:38:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 13:38:27 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking changes from David Miller:\n\n 1) GRE now works over ipv6, from Dmitry Kozlov.\n\n 2) Make SCTP more network namespace aware, from Eric Biederman.\n\n 3) TEAM driver now works with non-ethernet devices, from Jiri Pirko.\n\n 4) Make openvswitch network namespace aware, from Pravin B Shelar.\n\n 5) IPV6 NAT implementation, from Patrick McHardy.\n\n 6) Server side support for TCP Fast Open, from Jerry Chu and others.\n\n 7) Packet BPF filter supports MOD and XOR, from Eric Dumazet and Daniel\n    Borkmann.\n\n 8) Increate the loopback default MTU to 64K, from Eric Dumazet.\n\n 9) Use a per-task rather than per-socket page fragment allocator for\n    outgoing networking traffic.  This benefits processes that have very\n    many mostly idle sockets, which is quite common.\n\n    From Eric Dumazet.\n\n10) Use up to 32K for page fragment allocations, with fallbacks to\n    smaller sizes when higher order page allocations fail.  Benefits are\n    a) less segments for driver to process b) less calls to page\n    allocator c) less waste of space.\n\n    From Eric Dumazet.\n\n11) Allow GRO to be used on GRE tunnels, from Eric Dumazet.\n\n12) VXLAN device driver, one way to handle VLAN issues such as the\n    limitation of 4096 VLAN IDs yet still have some level of isolation.\n    From Stephen Hemminger.\n\n13) As usual there is a large boatload of driver changes, with the scale\n    perhaps tilted towards the wireless side this time around.\n\nFix up various fairly trivial conflicts, mostly caused by the user\nnamespace changes.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1012 commits)\n  hyperv: Add buffer for extended info after the RNDIS response message.\n  hyperv: Report actual status in receive completion packet\n  hyperv: Remove extra allocated space for recv_pkt_list elements\n  hyperv: Fix page buffer handling in rndis_filter_send_request()\n  hyperv: Fix the missing return value in rndis_filter_set_packet_filter()\n  hyperv: Fix the max_xfer_size in RNDIS initialization\n  vxlan: put UDP socket in correct namespace\n  vxlan: Depend on CONFIG_INET\n  sfc: Fix the reported priorities of different filter types\n  sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP\n  sfc: Fix loopback self-test with separate_tx_channels\u003d1\n  sfc: Fix MCDI structure field lookup\n  sfc: Add parentheses around use of bitfield macro arguments\n  sfc: Fix null function pointer in efx_sriov_channel_type\n  vxlan: virtual extensible lan\n  igmp: export symbol ip_mc_leave_group\n  netlink: add attributes to fdb interface\n  tg3: unconditionally select HWMON support when tg3 is enabled.\n  Revert \"net: ti cpsw ethernet: allow reading phy interface mode from DT\"\n  gre: fix sparse warning\n  ...\n"
    },
    {
      "commit": "437589a74b6a590d175f86cf9f7b2efcee7765e7",
      "tree": "37bf8635b1356d80ef002b00e84f3faf3d555a63",
      "parents": [
        "68d47a137c3bef754923bccf73fb639c9b0bbd5e",
        "72235465864d84cedb2d9f26f8e1de824ee20339"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 11:11:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 11:11:09 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull user namespace changes from Eric Biederman:\n \"This is a mostly modest set of changes to enable basic user namespace\n  support.  This allows the code to code to compile with user namespaces\n  enabled and removes the assumption there is only the initial user\n  namespace.  Everything is converted except for the most complex of the\n  filesystems: autofs4, 9p, afs, ceph, cifs, coda, fuse, gfs2, ncpfs,\n  nfs, ocfs2 and xfs as those patches need a bit more review.\n\n  The strategy is to push kuid_t and kgid_t values are far down into\n  subsystems and filesystems as reasonable.  Leaving the make_kuid and\n  from_kuid operations to happen at the edge of userspace, as the values\n  come off the disk, and as the values come in from the network.\n  Letting compile type incompatible compile errors (present when user\n  namespaces are enabled) guide me to find the issues.\n\n  The most tricky areas have been the places where we had an implicit\n  union of uid and gid values and were storing them in an unsigned int.\n  Those places were converted into explicit unions.  I made certain to\n  handle those places with simple trivial patches.\n\n  Out of that work I discovered we have generic interfaces for storing\n  quota by projid.  I had never heard of the project identifiers before.\n  Adding full user namespace support for project identifiers accounts\n  for most of the code size growth in my git tree.\n\n  Ultimately there will be work to relax privlige checks from\n  \"capable(FOO)\" to \"ns_capable(user_ns, FOO)\" where it is safe allowing\n  root in a user names to do those things that today we only forbid to\n  non-root users because it will confuse suid root applications.\n\n  While I was pushing kuid_t and kgid_t changes deep into the audit code\n  I made a few other cleanups.  I capitalized on the fact we process\n  netlink messages in the context of the message sender.  I removed\n  usage of NETLINK_CRED, and started directly using current-\u003etty.\n\n  Some of these patches have also made it into maintainer trees, with no\n  problems from identical code from different trees showing up in\n  linux-next.\n\n  After reading through all of this code I feel like I might be able to\n  win a game of kernel trivial pursuit.\"\n\nFix up some fairly trivial conflicts in netfilter uid/git logging code.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (107 commits)\n  userns: Convert the ufs filesystem to use kuid/kgid where appropriate\n  userns: Convert the udf filesystem to use kuid/kgid where appropriate\n  userns: Convert ubifs to use kuid/kgid\n  userns: Convert squashfs to use kuid/kgid where appropriate\n  userns: Convert reiserfs to use kuid and kgid where appropriate\n  userns: Convert jfs to use kuid/kgid where appropriate\n  userns: Convert jffs2 to use kuid and kgid where appropriate\n  userns: Convert hpfs to use kuid and kgid where appropriate\n  userns: Convert btrfs to use kuid/kgid where appropriate\n  userns: Convert bfs to use kuid/kgid where appropriate\n  userns: Convert affs to use kuid/kgid wherwe appropriate\n  userns: On alpha modify linux_to_osf_stat to use convert from kuids and kgids\n  userns: On ia64 deal with current_uid and current_gid being kuid and kgid\n  userns: On ppc convert current_uid from a kuid before printing.\n  userns: Convert s390 getting uid and gid system calls to use kuid and kgid\n  userns: Convert s390 hypfs to use kuid and kgid where appropriate\n  userns: Convert binder ipc to use kuids\n  userns: Teach security_path_chown to take kuids and kgids\n  userns: Add user namespace support to IMA\n  userns: Convert EVM to deal with kuids and kgids in it\u0027s hmac computation\n  ...\n"
    },
    {
      "commit": "0b981cb94bc63a2d0e5eccccdca75fe57643ffce",
      "tree": "966ad6e6807fd1041d9962c9904e032a5ab07a65",
      "parents": [
        "4cba3335826cbb36a218c3f5a1387e2c7c7ca9aa",
        "fdf9c356502ae02238efcdf90cefd7b473a63fd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 10:43:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 10:43:39 2012 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"Continued quest to clean up and enhance the cputime code by Frederic\n  Weisbecker, in preparation for future tickless kernel features.\n\n  Other than that, smallish changes.\"\n\nFix up trivial conflicts due to additions next to each other in arch/{x86/}Kconfig\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  cputime: Make finegrained irqtime accounting generally available\n  cputime: Gather time/stats accounting config options into a single menu\n  ia64: Reuse system and user vtime accounting functions on task switch\n  ia64: Consolidate user vtime accounting\n  vtime: Consolidate system/idle context detection\n  cputime: Use a proper subsystem naming for vtime related APIs\n  sched: cpu_power: enable ARCH_POWER\n  sched/nohz: Clean up select_nohz_load_balancer()\n  sched: Fix load avg vs. cpu-hotplug\n  sched: Remove __ARCH_WANT_INTERRUPTS_ON_CTXSW\n  sched: Fix nohz_idle_balance()\n  sched: Remove useless code in yield_to()\n  sched: Add time unit suffix to sched sysctl knobs\n  sched/debug: Limit sd-\u003e*_idx range on sysctl\n  sched: Remove AFFINE_WAKEUPS feature flag\n  s390: Remove leftover account_tick_vtime() header\n  cputime: Consolidate vtime handling on context switch\n  sched: Move cputime code to its own file\n  cputime: Generalize CONFIG_VIRT_CPU_ACCOUNTING\n  tile: Remove SD_PREFER_LOCAL leftover\n  ...\n"
    },
    {
      "commit": "7e92daaefa68e5ef1e1732e45231e73adbb724e7",
      "tree": "8e7f8ac9d82654df4c65939c6682f95510e22977",
      "parents": [
        "7a68294278ae714ce2632a54f0f46916dca64f56",
        "1d787d37c8ff6612b8151c6dff15bfa7347bcbdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 10:28:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 10:28:49 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf update from Ingo Molnar:\n \"Lots of changes in this cycle as well, with hundreds of commits from\n  over 30 contributors.  Most of the activity was on the tooling side.\n\n  Higher level changes:\n\n   - New \u0027perf kvm\u0027 analysis tool, from Xiao Guangrong.\n\n   - New \u0027perf trace\u0027 system-wide tracing tool\n\n   - uprobes fixes + cleanups from Oleg Nesterov.\n\n   - Lots of patches to make perf build on Android out of box, from\n     Irina Tirdea\n\n   - Extend ftrace function tracing utility to be more dynamic for its\n     users.  It allows for data passing to the callback functions, as\n     well as reading regs as if a breakpoint were to trigger at function\n     entry.\n\n     The main goal of this patch series was to allow kprobes to use\n     ftrace as an optimized probe point when a probe is placed on an\n     ftrace nop.  With lots of help from Masami Hiramatsu, and going\n     through lots of iterations, we finally came up with a good\n     solution.\n\n   - Add cpumask for uncore pmu, use it in \u0027stat\u0027, from Yan, Zheng.\n\n   - Various tracing updates from Steve Rostedt\n\n   - Clean up and improve \u0027perf sched\u0027 performance by elliminating lots\n     of needless calls to libtraceevent.\n\n   - Event group parsing support, from Jiri Olsa\n\n   - UI/gtk refactorings and improvements from Namhyung Kim\n\n   - Add support for non-tracepoint events in perf script python, from\n     Feng Tang\n\n   - Add --symbols to \u0027script\u0027, similar to the one in \u0027report\u0027, from\n     Feng Tang.\n\n  Infrastructure enhancements and fixes:\n\n   - Convert the trace builtins to use the growing evsel/evlist\n     tracepoint infrastructure, removing several open coded constructs\n     like switch like series of strcmp to dispatch events, etc.\n     Basically what had already been showcased in \u0027perf sched\u0027.\n\n   - Add evsel constructor for tracepoints, that uses libtraceevent just\n     to parse the /format events file, use it in a new \u0027perf test\u0027 to\n     make sure the libtraceevent format parsing regressions can be more\n     readily caught.\n\n   - Some strange errors were happening in some builds, but not on the\n     next, reported by several people, problem was some parser related\n     files, generated during the build, didn\u0027t had proper make deps, fix\n     from Eric Sandeen.\n\n   - Introduce struct and cache information about the environment where\n     a perf.data file was captured, from Namhyung Kim.\n\n   - Fix handling of unresolved samples when --symbols is used in\n     \u0027report\u0027, from Feng Tang.\n\n   - Add union member access support to \u0027probe\u0027, from Hyeoncheol Lee.\n\n   - Fixups to die() removal, from Namhyung Kim.\n\n   - Render fixes for the TUI, from Namhyung Kim.\n\n   - Don\u0027t enable annotation in non symbolic view, from Namhyung Kim.\n\n   - Fix pipe mode in \u0027report\u0027, from Namhyung Kim.\n\n   - Move related stats code from stat to util/, will be used by the\n     \u0027stat\u0027 kvm tool, from Xiao Guangrong.\n\n   - Remove die()/exit() calls from several tools.\n\n   - Resolve vdso callchains, from Jiri Olsa\n\n   - Don\u0027t pass const char pointers to basename, so that we can\n     unconditionally use libgen.h and thus avoid ifdef BIONIC lines,\n     from David Ahern\n\n   - Refactor hist formatting so that it can be reused with the GTK\n     browser, From Namhyung Kim\n\n   - Fix build for another rbtree.c change, from Adrian Hunter.\n\n   - Make \u0027perf diff\u0027 command work with evsel hists, from Jiri Olsa.\n\n   - Use the only field_sep var that is set up: symbol_conf.field_sep,\n     fix from Jiri Olsa.\n\n   - .gitignore compiled python binaries, from Namhyung Kim.\n\n   - Get rid of die() in more libtraceevent places, from Namhyung Kim.\n\n   - Rename libtraceevent \u0027private\u0027 struct member to \u0027priv\u0027 so that it\n     works in C++, from Steven Rostedt\n\n   - Remove lots of exit()/die() calls from tools so that the main perf\n     exit routine can take place, from David Ahern\n\n   - Fix x86 build on x86-64, from David Ahern.\n\n   - {int,str,rb}list fixes from Suzuki K Poulose\n\n   - perf.data header fixes from Namhyung Kim\n\n   - Allow user to indicate objdump path, needed in cross environments,\n     from Maciek Borzecki\n\n   - Fix hardware cache event name generation, fix from Jiri Olsa\n\n   - Add round trip test for sw, hw and cache event names, catching the\n     problem Jiri fixed, after Jiri\u0027s patch, the test passes\n     successfully.\n\n   - Clean target should do clean for lib/traceevent too, fix from David\n     Ahern\n\n   - Check the right variable for allocation failure, fix from Namhyung\n     Kim\n\n   - Set up evsel-\u003etp_format regardless of evsel-\u003ename being set\n     already, fix from Namhyung Kim\n\n   - Oprofile fixes from Robert Richter.\n\n   - Remove perf_event_attr needless version inflation, from Jiri Olsa\n\n   - Introduce libtraceevent strerror like error reporting facility,\n     from Namhyung Kim\n\n   - Add pmu mappings to perf.data header and use event names from cmd\n     line, from Robert Richter\n\n   - Fix include order for bison/flex-generated C files, from Ben\n     Hutchings\n\n   - Build fixes and documentation corrections from David Ahern\n\n   - Assorted cleanups from Robert Richter\n\n   - Let O\u003d makes handle relative paths, from Steven Rostedt\n\n   - perf script python fixes, from Feng Tang.\n\n   - Initial bash completion support, from Frederic Weisbecker\n\n   - Allow building without libelf, from Namhyung Kim.\n\n   - Support DWARF CFI based unwind to have callchains when %bp based\n     unwinding is not possible, from Jiri Olsa.\n\n   - Symbol resolution fixes, while fixing support PPC64 files with an\n     .opt ELF section was the end goal, several fixes for code that\n     handles all architectures and cleanups are included, from Cody\n     Schafer.\n\n   - Assorted fixes for Documentation and build in 32 bit, from Robert\n     Richter\n\n   - Cache the libtraceevent event_format associated to each evsel\n     early, so that we avoid relookups, i.e.  calling pevent_find_event\n     repeatedly when processing tracepoint events.\n\n     [ This is to reduce the surface contact with libtraceevents and\n        make clear what is that the perf tools needs from that lib: so\n        far parsing the common and per event fields.  ]\n\n   - Don\u0027t stop the build if the audit libraries are not installed, fix\n     from Namhyung Kim.\n\n   - Fix bfd.h/libbfd detection with recent binutils, from Markus\n     Trippelsdorf.\n\n   - Improve warning message when libunwind devel packages not present,\n     from Jiri Olsa\"\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (282 commits)\n  perf trace: Add aliases for some syscalls\n  perf probe: Print an enum type variable in \"enum variable-name\" format when showing accessible variables\n  perf tools: Check libaudit availability for perf-trace builtin\n  perf hists: Add missing period_* fields when collapsing a hist entry\n  perf trace: New tool\n  perf evsel: Export the event_format constructor\n  perf evsel: Introduce rawptr() method\n  perf tools: Use perf_evsel__newtp in the event parser\n  perf evsel: The tracepoint constructor should store sys:name\n  perf evlist: Introduce set_filter() method\n  perf evlist: Renane set_filters method to apply_filters\n  perf test: Add test to check we correctly parse and match syscall open parms\n  perf evsel: Handle endianity in intval method\n  perf evsel: Know if byte swap is needed\n  perf tools: Allow handling a NULL cpu_map as meaning \"all cpus\"\n  perf evsel: Improve tracepoint constructor setup\n  tools lib traceevent: Fix error path on pevent_parse_event\n  perf test: Fix build failure\n  trace: Move trace event enable from fs_initcall to core_initcall\n  tracing: Add an option for disabling markers\n  ...\n"
    },
    {
      "commit": "2aa3a7f8660355c3dddead17e224545c1a3d5a5f",
      "tree": "d106fcaeb6b66e09591cf8ec28c836be93f4d837",
      "parents": [
        "a4d94ff8aa864c05b33c2de1f8c5d0176d7a4b63"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Sep 21 19:55:31 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Sep 30 13:35:55 2012 -0400"
      },
      "message": "preparation for generic kernel_thread()\n\nLet architectures select GENERIC_KERNEL_THREAD and have their copy_thread()\ntreat NULL regs as \"it came from kernel_thread(), sp argument contains\nthe function new thread will be calling and stack_size - the argument for\nthat function\".  Switching the architectures begins shortly...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6a06e5e1bb217be077e1f8ee2745b4c5b1aa02db",
      "tree": "8faea23112a11f52524eb413f71b7b02712d8b53",
      "parents": [
        "d9f72f359e00a45a6cd7cc2d5121b04b9dc927e1",
        "6672d90fe779dc0dfffe027c3ede12609df091c2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 28 14:40:49 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 28 14:40:49 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/team/team.c\n\tdrivers/net/usb/qmi_wwan.c\n\tnet/batman-adv/bat_iv_ogm.c\n\tnet/ipv4/fib_frontend.c\n\tnet/ipv4/route.c\n\tnet/l2tp/l2tp_netlink.c\n\nThe team, fib_frontend, route, and l2tp_netlink conflicts were simply\noverlapping changes.\n\nqmi_wwan and bat_iv_ogm were of the \"use HEAD\" variety.\n\nWith help from Antonio Quartulli.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04e7e951532b390b16feb070be9972b8fad2fc57",
      "tree": "d1d18c2febd422428fad0746afd23c2fd84684d8",
      "parents": [
        "1e1a689f10a27a4fe1ab9b4c6db04fa7232746a5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jul 16 15:06:40 2012 -0700"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 26 15:47:02 2012 +0200"
      },
      "message": "rcu: Switch task\u0027s syscall hooks on context switch\n\nClear the syscalls hook of a task when it\u0027s scheduled out so that if\nthe task migrates, it doesn\u0027t run the syscall slow path on a CPU\nthat might not need it.\n\nAlso set the syscalls hook on the next task if needed.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: Kevin Hilman \u003ckhilman@ti.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Sven-Thorsten Dietrich \u003cthebigcorporation@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "5640f7685831e088fe6c2e1f863a6805962f8e81",
      "tree": "fb7660173338a45c27d610eb59ba20cf5c2b91b8",
      "parents": [
        "b98b8babd6e3370fadb7c6eaacb00eb2f6344a6c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sun Sep 23 23:04:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 24 16:31:37 2012 -0400"
      },
      "message": "net: use a per task frag allocator\n\nWe currently use a per socket order-0 page cache for tcp_sendmsg()\noperations.\n\nThis page is used to build fragments for skbs.\n\nIts done to increase probability of coalescing small write() into\nsingle segments in skbs still in write queue (not yet sent)\n\nBut it wastes a lot of memory for applications handling many mostly\nidle sockets, since each socket holds one page in sk-\u003esk_sndmsg_page\n\nIts also quite inefficient to build TSO 64KB packets, because we need\nabout 16 pages per skb on arches where PAGE_SIZE \u003d 4096, so we hit\npage allocator more than wanted.\n\nThis patch adds a per task frag allocator and uses bigger pages,\nif available. An automatic fallback is done in case of memory pressure.\n\n(up to 32768 bytes per frag, thats order-3 pages on x86)\n\nThis increases TCP stream performance by 20% on loopback device,\nbut also benefits on other network devices, since 8x less frags are\nmapped on transmit and unmapped on tx completion. Alexander Duyck\nmentioned a probable performance win on systems with IOMMU enabled.\n\nIts possible some SG enabled hardware cant cope with bigger fragments,\nbut their ndo_start_xmit() should already handle this, splitting a\nfragment in sub fragments, since some arches have PAGE_SIZE\u003d65536\n\nSuccessfully tested on various ethernet devices.\n(ixgbe, igb, bnx2x, tg3, mellanox mlx4)\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Vijay Subramanian \u003csubramanian.vijay@gmail.com\u003e\nCc: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Vijay Subramanian \u003csubramanian.vijay@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1760bd5ffae8cb98cffb030ee8e631eba28f3d8",
      "tree": "4694a60b407c418bf7de4b97355dc3bd0e6c6559",
      "parents": [
        "ca57ec0f00c3f139c41bf6b0a5b9bcc95bbb2ad7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 10 22:39:43 2012 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 18:08:54 2012 -0700"
      },
      "message": "userns: Convert the audit loginuid  to be a kuid\n\nAlways store audit loginuids in type kuid_t.\n\nPrint loginuids by converting them into uids in the appropriate user\nnamespace, and then printing the resulting uid.\n\nModify audit_get_loginuid to return a kuid_t.\n\nModify audit_set_loginuid to take a kuid_t.\n\nModify /proc/\u003cpid\u003e/loginuid on read to convert the loginuid into the\nuser namespace of the opener of the file.\n\nModify /proc/\u003cpid\u003e/loginud on write to convert the loginuid\nrom the user namespace of the opener of the file.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Paul Moore \u003cpaul@paul-moore.com\u003e ?\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "37407ea7f93864c2cfc03edf8f37872ec539ea2b",
      "tree": "7c07e7adadd40fc94cebfe816f1c65a4a630b147",
      "parents": [
        "3f0c3c8fe30c725c1264fb6db8cc4b69db3a658a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:29:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 16 12:29:43 2012 -0700"
      },
      "message": "Revert \"sched: Improve scalability via \u0027CPU buddies\u0027, which withstand random perturbations\"\n\nThis reverts commit 970e178985cadbca660feb02f4d2ee3a09f7fdda.\n\nNikolay Ulyanitsky reported thatthe 3.6-rc5 kernel has a 15-20%\nperformance drop on PostgreSQL 9.2 on his machine (running \"pgbench\").\n\nBorislav Petkov was able to reproduce this, and bisected it to this\ncommit 970e178985ca (\"sched: Improve scalability via \u0027CPU buddies\u0027 ...\")\napparently because the new single-idle-buddy model simply doesn\u0027t find\nidle CPU\u0027s to reschedule on aggressively enough.\n\nMike Galbraith suspects that it is likely due to the user-mode spinlocks\nin PostgreSQL not reacting well to preemption, but we don\u0027t really know\nthe details - I\u0027ll just revert the commit for now.\n\nThere are hopefully other approaches to improve scheduler scalability\nwithout it causing these kinds of downsides.\n\nReported-by: Nikolay Ulyanitsky \u003clystor@gmail.com\u003e\nBisected-by: Borislav Petkov \u003cbp@alien8.de\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f68f672c47b9bd4cfe0a667ecb0b1382c61e2de",
      "tree": "eb389851ce75fa15ad2b5e34c88d4c6af1fb197a",
      "parents": [
        "6f47caa0e1e4887aa2ddca8388d058d35725d815"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Aug 19 16:15:09 2012 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Sep 15 17:37:27 2012 +0200"
      },
      "message": "uprobes: Introduce MMF_RECALC_UPROBES\n\nAdd the new MMF_RECALC_UPROBES flag, it means that MMF_HAS_UPROBES\ncan be false positive after remove_breakpoint() or uprobe_munmap().\nIt is also set by uprobe_dup_mmap(), this is not optimal but simple.\nWe could add the new hook, uprobe_dup_vma(), to set MMF_HAS_UPROBES\nonly if the new mm actually has uprobes, but I don\u0027t think this\nmakes sense.\n\nThe next patch will use this flag to clear MMF_HAS_UPROBES.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c1cc017c59c44d9ede7003631c43adc0cfdce2f9",
      "tree": "7db4bad5a78af2bdc5197740012e462811422d40",
      "parents": [
        "08bedae1d0acd8c9baf514fb69fa199d0c8345f6"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Mon Sep 10 15:10:58 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Sep 13 16:52:05 2012 +0200"
      },
      "message": "sched/nohz: Clean up select_nohz_load_balancer()\n\nThere is no load_balancer to be selected now. It just sets the\nstate of the nohz tick to stop.\n\nSo rename the function, pass the \u0027cpu\u0027 as a parameter and then\nremove the useless call from tick_nohz_restart_sched_tick().\n\n[ s/set_nohz_tick_stopped/nohz_balance_enter_idle/g\n  s/clear_nohz_tick_stopped/nohz_balance_exit_idle/g ]\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1347261059-24747-1-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f3e947867478af9a12b9956bcd000ac7613a8a95",
      "tree": "63fabb89439447e0f72c465e8b8d0852e9deff08",
      "parents": [
        "5ed4f1d96deee82ee92cd1ac1e0108c27e80e9b0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Sep 12 11:22:00 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Sep 13 16:52:04 2012 +0200"
      },
      "message": "sched: Remove __ARCH_WANT_INTERRUPTS_ON_CTXSW\n\nNow that the last architecture to use this has stopped doing so (ARM,\nthanks Catalin!) we can remove this complexity from the scheduler\ncore.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nLink: http://lkml.kernel.org/n/tip-g9p2a1w81xxbrze25v9zpzbf@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f8ac4ec9c064b330dcc49e03c450fe74298c4622",
      "tree": "62d53120d0289719438d27de5f868c36e136ed28",
      "parents": [
        "78f7411668aa0b2006d331f6a288416dd91b8e5d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Aug 08 17:11:42 2012 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Aug 28 18:21:18 2012 +0200"
      },
      "message": "uprobes: Introduce MMF_HAS_UPROBES\n\nAdd the new MMF_HAS_UPROBES flag. It is set by install_breakpoint()\nand it is copied by dup_mmap(), uprobe_pre_sstep_notifier() checks\nit to avoid the slow path if the task was never probed. Perhaps it\nmakes sense to check it in valid_vma(is_register \u003d\u003e false) as well.\n\nThis needs the new dup_mmap()-\u003euprobe_dup_mmap() hook. We can\u0027t use\nuprobe_reset_state() or put MMF_HAS_UPROBES into MMF_INIT_MASK, we\nneed oldmm-\u003emmap_sem to avoid the race with uprobe_register() or\nmmap() from another thread.\n\nCurrently we never clear this bit, it can be false-positive after\nuprobe_unregister() or uprobe_munmap() or if dup_mmap() hits the\nprobed VM_DONTCOPY vma. But this is fine correctness-wise and has\nno effect unless the task hits the non-uprobe breakpoint.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f03542a7019c600163ac4441d8a826c92c1bd510",
      "tree": "cd644fb1d0feee636c400a58f4bddec30e2d95b9",
      "parents": [
        "78feefc512a09165627dd534111f651b6c8e605f"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jul 26 08:55:34 2012 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 19:02:05 2012 +0200"
      },
      "message": "sched: recover SD_WAKE_AFFINE in select_task_rq_fair and code clean up\n\nSince power saving code was removed from sched now, the implement\ncode is out of service in this function, and even pollute other logical.\nlike, \u0027want_sd\u0027 never has chance to be set \u00270\u0027, that remove the effect\nof SD_WAKE_AFFINE here.\n\nSo, clean up the obsolete code, includes SD_PREFER_LOCAL.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/5028F431.6000306@intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "300d3739e873d50d4c6e3656f89007a217fb1d29",
      "tree": "05ed9e06da5920926e0048ee0591a724ee487968",
      "parents": [
        "77254950bb174d637cd88d1a74e137ecf3185a65"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Aug 07 13:50:22 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Aug 08 20:49:45 2012 +0200"
      },
      "message": "Revert \"NMI watchdog: fix for lockup detector breakage on resume\"\n\nRevert commit 45226e9 (NMI watchdog: fix for lockup detector breakage\non resume) which breaks resume from system suspend on my SH7372\nMackerel board (by causing a NULL pointer dereference to happen) and\nis generally wrong, because it abuses the CPU hotplug functionality\nin a shamelessly blatant way.\n\nThe original issue should be addressed through appropriate syscore\nresume callback instead.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "907aed48f65efeecf91575397e3d79335d93a466",
      "tree": "8e06d29e71888f65a7217880c55472125d1b88d4",
      "parents": [
        "b37f1dd0f543d9714f96c2f9b9f74f7bdfdfdf31"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:44:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:45 2012 -0700"
      },
      "message": "mm: allow PF_MEMALLOC from softirq context\n\nThis is needed to allow network softirq packet processing to make use of\nPF_MEMALLOC.\n\nCurrently softirq context cannot use PF_MEMALLOC due to it not being\nassociated with a task, and therefore not having task flags to fiddle with\n- thus the gfp to alloc flag mapping ignores the task flags when in\ninterrupts (hard or soft) context.\n\nAllowing softirqs to make use of PF_MEMALLOC therefore requires some\ntrickery.  This patch borrows the task flags from whatever process happens\nto be preempted by the softirq.  It then modifies the gfp to alloc flags\nmapping to not exclude task flags in softirq context, and modify the\nsoftirq code to save, clear and restore the PF_MEMALLOC flag.\n\nThe save and clear, ensures the preempted task\u0027s PF_MEMALLOC flag doesn\u0027t\nleak into the softirq.  The restore ensures a softirq\u0027s PF_MEMALLOC flag\ncannot leak back into the preempted process.  This should be safe due to\nthe following reasons\n\nSoftirqs can run on multiple CPUs sure but the same task should not be\n\texecuting the same softirq code. Neither should the softirq\n\thandler be preempted by any other softirq handler so the flags\n\tshould not leak to an unrelated softirq.\n\nSoftirqs re-enable hardware interrupts in __do_softirq() so can be\n\tpreempted by hardware interrupts so PF_MEMALLOC is inherited\n\tby the hard IRQ. However, this is similar to a process in\n\treclaim being preempted by a hardirq. While PF_MEMALLOC is\n\tset, gfp_to_alloc_flags() distinguishes between hard and\n\tsoft irqs and avoids giving a hardirq the ALLOC_NO_WATERMARKS\n\tflag.\n\nIf the softirq is deferred to ksoftirq then its flags may be used\n        instead of a normal tasks but as the softirq cannot be preempted,\n        the PF_MEMALLOC flag does not leak to other code by accident.\n\n[davem@davemloft.net: Document why PF_MEMALLOC is safe]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c255a458055e459f65eb7b7f51dc5dbdd0caf1d8",
      "tree": "b143b1914eeb6f27f53e30f9f0275d0f1ca5480b",
      "parents": [
        "80934513b230bfcf70265f2ef0fdae89fb391633"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jul 31 16:43:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:43 2012 -0700"
      },
      "message": "memcg: rename config variables\n\nSanity:\n\nCONFIG_CGROUP_MEM_RES_CTLR -\u003e CONFIG_MEMCG\nCONFIG_CGROUP_MEM_RES_CTLR_SWAP -\u003e CONFIG_MEMCG_SWAP\nCONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED -\u003e CONFIG_MEMCG_SWAP_ENABLED\nCONFIG_CGROUP_MEM_RES_CTLR_KMEM -\u003e CONFIG_MEMCG_KMEM\n\n[mhocko@suse.cz: fix missed bits]\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45226e944ce071d0231949f2fea90969437cd2dc",
      "tree": "6f323df1f61d028f77175525ae54948820cd09a1",
      "parents": [
        "190320c3b6640d4104650f55ff69611e050ea06b"
      ],
      "author": {
        "name": "Sameer Nanda",
        "email": "snanda@chromium.org",
        "time": "Mon Jul 30 14:40:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:13 2012 -0700"
      },
      "message": "NMI watchdog: fix for lockup detector breakage on resume\n\nOn the suspend/resume path the boot CPU does not go though an\noffline-\u003eonline transition.  This breaks the NMI detector post-resume\nsince it depends on PMU state that is lost when the system gets\nsuspended.\n\nFix this by forcing a CPU offline-\u003eonline transition for the lockup\ndetector on the boot CPU during resume.\n\nTo provide more context, we enable NMI watchdog on Chrome OS.  We have\nseen several reports of systems freezing up completely which indicated\nthat the NMI watchdog was not firing for some reason.\n\nDebugging further, we found a simple way of repro\u0027ing system freezes --\nissuing the command \u0027tasket 1 sh -c \"echo nmilockup \u003e /proc/breakme\"\u0027\nafter the system has been suspended/resumed one or more times.\n\nWith this patch in place, the system freeze result in panics, as\nexpected.\n\nThese panics provide a nice stack trace for us to debug the actual issue\ncausing the freeze.\n\n[akpm@linux-foundation.org: fiddle with code comment]\n[akpm@linux-foundation.org: make lockup_detector_bootcpu_resume() conditional on CONFIG_SUSPEND]\n[akpm@linux-foundation.org: fix section errors]\nSigned-off-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Anshuman Khandual \u003ckhandual@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54b501992dd2a839e94e76aa392c392b55080ce8",
      "tree": "6d174fb95516f01e385d31d5ef87a248d8740fd2",
      "parents": [
        "9520628e8ceb69fa9a4aee6b57f22675d9e1b709"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Mon Jul 30 14:39:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:11 2012 -0700"
      },
      "message": "coredump: warn about unsafe suid_dumpable / core_pattern combo\n\nWhen suid_dumpable\u003d2, detect unsafe core_pattern settings and warn when\nthey are seen.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSuggested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79071638ce655c1f78a50d05c7dae0ad04a3e92a",
      "tree": "d9e76997c418b78a2485ac50d5970f7d420a5600",
      "parents": [
        "44a6b8442190cf213081060b610dae2e822f802b",
        "8323f26ce3425460769605a6aece7a174edaa7d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 26 13:08:01 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 26 13:08:01 2012 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"The biggest change is a performance improvement on SMP systems:\n\n  | 4 socket 40 core + SMT Westmere box, single 30 sec tbench\n  | runs, higher is better:\n  |\n  | clients     1       2       4        8       16       32       64      128\n  |..........................................................................\n  | pre        30      41     118      645     3769     6214    12233    14312\n  | post      299     603    1211     2418     4697     6847    11606    14557\n  |\n  | A nice increase in performance.\n\n  which speedup is particularly noticeable on heavily interacting\n  few-tasks workloads, so the changes should help desktop-style Xorg\n  workloads and interactivity as well, on multi-core CPUs.\n\n  There are also cpuset suspend behavior fixes/restructuring and various\n  smaller tweaks.\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix race in task_group()\n  sched: Improve balance_cpu() to consider other cpus in its group as target of (pinned) task\n  sched: Reset loop counters if all tasks are pinned and we need to redo load balance\n  sched: Reorder \u0027struct lb_env\u0027 members to reduce its size\n  sched: Improve scalability via \u0027CPU buddies\u0027, which withstand random perturbations\n  cpusets: Remove/update outdated comments\n  cpusets, hotplug: Restructure functions that are invoked during hotplug\n  cpusets, hotplug: Implement cpuset tree traversal in a helper function\n  CPU hotplug, cpusets, suspend: Don\u0027t modify cpusets during suspend/resume\n  sched/x86: Remove broken power estimation\n"
    },
    {
      "commit": "8323f26ce3425460769605a6aece7a174edaa7d1",
      "tree": "44daa0dafa49cedc9301efd1417c6c2ac338c1c7",
      "parents": [
        "88b8dac0a14c511ff41486b83a8c3d688936eec0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jun 22 13:36:05 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 24 13:58:20 2012 +0200"
      },
      "message": "sched: Fix race in task_group()\n\nStefan reported a crash on a kernel before a3e5d1091c1 (\"sched:\nDon\u0027t call task_group() too many times in set_task_rq()\"), he\nfound the reason to be that the multiple task_group()\ninvocations in set_task_rq() returned different values.\n\nLooking at all that I found a lack of serialization and plain\nwrong comments.\n\nThe below tries to fix it using an extra pointer which is\nupdated under the appropriate scheduler locks. Its not pretty,\nbut I can\u0027t really see another way given how all the cgroup\nstuff works.\n\nReported-and-tested-by: Stefan Bader \u003cstefan.bader@canonical.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1340364965.18025.71.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "970e178985cadbca660feb02f4d2ee3a09f7fdda",
      "tree": "20f47abb069a5d13940e8cdc48dae5f5563eb59a",
      "parents": [
        "a1cd2b13f754b2c56fb87b8c4912c015f8f57c0c"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Jun 12 05:18:32 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 24 13:53:34 2012 +0200"
      },
      "message": "sched: Improve scalability via \u0027CPU buddies\u0027, which withstand random perturbations\n\nTraversing an entire package is not only expensive, it also leads to tasks\nbouncing all over a partially idle and possible quite large package.  Fix\nthat up by assigning a \u0027buddy\u0027 CPU to try to motivate.  Each buddy may try\nto motivate that one other CPU, if it\u0027s busy, tough, it may then try its\nSMT sibling, but that\u0027s all this optimization is allowed to cost.\n\nSibling cache buddies are cross-wired to prevent bouncing.\n\n4 socket 40 core + SMT Westmere box, single 30 sec tbench runs, higher is better:\n\n clients     1       2       4        8       16       32       64      128\n ..........................................................................\n pre        30      41     118      645     3769     6214    12233    14312\n post      299     603    1211     2418     4697     6847    11606    14557\n\nA nice increase in performance.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/1339471112.7352.32.camel@marge.simpson.net\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a66d2c8f7ec1284206ca7c14569e2a607583f1e3",
      "tree": "08cf68bcef3559b370843cab8191e5cc0f740bde",
      "parents": [
        "a6be1fcbc57f95bb47ef3c8e4ee3d83731b8f21e",
        "8cae6f7158ec1fa44c8a04a43db7d8020ec60437"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 23 12:27:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 23 12:27:27 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull the big VFS changes from Al Viro:\n \"This one is *big* and changes quite a few things around VFS.  What\u0027s in there:\n\n   - the first of two really major architecture changes - death to open\n     intents.\n\n     The former is finally there; it was very long in making, but with\n     Miklos getting through really hard and messy final push in\n     fs/namei.c, we finally have it.  Unlike his variant, this one\n     doesn\u0027t introduce struct opendata; what we have instead is\n     -\u003eatomic_open() taking preallocated struct file * and passing\n     everything via its fields.\n\n     Instead of returning struct file *, it returns -E...  on error, 0\n     on success and 1 in \"deal with it yourself\" case (e.g.  symlink\n     found on server, etc.).\n\n     See comments before fs/namei.c:atomic_open().  That made a lot of\n     goodies finally possible and quite a few are in that pile:\n     -\u003elookup(), -\u003ed_revalidate() and -\u003ecreate() do not get struct\n     nameidata * anymore; -\u003elookup() and -\u003ed_revalidate() get lookup\n     flags instead, -\u003ecreate() gets \"do we want it exclusive\" flag.\n\n     With the introduction of new helper (kern_path_locked()) we are rid\n     of all struct nameidata instances outside of fs/namei.c; it\u0027s still\n     visible in namei.h, but not for long.  Come the next cycle,\n     declaration will move either to fs/internal.h or to fs/namei.c\n     itself.  [me, miklos, hch]\n\n   - The second major change: behaviour of final fput().  Now we have\n     __fput() done without any locks held by caller *and* not from deep\n     in call stack.\n\n     That obviously lifts a lot of constraints on the locking in there.\n     Moreover, it\u0027s legal now to call fput() from atomic contexts (which\n     has immediately simplified life for aio.c).  We also don\u0027t need\n     anti-recursion logics in __scm_destroy() anymore.\n\n     There is a price, though - the damn thing has become partially\n     asynchronous.  For fput() from normal process we are guaranteed\n     that pending __fput() will be done before the caller returns to\n     userland, exits or gets stopped for ptrace.\n\n     For kernel threads and atomic contexts it\u0027s done via\n     schedule_work(), so theoretically we might need a way to make sure\n     it\u0027s finished; so far only one such place had been found, but there\n     might be more.\n\n     There\u0027s flush_delayed_fput() (do all pending __fput()) and there\u0027s\n     __fput_sync() (fput() analog doing __fput() immediately).  I hope\n     we won\u0027t need them often; see warnings in fs/file_table.c for\n     details.  [me, based on task_work series from Oleg merged last\n     cycle]\n\n   - sync series from Jan\n\n   - large part of \"death to sync_supers()\" work from Artem; the only\n     bits missing here are exofs and ext4 ones.  As far as I understand,\n     those are going via the exofs and ext4 trees resp.; once they are\n     in, we can put -\u003ewrite_super() to the rest, along with the thread\n     calling it.\n\n   - preparatory bits from unionmount series (from dhowells).\n\n   - assorted cleanups and fixes all over the place, as usual.\n\n  This is not the last pile for this cycle; there\u0027s at least jlayton\u0027s\n  ESTALE work and fsfreeze series (the latter - in dire need of fixes,\n  so I\u0027m not sure it\u0027ll make the cut this cycle).  I\u0027ll probably throw\n  symlink/hardlink restrictions stuff from Kees into the next pile, too.\n  Plus there\u0027s a lot of misc patches I hadn\u0027t thrown into that one -\n  it\u0027s large enough as it is...\"\n\n* \u0027for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (127 commits)\n  ext4: switch EXT4_IOC_RESIZE_FS to mnt_want_write_file()\n  btrfs: switch btrfs_ioctl_balance() to mnt_want_write_file()\n  switch dentry_open() to struct path, make it grab references itself\n  spufs: shift dget/mntget towards dentry_open()\n  zoran: don\u0027t bother with struct file * in zoran_map\n  ecryptfs: don\u0027t reinvent the wheels, please - use struct completion\n  don\u0027t expose I_NEW inodes via dentry-\u003ed_inode\n  tidy up namei.c a bit\n  unobfuscate follow_up() a bit\n  ext3: pass custom EOF to generic_file_llseek_size()\n  ext4: use core vfs llseek code for dir seeks\n  vfs: allow custom EOF in generic_file_llseek code\n  vfs: Avoid unnecessary WB_SYNC_NONE writeback during sys_sync and reorder sync passes\n  vfs: Remove unnecessary flushing of block devices\n  vfs: Make sys_sync writeout also block device inodes\n  vfs: Create function for iterating over block devices\n  vfs: Reorder operations during sys_sync\n  quota: Move quota syncing to -\u003esync_fs method\n  quota: Split dquot_quota_sync() to writeback and cache flushing part\n  vfs: Move noop_backing_dev_info check from sync into writeback\n  ...\n"
    },
    {
      "commit": "6120d3dbb1220792ebea88cd475e1ec8f8620a93",
      "tree": "0ca01ed01651ddb1f54f6fe43c2288acb8d361c3",
      "parents": [
        "3ffa3c0e3f6e62f67fc2346ca60161dfb030083d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 24 10:03:05 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 22 23:58:00 2012 +0400"
      },
      "message": "get rid of -\u003escm_work_list\n\nrecursion in __scm_destroy() will be cut by delaying final fput()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "67d1214551e800f9fe7dc7c47a346d2df0fafed5",
      "tree": "ffcc93af9390339adda36668255e617073b724a1",
      "parents": [
        "158e1645e07f3e9f7e4962d7a0997f5c3b98311b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 27 11:07:19 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 22 23:57:56 2012 +0400"
      },
      "message": "merge task_work and rcu_head, get rid of separate allocation for keyring case\n\ntask_work and rcu_head are identical now; merge them (calling the result\nstruct callback_head, rcu_head #define\u0027d to it), kill separate allocation\nin security/keys since we can just use cred-\u003ercu now.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "158e1645e07f3e9f7e4962d7a0997f5c3b98311b",
      "tree": "09d695b3a0410afe15f7fd6006bc6c1effee151d",
      "parents": [
        "41f9d29f09ca0b22c3631e8a39676e74cda9bcc0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 27 09:24:13 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 22 23:57:55 2012 +0400"
      },
      "message": "trim task_work: get rid of hlist\n\nlayout based on Oleg\u0027s suggestion; single-linked list,\ntask-\u003etask_works points to the last element, forward pointer\nfrom said last element points to head.  I\u0027d still prefer\nmuch more regular scheme with two pointers in task_work,\nbut...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a2fe194723f6e4990d01d8c208c7b138fd410522",
      "tree": "7aee93fa8f4ba1e18b56fa7d8eab75d249fc6966",
      "parents": [
        "c3b7cdf180090d2686239a75bb0ae408108ed749",
        "a018540141a931f5299a866907b27886916b4374"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:17:17 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:17:17 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nPick up the latest ring-buffer fixes, before applying a new fix.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ab93eb82164f9fc426eae7b286510cfd94738b8e",
      "tree": "3f486fcafc51d2dceae44dfb2b9b261aeecaafb5",
      "parents": [
        "fdb1335a82ef1ef9442ac9377796e4e7a69d1ae4",
        "40b3c43f042c2ba8915aff5c63708207ed7639cb",
        "25c037d64e7a0a8effb562babb2b6218829134ac",
        "95c0d71dcb853c2eca5f2231ebbd4c1d3af775b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 14 11:16:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 14 11:16:24 2012 -0700"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU, perf, and scheduler fixes from Ingo Molnar.\n\nThe RCU fix is a revert for an optimization that could cause deadlocks.\n\nOne of the scheduler commits (164c33c6adee \"sched: Fix fork() error path\nto not crash\") is correct but not complete (some architectures like Tile\nare not covered yet) - the resulting additional fixes are still WIP and\nIngo did not want to delay these pending fixes.  See this thread on\nlkml:\n\n  [PATCH] fork: fix error handling in dup_task()\n\nThe perf fixes are just trivial oneliners.\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  Revert \"rcu: Move PREEMPT_RCU preemption to switch_to() invocation\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf kvm: Fix segfault with report and mixed guestmount use\n  perf kvm: Fix regression with guest machine creation\n  perf script: Fix format regression due to libtraceevent merge\n  ring-buffer: Fix accounting of entries when removing pages\n  ring-buffer: Fix crash due to uninitialized new_pages list head\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  MAINTAINERS/sched: Update scheduler file pattern\n  sched/nohz: Rewrite and fix load-avg computation -- again\n  sched: Fix fork() error path to not crash\n"
    },
    {
      "commit": "5167e8d5417bf5c322a703d2927daec727ea40dd",
      "tree": "b919aac933c104e7c7abc1730da810f60ba3229d",
      "parents": [
        "164c33c6adee609b8b9062cce4c10f764d0dce13"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 22 15:52:09 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jul 05 20:58:13 2012 +0200"
      },
      "message": "sched/nohz: Rewrite and fix load-avg computation -- again\n\nThanks to Charles Wang for spotting the defects in the current code:\n\n - If we go idle during the sample window -- after sampling, we get a\n   negative bias because we can negate our own sample.\n\n - If we wake up during the sample window we get a positive bias\n   because we push the sample to a known active period.\n\nSo rewrite the entire nohz load-avg muck once again, now adding\ncopious documentation to the code.\n\nReported-and-tested-by: Doug Smythies \u003cdsmythies@telus.net\u003e\nReported-and-tested-by: Charles Wang \u003cmuming.wq@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/1340373782.18025.74.camel@twins\n[ minor edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cba6d0d64ee53772b285d0c0c288deefbeaf7775",
      "tree": "b2d3de62d15a77d23708c1af6f188c86f0d87fb9",
      "parents": [
        "6887a4131da3adaab011613776d865f4bcfb5678"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jul 02 07:08:42 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jul 02 11:39:19 2012 -0700"
      },
      "message": "Revert \"rcu: Move PREEMPT_RCU preemption to switch_to() invocation\"\n\nThis reverts commit 616c310e83b872024271c915c1b9ab505b9efad9.\n(Move PREEMPT_RCU preemption to switch_to() invocation).\nTesting by Sasha Levin \u003clevinsasha928@gmail.com\u003e showed that this\ncan result in deadlock due to invoking the scheduler when one of\nthe runqueue locks is held.  Because this commit was simply a\nperformance optimization, revert it.\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\n"
    },
    {
      "commit": "c3e228d59bd2054fd57f7f146ef0f6fb0e1996b7",
      "tree": "1817910408fa7b5027e463725a6eb54933c71928",
      "parents": [
        "7eb9ba5ed312ec6ed9d22259c5da1acb7cf4bd29",
        "cfaf025112d3856637ff34a767ef785ef5cf2ca9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 11 10:51:35 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 11 10:51:35 2012 +0200"
      },
      "message": "Merge tag \u0027v3.5-rc2\u0027 into perf/core\n\nMerge in Linux 3.5-rc2 - to pick up fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "72494504498ff5ac2f086a83473d4dd1ca490bd3",
      "tree": "7f1ceab43de3580235f1a56f2ae865901c09e4d7",
      "parents": [
        "cd96891d48a945ca2011fbeceda73813d6286195",
        "a841f8cef4bb124f0f5563314d0beaf2e1249d72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 14:59:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 14:59:29 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix the relax_domain_level boot parameter\n  sched: Validate assumptions in sched_init_numa()\n  sched: Always initialize cpu-power\n  sched: Fix domain iteration\n  sched/rt: Fix lockdep annotation within find_lock_lowest_rq()\n  sched/numa: Load balance between remote nodes\n  sched/x86: Calculate booted cores after construction of sibling_mask\n"
    },
    {
      "commit": "bafb282df29c1524b1617019adebd6d0c3eb7a47",
      "tree": "f0b9efa850b4b298ce484eead5c8d9de87dde3e9",
      "parents": [
        "6305902c2f871fd6db60af367bd7120fa977fa74"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu Jun 07 14:21:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 07 14:43:55 2012 -0700"
      },
      "message": "c/r: prctl: update prctl_set_mm_exe_file() after mm-\u003enum_exe_file_vmas removal\n\nA fix for commit b32dfe377102 (\"c/r: prctl: add ability to set new\nmm_struct::exe_file\").\n\nAfter removing mm-\u003enum_exe_file_vmas kernel keeps mm-\u003eexe_file until\nfinal mmput(), it never becomes NULL while task is alive.\n\nWe can check for other mapped files in mm instead of checking\nmm-\u003enum_exe_file_vmas, and mark mm with flag MMF_EXE_FILE_CHANGED in\norder to forbid second changing of mm-\u003eexe_file.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nReviewed-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "778b032d96909690c19d84f8d17c13be65ed6f8e",
      "tree": "2f788c3843ca416969aeceda155c79994467bded",
      "parents": [
        "56bb4cf6475d702d2fb00fc641aa6441097c0330"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue May 29 21:30:08 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 17:22:22 2012 +0200"
      },
      "message": "uprobes: Kill uprobes_srcu/uprobe_srcu_id\n\nKill the no longer needed uprobes_srcu/uprobe_srcu_id code.\n\nIt doesn\u0027t really work anyway. synchronize_srcu() can only\nsynchronize with the code \"inside\" the\nsrcu_read_lock/srcu_read_unlock section, while\nuprobe_pre_sstep_notifier() does srcu_read_lock() _after_ we\nalready hit the breakpoint.\n\nI guess this probably works \"in practice\". synchronize_srcu() is\nslow and it implies synchronize_sched(), and the probed task\nenters the non- preemptible section at the start of exception\nhandler. Still this is not right at least in theory, and\ntask-\u003euprobe_srcu_id blows task_struct.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120529193008.GG8057@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c1174876874dcf8986806e4dad3d7d07af20b439",
      "tree": "7e2ea14ba9421bddd63e1810716f1929c753e28b",
      "parents": [
        "7f1b43936f0ecad14770634c021cf4a929aec74d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 31 14:47:33 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 16:52:26 2012 +0200"
      },
      "message": "sched: Fix domain iteration\n\nWeird topologies can lead to asymmetric domain setups. This needs\nfurther consideration since these setups are typically non-minimal\ntoo.\n\nFor now, make it work by adding an extra mask selecting which CPUs\nare allowed to iterate up.\n\nThe topology that triggered it is the one from David Rientjes:\n\n\t10 20 20 30\n\t20 10 20 20\n\t20 20 10 20\n\t30 20 20 10\n\nresulting in boxes that wouldn\u0027t even boot.\n\nReported-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-3p86l9cuaqnxz7uxsojmz5rm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0b3e9f3f21c42d064f5f4088df4088e3d55755eb",
      "tree": "b153a9346bf21a64a9e5c5f3f440f00b591fd269",
      "parents": [
        "99becf1328d8d71dd6f4480e3591d7dcdb389e57",
        "6a4c96eef42f835734a82c6b512abf9881b7c55d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 05 09:47:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 05 09:47:15 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Remove NULL assignment of dattr_cur\n  sched: Remove the last NULL entry from sched_feat_names\n  sched: Make sched_feat_names const\n  sched/rt: Fix SCHED_RR across cgroups\n  sched: Move nr_cpus_allowed out of \u0027struct sched_rt_entity\u0027\n  sched: Make sure to not re-read variables after validation\n  sched: Fix SD_OVERLAP\n  sched: Don\u0027t try allocating memory from offline nodes\n  sched/nohz: Fix rq-\u003ecpu_load calculations some more\n  sched/x86: Use cpu_llc_shared_mask(cpu) for coregroup_mask\n"
    },
    {
      "commit": "77097ae503b170120ab66dd1d547f8577193f91f",
      "tree": "bee5b2e8d91b9ec8ab74c58cbec1796c7bacc2e5",
      "parents": [
        "edd63a2763bdae0daa4f0a4d4c5d61d1154352a5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 27 13:58:59 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:51 2012 -0400"
      },
      "message": "most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set\n\nOnly 3 out of 63 do not.  Renamed the current variant to __set_current_blocked(),\nadded set_current_blocked() that will exclude unblockable signals, switched\nopen-coded instances to it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b7f9a11a6cf1ea9ee6be3eb2b90d91327a09ad14",
      "tree": "7d5a5f469aea8ac2b3e1ab41e05a6abafcb2b694",
      "parents": [
        "51a7b448d4134e3e8eec633435e3e8faee14a828"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 02 09:59:21 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:48 2012 -0400"
      },
      "message": "new helper: sigmask_to_save()\n\nreplace boilerplate \"should we use -\u003esaved_sigmask or -\u003eblocked?\"\nwith calls of obvious inlined helper...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51a7b448d4134e3e8eec633435e3e8faee14a828",
      "tree": "8fc58560ffee1c944ec5e198029d5c2e6f7c0bd3",
      "parents": [
        "4ebefe3ec729003443daf153ed6fad1739271283"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 21 23:33:55 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:47 2012 -0400"
      },
      "message": "new helper: restore_saved_sigmask()\n\nfirst fruits of ..._restore_sigmask() helpers: now we can take\nboilerplate \"signal didn\u0027t have a handler, clear RESTORE_SIGMASK\nand restore the blocked mask from -\u003esaved_mask\" into a common\nhelper.  Open-coded instances switched...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fb21affa49204acd409328415b49bfe90136653c",
      "tree": "3535dbe0c0aad049a38cadfcffe78409397a1b32",
      "parents": [
        "a00b6151a2ae4c52576c35d3998e144a993d50b8",
        "f23ca335462e3c84f13270b9e65f83936068ec2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:47:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:47:30 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull second pile of signal handling patches from Al Viro:\n \"This one is just task_work_add() series + remaining prereqs for it.\n\n  There probably will be another pull request from that tree this\n  cycle - at least for helpers, to get them out of the way for per-arch\n  fixes remaining in the tree.\"\n\nFix trivial conflict in kernel/irq/manage.c: the merge of Andrew\u0027s pile\nhad brought in commit 97fd75b7b8e0 (\"kernel/irq/manage.c: use the\npr_foo() infrastructure to prefix printks\") which changed one of the\npr_err() calls that this merge moves around.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  keys: kill task_struct-\u003ereplacement_session_keyring\n  keys: kill the dummy key_replace_session_keyring()\n  keys: change keyctl_session_to_parent() to use task_work_add()\n  genirq: reimplement exit_irq_thread() hook via task_work_add()\n  task_work_add: generic process-context callbacks\n  avr32: missed _TIF_NOTIFY_RESUME on one of do_notify_resume callers\n  parisc: need to check NOTIFY_RESUME when exiting from syscall\n  move key_repace_session_keyring() into tracehook_notify_resume()\n  TIF_NOTIFY_RESUME is defined on all targets now\n"
    },
    {
      "commit": "29baa7478ba47d746e3625c91d3b2afbf46b4312",
      "tree": "a902e53baab64d89c07561694d171c4f8f4d1843",
      "parents": [
        "b654f7de41b0e3903ee2b51d3b8db77fe52ce728"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Apr 23 12:11:21 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 30 14:02:25 2012 +0200"
      },
      "message": "sched: Move nr_cpus_allowed out of \u0027struct sched_rt_entity\u0027\n\nSince nr_cpus_allowed is used outside of sched/rt.c and wants to be\nused outside of there more, move it to a more natural site.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-kr61f02y9brwzkh6x53pdptm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5aaa0b7a2ed5b12692c9ffb5222182bd558d3146",
      "tree": "0334762e9d0e773acf21e61c682f895c25201c89",
      "parents": [
        "9f646389aa7727a2fd8f9ae6337b92af9cfbc264"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 17 17:15:29 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 30 14:02:16 2012 +0200"
      },
      "message": "sched/nohz: Fix rq-\u003ecpu_load calculations some more\n\nFollow up on commit 556061b00 (\"sched/nohz: Fix rq-\u003ecpu_load[]\ncalculations\") since while that fixed the busy case it regressed the\nmostly idle case.\n\nAdd a callback from the nohz exit to also age the rq-\u003ecpu_load[]\narray. This closes the hole where either there was no nohz load\nbalance pass during the nohz, or there was a \u0027significant\u0027 amount of\nidle time between the last nohz balance and the nohz exit.\n\nSo we\u0027ll update unconditionally from the tick to not insert any\naccidental 0 load periods while busy, and we try and catch up from\nnohz idle balance and nohz exit. Both these are still prone to missing\na jiffy, but that has always been the case.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: pjt@google.com\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-kt0trz0apodbf84ucjfdbr1a@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "654443e20dfc0617231f28a07c96a979ee1a0239",
      "tree": "a0dc3f093eb13892539082e663607c34b4fc2d07",
      "parents": [
        "2c01e7bc46f10e9190818437e564f7e0db875ae9",
        "9cba26e66d09bf394ae5a739627a1dc8b7cae6f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:39:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:39:34 2012 -0700"
      },
      "message": "Merge branch \u0027perf-uprobes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull user-space probe instrumentation from Ingo Molnar:\n \"The uprobes code originates from SystemTap and has been used for years\n  in Fedora and RHEL kernels.  This version is much rewritten, reviews\n  from PeterZ, Oleg and myself shaped the end result.\n\n  This tree includes uprobes support in \u0027perf probe\u0027 - but SystemTap\n  (and other tools) can take advantage of user probe points as well.\n\n  Sample usage of uprobes via perf, for example to profile malloc()\n  calls without modifying user-space binaries.\n\n  First boot a new kernel with CONFIG_UPROBE_EVENT\u003dy enabled.\n\n  If you don\u0027t know which function you want to probe you can pick one\n  from \u0027perf top\u0027 or can get a list all functions that can be probed\n  within libc (binaries can be specified as well):\n\n\t$ perf probe -F -x /lib/libc.so.6\n\n  To probe libc\u0027s malloc():\n\n\t$ perf probe -x /lib64/libc.so.6 malloc\n\tAdded new event:\n\tprobe_libc:malloc    (on 0x7eac0)\n\n  You can now use it in all perf tools, such as:\n\n\tperf record -e probe_libc:malloc -aR sleep 1\n\n  Make use of it to create a call graph (as the flat profile is going to\n  look very boring):\n\n\t$ perf record -e probe_libc:malloc -gR make\n\t[ perf record: Woken up 173 times to write data ]\n\t[ perf record: Captured and wrote 44.190 MB perf.data (~1930712\n\n\t$ perf report | less\n\n\t  32.03%            git  libc-2.15.so   [.] malloc\n\t                    |\n\t                    --- malloc\n\n\t  29.49%            cc1  libc-2.15.so   [.] malloc\n\t                    |\n\t                    --- malloc\n\t                       |\n\t                       |--0.95%-- 0x208eb1000000000\n\t                       |\n\t                       |--0.63%-- htab_traverse_noresize\n\n\t  11.04%             as  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\n\t   7.15%             ld  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\n\t   5.07%             sh  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\t   4.99%  python-config  libc-2.15.so   [.] malloc\n\t          |\n\t          --- malloc\n\t             |\n\t   4.54%           make  libc-2.15.so   [.] malloc\n\t                   |\n\t                   --- malloc\n\t                      |\n\t                      |--7.34%-- glob\n\t                      |          |\n\t                      |          |--93.18%-- 0x41588f\n\t                      |          |\n\t                      |           --6.82%-- glob\n\t                      |                     0x41588f\n\n\t   ...\n\n  Or:\n\n\t$ perf report -g flat | less\n\n\t# Overhead        Command  Shared Object      Symbol\n\t# ........  .............  .............  ..........\n\t#\n\t  32.03%            git  libc-2.15.so   [.] malloc\n\t          27.19%\n\t              malloc\n\n\t  29.49%            cc1  libc-2.15.so   [.] malloc\n\t          24.77%\n\t              malloc\n\n\t  11.04%             as  libc-2.15.so   [.] malloc\n\t          11.02%\n\t              malloc\n\n\t   7.15%             ld  libc-2.15.so   [.] malloc\n\t           6.57%\n\t              malloc\n\n\t ...\n\n  The core uprobes design is fairly straightforward: uprobes probe\n  points register themselves at (inode:offset) addresses of\n  libraries/binaries, after which all existing (or new) vmas that map\n  that address will have a software breakpoint injected at that address.\n  vmas are COW-ed to preserve original content.  The probe points are\n  kept in an rbtree.\n\n  If user-space executes the probed inode:offset instruction address\n  then an event is generated which can be recovered from the regular\n  perf event channels and mmap-ed ring-buffer.\n\n  Multiple probes at the same address are supported, they create a\n  dynamic callback list of event consumers.\n\n  The basic model is further complicated by the XOL speedup: the\n  original instruction that is probed is copied (in an architecture\n  specific fashion) and executed out of line when the probe triggers.\n  The XOL area is a single vma per process, with a fixed number of\n  entries (which limits probe execution parallelism).\n\n  The API: uprobes are installed/removed via\n  /sys/kernel/debug/tracing/uprobe_events, the API is integrated to\n  align with the kprobes interface as much as possible, but is separate\n  to it.\n\n  Injecting a probe point is privileged operation, which can be relaxed\n  by setting perf_paranoid to -1.\n\n  You can use multiple probes as well and mix them with kprobes and\n  regular PMU events or tracepoints, when instrumenting a task.\"\n\nFix up trivial conflicts in mm/memory.c due to previous cleanup of\nunmap_single_vma().\n\n* \u0027perf-uprobes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)\n  perf probe: Detect probe target when m/x options are absent\n  perf probe: Provide perf interface for uprobes\n  tracing: Fix kconfig warning due to a typo\n  tracing: Provide trace events interface for uprobes\n  tracing: Extract out common code for kprobes/uprobes trace events\n  tracing: Modify is_delete, is_return from int to bool\n  uprobes/core: Decrement uprobe count before the pages are unmapped\n  uprobes/core: Make background page replacement logic account for rss_stat counters\n  uprobes/core: Optimize probe hits with the help of a counter\n  uprobes/core: Allocate XOL slots for uprobes use\n  uprobes/core: Handle breakpoint and singlestep exceptions\n  uprobes/core: Rename bkpt to swbp\n  uprobes/core: Make order of function parameters consistent across functions\n  uprobes/core: Make macro names consistent\n  uprobes: Update copyright notices\n  uprobes/core: Move insn to arch specific structure\n  uprobes/core: Remove uprobe_opcode_sz\n  uprobes/core: Make instruction tables volatile\n  uprobes: Move to kernel/events/\n  uprobes/core: Clean up, refactor and improve the code\n  ...\n"
    },
    {
      "commit": "f23ca335462e3c84f13270b9e65f83936068ec2c",
      "tree": "f0df939f9906c28267c930554223720a82241c71",
      "parents": [
        "dea649b8ac1861107c5d91e1a71121434fc64193"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri May 11 10:59:09 2012 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 23 22:11:41 2012 -0400"
      },
      "message": "keys: kill task_struct-\u003ereplacement_session_keyring\n\nKill the no longer used task_struct-\u003ereplacement_session_keyring, update\ncopy_creds() and exit_creds().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4d1d61a6b203d957777d73fcebf19d90b038b5b2",
      "tree": "8b597fa00168ee59e3abf5ec8cf4e92f8fd28d8a",
      "parents": [
        "e73f8959af0439d114847eab5a8a5ce48f1217c4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri May 11 10:59:08 2012 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 23 22:11:12 2012 -0400"
      },
      "message": "genirq: reimplement exit_irq_thread() hook via task_work_add()\n\nexit_irq_thread() and task-\u003eirq_thread are needed to handle the unexpected\n(and unlikely) exit of irq-thread.\n\nWe can use task_work instead and make this all private to\nkernel/irq/manage.c, cleanup plus micro-optimization.\n\n1. rename exit_irq_thread() to irq_thread_dtor(), make it\n   static, and move it up before irq_thread().\n\n2. change irq_thread() to do task_work_add(irq_thread_dtor)\n   at the start and task_work_cancel() before return.\n\n   tracehook_notify_resume() can never play with kthreads,\n   only do_exit()-\u003eexit_task_work() can call the callback\n   and this is what we want.\n\n3. remove task_struct-\u003eirq_thread and the special hook\n   in do_exit().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "e73f8959af0439d114847eab5a8a5ce48f1217c4"
}
