)]}'
{
  "log": [
    {
      "commit": "d14f1729483fad3a8817fbbcbd017678b7d1ad26",
      "tree": "ebb47471a0fff9e0bce46043d147f445584acfb0",
      "parents": [
        "6e006701ccc1590500186ef21e074bd900c5dd67"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Thu Feb 25 20:28:57 2010 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:01 2010 -0400"
      },
      "message": "sysctl extern cleanup: inotify\n\nExtern declarations in sysctl.c should be move to their own head file, and\nthen include them in relavant .c files.\n\nMove inotify_table extern declaration to linux/inotify.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "6e006701ccc1590500186ef21e074bd900c5dd67",
      "tree": "e8c1ac5898517b73a6da61be1f7c496138de8748",
      "parents": [
        "59b0df211bd9699d7e0d01fcf9345a149f75b033"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jan 20 22:27:56 2010 +0200"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:01 2010 -0400"
      },
      "message": "dnotify: move dir_notify_enable declaration\n\nMove dir_notify_enable declaration to where it belongs -- dnotify.h .\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "5444e2981c31d0ed7465475e451b8437084337e5",
      "tree": "66b6d84b7aab886b44a3467a139d258d9aba09df",
      "parents": [
        "32c3263221bd63316815286dccacdc7abfd7f3c4"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:27 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:57 2010 -0400"
      },
      "message": "fsnotify: split generic and inode specific mark code\n\ncurrently all marking is done by functions in inode-mark.c.  Some of this\nis pretty generic and should be instead done in a generic function and we\nshould only put the inode specific code in inode-mark.c\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "bbaa4168b2d2d8cc674e6d35806e8426aef464b8",
      "tree": "de2a601befc44628fc19766a3081bf2e3b73da7a",
      "parents": [
        "52c923dd079df49f58016a9e56df184b132611d6"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:26 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:55 2010 -0400"
      },
      "message": "fanotify: sys_fanotify_mark declartion\n\nThis patch simply declares the new sys_fanotify_mark syscall\n\nint fanotify_mark(int fanotify_fd, unsigned int flags, u64_mask,\n\t\t  int dfd const char *pathname)\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "11637e4b7dc098e9a863f0a619d55ebc60f5949e",
      "tree": "a32682575f35dfb2bf5dc0012e488b939e56d388",
      "parents": [
        "9dced01a0939f3e952eca8c21427ceec1f473dcf"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:25 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:55 2010 -0400"
      },
      "message": "fanotify: fanotify_init syscall declaration\n\nThis patch defines a new syscall fanotify_init() of the form:\n\nint sys_fanotify_init(unsigned int flags, unsigned int event_f_flags,\n\t\t      unsigned int priority)\n\nThis syscall is used to create and fanotify group.  This is very similar to\nthe inotify_init() syscall.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "35566087099c3ff8901d65ee98af56347ee66e5a",
      "tree": "e4e56bcf787e5f100fa1ea0138c417e1203b10ae",
      "parents": [
        "ef5e2b785fb3216269e6d0656d38ec286b98dbe5"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Dec 17 21:24:25 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:54 2010 -0400"
      },
      "message": "fsnotify: take inode-\u003ei_lock inside fsnotify_find_mark_entry()\n\nAll callers to fsnotify_find_mark_entry() except one take and\nrelease inode-\u003ei_lock around the call.  Take the lock inside\nfsnotify_find_mark_entry() instead.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "d07754412f9cdc2f4a99318d5ee81ace6715ea99",
      "tree": "f62902ad420de023c0fad931d9508903a9f42e3b",
      "parents": [
        "e61ce86737b4d60521e4e71f9892fe4bdcfb688b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:24 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:53 2010 -0400"
      },
      "message": "fsnotify: rename fsnotify_find_mark_entry to fsnotify_find_mark\n\nthe _entry portion of fsnotify functions is useless.  Drop it.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e61ce86737b4d60521e4e71f9892fe4bdcfb688b",
      "tree": "a1aba411504ac028d4ead6f28ca05bd024c74142",
      "parents": [
        "72acc854427948efed7a83da27f7dc3239ac9afc"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:24 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:53 2010 -0400"
      },
      "message": "fsnotify: rename fsnotify_mark_entry to just fsnotify_mark\n\nThe name is long and it serves no real purpose.  So rename\nfsnotify_mark_entry to just fsnotify_mark.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "2823e04de4f1a49087b58ff2bb8f61361ffd9321",
      "tree": "0467ddf513cfb9ec76f3fe498bdc9b5084008c84",
      "parents": [
        "3a9fb89f4cd04c23e16397befba92efb5d989b74"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:23 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:52 2010 -0400"
      },
      "message": "fsnotify: put inode specific fields in an fsnotify_mark in a union\n\nThe addition of marks on vfs mounts will be simplified if the inode\nspecific parts of a mark and the vfsmnt specific parts of a mark are\nactually in a union so naming can be easy.  This patch just implements the\ninode struct and the union.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "3a9fb89f4cd04c23e16397befba92efb5d989b74",
      "tree": "f60b48c8cf488ad8952601ccbc6192b5f86ec900",
      "parents": [
        "7131485a93679ff9a543b74df280cfd119eb03ca"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:23 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:52 2010 -0400"
      },
      "message": "fsnotify: include vfsmount in should_send_event when appropriate\n\nTo ensure that a group will not duplicate events when it receives it based\non the vfsmount and the inode should_send_event test we should distinguish\nthose two cases.  We pass a vfsmount to this function so groups can make\ntheir own determinations.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "0d2e2a1d00d7d23e5bd9bb0935cde7c3d5835c56",
      "tree": "1c6bbbcbb143a364838d6749aa086af3c019f965",
      "parents": [
        "220d14df0dc587c06b97762829a41157c9375b94"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:51 2010 -0400"
      },
      "message": "fsnotify: drop mask argument from fsnotify_alloc_group\n\nNothing uses the mask argument to fsnotify_alloc_group.  This patch drops\nthat argument.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "220d14df0dc587c06b97762829a41157c9375b94",
      "tree": "cea58c9859b86ea112f4dfc0c6c2bbbb6504edcc",
      "parents": [
        "ffab83402f01555a5fa32efb48a4dd0ce8d12ef5"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:51 2010 -0400"
      },
      "message": "Audit: only set group mask when something is being watched\n\nCurrently the audit watch group always sets a mask equal to all events it\nmight care about.  We instead should only set the group mask if we are\nactually watching inodes.  This should be a perf win when audit watches are\ncompiled in.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ffab83402f01555a5fa32efb48a4dd0ce8d12ef5",
      "tree": "4e02fa7422becb56e6ed4b8721f8b0fb3a867d44",
      "parents": [
        "cd7752ce7cac5184ca35aecebffafae9662570bc"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:50 2010 -0400"
      },
      "message": "fsnotify: fsnotify_obtain_group should be fsnotify_alloc_group\n\nfsnotify_obtain_group was intended to be able to find an already existing\ngroup.  Nothing uses that functionality.  This just renames it to\nfsnotify_alloc_group so it is clear what it is doing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "74be0cc82835aecad332a29896b0f212ba893403",
      "tree": "eaae59c73ba52ff8cab8ee845e989d9877603f4c",
      "parents": [
        "cac69dad32899c6f4c66bb4f9baf69b0d3c7d3d1"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:50 2010 -0400"
      },
      "message": "fsnotify: remove group_num altogether\n\nThe original fsnotify interface has a group-num which was intended to be\nable to find a group after it was added.  I no longer think this is a\nnecessary thing to do and so we remove the group_num.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "8112e2d6a7356e8c3ff1f7f3c86f375ed0305705",
      "tree": "953926dd3596c0ac87d7407960d0987b765a8239",
      "parents": [
        "7b0a04fbfb35650941af87728d4891515b4fc179"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:21 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:31 2010 -0400"
      },
      "message": "fsnotify: include data in should_send calls\n\nfanotify is going to need to look at file-\u003eprivate_data to know if an event\nshould be sent or not.  This passes the data (which might be a file,\ndentry, inode, or none) to the should_send function calls so fanotify can\nget that information when available\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "7b0a04fbfb35650941af87728d4891515b4fc179",
      "tree": "48d85a11a8d3c283db3eb9f91ac4fb97bb2beafe",
      "parents": [
        "d7f0ce4e436b6109527c51b0efe0deff53d215f7"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:21 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:31 2010 -0400"
      },
      "message": "fsnotify: provide the data type to should_send_event\n\nfanotify is only interested in event types which contain enough information\nto open the original file in the context of the fanotify listener.  Since\nfanotify may not want to send events if that data isn\u0027t present we pass\nthe data type to the should_send_event function call so fanotify can express\nits lack of interest.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "2dfc1cae4c42b93b831b2417540df2b895ab7108",
      "tree": "e07a0075964fd2cb9210b302114255e16ab1d4c0",
      "parents": [
        "7050c48826d5adb2210bddfb6a67aa13bbe984ed"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:30:52 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:31 2010 -0400"
      },
      "message": "inotify: remove inotify in kernel interface\n\nnothing uses inotify in the kernel, drop it!\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "1a3aedbce416dfdbd5d5ac14a0edbcf21a62ee50",
      "tree": "4cddb110b6890b9df554193ae24ca4c74f99dea1",
      "parents": [
        "939a67fc4cbab8ca11c90da8a769d7e965d66a9b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:06 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:19 2010 -0400"
      },
      "message": "Audit: audit watch init should not be before fsnotify init\n\nAudit watch init and fsnotify init both use subsys_initcall() but since the\naudit watch code is linked in before the fsnotify code the audit watch code\nwould be using the fsnotify srcu struct before it was initialized.  This\npatch fixes that problem by moving audit watch init to device_initcall() so\nit happens after fsnotify is ready.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by : Sachin Sant \u003csachinp@in.ibm.com\u003e\n"
    },
    {
      "commit": "939a67fc4cbab8ca11c90da8a769d7e965d66a9b",
      "tree": "973363dabb2e84aa18e0ce1bbaf794be434e3901",
      "parents": [
        "67640b602f68332a83808426911636e9dbcc71fe"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:06 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:19 2010 -0400"
      },
      "message": "Audit: split audit watch Kconfig\n\nAudit watch should depend on CONFIG_AUDIT_SYSCALL and should select\nFSNOTIFY.  This splits the spagetti like mixing of audit_watch and\naudit_filter code so they can be configured seperately.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "28a3a7eb3b1f3e7d834e19f06e794e429058a4dd",
      "tree": "c025ce90e250786784e18cde38d6c9c89e7b31f9",
      "parents": [
        "40554c3dae83bd892b7fbfaa2ea9de739cbcf065"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:05 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:17 2010 -0400"
      },
      "message": "audit: reimplement audit_trees using fsnotify rather than inotify\n\nSimply switch audit_trees from using inotify to using fsnotify for it\u0027s\ninode pinning and disappearing act information.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "40554c3dae83bd892b7fbfaa2ea9de739cbcf065",
      "tree": "7b9d4951734af9d819a900ff08f23c797a5c1b5c",
      "parents": [
        "9e1c74321d87a8b079f04d89e750b39a43365e1f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:05 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:17 2010 -0400"
      },
      "message": "fsnotify: allow addition of duplicate fsnotify marks\n\nThis patch allows a task to add a second fsnotify mark to an inode for the\nsame group.  This mark will be added to the end of the inode\u0027s list and\nthis will never be found by the stand fsnotify_find_mark() function.   This\nis useful if a user wants to add a new mark before removing the old one.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "a05fb6cc573130915380e00d182a4c6571cec6b2",
      "tree": "c67e626c5307d89e6d7e65d0b2f9834c3591edb2",
      "parents": [
        "e118e9c5638bbe877aa26b5cd2fd223cc24cdc8a"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:05 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:17 2010 -0400"
      },
      "message": "audit: do not get and put just to free a watch\n\ndeleting audit watch rules is not currently done under audit_filter_mutex.\nIt was done this way because we could not hold the mutex during inotify\nmanipulation.  Since we are using fsnotify we don\u0027t need to do the extra\nget/put pair nor do we need the private list on which to store the parents\nwhile they are about to be freed.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e118e9c5638bbe877aa26b5cd2fd223cc24cdc8a",
      "tree": "e57559daadac89686a3523e9f55c5a61315e05bf",
      "parents": [
        "e9fd702a58c49dbb14481dca88dad44758da393a"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:04 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:16 2010 -0400"
      },
      "message": "audit: redo audit watch locking and refcnt in light of fsnotify\n\nfsnotify can handle mutexes to be held across all fsnotify operations since\nit deals strickly in spinlocks.  This can simplify and reduce some of the\naudit_filter_mutex taking and dropping.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e9fd702a58c49dbb14481dca88dad44758da393a",
      "tree": "c944771328e35ea36cf4e0e332b8402113878b3c",
      "parents": [
        "ae7b8f4108bcffb42173f867ce845268c7202d48"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:04 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:16 2010 -0400"
      },
      "message": "audit: convert audit watches to use fsnotify instead of inotify\n\nAudit currently uses inotify to pin inodes in core and to detect when\nwatched inodes are deleted or unmounted.  This patch uses fsnotify instead\nof inotify.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ae7b8f4108bcffb42173f867ce845268c7202d48",
      "tree": "049d357dcbffe597c77c534ea211c3efd26680e3",
      "parents": [
        "b7ba83715317007962ee318587de92f14e9c3aaa"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:04 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:16 2010 -0400"
      },
      "message": "Audit: clean up the audit_watch split\n\nNo real changes, just cleanup to the audit_watch split patch which we done\nwith minimal code changes for easy review.  Now fix interfaces to make\nthings work better.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b82bab4bbe9efa7bc7177fc20620fff19bd95484",
      "tree": "c033a090fbd3caa61f2f3b6ece52c0b4dffeb229",
      "parents": [
        "d15aa2cc641bd193596382357de917b32f1b40cb"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Tue Jul 27 13:18:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 27 14:32:06 2010 -0700"
      },
      "message": "dynamic debug: move ddebug_remove_module() down into free_module()\n\nThe command\n\n\techo \"file ec.c +p\" \u003e/sys/kernel/debug/dynamic_debug/control\n\ncauses an oops.\n\nMove the call to ddebug_remove_module() down into free_module().  In this\nway it should be called from all error paths.  Currently, we are missing\nthe remove if the module init routine fails.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nReported-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nTested-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.32+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "edd63cb6b91024332d6983fc51058ac1ef0c081e",
      "tree": "2df04fc5dc35899aa7d4f4c52197f7b492c16c8b",
      "parents": [
        "b0679c63db655fa12007558e267bc0eb1d486fdb"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:07 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:07 2010 -0500"
      },
      "message": "sysrq,kdb: Use __handle_sysrq() for kdb\u0027s sysrq function\n\nThe kdb code should not toggle the sysrq state in case an end user\nwants to try and resume the normal kernel execution.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "b0679c63db655fa12007558e267bc0eb1d486fdb",
      "tree": "b210de833621055d02c2114b77d419f09ea73a36",
      "parents": [
        "9e8b624fcaebf9c237b5be9116f4424bf168e6d1"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:07 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:07 2010 -0500"
      },
      "message": "debug_core,kdb: fix kgdb_connected bit set in the wrong place\n\nImmediately following an exit from the kdb shell the kgdb_connected\nvariable should be set to zero, unless there are breakpoints planted.\nIf the kgdb_connected variable is not zeroed out with kdb, it is\nimpossible to turn off kdb.\n\nThis patch is merely a work around for now, the real fix will check\nfor the breakpoints.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "9e8b624fcaebf9c237b5be9116f4424bf168e6d1",
      "tree": "9c46796acdbb4bbfe6adbf89bc731dd6eb0adf19",
      "parents": [
        "fb82c0ff27b2c40c6f7a3d1a94cafb154591fa80"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:06 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:06 2010 -0500"
      },
      "message": "Fix merge regression from external kdb to upstream kdb\n\nIn the process of merging kdb to the mainline, the kdb lsmod command\nstopped printing the base load address of kernel modules.  This is\nneeded for using kdb in conjunction with external tools such as gdb.\n\nSimply restore the functionality by adding a kdb_printf for the base\nload address of the kernel modules.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "fb82c0ff27b2c40c6f7a3d1a94cafb154591fa80",
      "tree": "98e49fdc15e9db7eb45e91571ca6187f9a5cf516",
      "parents": [
        "1396a21ba0d4ec381db19bc9cd5b6f25a89cf633"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:05 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:05 2010 -0500"
      },
      "message": "repair gdbstub to match the gdbserial protocol specification\n\nThe gdbserial protocol handler should return an empty packet instead\nof an error string when ever it responds to a command it does not\nimplement.\n\nThe problem cases come from a debugger client sending\nqTBuffer, qTStatus, qSearch, qSupported.\n\nThe incorrect response from the gdbstub leads the debugger clients to\nnot function correctly.  Recent versions of gdb will not detach correctly as a result of this behavior.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\n"
    },
    {
      "commit": "1396a21ba0d4ec381db19bc9cd5b6f25a89cf633",
      "tree": "09bbe851de6b70d1896d0a72f832b21d98331d9d",
      "parents": [
        "d0c6f6258478e1dba532bf7c28e2cd6e1047d3a4"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Wed Jul 21 19:27:05 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:05 2010 -0500"
      },
      "message": "kdb: break out of kdb_ll() when command is terminated\n\nWithout this patch the \"ll\" linked-list traversal command won\u0027t\nterminate when you hit q/Q.\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "9078370c0d2cfe4a905aa34f398bbb0d65921a2b",
      "tree": "0b0d3b1f2a9a6dd2f2deaae9fbf9c8c5509ac13c",
      "parents": [
        "7952f98818d561ed0e11434a7a16acd9a7bae859"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jul 19 11:54:15 2010 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jul 19 11:54:15 2010 +0100"
      },
      "message": "kmemleak: Add support for NO_BOOTMEM configurations\n\nWith commits 08677214 and 59be5a8e, alloc_bootmem()/free_bootmem() and\nfriends use the early_res functions for memory management when\nNO_BOOTMEM is enabled. This patch adds the kmemleak calls in the\ncorresponding code paths for bootmem allocations.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "ff49d74ad383f54041378144ca1a229ee9aeaa59",
      "tree": "6f37335e313c9a680db8d4e4ce00d17aa11a099b",
      "parents": [
        "e3668dd83ba5958429984286efbc3055be5344c4"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Sat Jul 03 13:07:35 2010 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 04 20:17:22 2010 -0700"
      },
      "message": "module: initialize module dynamic debug later\n\nWe should initialize the module dynamic debug datastructures\nonly after determining that the module is not loaded yet. This\nfixes a bug that introduced in 2.6.35-rc2, where when a trying\nto load a module twice, we also load it\u0027s dynamic printing data\ntwice which causes all sorts of nasty issues. Also handle\nthe dynamic debug cleanup later on failure.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (removed a #ifdef)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "123f94f22e3d283dfe68742b269c245b0501ad82",
      "tree": "1d40043b0909f309cf77204ea87be9e61f143e79",
      "parents": [
        "4b78c119f0ba715b4e29b190bf4d7bce810ea0d6",
        "8c215bd3890c347dfb6a2db4779755f8b9c298a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 02 09:52:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 02 09:52:58 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Cure nr_iowait_cpu() users\n  init: Fix comment\n  init, sched: Fix race between init and kthreadd\n"
    },
    {
      "commit": "8c215bd3890c347dfb6a2db4779755f8b9c298a9",
      "tree": "e6bd5de8a028babe9ec75f744977bd1424df106c",
      "parents": [
        "9715856922bf8475f5428c29b6f4a9eebc97d391"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jul 01 09:07:17 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 01 09:39:48 2010 +0200"
      },
      "message": "sched: Cure nr_iowait_cpu() users\n\nCommit 0224cf4c5e (sched: Intoduce get_cpu_iowait_time_us())\nbroke things by not making sure preemption was indeed disabled\nby the callers of nr_iowait_cpu() which took the iowait value of\nthe current cpu.\n\nThis resulted in a heap of preempt warnings. Cure this by making\nnr_iowait_cpu() take a cpu number and fix up the callers to pass\nin the right number.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: linux-pm@lists.linux-foundation.org\nLKML-Reference: \u003c1277968037.1868.120.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7a0ea09ad5352efce8fe79ed853150449903b9f5",
      "tree": "939829793ffb34a78f83b694a725e66dfc50cc16",
      "parents": [
        "f4985dc714d7ab1920c5aa502b7f4073fa1b4177"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Wed Jun 30 09:51:19 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 30 15:43:44 2010 -0700"
      },
      "message": "futex: futex_find_get_task remove credentails check\n\nfutex_find_get_task is currently used (through lookup_pi_state) from two\ncontexts, futex_requeue and futex_lock_pi_atomic.  None of the paths\nlooks it needs the credentials check, though.  Different (e)uids\nshouldn\u0027t matter at all because the only thing that is important for\nshared futex is the accessibility of the shared memory.\n\nThe credentail check results in glibc assert failure or process hang (if\nglibc is compiled without assert support) for shared robust pthread\nmutex with priority inheritance if a process tries to lock already held\nlock owned by a process with a different euid:\n\npthread_mutex_lock.c:312: __pthread_mutex_lock_full: Assertion `(-(e)) !\u003d 3 || !robust\u0027 failed.\n\nThe problem is that futex_lock_pi_atomic which is called when we try to\nlock already held lock checks the current holder (tid is stored in the\nfutex value) to get the PI state.  It uses lookup_pi_state which in turn\ngets task struct from futex_find_get_task.  ESRCH is returned either\nwhen the task is not found or if credentials check fails.\n\nfutex_lock_pi_atomic simply returns if it gets ESRCH.  glibc code,\nhowever, doesn\u0027t expect that robust lock returns with ESRCH because it\nshould get either success or owner died.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e05bd3367bd3d88715b53766f95bb3a8ec7ab59e",
      "tree": "db9f13cd687c39bf873ff5dbed28bbd142fc6940",
      "parents": [
        "482ce512c543f3b30ab881702fa997e71252e604"
      ],
      "author": {
        "name": "Pavan Naregundi",
        "email": "pavan@linux.vnet.ibm.com",
        "time": "Tue Jun 29 15:05:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 29 15:29:31 2010 -0700"
      },
      "message": "kexec: fix Oops in crash_shrink_memory()\n\nWhen crashkernel is not enabled, \"echo 0 \u003e /sys/kernel/kexec_crash_size\"\nOOPSes the kernel in crash_shrink_memory.  This happens when\ncrash_shrink_memory tries to release the \u0027crashk_res\u0027 resource which are\nnot reserved.  Also value of \"/sys/kernel/kexec_crash_size\" shows as 1,\nwhich should be 0.\n\nThis patch fixes the OOPS in crash_shrink_memory and shows\n\"/sys/kernel/kexec_crash_size\" as 0 when crash kernel memory is not\nreserved.\n\nSigned-off-by: Pavan Naregundi \u003cpavan@linux.vnet.ibm.com\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5904b3b81d25166e5e39b9727645bb47937618e3",
      "tree": "2a306f8b0cdea354b3ebc157623dededcf471091",
      "parents": [
        "f3866db8f7534ba8bbb342bebcf5ede542035528",
        "b70e4f0529c089b00d0a6da13106db4de1ada4c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:24:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:24:43 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix undeclared ENOSYS in include/linux/tracepoint.h\n  perf record: prevent kill(0, SIGTERM);\n  perf session: Remove threads from tree on PERF_RECORD_EXIT\n  perf/tracing: Fix regression of perf losing kprobe events\n  perf_events: Fix Intel Westmere event constraints\n  perf record: Don\u0027t call newt functions when not initialized\n"
    },
    {
      "commit": "f3866db8f7534ba8bbb342bebcf5ede542035528",
      "tree": "f73e761ac85faea698eb6ab700361ef199aa68c7",
      "parents": [
        "f014d937d61f47761f961eba903feb2ffa1793aa",
        "4673247562e39a17e09440fa1400819522ccd446"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:23:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:23:12 2010 -0700"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Deal with desc-\u003eset_type() changing desc-\u003echip\n"
    },
    {
      "commit": "f014d937d61f47761f961eba903feb2ffa1793aa",
      "tree": "4a6a9441b21711e34d567a8066950548935b9b3a",
      "parents": [
        "cf91b415c8419513ada650a932bfb32a526d4d98",
        "0d98bb2656e9bd2dfda2d089db1fe1dbdab41504"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:18:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:18:30 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Prevent compiler from optimising the sched_avg_update() loop\n  sched: Fix over-scheduling bug\n  sched: Fix PROVE_RCU vs cpu_cgroup\n"
    },
    {
      "commit": "cf91b415c8419513ada650a932bfb32a526d4d98",
      "tree": "b69cc7920d763b07fa0722edf58813dc17206734",
      "parents": [
        "e6cb6281ef8547fea1243b1c2a4e0f08d9b86ae1",
        "3310d4d38fbc514e7b18bd3b1eea8effdd63b5aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:18:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:18:02 2010 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  nohz: Fix nohz ratelimit\n"
    },
    {
      "commit": "e6cb6281ef8547fea1243b1c2a4e0f08d9b86ae1",
      "tree": "4444be8141566dec3c88ff5fa7354cbe4cebccdc",
      "parents": [
        "ab8aadbda7d59d4674ef614cba2a67c50667a6af",
        "8695159967957015f8dfb49315d6f88e111d90e0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:17:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:17:40 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: silence PROVE_RCU in sched_fork()\n  idr: fix RCU lockdep splat in idr_get_next()\n  rcu: apply RCU protection to wake_affine()\n"
    },
    {
      "commit": "0d98bb2656e9bd2dfda2d089db1fe1dbdab41504",
      "tree": "2172bbdd7fb21640062b2a692ded3d9cebc2382c",
      "parents": [
        "3c93717cfa51316e4dbb471e7c0f9d243359d5f8"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon May 24 12:11:43 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 25 16:11:50 2010 +0200"
      },
      "message": "sched: Prevent compiler from optimising the sched_avg_update() loop\n\nGCC 4.4.1 on ARM has been observed to replace the while loop in\nsched_avg_update with a call to uldivmod, resulting in the\nfollowing build failure at link-time:\n\nkernel/built-in.o: In function `sched_avg_update\u0027:\n kernel/sched.c:1261: undefined reference to `__aeabi_uldivmod\u0027\n kernel/sched.c:1261: undefined reference to `__aeabi_uldivmod\u0027\nmake: *** [.tmp_vmlinux1] Error 1\n\nThis patch introduces a fake data hazard to the loop body to\nprevent the compiler optimising the loop away.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8695159967957015f8dfb49315d6f88e111d90e0",
      "tree": "d575083d37a069be585d575ec036faa8765f1d0c",
      "parents": [
        "94bfa3b6692c7a3f6f119596724204ec975d3ef0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jun 22 11:44:53 2010 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 23 15:14:09 2010 -0700"
      },
      "message": "sched: silence PROVE_RCU in sched_fork()\n\nBecause cgroup_fork() is ran before sched_fork() [ from copy_process() ]\nand the child\u0027s pid is not yet visible the child is pinned to its\ncgroup. Therefore we can silence this warning.\n\nA nicer solution would be moving cgroup_fork() to right after\ndup_task_struct() and exclude PF_STARTING from task_subsys_state().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f3b577dec1f2ce32d2db6d2ca6badff7002512af",
      "tree": "c9d5d84b2d3e4ae1251f69932a526367a2bac7fa",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Tue Jun 01 14:06:13 2010 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 23 06:50:44 2010 -0700"
      },
      "message": "rcu: apply RCU protection to wake_affine()\n\nThe task_group() function returns a pointer that must be protected\nby either RCU, the -\u003ealloc_lock, or the cgroup lock (see the\nrcu_dereference_check() in task_subsys_state(), which is invoked by\ntask_group()).  The wake_affine() function currently does none of these,\nwhich means that a concurrent update would be within its rights to free\nthe structure returned by task_group().  Because wake_affine() uses this\nstructure only to compute load-balancing heuristics, there is no reason\nto acquire either of the two locks.\n\nTherefore, this commit introduces an RCU read-side critical section that\nstarts before the first call to task_group() and ends after the last use\nof the \"tg\" pointer returned from task_group().  Thanks to Li Zefan for\npointing out the need to extend the RCU read-side critical section from\nthat proposed by the original patch.\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3c93717cfa51316e4dbb471e7c0f9d243359d5f8",
      "tree": "0c37ea18287556b42d6264d41c7093dd07f052f5",
      "parents": [
        "dc61b1d65e353d638b2445f71fb8e5b5630f2415"
      ],
      "author": {
        "name": "Alex,Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 17 14:08:13 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 18 10:45:25 2010 +0200"
      },
      "message": "sched: Fix over-scheduling bug\n\nCommit e70971591 (\"sched: Optimize unused cgroup configuration\") introduced\nan imbalanced scheduling bug.\n\nIf we do not use CGROUP, function update_h_load won\u0027t update h_load. When the\nsystem has a large number of tasks far more than logical CPU number, the\nincorrect cfs_rq[cpu]-\u003eh_load value will cause load_balance() to pull too\nmany tasks to the local CPU from the busiest CPU. So the busiest CPU keeps\ngoing in a round robin. That will hurt performance.\n\nThe issue was found originally by a scientific calculation workload that\ndeveloped by Yanmin. With that commit, the workload performance drops\nabout 40%.\n\n CPU  before    after\n\n 00   : 2       : 7\n 01   : 1       : 7\n 02   : 11      : 6\n 03   : 12      : 7\n 04   : 6       : 6\n 05   : 11      : 7\n 06   : 10      : 6\n 07   : 12      : 7\n 08   : 11      : 6\n 09   : 12      : 6\n 10   : 1       : 6\n 11   : 1       : 6\n 12   : 6       : 6\n 13   : 2       : 6\n 14   : 2       : 6\n 15   : 1       : 6\n\nReviewed-by: Yanmin zhang \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1276754893.9452.5442.camel@debian\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3310d4d38fbc514e7b18bd3b1eea8effdd63b5aa",
      "tree": "14e2a5b6126c9b1341a3d4bf5299545ce4b1999a",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jun 17 18:02:37 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 17 19:37:29 2010 +0200"
      },
      "message": "nohz: Fix nohz ratelimit\n\nChris Wedgwood reports that 39c0cbe (sched: Rate-limit nohz) causes a\nserial console regression, unresponsiveness, and indeed it does. The\nreason is that the nohz code is skipped even when the tick was already\nstopped before the nohz_ratelimit(cpu) condition changed.\n\nMove the nohz_ratelimit() check to the other conditions which prevent\nlong idle sleeps.\n\nReported-by: Chris Wedgwood \u003ccw@f00f.org\u003e\nTested-by: Brian Bloniarz \u003cbmb@athenacr.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Jef Driesen \u003cjefdriesen@telenet.be\u003e\nLKML-Reference: \u003c1276790557.27822.516.camel@twins\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "42de5532f4a58a52a60bdd8bd4f80f9f210dd65b",
      "tree": "f624579c4c27e1ffcba5e4141fcc0877c3a6ae56",
      "parents": [
        "e9e8b4dd142da3b6cbf301ba922804d6cdc31a17",
        "2a6b69765ad794389f2fc3e14a0afa1a995221c2"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Jun 12 01:15:40 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Jun 12 01:15:40 2010 -0400"
      },
      "message": "Merge branch \u0027bugzilla-13931-sleep-nvs\u0027 into release\n\nConflicts:\n\tdrivers/acpi/sleep.c\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "a8fb2608053547bc3152ea61a5ec7cdfce5d942c",
      "tree": "08f5fd61dd3fce05a2472f457c48ec249966b372",
      "parents": [
        "d11007703c31db534674ebeeb9eb047bbbe758bd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jun 10 14:53:16 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 10 20:56:54 2010 -0400"
      },
      "message": "perf/tracing: Fix regression of perf losing kprobe events\n\nWith the addition of the code to shrink the kernel tracepoint\ninfrastructure, we lost kprobes being traced by perf. The reason\nis that I tested if the \"tp_event-\u003eclass-\u003eperf_probe\" existed before\nenabling it. This prevents \"ftrace only\" events (like the function\ntrace events) from being enabled by perf.\n\nUnfortunately, kprobe events do not use perf_probe. This causes\nkprobes to be missed by perf. To fix this, we add the test to\nsee if \"tp_event-\u003eclass-\u003ereg\" exists as well as perf_probe.\n\nNormal trace events have only \"perf_probe\" but no \"reg\" function,\nand kprobes and syscalls have the \"reg\" but no \"perf_probe\".\nThe ftrace unique events do not have either, so this is a valid\ntest. If a kprobe or syscall is not to be probed by perf, the\n\"reg\" function is called anyway, and will return a failure and\nprevent perf from probing it.\n\nReported-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nTested-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "85ca7886f566ae387a57a37bc0ffab25e3e117b5",
      "tree": "d170966b3352b3463669492648861795aad0fb92",
      "parents": [
        "7c8d20d40f29e7c08332d406d7a65678dece4627",
        "16106822b67e0a5eb228aebf47e33d6cad1e91b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 10 09:30:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 10 09:30:09 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix null pointer deref with SEND_SIG_FORCED\n  perf: Fix signed comparison in perf_adjust_period()\n  powerpc/oprofile: fix potential buffer overrun in op_model_cell.c\n  perf symbols: Set the DSO long name when using symbol_conf.vmlinux_name\n"
    },
    {
      "commit": "dd4c4f17d722ffeb2515bf781400675a30fcead7",
      "tree": "0190eff340ffeac7800a3d7d1e0c1232c09397ef",
      "parents": [
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Fri May 28 16:32:14 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Jun 10 11:02:34 2010 -0400"
      },
      "message": "suspend: Move NVS save/restore code to generic suspend functionality\n\nSaving platform non-volatile state may be required for suspend to RAM as\nwell as hibernation. Move it to more generic code.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "4673247562e39a17e09440fa1400819522ccd446",
      "tree": "31746ff2cd7f41048b7507cd3cae9dae2a1519be",
      "parents": [
        "84f7586edab93052bbe7eb72e1e9bce5f7b6ae45"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 07 17:53:51 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 09 17:05:08 2010 +0200"
      },
      "message": "genirq: Deal with desc-\u003eset_type() changing desc-\u003echip\n\nThe set_type() function can change the chip implementation when the\ntrigger mode changes. That might result in using an non-initialized\nirq chip when called from __setup_irq() or when called via\nset_irq_type() on an already enabled irq. \n\nThe set_irq_type() function should not be called on an enabled irq,\nbut because we forgot to put a check into it, we have a bunch of users\nwhich grew the habit of doing that and it never blew up as the\nfunction is serialized via desc-\u003elock against all users of desc-\u003echip\nand they never hit the non-initialized irq chip issue.\n\nThe easy fix for the __setup_irq() issue would be to move the\nirq_chip_set_defaults(desc-\u003echip) call after the trigger setting to\nmake sure that a chip change is covered.\n\nBut as we have already users, which do the type setting after\nrequest_irq(), the safe fix for now is to call irq_chip_set_defaults()\nfrom __irq_set_trigger() when desc-\u003eset_type() changed the irq chip.\n\nIt needs a deeper analysis whether we should refuse to change the chip\non an already enabled irq, but that\u0027d be a large scale change to fix\nall the existing users. So that\u0027s neither stable nor 2.6.35 material.\n\nReported-by: Esben Haabendal \u003ceha@doredevelopment.dk\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: linuxppc-dev \u003clinuxppc-dev@ozlabs.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "dc61b1d65e353d638b2445f71fb8e5b5630f2415",
      "tree": "07d79b2d385a380207cd889ac764b57190421fd1",
      "parents": [
        "3975d16760d4be7402d1067c548c30c427971331"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 08 11:40:42 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 08 18:44:04 2010 +0200"
      },
      "message": "sched: Fix PROVE_RCU vs cpu_cgroup\n\nPROVE_RCU has a few issues with the cpu_cgroup because the scheduler\ntypically holds rq-\u003elock around the css rcu derefs but the generic\ncgroup code doesn\u0027t (and can\u0027t) know about that lock.\n\nProvide means to add extra checks to the css dereference and use that\nin the scheduler to annotate its users.\n\nThe addition of rq-\u003elock to these checks is correct because the\ncgroup_subsys::attach() method takes the rq-\u003elock for each task it\nmoves, therefore by holding that lock, we ensure the task is pinned to\nthe current cgroup and the RCU derefence is valid.\n\nThat leaves one genuine race in __sched_setscheduler() where we used\ntask_group() without holding any of the required locks and thus raced\nwith the cgroup code. Solve this by moving the check under the\nappropriate lock.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6ab91add6355e231e1c47897027b2a6ee4fa268",
      "tree": "74dffdf3b78c290d38a78b73788dce64e4c1e857",
      "parents": [
        "58cc1a9e3b11a84e66c4d3a4cc9073f2cb0ecabb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 04 15:18:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 08 18:43:00 2010 +0200"
      },
      "message": "perf: Fix signed comparison in perf_adjust_period()\n\nFrederic reported that frequency driven swevents didn\u0027t work properly\nand even caused a division-by-zero error.\n\nIt turns out there are two bugs, the division-by-zero comes from a\nfailure to deal with that in perf_calculate_period().\n\nThe other was more interesting and turned out to be a wrong comparison\nin perf_adjust_period(). The comparison was between an s64 and u64 and\ngot implicitly converted to an unsigned comparison. The problem is\nthat period_left is typically \u003c 0, so it ended up being always true.\n\nCure this by making the local period variables s64.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "90ec7819737d42a0ad1c2df1ff56016facae3c6e",
      "tree": "0dac92b38de5cb13764b5f3de33346359928deda",
      "parents": [
        "8ce655e737dc395e115ecdce143a43b9b6127f46",
        "9bea7f23952d5948f8e5dfdff4de09bb9981fb5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 04 21:09:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 04 21:09:48 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  module: fix bne2 \"gave up waiting for init of module libcrc32c\"\n  module: verify_export_symbols under the lock\n  module: move find_module check to end\n  module: make locking more fine-grained.\n  module: Make module sysfs functions private.\n  module: move sysfs exposure to end of load_module\n  module: fix kdb\u0027s illicit use of struct module_use.\n  module: Make the \u0027usage\u0027 lists be two-way\n"
    },
    {
      "commit": "9bea7f23952d5948f8e5dfdff4de09bb9981fb5f",
      "tree": "9cb7231bcf901fe4198142b9b054ce5ae6ce34c8",
      "parents": [
        "be593f4ce4eb1bd40e38fdc403371f149f6f12eb"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:37 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:37 2010 +0930"
      },
      "message": "module: fix bne2 \"gave up waiting for init of module libcrc32c\"\n\nProblem: it\u0027s hard to avoid an init routine stumbling over a\nrequest_module these days.  And it\u0027s not clear it\u0027s always a bad idea:\nfor example, a module like kvm with dynamic dependencies on kvm-intel\nor kvm-amd would be neater if it could simply request_module the right\none.\n\nIn this particular case, it\u0027s libcrc32c:\n\n\tlibcrc32c_mod_init\n\t crypto_alloc_shash\n\t  crypto_alloc_tfm\n\t   crypto_find_alg\n\t    crypto_alg_mod_lookup\n\t     crypto_larval_lookup\n\t      request_module\n\nIf another module is waiting inside resolve_symbol() for libcrc32c to\nfinish initializing (ie. bne2 depends on libcrc32c) then it does so\nholding the module lock, and our request_module() can\u0027t make progress\nuntil that is released.\n\nWaiting inside resolve_symbol() without the lock isn\u0027t all that hard:\nwe just need to pass the -EBUSY up the call chain so we can sleep\nwhere we don\u0027t hold the lock.  Error reporting is a bit trickier: we\nneed to copy the name of the unfinished module before releasing the\nlock.\n\nOther notes:\n1) This also fixes a theoretical issue where a weak dependency would allow\n   symbol version mismatches to be ignored.\n2) We rename use_module to ref_module to make life easier for the only\n   external user (the out-of-tree ksplice patches).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Tim Abbot \u003ctabbott@ksplice.com\u003e\nTested-by: Brandon Philips \u003cbphilips@suse.de\u003e\n"
    },
    {
      "commit": "be593f4ce4eb1bd40e38fdc403371f149f6f12eb",
      "tree": "693aee53e2d87a8ae92b6276d2aef766e8154814",
      "parents": [
        "3bafeb6247042dcbb72b0141ec7c7107de9f0b99"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:37 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:37 2010 +0930"
      },
      "message": "module: verify_export_symbols under the lock\n\nIt disabled preempt so it was \"safe\", but nothing stops another module\nslipping in before this module is added to the global list now we don\u0027t\nhold the lock the whole time.\n\nSo we check this just after we check for duplicate modules, and just\nbefore we put the module in the global list.\n\n(find_symbol finds symbols in coming and going modules, too).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3bafeb6247042dcbb72b0141ec7c7107de9f0b99",
      "tree": "f9b8f2437455332cd64d94bedb0836ac0f2b6fd9",
      "parents": [
        "75676500f8298f0ee89db12db97294883c4b768e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 05 11:17:36 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:37 2010 +0930"
      },
      "message": "module: move find_module check to end\n\nI think Rusty may have made the lock a bit _too_ finegrained there, and\ndidn\u0027t add it to some places that needed it. It looks, for example, like\nPATCH 1/2 actually drops the lock in places where it\u0027s needed\n(\"find_module()\" is documented to need it, but now load_module() didn\u0027t\nhold it at all when it did the find_module()).\n\nRather than adding a new \"module_loading\" list, I think we should be able\nto just use the existing \"modules\" list, and just fix up the locking a\nbit.\n\nIn fact, maybe we could just move the \"look up existing module\" a bit\nlater - optimistically assuming that the module doesn\u0027t exist, and then\njust undoing the work if it turns out that we were wrong, just before\nadding ourselves to the list.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "75676500f8298f0ee89db12db97294883c4b768e",
      "tree": "fbd74f1b6bfd258fac980c6cc3d4fa9eafa47d51",
      "parents": [
        "6407ebb271fc34440b306f305e1efb7685eece26"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:36 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:36 2010 +0930"
      },
      "message": "module: make locking more fine-grained.\n\nKay Sievers \u003ckay.sievers@vrfy.org\u003e reports that we still have some\ncontention over module loading which is slowing boot.\n\nLinus also disliked a previous \"drop lock and regrab\" patch to fix the\nbne2 \"gave up waiting for init of module libcrc32c\" message.\n\nThis is more ambitious: we only grab the lock where we need it.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Brandon Philips \u003cbrandon@ifup.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6407ebb271fc34440b306f305e1efb7685eece26",
      "tree": "dd3fa7484bcaa4499138d2249dbed24f003fdf85",
      "parents": [
        "80a3d1bb410e000e176931a076cdf19a1e89a955"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:36 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:36 2010 +0930"
      },
      "message": "module: Make module sysfs functions private.\n\nThese were placed in the header in ef665c1a06 to get the various\nSYSFS/MODULE config combintations to compile.\n\nThat may have been necessary then, but it\u0027s not now.  These functions\nare all local to module.c.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "80a3d1bb410e000e176931a076cdf19a1e89a955",
      "tree": "6883bbc3b2032d9604374513ccfd496dd63e76ba",
      "parents": [
        "c8e21ced08b39ef8dfe7236fb2a923a95f645262"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:36 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:36 2010 +0930"
      },
      "message": "module: move sysfs exposure to end of load_module\n\nThis means a little extra work, but is more logical: we don\u0027t put\nanything in sysfs until we\u0027re about to put the module into the\nglobal list an parse its parameters.\n\nThis also gives us a logical place to put duplicate module detection\nin the next patch.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c8e21ced08b39ef8dfe7236fb2a923a95f645262",
      "tree": "da34400daf3049814b459b9c8ba507d90abfe2bc",
      "parents": [
        "2c02dfe7fe3fba97a5665d329d039d2415ea5607"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:35 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:36 2010 +0930"
      },
      "message": "module: fix kdb\u0027s illicit use of struct module_use.\n\nLinus changed the structure, and luckily this didn\u0027t compile any more.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Martin Hicks \u003cmort@sgi.com\u003e\n"
    },
    {
      "commit": "2c02dfe7fe3fba97a5665d329d039d2415ea5607",
      "tree": "7f50644bbfcc119cb85e21642a76eabfaf77b8ad",
      "parents": [
        "ad8456361fa19068cf49b50a4f98e41b73c08e76"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 31 12:19:37 2010 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jun 05 11:17:35 2010 +0930"
      },
      "message": "module: Make the \u0027usage\u0027 lists be two-way\n\nWhen adding a module that depends on another one, we used to create a\none-way list of \"modules_which_use_me\", so that module unloading could\nsee who needs a module.\n\nIt\u0027s actually quite simple to make that list go both ways: so that we\nnot only can see \"who uses me\", but also see a list of modules that are\n\"used by me\".\n\nIn fact, we always wanted that list in \"module_unload_free()\": when we\nunload a module, we want to also release all the other modules that are\nused by that module.  But because we didn\u0027t have that list, we used to\nfirst iterate over all modules, and then iterate over each \"used by me\"\nlist of that module.\n\nBy making the list two-way, we simplify module_unload_free(), and it\nallows for some trivial fixes later too.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (cleaned \u0026 rebased)\n"
    },
    {
      "commit": "d2dd328b7f7bc6cebe167648289337755944ad2a",
      "tree": "5d664a2db1ac209f7537452ddc02597972f7aa37",
      "parents": [
        "c1518f12bab97a6d409a25aaccb02dc8895800f3",
        "1abec4fdbb142e3ccb6ce99832fae42129134a96"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 04 15:37:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 04 15:37:44 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (27 commits)\n  block: make blk_init_free_list and elevator_init idempotent\n  block: avoid unconditionally freeing previously allocated request_queue\n  pipe: change /proc/sys/fs/pipe-max-pages to byte sized interface\n  pipe: change the privilege required for growing a pipe beyond system max\n  pipe: adjust minimum pipe size to 1 page\n  block: disable preemption before using sched_clock()\n  cciss: call BUG() earlier\n  Preparing 8.3.8rc2\n  drbd: Reduce verbosity\n  drbd: use drbd specific ratelimit instead of global printk_ratelimit\n  drbd: fix hang on local read errors while disconnected\n  drbd: Removed the now empty w_io_error() function\n  drbd: removed duplicated #includes\n  drbd: improve usage of MSG_MORE\n  drbd: need to set socket bufsize early to take effect\n  drbd: improve network latency, TCP_QUICKACK\n  drbd: Revert \"drbd: Create new current UUID as late as possible\"\n  brd: support discard\n  Revert \"writeback: fix WB_SYNC_NONE writeback from umount\"\n  Revert \"writeback: ensure that WB_SYNC_NONE writeback with sb pinned is sync\"\n  ...\n"
    },
    {
      "commit": "9e506f7adce8e6165a104d3d78fddd8ff0cdccf8",
      "tree": "9ddfd67eec7e8a7dc73fb0ced97cc06e54a35c63",
      "parents": [
        "94b3dd0f7bb393d93e84a173b1df9b8b64c83ac4"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Jun 04 14:15:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 04 15:21:45 2010 -0700"
      },
      "message": "kernel/: fix BUG_ON checks for cpu notifier callbacks direct call\n\nThe commit 80b5184cc537718122e036afe7e62d202b70d077 (\"kernel/: convert cpu\nnotifier to return encapsulate errno value\") changed the return value of\ncpu notifier callbacks.\n\nThose callbacks don\u0027t return NOTIFY_BAD on failures anymore.  But there\nare a few callbacks which are called directly at init time and checking\nthe return value.\n\nI forgot to change BUG_ON checking by the direct callers in the commit.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94b3dd0f7bb393d93e84a173b1df9b8b64c83ac4",
      "tree": "11f49a1614e8321a6b4335f7a5022a487838397d",
      "parents": [
        "007d08678eb87478b65b3f229960c81dd7c7b8f3"
      ],
      "author": {
        "name": "Greg Thelen",
        "email": "gthelen@google.com",
        "time": "Fri Jun 04 14:15:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 04 15:21:45 2010 -0700"
      },
      "message": "cgroups: alloc_css_id() increments hierarchy depth\n\nChild groups should have a greater depth than their parents.  Prior to\nthis change, the parent would incorrectly report zero memory usage for\nchild cgroups when use_hierarchy is enabled.\n\ntest script:\n  mount -t cgroup none /cgroups -o memory\n  cd /cgroups\n  mkdir cg1\n\n  echo 1 \u003e cg1/memory.use_hierarchy\n  mkdir cg1/cg11\n\n  echo $$ \u003e cg1/cg11/tasks\n  dd if\u003d/dev/zero of\u003d/tmp/foo bs\u003d1M count\u003d1\n\n  echo\n  echo CHILD\n  grep cache cg1/cg11/memory.stat\n\n  echo\n  echo PARENT\n  grep cache cg1/memory.stat\n\n  echo $$ \u003e tasks\n  rmdir cg1/cg11 cg1\n  cd /\n  umount /cgroups\n\nUsing fae9c79, a recent patch that changed alloc_css_id() depth computation,\nthe parent incorrectly reports zero usage:\n  root@ubuntu:~# ./test\n  1+0 records in\n  1+0 records out\n  1048576 bytes (1.0 MB) copied, 0.0151844 s, 69.1 MB/s\n\n  CHILD\n  cache 1048576\n  total_cache 1048576\n\n  PARENT\n  cache 0\n  total_cache 0\n\nWith this patch, the parent correctly includes child usage:\n  root@ubuntu:~# ./test\n  1+0 records in\n  1+0 records out\n  1048576 bytes (1.0 MB) copied, 0.0136827 s, 76.6 MB/s\n\n  CHILD\n  cache 1052672\n  total_cache 1052672\n\n  PARENT\n  cache 0\n  total_cache 1052672\n\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.34.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "485d527686850d68a0e9006dd9904f19f122485e",
      "tree": "8400c646135bb4ce68f137004298e1be7fdbd913",
      "parents": [
        "d6d03f9158516b50d0d343158e3f33bcff1e4ca5"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 04 14:14:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 04 15:21:45 2010 -0700"
      },
      "message": "sys_personality: change sys_personality() to accept \"unsigned int\" instead of u_long\n\ntask_struct-\u003epesonality is \"unsigned int\", but sys_personality() paths use\n\"unsigned long pesonality\".  This means that every assignment or\ncomparison is not right.  In particular, if this argument does not fit\ninto \"unsigned int\" __set_personality() changes the caller\u0027s personality\nand then sys_personality() returns -EINVAL.\n\nTurn this argument into \"unsigned int\" and avoid overflows.  Obviously,\nthis is the user-visible change, we just ignore the upper bits.  But this\ncan\u0027t break the sane application.\n\nThere is another thing which can confuse the poorly written applications.\nUser-space thinks that this syscall returns int, not long.  This means\nthat the returned value can be negative and look like the error code.  But\nnote that libc won\u0027t be confused and thus errno won\u0027t be set, and with\nthis patch the user-space can never get -1 unless sys_personality() really\nfails.  And, most importantly, the negative RET !\u003d -1 is only possible if\nthat app previously called personality(RET).\n\nPointed-out-by: Wenming Zhang \u003cwezhang@redhat.com\u003e\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39d112100e561686ab1e2b19c57984163ad6c1fa",
      "tree": "19b3cd50345306de6f95b58b4a35e8f725786b9b",
      "parents": [
        "167b7129042a4b4c09bb4ede5482ff79340a3999",
        "02f726949f2be0967aa4871dd4e47d3967779b26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 03 15:47:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 03 15:47:51 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched, trace: Fix sched_switch() prev_state argument\n  sched: Fix wake_affine() vs RT tasks\n  sched: Make sure timers have migrated before killing the migration_thread\n"
    },
    {
      "commit": "f150dba6d4a1e275b62ca76572c2786c71b91e85",
      "tree": "1fb8ed0a64f69431e8a3304a1b346a19979028b9",
      "parents": [
        "636667a545b2d16797f27002a65d688c195c9b60",
        "c6df8d5ab87a246942d138321e1721edbb69f6e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 03 15:45:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 03 15:45:26 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Fix crash in swevents\n  perf buildid-list: Fix --with-hits event processing\n  perf scripts python: Give field dict to unhandled callback\n  perf hist: fix objdump output parsing\n  perf-record: Check correct pid when forking\n  perf: Do the comm inheritance per thread in event__process_task\n  perf: Use event__process_task from perf sched\n  perf: Process comm events by tid\n  blktrace: Fix new kernel-doc warnings\n  perf_events: Fix unincremented buffer base on partial copy\n  perf_events: Fix event scheduling issues introduced by transactional API\n  perf_events, trace: Fix perf_trace_destroy(), mutex went missing\n  perf_events, trace: Fix probe unregister race\n  perf_events: Fix races in group composition\n  perf_events: Fix races and clean up perf_event and perf_mmap_data interaction\n"
    },
    {
      "commit": "c6df8d5ab87a246942d138321e1721edbb69f6e1",
      "tree": "4fa2965d148c3e7ea456ab889d278d5c16d25d17",
      "parents": [
        "da3fd1a0010ccc9fe6fd5ae2b9e85e1aacc03e4d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 03 11:21:20 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 03 17:03:08 2010 +0200"
      },
      "message": "perf: Fix crash in swevents\n\nFrederic reported that because swevents handling doesn\u0027t disable IRQs\nanymore, we can get a recursion of perf_adjust_period(), once from\noverflow handling and once from the tick.\n\nIf both call -\u003edisable, we get a double hlist_del_rcu() and trigger\na LIST_POISON2 dereference.\n\nSince we don\u0027t actually need to stop/start a swevent to re-programm\nthe hardware (lack of hardware to program), simply nop out these\ncallbacks for the swevent pmu.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1275557609.27810.35218.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff9da691c0498ff81fdd014e7a0731dab2337dac",
      "tree": "429dc9ea36c9927954ed3a32f03d28730e693c8b",
      "parents": [
        "419f8367ea37e5adc5d95479e8fd5554b92b49fe"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 03 14:54:39 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 03 14:54:39 2010 +0200"
      },
      "message": "pipe: change /proc/sys/fs/pipe-max-pages to byte sized interface\n\nThis changes the interface to be based on bytes instead. The API\nmatches that of F_SETPIPE_SZ in that it rounds up the passed in\nsize so that the resulting page array is a power-of-2 in size.\n\nThe proc file is renamed to /proc/sys/fs/pipe-max-size to\nreflect this change.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5c113fbeed7a5a192d8431a768965f8a45c16475",
      "tree": "af33ad559690221cc1b015c50ff804fd51c5da2b",
      "parents": [
        "1f73897861b8ef0be64ff4b801f8d6f830f683b5"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Tue Jun 01 12:15:11 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 01 09:22:50 2010 -0700"
      },
      "message": "fix cpu_chain section mismatch...\n\nIn commit e9fb7631ebcd (\"cpu-hotplug: introduce cpu_notify(),\n__cpu_notify(), cpu_notify_nofail()\") the new helper functions access\ncpu_chain.  As a result, it shouldn\u0027t be marked __cpuinitdata (via\nsection mismatch warning).\n\nAlternatively, the helper functions should be forced inline, or marked\n__ref or __cpuinit.  In the meantime, this patch silences the warning\nthe trivial way.\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f73897861b8ef0be64ff4b801f8d6f830f683b5",
      "tree": "b4bae8f12e1422113910d8cb00a19d010dc4a52f",
      "parents": [
        "b904d7131d116900524bd36ec170dcd97846bfd3",
        "64ffc9ff424c65adcffe7d590018cc75e2d5d42a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 01 08:55:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 01 08:55:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-35\u0027 of git://repo.or.cz/linux-kbuild\n\n* \u0027for-35\u0027 of git://repo.or.cz/linux-kbuild: (81 commits)\n  kbuild: Revert part of e8d400a to resolve a conflict\n  kbuild: Fix checking of scm-identifier variable\n  gconfig: add support to show hidden options that have prompts\n  menuconfig: add support to show hidden options which have prompts\n  gconfig: remove show_debug option\n  gconfig: remove dbg_print_ptype() and dbg_print_stype()\n  kconfig: fix zconfdump()\n  kconfig: some small fixes\n  add random binaries to .gitignore\n  kbuild: Include gen_initramfs_list.sh and the file list in the .d file\n  kconfig: recalc symbol value before showing search results\n  .gitignore: ignore *.lzo files\n  headerdep: perlcritic warning\n  scripts/Makefile.lib: Align the output of LZO\n  kbuild: Generate modules.builtin in make modules_install\n  Revert \"kbuild: specify absolute paths for cscope\"\n  kbuild: Do not unnecessarily regenerate modules.builtin\n  headers_install: use local file handles\n  headers_check: fix perl warnings\n  export_report: fix perl warnings\n  ...\n"
    },
    {
      "commit": "e51fd5e22e12b39f49b1bb60b37b300b17378a43",
      "tree": "391500ff509dc30991db38e3d54eaccfe385d1cb",
      "parents": [
        "54e88fad223c4e1d94289611a90c7fe3ebe5631b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 31 12:37:30 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 01 09:27:16 2010 +0200"
      },
      "message": "sched: Fix wake_affine() vs RT tasks\n\nMike reports that since e9e9250b (sched: Scale down cpu_power due to RT\ntasks), wake_affine() goes funny on RT tasks due to them still having a\n!0 weight and wake_affine() still subtracts that from the rq weight.\n\nSince nobody should be using se-\u003eweight for RT tasks, set the value to\nzero. Also, since we now use -\u003ecpu_power to normalize rq weights to\naccount for RT cpu usage, add that factor into the imbalance computation.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1275316109.27810.22969.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "293a7cfeedc2b2380a7c7274902323c3cf5f7575",
      "tree": "00576870400cb640fe92ea3f525338e6e3733a2e",
      "parents": [
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 31 19:53:50 2010 +0930"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 31 11:21:32 2010 -0700"
      },
      "message": "module: fix reference to mod-\u003epercpu after freeing module.\n\nRafael sees a sometimes crash at precpu_modfree from kernel/module.c; it\nonly occurred with another (since-reverted) patch, but that patch simply\nchanged timing to uncover this bug, it was otherwise unrelated.\n\nThe comment about the mod being freed is self-explanatory, but neither\nTejun nor I read it.  This bug was introduced in 259354deaa, after it\nhad previously been fixed in 6e2b75740b.  How embarrassing.\n\nReported-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nEmbarrassingly-Acked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nTested-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "546cf44a1b507c1cbb5cf42bbe6169780567f36f",
      "tree": "ab0373b82198dcae5870fa2af1916102894069f1",
      "parents": [
        "74048f895fa8cbf8119b4999f1f44881a825f954"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat May 29 11:45:07 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 09:58:20 2010 +0200"
      },
      "message": "blktrace: Fix new kernel-doc warnings\n\nFix blktrace.c kernel-doc warnings:\n Warning(kernel/trace/blktrace.c:858): No description found for parameter \u0027ignore\u0027\n Warning(kernel/trace/blktrace.c:890): No description found for parameter \u0027ignore\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20100529114507.c466fc1e.randy.dunlap@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74048f895fa8cbf8119b4999f1f44881a825f954",
      "tree": "16c38467e68c730d459dd64cee7f749f1745c782",
      "parents": [
        "90151c35b19633e0cab5a6c80f1ba4a51e7c913b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 27 21:34:58 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:10 2010 +0200"
      },
      "message": "perf_events: Fix unincremented buffer base on partial copy\n\nIf a sample size crosses to the next page boundary, the copy\nwill be made in more than one step. However we forget to advance\nthe source offset for the next copy, leading to unexpected double\ncopies that completely mess up the traces.\n\nThis fixes various kinds of bad traces that have irrelevant\ndata inside, as an example:\n\n\tgeany-4979  [001]  5758.077775: sched_switch: prev_comm\u003d! prev_pid\u003d121\n\t\tprev_prio\u003d0 prev_state\u003dS|D|Z|X|x \u003d\u003d\u003e next_comm\u003d next_pid\u003d7497072\n\t\tnext_prio\u003d0\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1274988898-5639-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "90151c35b19633e0cab5a6c80f1ba4a51e7c913b",
      "tree": "448c86520eef5b9dc0f06c59a8a96abfd4096fab",
      "parents": [
        "2e97942fe57864588774f173cf4cd7bb68968b76"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue May 25 16:23:10 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:10 2010 +0200"
      },
      "message": "perf_events: Fix event scheduling issues introduced by transactional API\n\nThe transactional API patch between the generic and model-specific\ncode introduced several important bugs with event scheduling, at\nleast on X86. If you had pinned events, e.g., watchdog,  and were\nover-committing the PMU, you would get bogus counts. The bug was\nshowing up on Intel CPU because events would move around more\noften that on AMD. But the problem also existed on AMD, though\nharder to expose.\n\nThe issues were:\n\n - group_sched_in() was missing a cancel_txn() in the error path\n\n - cpuc-\u003en_added was not properly maintained, leading to missing\n   actions in hw_perf_enable(), i.e., n_running being 0. You cannot\n   update n_added until you know the transaction has succeeded. In\n   case of failed transaction n_added was not adjusted back.\n\n - in case of failed transactions, event_sched_out() was called\n   and eventually invoked x86_disable_event() to touch the HW reg.\n   But with transactions, on X86, event_sched_in() does not touch\n   HW registers, it simply collects events into a list. Thus, you\n   could end up calling x86_disable_event() on a counter which\n   did not correspond to the current event when idx !\u003d -1.\n\nThe patch modifies the generic and X86 code to avoid all those problems.\n\nFirst, we keep track of the number of events added last. In case the\ntransaction fails, we substract them from n_added. This approach is\nnecessary (as opposed to delaying updates to n_added) because not all\nevent updates use the transaction API, e.g., single events.\n\nSecond, we encapsulate the event_sched_in() and event_sched_out() in\ngroup_sched_in() inside the transaction. That makes the operations\nsymmetrical and you can also detect that you are inside a transaction\nand skip the HW reg access by checking cpuc-\u003egroup_flag.\n\nWith this patch, you can now overcommit the PMU even with pinned\nsystem-wide events present and still get valid counts.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1274796225.5882.1389.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e97942fe57864588774f173cf4cd7bb68968b76",
      "tree": "bf0eeda8c13a6e851ad755b7114ceaa82c51fd97",
      "parents": [
        "3771f0771154675d4a0ca780be2411f3cc357208"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 21 16:22:33 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:09 2010 +0200"
      },
      "message": "perf_events, trace: Fix perf_trace_destroy(), mutex went missing\n\nSteve spotted I forgot to do the destroy under event_mutex.\n\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1274451913.1674.1707.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3771f0771154675d4a0ca780be2411f3cc357208",
      "tree": "106512f307e2aa0a89f92c01598d5fa75903af47",
      "parents": [
        "8a49542c0554af7d0073aac0ee73ee65b807ef34"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 21 12:31:09 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:09 2010 +0200"
      },
      "message": "perf_events, trace: Fix probe unregister race\n\ntracepoint_probe_unregister() does not synchronize against the probe\ncallbacks, so do that explicitly. This properly serializes the callbacks\nand the free of the data used therein.\n\nAlso, use this_cpu_ptr() where possible.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1274438476.1674.1702.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8a49542c0554af7d0073aac0ee73ee65b807ef34",
      "tree": "73e82ee5a624012ac723c3af21bb1945b7bd675f",
      "parents": [
        "ac9721f3f54b27a16c7e1afb2481e7ee95a70318"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 27 15:47:49 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:09 2010 +0200"
      },
      "message": "perf_events: Fix races in group composition\n\nGroup siblings don\u0027t pin each-other or the parent, so when we destroy\nevents we must make sure to clean up all cross referencing pointers.\n\nIn particular, for destruction of a group leader we must be able to\nfind all its siblings and remove their reference to it.\n\nThis means that detaching an event from its context must not detach it\nfrom the group, otherwise we can end up failing to clear all pointers.\n\nSolve this by clearly separating the attachment to a context and\nattachment to a group, and keep the group composed until we destroy\nthe events.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac9721f3f54b27a16c7e1afb2481e7ee95a70318",
      "tree": "a9f21d60c7c4c1910696553a6f8273edcca03c64",
      "parents": [
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 27 12:54:41 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:08 2010 +0200"
      },
      "message": "perf_events: Fix races and clean up perf_event and perf_mmap_data interaction\n\nIn order to move toward separate buffer objects, rework the whole\nperf_mmap_data construct to be a more self-sufficient entity, one\nwith its own lifetime rules.\n\nThis greatly sanitizes the whole output redirection code, which\nwas riddled with bugs and races.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54e88fad223c4e1d94289611a90c7fe3ebe5631b",
      "tree": "c9c9f27bf4e1e9851ee75145960607f194b3313b",
      "parents": [
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "Amit K. Arora",
        "email": "aarora@linux.vnet.ibm.com",
        "time": "Tue May 25 18:53:46 2010 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:37:44 2010 +0200"
      },
      "message": "sched: Make sure timers have migrated before killing the migration_thread\n\nProblem: In a stress test where some heavy tests were running along with\nregular CPU offlining and onlining, a hang was observed. The system seems\nto be hung at a point where migration_call() tries to kill the\nmigration_thread of the dying CPU, which just got moved to the current\nCPU. This migration thread does not get a chance to run (and die) since\nrt_throttled is set to 1 on current, and it doesn\u0027t get cleared as the\nhrtimer which is supposed to reset the rt bandwidth\n(sched_rt_period_timer) is tied to the CPU which we just marked dead!\n\nSolution: This patch pushes the killing of migration thread to\n\"CPU_POST_DEAD\" event. By then all the timers (including\nsched_rt_period_timer) should have got migrated (along with other\ncallbacks).\n\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c20100525132346.GA14986@amitarora.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa7eadab4b4aec0139d2429e6f8d13375ff8a658",
      "tree": "91b4ef421d415b782ff54cc89296268903fc9552",
      "parents": [
        "bc7d352c5e76c74c628a39b99777a1bdddde5e81",
        "fd6be105b883244127a734ac9f14ae94a022dcc0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 12:35:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 12:35:15 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  mutex: Fix optimistic spinning vs. BKL\n"
    },
    {
      "commit": "bc7d352c5e76c74c628a39b99777a1bdddde5e81",
      "tree": "3cc0a80defb54d284e2a9a1e69b1224064921775",
      "parents": [
        "b3f2f6cd1ff935ecac9a5346904b899d7af689fe",
        "92af1abde4f2d74c9e5f7b670a1971779ed0b051"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 12:35:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 12:35:01 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tui: Fix last use_browser problem related to .perfconfig\n  perf symbols: Add the build id cache to the vmlinux path\n  perf tui: Reset use_browser if stdout is not a tty\n  ring-buffer: Move zeroing out excess in page to ring buffer code\n  ring-buffer: Reset \"real_end\" when page is filled\n"
    },
    {
      "commit": "e9a5f426b85e429bffaee4e0b086b1e742a39fa6",
      "tree": "65ba763309c5d771c1f179af5b36fce996742b1c",
      "parents": [
        "97ef6f7449da6ceddf9a90fa8851f607b67283dd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu May 27 22:16:22 2010 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:06:00 2010 -0700"
      },
      "message": "CPU: Avoid using unititialized error variable in disable_nonboot_cpus()\n\nIf there\u0027s only one CPU online when disable_nonboot_cpus() is called,\nthe error variable will not be initialized and that may lead to\nerroneous behavior.  Fix this issue by initializing error in\ndisable_nonboot_cpus() as appropriate.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35926ff5fba8245bd1c6ac04155048f6f89232b1",
      "tree": "9afc520f47e29cb3cd80462fe62858f17b1c6cfb",
      "parents": [
        "b612a0553714c6b9744ad0d03f10cac78f3a84b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:00:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:00:03 2010 -0700"
      },
      "message": "Revert \"cpusets: randomize node rotor used in cpuset_mem_spread_node()\"\n\nThis reverts commit 0ac0c0d0f837c499afd02a802f9cf52d3027fa3b, which\ncaused cross-architecture build problems for all the wrong reasons.\nIA64 already added its own version of __node_random(), but the fact is,\nthere is nothing architectural about the function, and the original\ncommit was just badly done. Revert it, since no fix is forthcoming.\n\nRequested-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b612a0553714c6b9744ad0d03f10cac78f3a84b1",
      "tree": "9dfb5cb5d13c187ff1f54448f8441512203625d0",
      "parents": [
        "52b0ace7dfe8f70350218017a95d7cab1eb41fbb",
        "2a8e5e3637e2fc058798f5d3626f525729ffaaaf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 08:56:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 08:56:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: clean up on forwarded aborted mds request\n  ceph: fix leak of osd authorizer\n  ceph: close out mds, osd connections before stopping auth\n  ceph: make lease code DN specific\n  fs/ceph: Use ERR_CAST\n  ceph: renew auth tickets before they expire\n  ceph: do not resend mon requests on auth ticket renewal\n  ceph: removed duplicated #includes\n  ceph: avoid possible null dereference\n  ceph: make mds requests killable, not interruptible\n  sched: add wait_for_completion_killable_timeout\n"
    },
    {
      "commit": "0aa12fb439838a85802ab8b7fbb9bcfc3e6e05cb",
      "tree": "c944cf9abba9a6afb3d1259140c73101d0e222a0",
      "parents": [
        "240ed68eb567d80dd6bab739341999a5ab0ad55d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:30 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:30 2010 -0700"
      },
      "message": "sched: add wait_for_completion_killable_timeout\n\nAdd missing _killable_timeout variant for wait_for_completion that will\nreturn when a timeout expires or the task is killed.\n\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "29d03fa12bc02c0f8085cd6bb06d11359a4bccaf",
      "tree": "0810a1b2bad0f853b270afed55eddc595ae8d2fc",
      "parents": [
        "89ad6a6173127e5d31bea7a4a45ec23fa5bf4a17",
        "45e0fffc8a7778282e6a1514a6ae3e7ae6545111"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:16:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:16:27 2010 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  posix_timer: Fix error path in timer_create\n  hrtimer: Avoid double seqlock\n  timers: Move local variable into else section\n  timers: Fix slack calculation really\n"
    },
    {
      "commit": "ea635c64e007061f6468ece5cc9cc62d41d4ecf2",
      "tree": "eaa7123e7749893e8f542d12cba616664bc2c848",
      "parents": [
        "d7065da038227a4d09a244e6014e0186a6bd21d0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 26 17:40:29 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:03:08 2010 -0400"
      },
      "message": "Fix racy use of anon_inode_getfd() in perf_event.c\n\nonce anon_inode_getfd() is called, you can\u0027t expect *anything* about\nstruct file that descriptor points to - another thread might be doing\nwhatever it likes with descriptor table at that point.\n\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c5617b200ac52e35f7e8cf05a17b0a2d50f6b3e9",
      "tree": "40d5e99660c77c5791392d349a93113c044dbf14",
      "parents": [
        "cad719d86e9dbd06634eaba6401e022c8101d6b2",
        "49c177461bfbedeccbab22bf3905db2f9da7f1c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 15:23:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 15:23:47 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (61 commits)\n  tracing: Add __used annotation to event variable\n  perf, trace: Fix !x86 build bug\n  perf report: Support multiple events on the TUI\n  perf annotate: Fix up usage of the build id cache\n  x86/mmiotrace: Remove redundant instruction prefix checks\n  perf annotate: Add TUI interface\n  perf tui: Remove annotate from popup menu after failure\n  perf report: Don\u0027t start the TUI if -D is used\n  perf: Fix getline undeclared\n  perf: Optimize perf_tp_event_match()\n  perf: Remove more code from the fastpath\n  perf: Optimize the !vmalloc backed buffer\n  perf: Optimize perf_output_copy()\n  perf: Fix wakeup storm for RO mmap()s\n  perf-record: Share per-cpu buffers\n  perf-record: Remove -M\n  perf: Ensure that IOC_OUTPUT isn\u0027t used to create multi-writer buffers\n  perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events\n  perf, trace: Optimize tracepoints by removing IRQ-disable from perf/tracepoint interaction\n  perf tui: Allow disabling the TUI on a per command basis in ~/.perfconfig\n  ...\n"
    },
    {
      "commit": "45e0fffc8a7778282e6a1514a6ae3e7ae6545111",
      "tree": "0a1022d1af7372169ca2b5b269b548997e2bdd83",
      "parents": [
        "174bd1994ec67a6e6191c4ed8e5dac17fa221b84"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Mon May 24 12:15:33 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 27 22:38:15 2010 +0200"
      },
      "message": "posix_timer: Fix error path in timer_create\n\nMove CLOCK_DISPATCH(which_clock, timer_create, (new_timer)) after all\nposible EFAULT erros.\n\n*_timer_create may allocate/get resources.\n(for example posix_cpu_timer_create does get_task_struct)\n\n[ tglx: fold the remove crappy comment patch into this ]\n\nSigned-off-by: Andrey Vagin \u003cavagin@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \u003cstable@kernel.org\u003e\nReviewed-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "00b9b0af5887fed54e899e3b7f5c2ccf5e739def",
      "tree": "088cd96759cf4c1b2365c0e434dc95a8410b547c",
      "parents": [
        "e2e2400bd4faee24d11872134b7ae5bd363749c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:32:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:32:08 2010 -0700"
      },
      "message": "Avoid warning when CPU hotplug isn\u0027t enabled\n\nCommit e9fb7631ebcd (\"cpu-hotplug: introduce cpu_notify(),\n__cpu_notify(), cpu_notify_nofail()\") also introduced this annoying\nwarning:\n\n  kernel/cpu.c:157: warning: \u0027cpu_notify_nofail\u0027 defined but not used\n\nwhen CONFIG_HOTPLUG_CPU wasn\u0027t set.\n\nSo move that helper inside the #ifdef CONFIG_HOTPLUG_CPU region, and\nsimplify it while at it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3dd6b5fb436083fdd8af7ad2baa07db19deb73b2",
      "tree": "9c97bccad863663e36224e96b00f00b5a7dbaea6",
      "parents": [
        "7d6e6d09de82cf6cff7fecdba55198b9f47b381c"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Wed May 26 14:45:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:57 2010 -0700"
      },
      "message": "numa: in-kernel profiling: use cpu_to_mem() for per cpu allocations\n\nIn kernel profiling requires that we be able to allocate \"local\" memory\nfor each cpu.  Use \"cpu_to_mem()\" instead of \"cpu_to_node()\" to support\nmemoryless nodes.\n\nDepends on the \"numa_mem_id()\" patch.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b530fc18324602e1ecb70cd280c2194b2656a5e",
      "tree": "d96b7b408818606ebdc41c1895c8eb4ed03db37a",
      "parents": [
        "cccad8f9f0f1be585c9dc534857ca9c67e538836"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed May 26 14:44:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:53 2010 -0700"
      },
      "message": "panic: call console_verbose() in panic\n\nMost distros turn the console verbosity down and that means a backtrace\nafter a panic never makes it to the console.  I assume we haven\u0027t seen\nthis because a panic is often preceeded by an oops which will have called\nconsole_verbose.  There are however a lot of places we call panic\ndirectly, and they are broken.\n\nUse console_verbose like we do in the oops path to ensure a directly\ncalled panic will print a backtrace.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\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": "f106eee10038c2ee5b6056aaf3f6d5229be6dcdd",
      "tree": "de7ce930b7119a1be00f3c7604065896d31abc9c",
      "parents": [
        "f20011457f41c11edb5ea5038ad0c8ea9f392023"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:44:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:52 2010 -0700"
      },
      "message": "pids: fix fork_idle() to setup -\u003epids correctly\n\ncopy_process(pid \u003d\u003e \u0026init_struct_pid) doesn\u0027t do attach_pid/etc.\n\nIt shouldn\u0027t, but this means that the idle threads run with the wrong\npids copied from the caller\u0027s task_struct. In x86 case the caller is\neither kernel_init() thread or keventd.\n\nIn particular, this means that after the series of cpu_up/cpu_down an\nidle thread (which never exits) can run with .pid pointing to nowhere.\n\nChange fork_idle() to initialize idle-\u003epids[] correctly. We only set\n.pid \u003d \u0026init_struct_pid but do not add .node to list, INIT_TASK() does\nthe same for the boot-cpu idle thread (swapper).\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Mathias Krause \u003cMathias.Krause@secunet.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.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": "72680a191b934377430032f93af15ef50aafb3a8",
      "tree": "e6f41babe66bf642204b3d92e793f5071739b1d2",
      "parents": [
        "bd4fb654e3a0d83ca8cb138c5e3e6e65407e119c"
      ],
      "author": {
        "name": "Hedi Berriche",
        "email": "hedi@sgi.com",
        "time": "Wed May 26 14:44:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:51 2010 -0700"
      },
      "message": "pids: increase pid_max based on num_possible_cpus\n\nOn a system with a substantial number of processors, the early default\npid_max of 32k will not be enough.  A system with 1664 CPU\u0027s, there are\n25163 processes started before the login prompt.  It\u0027s estimated that with\n2048 CPU\u0027s we will pass the 32k limit.  With 4096, we\u0027ll reach that limit\nvery early during the boot cycle, and processes would stall waiting for an\navailable pid.\n\nThis patch increases the early maximum number of pids available, and\nincreases the minimum number of pids that can be set during runtime.\n\n[akpm@linux-foundation.org: fix warnings]\nSigned-off-by: Hedi Berriche \u003chedi@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: John Stoffel \u003cjohn@stoffel.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79a6cdeb7eb54e3d2d4bb9fc5f0231b057882a87",
      "tree": "2a80342946cf206002ce5dcf32f097320f64fdd1",
      "parents": [
        "c9d221f86e43d9fb16260fe18a8cd6767f36c8a5"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed May 26 14:43:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:48 2010 -0700"
      },
      "message": "cpuhotplug: do not need cpu_hotplug_begin() when CONFIG_HOTPLUG_CPU\u003dn\n\nSince when CONFIG_HOTPLUG_CPU\u003dn, get_online_cpus() do nothing, so we don\u0027t\nneed cpu_hotplug_begin() either.\n\nThis patch moves cpu_hotplug_begin()/cpu_hotplug_done() into the code\nblock of CONFIG_HOTPLUG_CPU\u003dy.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80b5184cc537718122e036afe7e62d202b70d077",
      "tree": "d4e2b400f0e951156d64d546fd563fa5a8ab02d3",
      "parents": [
        "ad84bb5b98bf81deae97e3bcd814675d6b4e6f72"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed May 26 14:43:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:48 2010 -0700"
      },
      "message": "kernel/: convert cpu notifier to return encapsulate errno value\n\nBy the previous modification, the cpu notifier can return encapsulate\nerrno value.  This converts the cpu notifiers for kernel/*.c\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "e6bde73b07edeb703d4c89c1daabc09c303de11f"
}
