)]}'
{
  "log": [
    {
      "commit": "d46523ea32a79fbc8cd1237f9441f45cc3f02456",
      "tree": "0afe4590170ad25e38005f72431680ba47ba6860",
      "parents": [
        "18586e721636527cb5177467fb17e2350615978a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 25 16:28:39 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 15:40:00 2005 -0700"
      },
      "message": "[PATCH] fix MAX_USER_RT_PRIO and MAX_RT_PRIO\n\nHere\u0027s the patch again to fix the code to handle if the values between\nMAX_USER_RT_PRIO and MAX_RT_PRIO are different.\n\nWithout this patch, an SMP system will crash if the values are\ndifferent.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "18586e721636527cb5177467fb17e2350615978a",
      "tree": "96d34b10d000fa8b1df16ae8f4c73761013371b5",
      "parents": [
        "fc00a6274b786f6863b32c79ff6f92aa0960b789"
      ],
      "author": {
        "name": "Andreas Steinmetz",
        "email": "ast@domdv.de",
        "time": "Sat Jul 23 13:42:04 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 15:30:51 2005 -0700"
      },
      "message": "[PATCH] Fix RLIMIT_RTPRIO breakage\n\nRLIMIT_RTPRIO is supposed to grant non privileged users the right to use\nSCHED_FIFO/SCHED_RR scheduling policies with priorites bounded by the\nRLIMIT_RTPRIO value via sched_setscheduler(). This is usually used by\naudio users.\n\nUnfortunately this is broken in 2.6.13rc3 as you can see in the excerpt\nfrom sched_setscheduler below:\n\n        /*\n         * Allow unprivileged RT tasks to decrease priority:\n         */\n        if (!capable(CAP_SYS_NICE)) {\n                /* can\u0027t change policy */\n                if (policy !\u003d p-\u003epolicy)\n                        return -EPERM;\n\nAfter the above unconditional test which causes sched_setscheduler to\nfail with no regard to the RLIMIT_RTPRIO value the following check is made:\n\n               /* can\u0027t increase priority */\n                if (policy !\u003d SCHED_NORMAL \u0026\u0026\n                    param-\u003esched_priority \u003e p-\u003ert_priority \u0026\u0026\n                    param-\u003esched_priority \u003e\n                                p-\u003esignal-\u003erlim[RLIMIT_RTPRIO].rlim_cur)\n                        return -EPERM;\n\nThus I do believe that the RLIMIT_RTPRIO value must be taken into\naccount for the policy check, especially as the RLIMIT_RTPRIO limit is\nof no use without this change.\n\nThe attached patch fixes this problem.\n\nSigned-off-by: Andreas Steinmetz \u003cast@domdv.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fdde86ac50357b6a811e3574e47d189e81a21444",
      "tree": "b5e8d3d295da10b84ba6538359e20c5435b3085a",
      "parents": [
        "804ebf46d51653e736108074473d9493398f2df9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 12:01:17 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:44 2005 -0700"
      },
      "message": "[PATCH] swpsuspend: Have suspend to disk use factors of sys_reboot\n\nThe suspend to disk code was a poor copy of the code in\nsys_reboot now that we have kernel_power_off, kernel_restart\nand kernel_halt use them instead of poorly duplicating them inline.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2f048ea81df94f72dee0d42b3d9b941c03b8c9c5",
      "tree": "1a60d6cc74585629750030c26c05ca471ca39546",
      "parents": [
        "ff31977782a05504f2586ec9e3e5ab4b09a4c893"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 11:49:23 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:43 2005 -0700"
      },
      "message": "[PATCH] Call emergency_reboot from panic\n\nWe know the system is in trouble so there is no question if this\nis an emergecy :)\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff31977782a05504f2586ec9e3e5ab4b09a4c893",
      "tree": "3cf1d3ab1be8688a4de9bca44d8dac276f6038e2",
      "parents": [
        "62b3a04d75d2dc9480d5ad3b60f4258e548a6a83"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 11:47:32 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:43 2005 -0700"
      },
      "message": "[PATCH] Use kernel_power_off in sysrq-o\n\nWe already do all of the gymnastics to run from process context\nto call the power off code so call into the power off code cleanly.\n\nThis especially helps acpi as part of it\u0027s shutdown logic should\nrun acpi_shutdown called from device_shutdown which was not\nbeing called from here.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c9034735eccbf82608a4602c59aaf6053ea9416",
      "tree": "219e8cd4b5cfffeb261f42a2bd8e512be19cba40",
      "parents": [
        "abcd9e51f5b832439b119d530db1353c12fd4073"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 11:29:55 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:41 2005 -0700"
      },
      "message": "[PATCH] Add emergency_restart()\n\nWhen the kernel is working well and we want to restart cleanly\nkernel_restart is the function to use.   But in many instances\nthe kernel wants to reboot when thing are expected to be working\nvery badly such as from panic or a software watchdog handler.\n\nThis patch adds the function emergency_restart() so that\ncallers can be clear what semantics they expect when calling\nrestart.  emergency_restart() is expected to be callable\nfrom interrupt context and possibly reliable in even more\ntrying circumstances.\n\nThis is an initial generic implementation for all architectures.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "abcd9e51f5b832439b119d530db1353c12fd4073",
      "tree": "27ea8acee7a35021e399cafb80f4a4a57a1688e4",
      "parents": [
        "4a00ea1e18228e5ef99d4780671fda97226bda30"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 11:27:34 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:41 2005 -0700"
      },
      "message": "[PATCH] Make ctrl_alt_del call kernel_restart to get a proper reboot.\n\nIt is obvious we wanted to call kernel_restart here\nbut since we don\u0027t have it the code was expanded inline and hasn\u0027t\nbeen correct since sometime in 2.4.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4a00ea1e18228e5ef99d4780671fda97226bda30",
      "tree": "d77c793ef68df78b3c9a73eab16438732f875c3c",
      "parents": [
        "47f61f397cc08b5a9a815bd03cb10c48dab66034"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 11:24:14 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:41 2005 -0700"
      },
      "message": "[PATCH] Refactor sys_reboot into reusable parts\n\nBecause the factors of sys_reboot don\u0027t exist people calling\ninto the reboot path duplicate the code badly, leading to\ninconsistent expectations of code in the reboot path.\n\nThis patch should is just code motion.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "47f61f397cc08b5a9a815bd03cb10c48dab66034",
      "tree": "747b69851f018f80ae8f7dcf512cb8f6d43eae02",
      "parents": [
        "a6fa657b9d5c892c6a92912632c4b5715955b4f8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 26 11:21:38 2005 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 26 14:35:41 2005 -0700"
      },
      "message": "[PATCH] Add missing device_suspsend(PMSG_FREEZE) calls.\n\nIn the recent addition of device_suspend calls into\nsys_reboot two code paths were missed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0399cb08c54708db231d616f106f64d920e0b723",
      "tree": "f0424d43c578f7c5c1e7aa6ea6ca1c906c7ac289",
      "parents": [
        "153f805781d35c91ab2f54aa2b8930cc4cfc7e89"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Wed Jul 13 12:38:18 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 13 11:09:31 2005 -0700"
      },
      "message": "[PATCH] inotify: move sysctl\n\nThis moves the inotify sysctl knobs to \"/proc/sys/fs/inotify\" from\n\"/proc/sys/fs\".  Also some related cleanup.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0eeca28300df110bd6ed54b31193c83b87921443",
      "tree": "7db42d8a18d80eca538f5b7d25e0532b8fa38b85",
      "parents": [
        "bd4c625c061c2a38568d0add3478f59172455159"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Tue Jul 12 17:06:03 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:38:38 2005 -0700"
      },
      "message": "[PATCH] inotify\n\ninotify is intended to correct the deficiencies of dnotify, particularly\nits inability to scale and its terrible user interface:\n\n        * dnotify requires the opening of one fd per each directory\n          that you intend to watch. This quickly results in too many\n          open files and pins removable media, preventing unmount.\n        * dnotify is directory-based. You only learn about changes to\n          directories. Sure, a change to a file in a directory affects\n          the directory, but you are then forced to keep a cache of\n          stat structures.\n        * dnotify\u0027s interface to user-space is awful.  Signals?\n\ninotify provides a more usable, simple, powerful solution to file change\nnotification:\n\n        * inotify\u0027s interface is a system call that returns a fd, not SIGIO.\n\t  You get a single fd, which is select()-able.\n        * inotify has an event that says \"the filesystem that the item\n          you were watching is on was unmounted.\"\n        * inotify can watch directories or files.\n\nInotify is currently used by Beagle (a desktop search infrastructure),\nGamin (a FAM replacement), and other projects.\n\nSee Documentation/filesystems/inotify.txt.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3f603ed319d5120e883e64ac5967b2fc848fc43b",
      "tree": "52ef311c245e4e4cd623b546ea1daf05a5ea8911",
      "parents": [
        "55ee3b8365fd5d301b9076eea739146f2b91e82c",
        "5028770a42e7bc4d15791a44c28f0ad539323807"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 16:04:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 16:04:50 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-2.6\n"
    },
    {
      "commit": "3b6bfcdb116f2cc2cab921fcac6d39d4022952d2",
      "tree": "b9bdc0f85d16bac6de043883880c203627bab9c5",
      "parents": [
        "70d1d47c47c4643af357cb44d0d891c1b765f2ab"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jul 12 13:58:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 16:00:58 2005 -0700"
      },
      "message": "[PATCH] lower VM_DONTCOPY total_vm\n\ndup_mmap of a VM_DONTCOPY vma forgot to lower the child\u0027s total_vm.  (But\nno way does this account for the recent report of total_vm seen too low.)\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d53d9f16ea95a91ad4aa114809dcde486ca4000d",
      "tree": "f9cacb8d23e209653c6af2d30791ee93593ceda3",
      "parents": [
        "22a4427972af371fddb49c0184a93851ad51070d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Jul 12 13:58:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 16:00:58 2005 -0700"
      },
      "message": "[PATCH] name_to_dev_t warning fix\n\nkernel/power/disk.c needs a declaration of name_to_dev_t() in scope.  mount.h\nseems like an appropriate choice.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5028770a42e7bc4d15791a44c28f0ad539323807",
      "tree": "74800e35129775413c13ce7caf036ca19e3ce56c",
      "parents": [
        "9f02d6b7b43d46a74dd385f06090104ecd0fb807",
        "d8683a0cb5d09cb7f19feefa708424a84577e68f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jul 12 17:21:56 2005 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jul 12 17:21:56 2005 -0400"
      },
      "message": "[ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc...\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "5ae947ecc9c1c23834201e5321684a5cb68bdd3f",
      "tree": "2d6b2df724d5973eb9baeae70cf3742639404021",
      "parents": [
        "e2a5b420f716cd1a46674b1a90389612eced916f"
      ],
      "author": {
        "name": "David Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Fri Mar 18 16:27:13 2005 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Mon Jul 11 23:21:54 2005 -0400"
      },
      "message": "[ACPI] Suspend to RAM fix\n\nFree some RAM before entering S3 so that upon\nresume we can be sure early allocations will succeed.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d3469\n\nSigned-off-by: David Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "e2a5b420f716cd1a46674b1a90389612eced916f",
      "tree": "96f363f2e402d53428c046269514a82856b0cb34",
      "parents": [
        "be91492ca871e58f61b517cfba541095bb60001c"
      ],
      "author": {
        "name": "Alexey Starikovskiy",
        "email": "alexey.y.starikovskiy@intel.com",
        "time": "Fri Mar 18 16:20:46 2005 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Mon Jul 11 23:20:49 2005 -0400"
      },
      "message": "[ACPI] ACPI poweroff fix\n\nRegister an \"acpi\" system device to be notified of shutdown preparation.\nThis depends on CONFIG_PM\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d4041\n\nSigned-off-by: Alexey Starikovskiy \u003calexey.y.starikovskiy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "5bbcfd9000887c0da7d57cc7b3ac869fc0dd5aa9",
      "tree": "7047a60dc99e5484560b40027c81f92a4e291b29",
      "parents": [
        "a4014d8f61a6a136d22422cf8aa978e6495dbad9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 07 17:57:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:47 2005 -0700"
      },
      "message": "[PATCH] cond_resched(): fix bogus might_sleep() warning\n\nThe BKS might be reacquired before we have dropped PREEMPT_ACTIVE, which\ncould trigger a second could trigger a second cond_resched() call.  Bug\nfound by Hirofumi Ogawa.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6c036527a630720063b67d9a65455e8caca2c8fa",
      "tree": "316e947f5f4efcda0205e48044ed1d12665eaed1",
      "parents": [
        "0db925af1db5f3dfe1691c35b39496e2baaff9c9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jul 07 17:56:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:46 2005 -0700"
      },
      "message": "[PATCH] mostly_read data section\n\nAdd a new section called \".data.read_mostly\" for data items that are read\nfrequently and rarely written to like cpumaps etc.\n\nIf these maps are placed in the .data section then these frequenly read\nitems may end up in cachelines with data is is frequently updated.  In that\ncase all processors in an SMP system must needlessly reload the cachelines\nagain and again containing elements of those frequently used variables.\n\nThe ability to share these cachelines will allow each cpu in an SMP system\nto keep local copies of those shared cachelines thereby optimizing\nperformance.\n\nSigned-off-by: Alok N Kataria \u003calokk@calsoftinc.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Christoph Lameter \u003cchristoph@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1322ad41513f8f9196801f53cc0851df056f3478",
      "tree": "c7494232c8d2bb840368c664be256b93bf6696fa",
      "parents": [
        "47b724f3fe372a3d9acf0bb560fb5c93c9867880"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Thu Jul 07 17:56:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:43 2005 -0700"
      },
      "message": "[PATCH] pm: clean up process.c\n\nfreezeable() already tests for TRACED/STOPPED processes, no need to do it\ntwice.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "47b724f3fe372a3d9acf0bb560fb5c93c9867880",
      "tree": "bbb6cf40166e0be65cf5589a6b1d46e732df1f47",
      "parents": [
        "3efa147ad7608196639882ba4075b376f306fe16"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Thu Jul 07 17:56:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:43 2005 -0700"
      },
      "message": "[PATCH] swsusp: fix error handling\n\nFix error handling and whitespace in swsusp.c.  swsusp_free() was called when\nthere was nothing allocating, leading to oops.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3efa147ad7608196639882ba4075b376f306fe16",
      "tree": "edc1176c8af4ce97c3586382ebb7de68936f1bec",
      "parents": [
        "e00d9967e3addea86dded46deefc5daec5d52e5a"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Thu Jul 07 17:56:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:43 2005 -0700"
      },
      "message": "[PATCH] pm: Fix resume from initrd\n\nMove device name resolution code around so that it is not called from\nresume-from-initrd.  name_to_dev_t may be unavailable at that point.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6772926bef3c9f0ec761b39e5702535471fff70b",
      "tree": "b55f1b7af51e10c54781e24b5472236323d24ee5",
      "parents": [
        "4b1294f928d9396e45f62b1c306ac8bf9fae036b"
      ],
      "author": {
        "name": "Rusty Lynch",
        "email": "rusty.lynch@intel.com",
        "time": "Tue Jul 05 18:54:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 05 19:19:00 2005 -0700"
      },
      "message": "[PATCH] kprobes: fix namespace problem and sparc64 build\n\nThe following renames arch_init, a kprobes function for performing any\narchitecture specific initialization, to arch_init_kprobes in order to\ncleanup the namespace.\n\nAlso, this patch adds arch_init_kprobes to sparc64 to fix the sparc64 kprobes\nbuild from the last return probe patch.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "200803dfe4ff772740d63db725ab2f1b185ccf92",
      "tree": "f567852c984c947f792edb18fee273cfa363d374",
      "parents": [
        "21fe3471c3aaa5c489c5d3a4d705291eb7511248"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Jun 28 20:45:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 21:20:35 2005 -0700"
      },
      "message": "[PATCH] irqpoll\n\nAnyone reporting a stuck IRQ should try these options.  Its effectiveness\nvaries we\u0027ve found in the Fedora case.  Quite a few systems with misdescribed\nIRQ routing just work when you use irqpoll.  It also fixes up the VIA systems\nalthough thats now fixed with the VIA quirk (which we could just make default\nas its what Redmond OS does but Linus didn\u0027t like it historically).\n\nA small number of systems have jammed IRQ sources or misdescribes that cause\nan IRQ that we have no handler registered anywhere for.  In those cases it\ndoesn\u0027t help.\n\nSigned-off-by: Alan Cox \u003cnumber6@the-village.bc.nu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f01b1b0baa454825ed95c28d2a6a71bbf4510836",
      "tree": "6a7dda617cdb79933780b841429e67ec7c908d52",
      "parents": [
        "b36bbb6c3d5244eaf52241ec69f79494137f2db0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Jun 28 20:44:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 21:20:30 2005 -0700"
      },
      "message": "[PATCH] ITIMER_REAL: fix possible deadlock and race\n\nAs Steven Rostedt pointed out, there are 2 problems with ITIMER_REAL\ntimers.\n\n1. do_setitimer() does not call del_timer_sync() in case\n   when the timer is not pending (it_real_value() returns 0).\n   This is wrong, the timer may still be running, and it can\n   rearm itself.\n\n2. It calls del_timer_sync() with tsk-\u003esighand-\u003esiglock held.\n   This is deadlockable, because timer\u0027s handler needs this\n   lock too.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "47f176fdaf8924bc83fddcf9658f2fd3ef60d573",
      "tree": "ae54af35889451bf7873595180365182bd704ff1",
      "parents": [
        "8d451687ca57371d303c5554b377d7f5c2ac6ae0"
      ],
      "author": {
        "name": "Luca Falavigna",
        "email": "dktrkranz@gmail.com",
        "time": "Tue Jun 28 20:44:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 21:20:29 2005 -0700"
      },
      "message": "[PATCH] Using msleep() instead of HZ\n\nUse msleep() in a few places.\n\nSigned-off-by: Luca Falavigna \u003cdktrkranz@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f340c0d1a3f40fdcba69cd291530a4debc58748f",
      "tree": "22fca5983aff6ce2aa7d4ede0b031666dfe1f28d",
      "parents": [
        "082cf69eb82681f4eacb3a5653834c7970714bef"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 28 16:40:42 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 14:56:51 2005 -0700"
      },
      "message": "[PATCH] Tweak idle thread setup semantics\n\nThis patch tweaks idle thread setup semantics a bit: instead of setting\nNEED_RESCHED in init_idle(), we do an explicit schedule() before calling\ninto cpu_idle().\n\nThis patch, while having no negative side-effects, enables wider use of\ncond_resched()s.  (which might happen in the stock kernel too, but it\u0027s\nparticulary important for voluntary-preempt)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "314b6a4d80a7a5217c86ffdca926b6f406da0e0e",
      "tree": "f2a1b6a94511fb449ff35c7a3f6b1dc0f548335e",
      "parents": [
        "97afa0a25afb43a82954662773a9d48d61b2996a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jun 27 22:29:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 14:53:40 2005 -0700"
      },
      "message": "[PATCH] kexec: fix sparse warnings\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "802eae7c800fb7f583e6c06afa363585af2bef00",
      "tree": "fa30469a4dc1f1a20abdf9466ec3c68bddef6ac9",
      "parents": [
        "9ec4b1f356b3bad928ae8e2aa9caebfa737d52df"
      ],
      "author": {
        "name": "Rusty Lynch",
        "email": "rusty.lynch@intel.com",
        "time": "Mon Jun 27 15:17:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 15:23:52 2005 -0700"
      },
      "message": "[PATCH] Return probe redesign: architecture independent changes\n\nThe following is the second version of the function return probe patches\nI sent out earlier this week.  Changes since my last submission include:\n\n* Fix in ppc64 code removing an unneeded call to re-enable preemption\n* Fix a build problem in ia64 when kprobes was turned off\n* Added another BUG_ON check to each of the architecture trampoline\n  handlers\n\nMy initial patch description \u003d\u003d\u003e\n\n From my experiences with adding return probes to x86_64 and ia64, and the\nfeedback on LKML to those patches, I think we can simplify the design\nfor return probes.\n\nThe following patch tweaks the original design such that:\n\n* Instead of storing the stack address in the return probe instance, the\n  task pointer is stored.  This gives us all we need in order to:\n    - find the correct return probe instance when we enter the trampoline\n      (even if we are recursing)\n    - find all left-over return probe instances when the task is going away\n\n  This has the side effect of simplifying the implementation since more\n  work can be done in kernel/kprobes.c since architecture specific knowledge\n  of the stack layout is no longer required.  Specifically, we no longer have:\n\t- arch_get_kprobe_task()\n\t- arch_kprobe_flush_task()\n\t- get_rp_inst_tsk()\n\t- get_rp_inst()\n\t- trampoline_post_handler() \u003csee next bullet\u003e\n\n* Instead of splitting the return probe handling and cleanup logic across\n  the pre and post trampoline handlers, all the work is pushed into the\n  pre function (trampoline_probe_handler), and then we skip single stepping\n  the original function.  In this case the original instruction to be single\n  stepped was just a NOP, and we can do without the extra interruption.\n\nThe new flow of events to having a return probe handler execute when a target\nfunction exits is:\n\n* At system initialization time, a kprobe is inserted at the beginning of\n  kretprobe_trampoline.  kernel/kprobes.c use to handle this on it\u0027s own,\n  but ia64 needed to do this a little differently (i.e. a function pointer\n  is really a pointer to a structure containing the instruction pointer and\n  a global pointer), so I added the notion of arch_init(), so that\n  kernel/kprobes.c:init_kprobes() now allows architecture specific\n  initialization by calling arch_init() before exiting.  Each architecture\n  now registers a kprobe on it\u0027s own trampoline function.\n\n* register_kretprobe() will insert a kprobe at the beginning of the targeted\n  function with the kprobe pre_handler set to arch_prepare_kretprobe\n  (still no change)\n\n* When the target function is entered, the kprobe is fired, calling\n  arch_prepare_kretprobe (still no change)\n\n* In arch_prepare_kretprobe() we try to get a free instance and if one is\n  available then we fill out the instance with a pointer to the return probe,\n  the original return address, and a pointer to the task structure (instead\n  of the stack address.)  Just like before we change the return address\n  to the trampoline function and mark the instance as used.\n\n  If multiple return probes are registered for a given target function,\n  then arch_prepare_kretprobe() will get called multiple times for the same\n  task (since our kprobe implementation is able to handle multiple kprobes\n  at the same address.)  Past the first call to arch_prepare_kretprobe,\n  we end up with the original address stored in the return probe instance\n  pointing to our trampoline function. (This is a significant difference\n  from the original arch_prepare_kretprobe design.)\n\n* Target function executes like normal and then returns to kretprobe_trampoline.\n\n* kprobe inserted on the first instruction of kretprobe_trampoline is fired\n  and calls trampoline_probe_handler() (no change here)\n\n* trampoline_probe_handler() consumes each of the instances associated with\n  the current task by calling the registered handler function and marking\n  the instance as unused until an instance is found that has a return address\n  different then the trampoline function.\n\n  (change similar to my previous ia64 RFC)\n\n* If the task is killed with some left-over return probe instances (meaning\n  that a target function was entered, but never returned), then we just\n  free any instances associated with the task.  (Not much different other\n  then we can handle this without calling architecture specific functions.)\n\n  There is a known problem that this patch does not yet solve where\n  registering a return probe flush_old_exec or flush_thread will put us\n  in a bad state.  Most likely the best way to handle this is to not allow\n  registering return probes on these two functions.\n\n  (Significant change)\n\nThis patch series applies to the 2.6.12-rc6-mm1 kernel, and provides:\n  * kernel/kprobes.c changes\n  * i386 patch of existing return probes implementation\n  * x86_64 patch of existing return probe implementation\n  * ia64 implementation\n  * ppc64 implementation (provided by Ananth)\n\nThis patch implements the architecture independant changes for a reworking\nof the kprobes based function return probes design. Changes include:\n\n  * Removing functions for querying a return probe instance off a stack address\n  * Removing the stack_addr field from the kretprobe_instance definition,\n    and adding a task pointer\n  * Adding architecture specific initialization via arch_init()\n  * Removing extern definitions for the architecture trampoline functions\n    (this isn\u0027t needed anymore since the architecture handles the\n     initialization of the kprobe in the return probe trampoline function.)\n\nSigned-off-by: Rusty Lynch \u003crusty.lynch@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ec4b1f356b3bad928ae8e2aa9caebfa737d52df",
      "tree": "24d27ffed66595a9d864448ec53200ca1745f62c",
      "parents": [
        "d3b8a1a8496c83bc4a3cc76505c29255af15572c"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Mon Jun 27 15:17:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 15:23:52 2005 -0700"
      },
      "message": "[PATCH] kprobes: fix single-step out of line - take2\n\nNow that PPC64 has no-execute support, here is a second try to fix the\nsingle step out of line during kprobe execution.  Kprobes on x86_64 already\nsolved this problem by allocating an executable page and using it as the\nscratch area for stepping out of line.  Reuse that.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22e2c507c301c3dbbcf91b4948b88f78842ee6c9",
      "tree": "9a97c91d1362e69703aa286021daffb8a5456f4c",
      "parents": [
        "020f46a39eb7b99a575b9f4d105fce2b142acdf1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 27 10:55:12 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 14:33:29 2005 -0700"
      },
      "message": "[PATCH] Update cfq io scheduler to time sliced design\n\nThis updates the CFQ io scheduler to the new time sliced design (cfq\nv3).  It provides full process fairness, while giving excellent\naggregate system throughput even for many competing processes.  It\nsupports io priorities, either inherited from the cpu nice value or set\ndirectly with the ioprio_get/set syscalls.  The latter closely mimic\nset/getpriority.\n\nThis import is based on my latest from -mm.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2031d0f586839bc68f35bcf8580b18947f8491d4",
      "tree": "e317615b4cb62350edeea0afe0a4fc94152cee29",
      "parents": [
        "98e7f29418a4931f97e6b78d1ef3a47103fe6cd5",
        "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:16:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:16:53 2005 -0700"
      },
      "message": "Merge Christoph\u0027s freeze cleanup patch\n"
    },
    {
      "commit": "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73",
      "tree": "d1e7c1e2e8902072042aefc3a7976b271cf76021",
      "parents": [
        "b3e112bcc19abd8e9657dca34a87316786e096f3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Fri Jun 24 23:13:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:10:13 2005 -0700"
      },
      "message": "[PATCH] Cleanup patch for process freezing\n\n1. Establish a simple API for process freezing defined in linux/include/sched.h:\n\n   frozen(process)\t\tCheck for frozen process\n   freezing(process)\t\tCheck if a process is being frozen\n   freeze(process)\t\tTell a process to freeze (go to refrigerator)\n   thaw_process(process)\tRestart process\n   frozen_process(process)\tProcess is frozen now\n\n2. Remove all references to PF_FREEZE and PF_FROZEN from all\n   kernel sources except sched.h\n\n3. Fix numerous locations where try_to_freeze is manually done by a driver\n\n4. Remove the argument that is no longer necessary from two function calls.\n\n5. Some whitespace cleanup\n\n6. Clear potential race in refrigerator (provides an open window of PF_FREEZE\n   cleared before setting PF_FROZEN, recalc_sigpending does not check\n   PF_FROZEN).\n\nThis patch does not address the problem of freeze_processes() violating the rule\nthat a task may only modify its own flags by setting PF_FREEZE. This is not clean\nin an SMP environment. freeze(process) is therefore not SMP safe!\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c0e33c133021ee241e9d51255b9fb18eb34ef0e",
      "tree": "30ddff7f7cf375c36d11d49352365a42b25e1def",
      "parents": [
        "f45494480f31342125870c1a184999d7c5a59471"
      ],
      "author": {
        "name": "Nick Wilson",
        "email": "njw@osdl.org",
        "time": "Sat Jun 25 14:59:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:25:02 2005 -0700"
      },
      "message": "[PATCH] Use ALIGN to remove duplicate code\n\nThis patch makes use of ALIGN() to remove duplicate round-up code.\n\nSigned-off-by: Nick Wilson \u003cnjw@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5a6b454f8024bac68495b6cd51615feb0b54baa9",
      "tree": "5514a66b49478b01c67527bb34b0f16aae4511e7",
      "parents": [
        "486fd404fbc840e28a959d2f2842b6c46ed6b250"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Sat Jun 25 14:58:48 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:59 2005 -0700"
      },
      "message": "[PATCH] remove redundant NULL check before before kfree() in kernel/sysctl.c\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "96ec3efdcbaea4f403f2a5f1204edbf903a01961",
      "tree": "e76ac60d389be7e7ed40e5bf2cd63f46b84b7e87",
      "parents": [
        "b20f3ae5f0efe1812d2a1278e2127a335884d445"
      ],
      "author": {
        "name": "Domen Puncer",
        "email": "domen@coderock.org",
        "time": "Sat Jun 25 14:58:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:58 2005 -0700"
      },
      "message": "[PATCH] kernel/timer: fix msleep_interruptible() comment\n\nThe comment for msleep_interruptible() is wrong, as it will ignore\nwait-queue events, but will wake up early for signals.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72414d3f1d22fc3e311b162fca95c430048d38ce",
      "tree": "46850947c1602357dd3c51d8d6ebaa5805507f9f",
      "parents": [
        "4f339ecb30c759f94a29992d4635d9194132b6cf"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Sat Jun 25 14:58:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:55 2005 -0700"
      },
      "message": "[PATCH] kexec code cleanup\n\no Following patch provides purely cosmetic changes and corrects CodingStyle\n  guide lines related certain issues like below in kexec related files\n\n  o braces for one line \"if\" statements, \"for\" loops,\n  o more than 80 column wide lines,\n  o No space after \"while\", \"for\" and \"switch\" key words\n\no Changes:\n  o take-2: Removed the extra tab before \"case\" key words.\n  o take-3: Put operator at the end of line and space before \"*/\"\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e274d144302068a00794ec22e73520c0615cb6f",
      "tree": "f7ea59ea47d3c5676fbac8d39e8deaa1f94146ae",
      "parents": [
        "86b1ae38c0a62409dc862a28e3f08920f55f944b"
      ],
      "author": {
        "name": "Alexander Nyberg",
        "email": "alexn@telia.com",
        "time": "Sat Jun 25 14:58:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:54 2005 -0700"
      },
      "message": "[PATCH] kdump: Use real pt_regs from exception\n\nMakes kexec_crashdump() take a pt_regs * as an argument.  This allows to\nget exact register state at the point of the crash.  If we come from direct\npanic assertion NULL will be passed and the current registers saved before\ncrashdump.\n\nThis hooks into two places:\ndie(): check the conditions under which we will panic when calling\ndo_exit and go there directly with the pt_regs that caused the fatal\nfault.\n\ndie_nmi(): If we receive an NMI lockup while in the kernel use the\npt_regs and go directly to crash_kexec(). We\u0027re probably nested up badly\nat this point so this might be the only chance to escape with proper\ninformation.\n\nSigned-off-by: Alexander Nyberg \u003calexn@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "666bfddbe8b8fd4fd44617d6c55193d5ac7edb29",
      "tree": "74b03732131c51dbfd79a06f97d5ccec8894f9f3",
      "parents": [
        "2030eae52b416a9a9f0ffda74c982b7f1e19496d"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:53 2005 -0700"
      },
      "message": "[PATCH] kdump: Access dump file in elf format (/proc/vmcore)\n\nFrom: \"Vivek Goyal\" \u003cvgoyal@in.ibm.com\u003e\n\no Support for /proc/vmcore interface. This interface exports elf core image\n  either in ELF32 or ELF64 format, depending on the format in which elf headers\n  have been stored by crashed kernel.\no Added support for CONFIG_VMCORE config option.\no Removed the dependency on /proc/kcore.\n\nFrom: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n\nThis patch has been refactored to more closely match the prevailing style in\nthe affected files.  And to clearly indicate the dependency between\n/proc/kcore and proc/vmcore.c\n\nFrom: Hariprasad Nellitheertha \u003chari@in.ibm.com\u003e\n\nThis patch contains the code that provides an ELF format interface to the\nprevious kernel\u0027s memory post kexec reboot.\n\nSigned off by Hariprasad Nellitheertha \u003chari@in.ibm.com\u003e\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2030eae52b416a9a9f0ffda74c982b7f1e19496d",
      "tree": "3715724cb19e9165873635fcdf7e9e30d86f7710",
      "parents": [
        "60e64d46a58236e3c718074372cab6a5b56a3b15"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:53 2005 -0700"
      },
      "message": "[PATCH] Retrieve elfcorehdr address from command line\n\nThis patch adds support for retrieving the address of elf core header if one\nis passed in command line.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "60e64d46a58236e3c718074372cab6a5b56a3b15",
      "tree": "194e5fa7a53a1ac4a106b1527ec69cf3c2179bb0",
      "parents": [
        "5f016456c96868c27df248a54d1cc919e7b70a23"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:53 2005 -0700"
      },
      "message": "[PATCH] kdump: Routines for copying dump pages\n\nThis patch provides the interfaces necessary to read the dump contents,\ntreating it as a high memory device.\n\nSigned off by Hariprasad Nellitheertha \u003chari@in.ibm.com\u003e\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "625f1c8219d95300ed32e4c67eb62a50ded095ba",
      "tree": "2e303a649604cabc922f2ade67435eaf83bbfa98",
      "parents": [
        "cf13f0eaffa31bf6a145c53c589654b11c72ddc7"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:51 2005 -0700"
      },
      "message": "[PATCH] Kdump: Export crash notes section address through sysfs\n\no Following patch exports kexec global variable \"crash_notes\" to user space\n  through sysfs as kernel attribute in /sys/kernel.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "50cccc699ed849d31c9e3f7643db33edade20e4e",
      "tree": "7cd6e1adfa7b42a7be2815361e5d41c2fd89ee48",
      "parents": [
        "dc009d92435f99498cbc579ce76bf28e837e2c14"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:57:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:48 2005 -0700"
      },
      "message": "[PATCH] Kexec on panic vmlinux initrd fix\n\nThis is a minor bug fix in kexec to resolve the problem of loading panic\nkernel with initrd.\n\no Problem: Loading a capture kenrel fails if initrd is also being loaded.\n  This has been observed for vmlinux image for kexec on panic case.\n\no This patch fixes the problem. In segment location and size verification\n  logic, minor correction has been done. Segment memory end (mend) should be\n  mstart + memsz - 1. This one byte offset was source of failure for initrd\n  loading which was being loaded at hole boundary.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dc009d92435f99498cbc579ce76bf28e837e2c14",
      "tree": "2ba8732b28225593d996b8faa079dc6ab4bbc9bc",
      "parents": [
        "d0537508a9921efced238b20967e50e519ac34af"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jun 25 14:57:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:48 2005 -0700"
      },
      "message": "[PATCH] kexec: add kexec syscalls\n\nThis patch introduces the architecture independent implementation the\nsys_kexec_load, the compat_sys_kexec_load system calls.\n\nKexec on panic support has been integrated into the core patch and is\nrelatively clean.\n\nIn addition the hopefully architecture independent option\ncrashkernel\u003dsize@location has been docuemented.  It\u0027s purpose is to reserve\nspace for the panic kernel to live, and where no DMA transfer will ever be\nsetup to access.\n\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Alexander Nyberg \u003calexn@telia.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8cbd99bd3a023db8d6356d19a5f6f539d367327",
      "tree": "f7472cc26a2a1dad631c35a4eb6d0c10cf8cd66e",
      "parents": [
        "f704f56af95bec3c1ca719d64d0becef74d40899"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 25 14:57:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:45 2005 -0700"
      },
      "message": "[PATCH] sched: voluntary kernel preemption\n\nThis patch adds a new preemption model: \u0027Voluntary Kernel Preemption\u0027.  The\n3 models can be selected from a new menu:\n\n            (X) No Forced Preemption (Server)\n            ( ) Voluntary Kernel Preemption (Desktop)\n            ( ) Preemptible Kernel (Low-Latency Desktop)\n\nwe still default to the stock (Server) preemption model.\n\nVoluntary preemption works by adding a cond_resched()\n(reschedule-if-needed) call to every might_sleep() check.  It is lighter\nthan CONFIG_PREEMPT - at the cost of not having as tight latencies.  It\nrepresents a different latency/complexity/overhead tradeoff.\n\nIt has no runtime impact at all if disabled.  Here are size stats that show\nhow the various preemption models impact the kernel\u0027s size:\n\n    text    data     bss     dec     hex filename\n 3618774  547184  179896 4345854  424ffe vmlinux.stock\n 3626406  547184  179896 4353486  426dce vmlinux.voluntary   +0.2%\n 3748414  548640  179896 4476950  445016 vmlinux.preempt     +3.5%\n\nvoluntary-preempt is +0.2% of .text, preempt is +3.5%.\n\nThis feature has been tested for many months by lots of people (and it\u0027s\nalso included in the RHEL4 distribution and earlier variants were in Fedora\nas well), and it\u0027s intended for users and distributions who dont want to\nuse full-blown CONFIG_PREEMPT for one reason or another.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f704f56af95bec3c1ca719d64d0becef74d40899",
      "tree": "f024287878246703cf28f738d2c553c476c53c34",
      "parents": [
        "cc19ca86a023fcd552c78e77a7be6ce271f92a28"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 25 14:57:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:45 2005 -0700"
      },
      "message": "[PATCH] enable PREEMPT_BKL on !PREEMPT+SMP too\n\nThe only sane way to clean up the current 3 lock_kernel() variants seems to\nbe to remove the spinlock-based BKL implementations altogether, and to keep\nthe semaphore-based one only.  If we dont want to do that for whatever\nreason then i\u0027m afraid we have to live with the current complexity.  (but\ni\u0027m open for other cleanup suggestions as well.)\n\nTo explore this possibility we\u0027ll (at a minimum) have to know whether the\nsemaphore-based BKL works fine on plain SMP too.  The patch below enables\nthis.\n\nThe patch may make sense in isolation as well, as it might bring\nperformance benefits: code that would formerly spin on the BKL spinlock\nwill now schedule away and give up the CPU.  It might introduce performance\nregressions as well, if any performance-critical code uses the BKL heavily\nand gets overscheduled due to the semaphore.  I very much hope there is no\nsuch performance-critical codepath left though.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc19ca86a023fcd552c78e77a7be6ce271f92a28",
      "tree": "b4e9c9b02b73105d363070c49a765208b99cee1a",
      "parents": [
        "7f1867a5b3dc3034cbea403b229d65eed4a7f62e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 25 14:57:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:45 2005 -0700"
      },
      "message": "[PATCH] consolidate PREEMPT options into kernel/Kconfig.preempt\n\nThis patch consolidates the CONFIG_PREEMPT and CONFIG_PREEMPT_BKL\npreemption options into kernel/Kconfig.preempt.  This, besides reducing\nsource-code, also enables more centralized tweaking of preemption related\noptions.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "85d7b94981e2e919697bc235aad7367b33c3864b",
      "tree": "79d7705a897abde11b5f2f967bf24487aaeea354",
      "parents": [
        "1a20ff27ef75d866730ee796acd811a925af762f"
      ],
      "author": {
        "name": "Dinakar Guniguntala",
        "email": "dino@in.ibm.com",
        "time": "Sat Jun 25 14:57:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:45 2005 -0700"
      },
      "message": "[PATCH] Dynamic sched domains: cpuset changes\n\nAdds the core update_cpu_domains code and updated cpusets documentation\n\nSigned-off-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a20ff27ef75d866730ee796acd811a925af762f",
      "tree": "a9e6acd72db03cfec5fdaee8cfab231032216581",
      "parents": [
        "37e4ab3f0cba13adf3535d373fd98e5ee47b5410"
      ],
      "author": {
        "name": "Dinakar Guniguntala",
        "email": "dino@in.ibm.com",
        "time": "Sat Jun 25 14:57:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:45 2005 -0700"
      },
      "message": "[PATCH] Dynamic sched domains: sched changes\n\nThe following patches add dynamic sched domains functionality that was\nextensively discussed on lkml and lse-tech.  I would like to see this added to\n-mm\n\no The main advantage with this feature is that it ensures that the scheduler\n  load balacing code only balances against the cpus that are in the sched\n  domain as defined by an exclusive cpuset and not all of the cpus in the\n  system. This removes any overhead due to load balancing code trying to\n  pull tasks outside of the cpu exclusive cpuset only to be prevented by\n  the tasks\u0027 cpus_allowed mask.\no cpu exclusive cpusets are useful for servers running orthogonal\n  workloads such as RT applications requiring low latency and HPC\n  applications that are throughput sensitive\n\no It provides a new API partition_sched_domains in sched.c\n  that makes dynamic sched domains possible.\no cpu_exclusive cpusets sets are now associated with a sched domain.\n  Which means that the users can dynamically modify the sched domains\n  through the cpuset file system interface\no ia64 sched domain code has been updated to support this feature as well\no Currently, this does not support hotplug. (However some of my tests\n  indicate hotplug+preempt is currently broken)\no I have tested it extensively on x86.\no This should have very minimal impact on performance as none of\n  the fast paths are affected\n\nSigned-off-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "37e4ab3f0cba13adf3535d373fd98e5ee47b5410",
      "tree": "8891a73f2a6d4257835064ab45d167154abad71f",
      "parents": [
        "a3464a102a69a4e00efb0a763e274ce290995b4b"
      ],
      "author": {
        "name": "Olivier Croquette",
        "email": "ocroquette@free.fr",
        "time": "Sat Jun 25 14:57:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] Changing RT priority without CAP_SYS_NICE\n\nPresently, a process without the capability CAP_SYS_NICE can not change\nits own policy, which is OK.\n\nBut it can also not decrease its RT priority (if scheduled with policy\nSCHED_RR or SCHED_FIFO), which is what this patch changes.\n\nThe rationale is the same as for the nice value: a process should be\nable to require less priority for itself. Increasing the priority is\nstill not allowed.\n\nThis is for example useful if you give a multithreaded user process a RT\npriority, and the process would like to organize its internal threads\nusing priorities also. Then you can give the process the highest\npriority needed N, and the process starts its threads with lower\npriorities: N-1, N-2...\n\nThe POSIX norm says that the permissions are implementation specific, so\nI think we can do that.\n\nIn a sense, it makes the permissions consistent whatever the policy is:\nwith this patch, process scheduled by SCHED_FIFO, SCHED_RR and\nSCHED_OTHER can all decrease their priority.\n\nFrom: Ingo Molnar \u003cmingo@elte.hu\u003e\n\ncleaned up and merged to -mm.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a3464a102a69a4e00efb0a763e274ce290995b4b",
      "tree": "63a9301d4a02dfcefd8dff70f033c634aa93bb2f",
      "parents": [
        "77391d71681d05d2f4502f91ad62618522abf624"
      ],
      "author": {
        "name": "Chen Shang",
        "email": "shangcs@gmail.com",
        "time": "Sat Jun 25 14:57:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] sched: micro-optimize task requeueing in schedule()\n\nmicro-optimize task requeueing in schedule() \u0026 clean up recalc_task_prio().\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "77391d71681d05d2f4502f91ad62618522abf624",
      "tree": "e8931edb38a4ef3b7eb9e5ec7d25f7128e049994",
      "parents": [
        "476d139c218e44e045e4bc6d4cc02b010b343939"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] sched: relax pinned balancing\n\nThe maximum rebalance interval allowed by the multiprocessor balancing\nbackoff is often not large enough to handle corner cases where there are\nlots of tasks pinned on a CPU.  Suresh reported:\n\n\tI see system livelock\u0027s if for example I have 7000 processes\n\tpinned onto one cpu (this is on the fastest 8-way system I\n\thave access to).\n\nAfter this patch, the machine is reported to go well above this number.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "476d139c218e44e045e4bc6d4cc02b010b343939",
      "tree": "82a6537b829b2b35156fba5a312f4e44273a4356",
      "parents": [
        "674311d5b411e9042df4fdf7aef0b3c8217b6240"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] sched: consolidate sbe sbf\n\nConsolidate balance-on-exec with balance-on-fork.  This is made easy by the\nsched-domains RCU patches.\n\nAs well as the general goodness of code reduction, this allows the runqueues\nto be unlocked during balance-on-fork.\n\nschedstats is a problem.  Maybe just have balance-on-event instead of\ndistinguishing fork and exec?\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "674311d5b411e9042df4fdf7aef0b3c8217b6240",
      "tree": "4ee6b739629e7fc33b519fd087a116b4fa33a217",
      "parents": [
        "3dbd5342074a1e570ec84edf859deb9be588006d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] sched: RCU domains\n\nOne of the problems with the multilevel balance-on-fork/exec is that it needs\nto jump through hoops to satisfy sched-domain\u0027s locking semantics (that is,\nyou may traverse your own domain when not preemptable, and you may traverse\nothers\u0027 domains when holding their runqueue lock).\n\nbalance-on-exec had to potentially migrate between more than one CPU before\nfinding a final CPU to migrate to, and balance-on-fork needed to potentially\ntake multiple runqueue locks.\n\nSo bite the bullet and make sched-domains go completely RCU.  This actually\nsimplifies the code quite a bit.\n\nFrom: Ingo Molnar \u003cmingo@elte.hu\u003e\n\nschedstats RCU fix, and a nice comment on for_each_domain, from Ingo.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3dbd5342074a1e570ec84edf859deb9be588006d",
      "tree": "a5f0aa3f4152b409d9b109766f55020c28bbb9af",
      "parents": [
        "245af2c7870bd5940f7bfad19a0a03b32751fbc5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: multilevel sbe sbf\n\nThe fundamental problem that Suresh has with balance on exec and fork is that\nit only tries to balance the top level domain with the flag set.\n\nThis was worked around by removing degenerate domains, but is still a problem\nif people want to start using more complex sched-domains, especially\nmultilevel NUMA that ia64 is already using.\n\nThis patch makes balance on fork and exec try balancing over not just the top\nmost domain with the flag set, but all the way down the domain tree.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "245af2c7870bd5940f7bfad19a0a03b32751fbc5",
      "tree": "7c54e2b290a6b1a9fd15fa99f194c7ed5e9f0a11",
      "parents": [
        "41c7ce9ad9a859871dffbe7dbc8b1f9571724e3c"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Sat Jun 25 14:57:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: remove degenerate domains\n\nRemove degenerate scheduler domains during the sched-domain init.\n\nFor example on x86_64, we always have NUMA configured in.  On Intel EM64T\nsystems, top most sched domain will be of NUMA and with only one sched_group\nin it.\n\nWith fork/exec balances(recent Nick\u0027s fixes in -mm tree), we always endup\ntaking wrong decisions because of this topmost domain (as it contains only one\ngroup and find_idlest_group always returns NULL).  We will endup loading HT\npackage completely first, letting active load balance kickin and correct it.\n\nIn general, this patch also makes sense with out recent Nick\u0027s fixes in -mm.\n\nFrom: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\n\nModified to account for more than just sched_groups when scanning for\ndegenerate domains by Nick Piggin.  And allow a runqueue\u0027s sd to go NULL\nrather than keep a single degenerate domain around (this happens when you run\nwith maxcpus\u003d1).\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "41c7ce9ad9a859871dffbe7dbc8b1f9571724e3c",
      "tree": "e6046310efc8b0c3ec71922eb86ea2d3da11b2f7",
      "parents": [
        "4866cde064afbb6c2a488c265e696879de616daa"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: null domains\n\nFix the last 2 places that directly access a runqueue\u0027s sched-domain and\nassume it cannot be NULL.\n\nThat allows the use of NULL for domain, instead of a dummy domain, to signify\nno balancing is to happen.  No functional changes.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4866cde064afbb6c2a488c265e696879de616daa",
      "tree": "6effad1ab6271129fc607b98273086409876563a",
      "parents": [
        "48c08d3f8ff94fa118187e4d8d4a5707bb85e59d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: cleanup context switch locking\n\nInstead of requiring architecture code to interact with the scheduler\u0027s\nlocking implementation, provide a couple of defines that can be used by the\narchitecture to request runqueue unlocked context switches, and ask for\ninterrupts to be enabled over the context switch.\n\nAlso replaces the \"switch_lock\" used by these architectures with an oncpu\nflag (note, not a potentially slow bitflag).  This eliminates one bus\nlocked memory operation when context switching, and simplifies the\ntask_running function.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "48c08d3f8ff94fa118187e4d8d4a5707bb85e59d",
      "tree": "057b9f538bb4ece645ade5d4693f2cd1a14b92aa",
      "parents": [
        "687f1661d302bc70ce906594a6d3f615ef075a50"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 25 14:57:22 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: uninline task_timeslice\n\n      \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\n\nuninline task_timeslice() - reduces code footprint noticeably, and it\u0027s\nslowpath code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68767a0ae428801649d510d9a65bb71feed44dd1",
      "tree": "678e2daa5726acf46ffd00a337d931e08ab928f9",
      "parents": [
        "147cbb4bbe991452698f0772d8292f22825710ba"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:42 2005 -0700"
      },
      "message": "[PATCH] sched: schedstats update for balance on fork\n\nAdd SCHEDSTAT statistics for sched-balance-fork.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "147cbb4bbe991452698f0772d8292f22825710ba",
      "tree": "cb86550d7e440e7dfbe22b0af6d2cfc991cb76cf",
      "parents": [
        "cafb20c1f9976a70d633bb1e1c8c24eab00e4e80"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:42 2005 -0700"
      },
      "message": "[PATCH] sched: balance on fork\n\nReimplement the balance on exec balancing to be sched-domains aware.  Use this\nto also do balance on fork balancing.  Make x86_64 do balance on fork over the\nNUMA domain.\n\nThe problem that the non sched domains aware blancing became apparent on dual\ncore, multi socket opterons.  What we want is for the new tasks to be sent to\na different socket, but more often than not, we would first load up our\nsibling core, or fill two cores of a single remote socket before selecting a\nnew one.\n\nThis gives large improvements to STREAM on such systems.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cafb20c1f9976a70d633bb1e1c8c24eab00e4e80",
      "tree": "7ff8e6060990889992d51d542abde31cf0d7a1ef",
      "parents": [
        "a3f21bce1fefdf92a4d1705e888d390b10f3ac6f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:42 2005 -0700"
      },
      "message": "[PATCH] sched: no aggressive idle balancing\n\nRemove the very aggressive idle stuff that has recently gone into 2.6 - it is\ngoing against the direction we are trying to go.  Hopefully we can regain\nperformance through other methods.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a3f21bce1fefdf92a4d1705e888d390b10f3ac6f",
      "tree": "1b77f5f5a8516737e3f1f62290c08fe093cff661",
      "parents": [
        "7897986bad8f6cd50d6149345aca7f6480f49464"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: tweak affine wakeups\n\nDo less affine wakeups.  We\u0027re trying to reduce dbt2-pgsql idle time\nregressions here...  make sure we don\u0027t don\u0027t move tasks the wrong way in an\nimbalance condition.  Also, remove the cache coldness requirement from the\ncalculation - this seems to induce sharp cutoff points where behaviour will\nsuddenly change on some workloads if the load creeps slightly over or under\nsome point.  It is good for periodic balancing because in that case have\notherwise have no other context to determine what task to move.\n\nBut also make a minor tweak to \"wake balancing\" - the imbalance tolerance is\nnow set at half the domain\u0027s imbalance, so we get the opportunity to do wake\nbalancing before the more random periodic rebalancing gets preformed.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7897986bad8f6cd50d6149345aca7f6480f49464",
      "tree": "10a5e08e004ae685aaab6823a3774803455b7704",
      "parents": [
        "99b61ccf0bf0e9a85823d39a5db6a1519caeb13d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: balance timers\n\nDo CPU load averaging over a number of different intervals.  Allow each\ninterval to be chosen by sending a parameter to source_load and target_load.\n0 is instantaneous, idx \u003e 0 returns a decaying average with the most recent\nsample weighted at 2^(idx-1).  To a maximum of 3 (could be easily increased).\n\nSo generally a higher number will result in more conservative balancing.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99b61ccf0bf0e9a85823d39a5db6a1519caeb13d",
      "tree": "4d793013d9317928e04e7edfe1b5766dc5e84cca",
      "parents": [
        "db935dbd43c4290d710304662cc908f733afea06"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: less aggressive idle balancing\n\nRemove the special casing for idle CPU balancing.  Things like this are\nhurting for example on SMT, where are single sibling being idle doesn\u0027t really\nwarrant a really aggressive pull over the NUMA domain, for example.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db935dbd43c4290d710304662cc908f733afea06",
      "tree": "96fed92340b7b5952472dfb1a8cb5d0620122001",
      "parents": [
        "3950745131e23472fb5ace2ee4a2093e7590ec69"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: add debugging\n\nThese conditions should now be impossible, and we need to fix them if they\nhappen.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3950745131e23472fb5ace2ee4a2093e7590ec69",
      "tree": "8b3e738f2c11ee3e4c60d8960e7bdd3c006f7154",
      "parents": [
        "16cfb1c04c3cbe3759f339d3333e7e1e7d59712a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: fix SMT scheduling problems\n\nSMT balancing has a couple of problems.  Firstly, active_load_balance is too\ncomplex - basically it should be a dumb helper for when the periodic balancer\nhas determined there is an imbalance, but gets stuck because the task is\nrunning.\n\nSo rip out all its \"smarts\", and just make it move one task to the target CPU.\n\nSecond, the busy CPU\u0027s sched-domain tree was being used for active balancing.\nThis means that it may not see that nr_balance_failed has reached a critical\nlevel.  So use the target CPU\u0027s sched-domain tree for this.  We can do this\nbecause we hold its runqueue lock.\n\nLastly, reset nr_balance_failed to a point where we allow cache hot migration.\nThis will help ensure active load balancing is successful.\n\nThanks to Suresh Siddha for pointing out these issues.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "16cfb1c04c3cbe3759f339d3333e7e1e7d59712a",
      "tree": "23e8778f4eef5df4dc256dcabd1b564a8221f651",
      "parents": [
        "8102679447da7fcbcb5226ee0207c3a034bc6d5f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:40 2005 -0700"
      },
      "message": "[PATCH] sched: reduce active load balancing\n\nFix up active load balancing a bit so it doesn\u0027t get called when it shouldn\u0027t.\nReset the nr_balance_failed counter at more points where we have found\nconditions to be balanced.  This reduces too aggressive active balancing seen\non some workloads.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8102679447da7fcbcb5226ee0207c3a034bc6d5f",
      "tree": "bb1717150a94a02a44c3bafc9bf8969ef6045f89",
      "parents": [
        "e0f364f4069f76a3613a797c388832822d179076"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:40 2005 -0700"
      },
      "message": "[PATCH] sched: improve load balancing pinned tasks\n\nJohn Hawkes explained the problem best:\n\n\tA large number of processes that are pinned to a single CPU results\n\tin every other CPU\u0027s load_balance() seeing this overloaded CPU as\n\t\"busiest\", yet move_tasks() never finds a task to pull-migrate.  This\n\tcondition occurs during module unload, but can also occur as a\n\tdenial-of-service using sys_sched_setaffinity().  Several hundred\n\tCPUs performing this fruitless load_balance() will livelock on the\n\tbusiest CPU\u0027s runqueue lock.  A smaller number of CPUs will livelock\n\tif the pinned task count gets high.\n\nExpanding slightly on John\u0027s patch, this one attempts to work out whether the\nbalancing failure has been due to too many tasks pinned on the runqueue.  This\nallows it to be basically invisible to the regular blancing paths (ie.  when\nthere are no pinned tasks).  We can use this extra knowledge to shut down the\nbalancing faster, and ensure the migration threads don\u0027t start running which\nis another problem observed in the wild.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e0f364f4069f76a3613a797c388832822d179076",
      "tree": "d47e817c037a5765935c43f4aac4f4b0864bce4a",
      "parents": [
        "44f410a7ce593e7e75667b93494223998069f3f1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:40 2005 -0700"
      },
      "message": "[PATCH] sched: cleanup wake_idle\n\nNew sched-domains code means we don\u0027t get spans with offline CPUs in\nthem.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "19c324397a55edf122822f829779b46b9cb385dd",
      "tree": "4a4c8f9b614fa5312c09096c9cabaa1435afde36",
      "parents": [
        "21d6b7e18f70c847c867aafb3109405b48424388"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:34 2005 -0700"
      },
      "message": "[PATCH] swsusp: only allow it when it makes sense\n\nShow swsuspend only on .config where it can compile.  I got this on PPC32 \u0026\u0026\nSMP:\n\nkernel/power/smp.c:24: error: storage size of `ctxt\u0027 isn\u0027t known\n\nAlso mark swsusp as no longer experimental.\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac25575203c11145066ea5cb583354cb5f0a8ade",
      "tree": "f5bb286385e7a9aa0264b5186c165bac3606d327",
      "parents": [
        "8d783b3e02002bce8cf9d4e4a82922ee7e59b1e5"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Sat Jun 25 14:55:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:34 2005 -0700"
      },
      "message": "[PATCH] CPU hotplug printk fix\n\nIn the cpu hotplug case, per-cpu data possibly isn\u0027t initialized even the\nsystem state is \u0027running\u0027.  As the comments say in the original code, some\nconsole drivers assume per-cpu resources have been allocated.  radeon fb is\none such driver, which uses kmalloc.  After a CPU is down, the per-cpu data\nof slab is freed, so the system crashed when printing some info.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c61978b30322c83a94d7e4857fa5b9996b7d7931",
      "tree": "34fe94d8b55738a957472de21a098a588f171d6a",
      "parents": [
        "2e4d5822dc71f01bf515b8f6f4e41ae12ee785b8"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:33 2005 -0700"
      },
      "message": "[PATCH] swsusp: fix nr_copy_pages\n\nThe following patch moves the recalculation of nr_copy_pages so that the right\nnumber is used in the calculation of the size of memory and swap needed.\n\nIt prevents swsusp from attempting to suspend if there is not enough memory\nand/or swap (which is unlikely anyway).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2e4d5822dc71f01bf515b8f6f4e41ae12ee785b8",
      "tree": "1905dbcb8042c2a8fce552bd5c9596be9827462e",
      "parents": [
        "8f9bdf15c059c5d84db9c395705bf79b30762420"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:33 2005 -0700"
      },
      "message": "[PATCH] swsusp: cleanup whitespace\n\nThe following patch cleans up whitespace in swsusp.c (a bit):\n\n- removes any trailing whitespace\n\n- adds spaces after if, for, for_each_pbe, for_each_zone etc., wherever\n  necessary.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f9bdf15c059c5d84db9c395705bf79b30762420",
      "tree": "a24e77d4082b807c784073d266f2a34b3ff5d663",
      "parents": [
        "620b03276488c3cf103caf1e326bd21f00d3df84"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:33 2005 -0700"
      },
      "message": "[PATCH] swsusp: kill unneccessary does_collide_order\n\nThe following patch removes the unnecessary function does_collide_order().\n\nThis function is no longer necessary, as currently there are only 0-order\nallocations in swsusp, and the use of it is confusing.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "620b03276488c3cf103caf1e326bd21f00d3df84",
      "tree": "e2de713c76ddb42b091305b88aa7ca4938081789",
      "parents": [
        "5ce47e59c9688d8480ae41100117d8188c191401"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:33 2005 -0700"
      },
      "message": "[PATCH] properly stop devices before poweroff\n\nWithout this patch, Linux provokes emergency disk shutdowns and\nsimilar nastiness. It was in SuSE kernels for some time, IIRC.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5a72e04df5470df0ec646029d31e5528167ab1a7",
      "tree": "11be00c3ed3d8bad775e6eec44078c9f942537b9",
      "parents": [
        "fb69c3907ead36b9e9f41ea6f0d0e0ae10a38a47"
      ],
      "author": {
        "name": "Li Shaohua",
        "email": "shaohua.li@intel.com",
        "time": "Sat Jun 25 14:55:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:32 2005 -0700"
      },
      "message": "[PATCH] suspend/resume SMP support\n\nUsing CPU hotplug to support suspend/resume SMP.  Both S3 and S4 use\ndisable/enable_nonboot_cpus API.  The S4 part is based on Pavel\u0027s original S4\nSMP patch.\n\nSigned-off-by: Li Shaohua\u003cshaohua.li@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f370513640492641b4046bfd9a6e4714f6ae530d",
      "tree": "46da47197fcbb3614b51c5f1fac841bf26d5e572",
      "parents": [
        "d92de65cab5980c16d4a1c326c1ef9a591892883"
      ],
      "author": {
        "name": "Zwane Mwaikambo",
        "email": "zwane@linuxpower.ca",
        "time": "Sat Jun 25 14:54:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:29 2005 -0700"
      },
      "message": "[PATCH] i386 CPU hotplug\n\n(The i386 CPU hotplug patch provides infrastructure for some work which Pavel\nis doing as well as for ACPI S3 (suspend-to-RAM) work which Li Shaohua\n\u003cshaohua.li@intel.com\u003e is doing)\n\nThe following provides i386 architecture support for safely unregistering and\nregistering processors during runtime, updated for the current -mm tree.  In\norder to avoid dumping cpu hotplug code into kernel/irq/* i dropped the\ncpu_online check in do_IRQ() by modifying fixup_irqs().  The difference being\nthat on cpu offline, fixup_irqs() is called before we clear the cpu from\ncpu_online_map and a long delay in order to ensure that we never have any\nqueued external interrupts on the APICs.  There are additional changes to s390\nand ppc64 to account for this change.\n\n1) Add CONFIG_HOTPLUG_CPU\n2) disable local APIC timer on dead cpus.\n3) Disable preempt around irq balancing to prevent CPUs going down.\n4) Print irq stats for all possible cpus.\n5) Debugging check for interrupts on offline cpus.\n6) Hacky fixup_irqs() to redirect irqs when cpus go off/online.\n7) play_dead() for offline cpus to spin inside.\n8) Handle offline cpus set in flush_tlb_others().\n9) Grab lock earlier in smp_call_function() to prevent CPUs going down.\n10) Implement __cpu_disable() and __cpu_die().\n11) Enable local interrupts in cpu_enable() after fixup_irqs()\n12) Don\u0027t fiddle with NMI on dead cpu, but leave intact on other cpus.\n13) Program IRQ affinity whilst cpu is still in cpu_online_map on offline.\n\nSigned-off-by: Zwane Mwaikambo \u003czwane@linuxpower.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52c1da39534fb382c061de58b65f678ad74b59f5",
      "tree": "92b18695f23afbc99374f844445f555a198978f2",
      "parents": [
        "d763b7a4736e219528f77bf6bc75dd78b1d75c03"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 23 22:05:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:43 2005 -0700"
      },
      "message": "[PATCH] make various thing static\n\nAnother rollup of patches which give various symbols static scope\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c988d2b2845495373f666a381d354a7f80981d62",
      "tree": "aece734adc28728437c9c87ba53428e79ac4c25f",
      "parents": [
        "f5bec39639d386e1893dc440dd536761136ab36b"
      ],
      "author": {
        "name": "Matt Domsch",
        "email": "Matt_Domsch@dell.com",
        "time": "Thu Jun 23 22:05:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:40 2005 -0700"
      },
      "message": "[PATCH] modules: add version and srcversion to sysfs\n\nThis patch adds version and srcversion files to\n/sys/module/${modulename} containing the version and srcversion fields\nof the module\u0027s modinfo section (if present).\n\n/sys/module/e1000\n|-- srcversion\n`-- version\n\nThis patch differs slightly from the version posted in January, as it\nnow uses the new kstrdup() call in -mm.\n\nWhy put this in sysfs?\n\na) Tools like DKMS, which deal with changing out individual kernel\n   modules without replacing the whole kernel, can behave smarter if they\n   can tell the version of a given module.  The autoinstaller feature, for\n   example, which determines if your system has a \"good\" version of a\n   driver (i.e.  if the one provided by DKMS has a newer verson than that\n   provided by the kernel package installed), and to automatically compile\n   and install a newer version if DKMS has it but your kernel doesn\u0027t yet\n   have that version.\n\nb) Because sysadmins manually, or with tools like DKMS, can switch out\n   modules on the file system, you can\u0027t count on \u0027modinfo foo.ko\u0027, which\n   looks at /lib/modules/${kernelver}/...  actually matching what is loaded\n   into the kernel already.  Hence asking sysfs for this.\n\nc) as the unbind-driver-from-device work takes shape, it will be\n   possible to rebind a driver that\u0027s built-in (no .ko to modinfo for the\n   version) to a newly loaded module.  sysfs will have the\n   currently-built-in version info, for comparison.\n\nd) tech support scripts can then easily grab the version info for what\u0027s\n   running presently - a question I get often.\n\nThere has been renewed interest in this patch on linux-scsi by driver\nauthors.\n\nAs the idea originated from GregKH, I leave his Signed-off-by: intact,\nthough the implementation is nearly completely new.  Compiled and run on\nx86 and x86_64.\n\nFrom: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\n\n      build fix\n\nFrom: Thierry Vignaud \u003ctvignaud@mandriva.com\u003e\n\n      build fix\n\nFrom: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\n\n      warning fix\n\nSigned-off-by: Greg Kroah-Hartman \u003cgreg@kroah.com\u003e\nSigned-off-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e30148c3d524a9c1c63ca28261bc24c457eb07a",
      "tree": "a2fcc46cc11fe871ad976c07476d934a07313576",
      "parents": [
        "8589b4e00e352f983259140f25a262d973be6bc5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:19 2005 -0700"
      },
      "message": "[PATCH] Keys: Make request-key create an authorisation key\n\nThe attached patch makes the following changes:\n\n (1) There\u0027s a new special key type called \".request_key_auth\".\n\n     This is an authorisation key for when one process requests a key and\n     another process is started to construct it. This type of key cannot be\n     created by the user; nor can it be requested by kernel services.\n\n     Authorisation keys hold two references:\n\n     (a) Each refers to a key being constructed. When the key being\n     \t constructed is instantiated the authorisation key is revoked,\n     \t rendering it of no further use.\n\n     (b) The \"authorising process\". This is either:\n\n     \t (i) the process that called request_key(), or:\n\n     \t (ii) if the process that called request_key() itself had an\n     \t      authorisation key in its session keyring, then the authorising\n     \t      process referred to by that authorisation key will also be\n     \t      referred to by the new authorisation key.\n\n\t This means that the process that initiated a chain of key requests\n\t will authorise the lot of them, and will, by default, wind up with\n\t the keys obtained from them in its keyrings.\n\n (2) request_key() creates an authorisation key which is then passed to\n     /sbin/request-key in as part of a new session keyring.\n\n (3) When request_key() is searching for a key to hand back to the caller, if\n     it comes across an authorisation key in the session keyring of the\n     calling process, it will also search the keyrings of the process\n     specified therein and it will use the specified process\u0027s credentials\n     (fsuid, fsgid, groups) to do that rather than the calling process\u0027s\n     credentials.\n\n     This allows a process started by /sbin/request-key to find keys belonging\n     to the authorising process.\n\n (4) A key can be read, even if the process executing KEYCTL_READ doesn\u0027t have\n     direct read or search permission if that key is contained within the\n     keyrings of a process specified by an authorisation key found within the\n     calling process\u0027s session keyring, and is searchable using the\n     credentials of the authorising process.\n\n     This allows a process started by /sbin/request-key to read keys belonging\n     to the authorising process.\n\n (5) The magic KEY_SPEC_*_KEYRING key IDs when passed to KEYCTL_INSTANTIATE or\n     KEYCTL_NEGATE will specify a keyring of the authorising process, rather\n     than the process doing the instantiation.\n\n (6) One of the process keyrings can be nominated as the default to which\n     request_key() should attach new keys if not otherwise specified. This is\n     done with KEYCTL_SET_REQKEY_KEYRING and one of the KEY_REQKEY_DEFL_*\n     constants. The current setting can also be read using this call.\n\n (7) request_key() is partially interruptible. If it is waiting for another\n     process to finish constructing a key, it can be interrupted. This permits\n     a request-key cycle to be broken without recourse to rebooting.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-Off-By: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7888e7ff4ee579442128d7d12a9c9dbf2cf7de6a",
      "tree": "abe428ecb966e1dae07fce17f38e3e0c0ab4f134",
      "parents": [
        "76d8aeabfeb1c42641a81c44280177b9a08670d8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:18 2005 -0700"
      },
      "message": "[PATCH] Keys: Pass session keyring to call_usermodehelper()\n\nThe attached patch makes it possible to pass a session keyring through to the\nprocess spawned by call_usermodehelper().  This allows patch 3/3 to pass an\nauthorisation key through to /sbin/request-key, thus permitting better access\ncontrols when doing just-in-time key creation.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c43dc2fd885b5658cfd7cedb7bcca20910c517a4",
      "tree": "98b723badf4a71c9dbf04cfd0babcb02ac577982",
      "parents": [
        "63e6880918e75dcb92d60aff218a76e063a471ef"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Thu Jun 23 00:10:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:34 2005 -0700"
      },
      "message": "[PATCH] aio: make wait_queue -\u003etask -\u003eprivate\n\nIn the upcoming aio_down patch, it is useful to store a private data\npointer in the kiocb\u0027s wait_queue.  Since we provide our own wake up\nfunction and do not require the task_struct pointer, it makes sense to\nconvert the task pointer into a generic private pointer.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "71a2224d7d1cefc23a1ac80bba421cc069cc3257",
      "tree": "3b3bc52e592484f008b4f1035a0d2e9e16b029f3",
      "parents": [
        "b030a4dd609e167da7f73c2d1fa5af864a0aea17"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jun 23 00:10:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:30 2005 -0700"
      },
      "message": "[PATCH] Optimize sys_times for a single thread process\n\nAvoid taking the tasklist_lock in sys_times if the process is single\nthreaded.  In a NUMA system taking the tasklist_lock may cause a bouncing\ncacheline if multiple independent processes continually call sys_times to\nmeasure their performance.\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4fea2838aa00b9e59efde974dcdb455608192811",
      "tree": "f5de626cd00b232c8d3183bfcf3a1a669c1ff738",
      "parents": [
        "af4d2ecbf007b7df3db7a41eedccdc05b8006d0b"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Thu Jun 23 00:09:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:27 2005 -0700"
      },
      "message": "[PATCH] Software suspend and recalc sigpending bug fix\n\nThis patch fixes recalc_sigpending() to work correctly with tasks which are\nbeing freezed.\n\nThe problem is that freeze_processes() sets PF_FREEZE and TIF_SIGPENDING\nflags on tasks, but recalc_sigpending() called from e.g.\nsys_rt_sigtimedwait or any other kernel place will clear TIF_SIGPENDING due\nto no pending signals queued and the tasks won\u0027t be freezed until it\nrecieves a real signal or freezed_processes() fail due to timeout.\n\nSigned-Off-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-Off-By: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6e711448137ca3301512cec41a2c2ce852b3d0a",
      "tree": "f0765ebd90fdbdf270c05fcd7f3d32b24ba56681",
      "parents": [
        "8b0914ea7475615c7c8965c1ac8fe4069270f25c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Jun 23 00:09:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:26 2005 -0700"
      },
      "message": "[PATCH] setuid core dump\n\nAdd a new `suid_dumpable\u0027 sysctl:\n\nThis value can be used to query and set the core dump mode for setuid\nor otherwise protected/tainted binaries. The modes are\n\n0 - (default) - traditional behaviour.  Any process which has changed\n    privilege levels or is execute only will not be dumped\n\n1 - (debug) - all processes dump core when possible.  The core dump is\n    owned by the current user and no security is applied.  This is intended\n    for system debugging situations only.  Ptrace is unchecked.\n\n2 - (suidsafe) - any binary which normally would not be dumped is dumped\n    readable by root only.  This allows the end user to remove such a dump but\n    not access it directly.  For security reasons core dumps in this mode will\n    not overwrite one another or other files.  This mode is appropriate when\n    adminstrators are attempting to debug problems in a normal environment.\n\n(akpm:\n\n\u003e \u003e +EXPORT_SYMBOL(suid_dumpable);\n\u003e\n\u003e EXPORT_SYMBOL_GPL?\n\nNo problem to me.\n\n\u003e \u003e  \tif (current-\u003eeuid \u003d\u003d current-\u003euid \u0026\u0026 current-\u003eegid \u003d\u003d current-\u003egid)\n\u003e \u003e  \t\tcurrent-\u003emm-\u003edumpable \u003d 1;\n\u003e\n\u003e Should this be SUID_DUMP_USER?\n\nActually the feedback I had from last time was that the SUID_ defines\nshould go because its clearer to follow the numbers. They can go\neverywhere (and there are lots of places where dumpable is tested/used\nas a bool in untouched code)\n\n\u003e Maybe this should be renamed to `dump_policy\u0027 or something.  Doing that\n\u003e would help us catch any code which isn\u0027t using the #defines, too.\n\nFair comment. The patch was designed to be easy to maintain for Red Hat\nrather than for merging. Changing that field would create a gigantic\ndiff because it is used all over the place.\n\n)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b0914ea7475615c7c8965c1ac8fe4069270f25c",
      "tree": "fb85ed3b08d9c61090bbc9dee9d06f54b945e52a",
      "parents": [
        "852caccc89d3883522e87a91bfa89fd9c9cfe15a"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Thu Jun 23 00:09:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:25 2005 -0700"
      },
      "message": "[PATCH] jprobes: allow a jprobe to coexist with muliple kprobes\n\nPresently either multiple kprobes or only one jprobe could be inserted.\nThis patch removes the above limitation and allows one jprobe and multiple\nkprobes to coexist at the same address.  However multiple jprobes cannot\ncoexist with multiple kprobes.  Currently I am working on the prototype to\nallow multiple jprobes coexist with multiple kprobes.\n\nSigned-off-by: Ananth N Mavinakayanhalli \u003camavin@redhat.com\u003e\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ea32c65cc2d2294c04e9f81d0578a6f51febfdbf",
      "tree": "b301766bcc903f982b0ae85b5edffe9477a65408",
      "parents": [
        "89cb14c0dd0e4a7d0315d19f449389c4d49237ee"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Thu Jun 23 00:09:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:24 2005 -0700"
      },
      "message": "[PATCH] kprobes: Temporary disarming of reentrant probe\n\nIn situations where a kprobes handler calls a routine which has a probe on it,\nthen kprobes_handler() disarms the new probe forever.  This patch removes the\nabove limitation by temporarily disarming the new probe.  When the another\nprobe hits while handling the old probe, the kprobes_handler() saves previous\nkprobes state and handles the new probe without calling the new kprobes\nregistered handlers.  kprobe_post_handler() restores back the previous kprobes\nstate and the normal execution continues.\n\nHowever on x86_64 architecture, re-rentrancy is provided only through\npre_handler().  If a routine having probe is referenced through\npost_handler(), then the probes on that routine are disarmed forever, since\nthe exception stack is gets changed after the processor single steps the\ninstruction of the new probe.\n\nThis patch includes generic changes to support temporary disarming on\nreentrancy of probes.\n\nSigned-of-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0aa55e4d7db822059fe8132fe9f2b7773c48216c",
      "tree": "84075ac377f29f393aff802f00def309a98bcf40",
      "parents": [
        "7e1048b11c5afe79aac46a42e3ccec86b8365c6d"
      ],
      "author": {
        "name": "Hien Nguyen",
        "email": "hien@us.ibm.com",
        "time": "Thu Jun 23 00:09:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:21 2005 -0700"
      },
      "message": "[PATCH] kprobes: moves lock-unlock to non-arch kprobe_flush_task\n\nThis patch moves the lock/unlock of the arch specific kprobe_flush_task()\nto the non-arch specific kprobe_flusk_task().\n\nSigned-off-by: Hien Nguyen \u003chien@us.ibm.com\u003e\nAcked-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e1048b11c5afe79aac46a42e3ccec86b8365c6d",
      "tree": "4f9caee0153e688f22d7e7b6fdc62e35be4fc3fe",
      "parents": [
        "73649dab0fd524cb8545a8cb83c6eaf77b107105"
      ],
      "author": {
        "name": "Rusty Lynch",
        "email": "rusty.lynch@intel.com",
        "time": "Thu Jun 23 00:09:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:21 2005 -0700"
      },
      "message": "[PATCH] Move kprobe [dis]arming into arch specific code\n\nThe architecture independent code of the current kprobes implementation is\narming and disarming kprobes at registration time.  The problem is that the\ncode is assuming that arming and disarming is a just done by a simple write\nof some magic value to an address.  This is problematic for ia64 where our\ninstructions look more like structures, and we can not insert break points\nby just doing something like:\n\n*p-\u003eaddr \u003d BREAKPOINT_INSTRUCTION;\n\nThe following patch to 2.6.12-rc4-mm2 adds two new architecture dependent\nfunctions:\n\n     * void arch_arm_kprobe(struct kprobe *p)\n     * void arch_disarm_kprobe(struct kprobe *p)\n\nand then adds the new functions for each of the architectures that already\nimplement kprobes (spar64/ppc64/i386/x86_64).\n\nI thought arch_[dis]arm_kprobe was the most descriptive of what was really\nhappening, but each of the architectures already had a disarm_kprobe()\nfunction that was really a \"disarm and do some other clean-up items as\nneeded when you stumble across a recursive kprobe.\" So...  I took the\nliberty of changing the code that was calling disarm_kprobe() to call\narch_disarm_kprobe(), and then do the cleanup in the block of code dealing\nwith the recursive kprobe case.\n\nSo far this patch as been tested on i386, x86_64, and ppc64, but still\nneeds to be tested in sparc64.\n\nSigned-off-by: Rusty Lynch \u003crusty.lynch@intel.com\u003e\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b94cce926b2b902b79380ccba370d6f9f2980de0",
      "tree": "da2680b1ec36eae6423ba446d09284d2642ae82b",
      "parents": [
        "2fa389c5eb8c97d621653184d2adf5fdbd4a3167"
      ],
      "author": {
        "name": "Hien Nguyen",
        "email": "hien@us.ibm.com",
        "time": "Thu Jun 23 00:09:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:21 2005 -0700"
      },
      "message": "[PATCH] kprobes: function-return probes\n\nThis patch adds function-return probes to kprobes for the i386\narchitecture.  This enables you to establish a handler to be run when a\nfunction returns.\n\n1. API\n\nTwo new functions are added to kprobes:\n\n\tint register_kretprobe(struct kretprobe *rp);\n\tvoid unregister_kretprobe(struct kretprobe *rp);\n\n2. Registration and unregistration\n\n2.1 Register\n\n  To register a function-return probe, the user populates the following\n  fields in a kretprobe object and calls register_kretprobe() with the\n  kretprobe address as an argument:\n\n  kp.addr - the function\u0027s address\n\n  handler - this function is run after the ret instruction executes, but\n  before control returns to the return address in the caller.\n\n  maxactive - The maximum number of instances of the probed function that\n  can be active concurrently.  For example, if the function is non-\n  recursive and is called with a spinlock or mutex held, maxactive \u003d 1\n  should be enough.  If the function is non-recursive and can never\n  relinquish the CPU (e.g., via a semaphore or preemption), NR_CPUS should\n  be enough.  maxactive is used to determine how many kretprobe_instance\n  objects to allocate for this particular probed function.  If maxactive \u003c\u003d\n  0, it is set to a default value (if CONFIG_PREEMPT maxactive\u003dmax(10, 2 *\n  NR_CPUS) else maxactive\u003dNR_CPUS)\n\n  For example:\n\n    struct kretprobe rp;\n    rp.kp.addr \u003d /* entrypoint address */\n    rp.handler \u003d /*return probe handler */\n    rp.maxactive \u003d /* e.g., 1 or NR_CPUS or 0, see the above explanation */\n    register_kretprobe(\u0026rp);\n\n  The following field may also be of interest:\n\n  nmissed - Initialized to zero when the function-return probe is\n  registered, and incremented every time the probed function is entered but\n  there is no kretprobe_instance object available for establishing the\n  function-return probe (i.e., because maxactive was set too low).\n\n2.2 Unregister\n\n  To unregiter a function-return probe, the user calls\n  unregister_kretprobe() with the same kretprobe object as registered\n  previously.  If a probed function is running when the return probe is\n  unregistered, the function will return as expected, but the handler won\u0027t\n  be run.\n\n3. Limitations\n\n3.1 This patch supports only the i386 architecture, but patches for\n    x86_64 and ppc64 are anticipated soon.\n\n3.2 Return probes operates by replacing the return address in the stack\n    (or in a known register, such as the lr register for ppc).  This may\n    cause __builtin_return_address(0), when invoked from the return-probed\n    function, to return the address of the return-probes trampoline.\n\n3.3 This implementation uses the \"Multiprobes at an address\" feature in\n    2.6.12-rc3-mm3.\n\n3.4 Due to a limitation in multi-probes, you cannot currently establish\n    a return probe and a jprobe on the same function.  A patch to remove\n    this limitation is being tested.\n\nThis feature is required by SystemTap (http://sourceware.org/systemtap),\nand reflects ideas contributed by several SystemTap developers, including\nWill Cohen and Ananth Mavinakayanahalli.\n\nSigned-off-by: Hien Nguyen \u003chien@us.ibm.com\u003e\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@laposte.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df164db5fd16888ddbe2a63a47b2f6dda9a428b5",
      "tree": "cc9aaf42f93761083e58e1d9d8d22261e0ff3686",
      "parents": [
        "5f45f1a78fbac3cc859ec10c5366e97d20d40fa2"
      ],
      "author": {
        "name": "Alexander Nyberg",
        "email": "alexn@dsv.su.se",
        "time": "Thu Jun 23 00:09:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:20 2005 -0700"
      },
      "message": "[PATCH] avoid resursive oopses\n\nPrevent recursive faults in do_exit() by leaving the task alone and wait\nfor reboot.  This may allow a more graceful shutdown and possibly save the\noriginal oops.\n\nSigned-off-by: Alexander Nyberg \u003calexn@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5f45f1a78fbac3cc859ec10c5366e97d20d40fa2",
      "tree": "bafacf11adbfb4eebf2d2d80d92e1fe2d9c02b18",
      "parents": [
        "ac20427ef6aa63da663bdc88b71d16f7394f5e23"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:09:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:20 2005 -0700"
      },
      "message": "[PATCH] remove duplicate get_dentry functions in various places\n\nVarious filesystem drivers have grown a get_dentry() function that\u0027s a\nduplicate of lookup_one_len, except that it doesn\u0027t take a maximum length\nargument and doesn\u0027t check for \\0 or / in the passed in filename.\n\nSwitch all these places to use lookup_one_len.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "be5b4fbd017d12e0d09ea0528a5839ce2ed2c8c8",
      "tree": "212a43003d1c4265718f53502547f36acbec143d",
      "parents": [
        "dcd497f99a1ef29a7c5e76142965be77e9dacabd"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu Jun 23 00:09:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:19 2005 -0700"
      },
      "message": "[PATCH] preempt_count is int - remove cast and don\u0027t assign to unsigned type\n\nIn kernel/sched.c the return value from preempt_count() is cast to an int.\nThat made sense when preempt_count was defined as different types on is not\nneeded and should go away.  The patch removes the cast.\n\nIn kernel/timer.c the return value from preempt_count() is assigned to a\nvariable of type u32 and then that unsigned value is later compared to\npreempt_count().  Since preempt_count() returns an int, an int is what\nshould be used to store its return value.  Storing the result in an\nunsigned 32bit integer made a tiny bit of sense back when preempt_count was\ndifferent types on different archs, but no more - let\u0027s not play signed vs\nunsigned comparison games when we don\u0027t have to.  The patch modifies the\ncode to use an int to hold the value.  While I was around that bit of code\nI also made two changes to a nearby (related) printk() - I modified it to\nspecify the loglevel explicitly and also broke the line into a few pieces\nto avoid it being longer than 80 chars and clarified the text a bit.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ab4af03a4054bd78bcabfb2214c9597201beae35",
      "tree": "43d2b273cb84349bfdde6667f8d5fea1d2d87031",
      "parents": [
        "dfe52244e004f5103478966cd88351feb5c50d79"
      ],
      "author": {
        "name": "Greg Edwards",
        "email": "edwardsg@sgi.com",
        "time": "Thu Jun 23 00:09:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] CON_CONSDEV bit not set correctly on last console\n\nAccording to include/linux/console.h, CON_CONSDEV flag should be set on\nthe last console specified on the boot command line:\n\n     86 #define CON_PRINTBUFFER (1)\n     87 #define CON_CONSDEV     (2) /* Last on the command line */\n     88 #define CON_ENABLED     (4)\n     89 #define CON_BOOT        (8)\n\nThis does not currently happen if there is more than one console specified\non the boot commandline.  Instead, it gets set on the first console on the\ncommand line.  This can cause problems for things like kdb that look for\nthe CON_CONSDEV flag to see if the console is valid.\n\nAdditionaly, it doesn\u0027t look like CON_CONSDEV is reassigned to the next\npreferred console at unregister time if the console being unregistered\ncurrently has that bit set.\n\nExample (from sn2 ia64):\n\nelilo vmlinuz root\u003d\u003cdev\u003e console\u003dttyS0 console\u003dttySG0\n\nin this case, the flags on ttySG console struct will be 0x4 (should be\n0x6).\n\nAttached patch against bk fixes both issues for the cases I looked at.  It\nuses selected_console (which gets incremented for each console specified on\nthe command line) as the indicator of which console to set CON_CONSDEV on.\nWhen adding the console to the list, if the previous one had CON_CONSDEV\nset, it masks it out.  Tested on ia64 and x86.\n\nThe problem with the current behavior is it breaks overriding the default from\nthe boot line.  In the ia64 case, there may be a global append line defining\nconsole\u003da in elilo.conf.  Then you want to boot your kernel, and want to\noverride the default by passing console\u003db on the boot line.  elilo constructs\nthe kernel cmdline by starting with the value of the global append line, then\ntacks on whatever else you specify, which puts console\u003db last.\n\nSigned-off-by: Greg Edwards \u003cedwardsg@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f972be33ce6a08b5f096ba013c7459a3a82f5f39",
      "tree": "5d495cdfc82dce1b8017244563f2f5437c395433",
      "parents": [
        "fd450b7318b75343fd76b3d95416853e34e72c95"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:09:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:17 2005 -0700"
      },
      "message": "[PATCH] posix-timers: use try_to_del_timer_sync()\n\nsys_timer_settime/sys_timer_delete needs to delete k_itimer-\u003ereal.timer\nsynchronously while holding -\u003eit_lock, which is also locked in\nposix_timer_fn.\n\nThis patch removes timer_active/set_timer_inactive which plays with\ntimer_list\u0027s internals in favour of using try_to_del_timer_sync(), which\nwas introduced in the previous patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd450b7318b75343fd76b3d95416853e34e72c95",
      "tree": "e747348f7d3c9f1615963dde4f2c8baaf842415f",
      "parents": [
        "55c888d6d09a0df236adfaf8ccf06ff5d0646775"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:08:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:16 2005 -0700"
      },
      "message": "[PATCH] timers: introduce try_to_del_timer_sync()\n\nThis patch splits del_timer_sync() into 2 functions.  The new one,\ntry_to_del_timer_sync(), returns -1 when it hits executing timer.\n\nIt can be used in interrupt context, or when the caller hold locks which\ncan prevent completion of the timer\u0027s handler.\n\nNOTE.  Currently it can\u0027t be used in interrupt context in UP case, because\n-\u003erunning_timer is used only with CONFIG_SMP.\n\nShould the need arise, it is possible to kill #ifdef CONFIG_SMP in\nset_running_timer(), it is cheap.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55c888d6d09a0df236adfaf8ccf06ff5d0646775",
      "tree": "deb9434abe3cf7c9b714ccb267ef5d943a847dfe",
      "parents": [
        "bdd646a44672115c986593956aa4ef105485a184"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:08:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:16 2005 -0700"
      },
      "message": "[PATCH] timers fixes/improvements\n\nThis patch tries to solve following problems:\n\n1. del_timer_sync() is racy. The timer can be fired again after\n   del_timer_sync have checked all cpus and before it will recheck\n   timer_pending().\n\n2. It has scalability problems. All cpus are scanned to determine\n   if the timer is running on that cpu.\n\n   With this patch del_timer_sync is O(1) and no slower than plain\n   del_timer(pending_timer), unless it has to actually wait for\n   completion of the currently running timer.\n\n   The only restriction is that the recurring timer should not use\n   add_timer_on().\n\n3. The timers are not serialized wrt to itself.\n\n   If CPU_0 does mod_timer(jiffies+1) while the timer is currently\n   running on CPU 1, it is quite possible that local interrupt on\n   CPU_0 will start that timer before it finished on CPU_1.\n\n4. The timers locking is suboptimal. __mod_timer() takes 3 locks\n   at once and still requires wmb() in del_timer/run_timers.\n\n   The new implementation takes 2 locks sequentially and does not\n   need memory barriers.\n\nCurrently -\u003ebase !\u003d NULL means that the timer is pending. In that case\n-\u003ebase.lock is used to lock the timer. __mod_timer also takes timer-\u003elock\nbecause -\u003ebase can be \u003d\u003d NULL.\n\nThis patch uses timer-\u003eentry.next !\u003d NULL as indication that the timer is\npending. So it does __list_del(), entry-\u003enext \u003d NULL instead of list_del()\nwhen the timer is deleted.\n\nThe -\u003ebase field is used for hashed locking only, it is initialized\nin init_timer() which sets -\u003ebase \u003d per_cpu(tvec_bases). When the\ntvec_bases.lock is locked, it means that all timers which are tied\nto this base via timer-\u003ebase are locked, and the base itself is locked\ntoo.\n\nSo __run_timers/migrate_timers can safely modify all timers which could\nbe found on -\u003etvX lists (pending timers).\n\nWhen the timer\u0027s base is locked, and the timer removed from -\u003eentry list\n(which means that _run_timers/migrate_timers can\u0027t see this timer), it is\npossible to set timer-\u003ebase \u003d NULL and drop the lock: the timer remains\nlocked.\n\nThis patch adds lock_timer_base() helper, which waits for -\u003ebase !\u003d NULL,\nlocks the -\u003ebase, and checks it is still the same.\n\n__mod_timer() schedules the timer on the local CPU and changes it\u0027s base.\nHowever, it does not lock both old and new bases at once. It locks the\ntimer via lock_timer_base(), deletes the timer, sets -\u003ebase \u003d NULL, and\nunlocks old base. Then __mod_timer() locks new_base, sets -\u003ebase \u003d new_base,\nand adds this timer. This simplifies the code, because AB-BA deadlock is not\npossible. __mod_timer() also ensures that the timer\u0027s base is not changed\nwhile the timer\u0027s handler is running on the old base.\n\n__run_timers(), del_timer() do not change -\u003ebase anymore, they only clear\npending flag.\n\nSo del_timer_sync() can test timer-\u003ebase-\u003erunning_timer \u003d\u003d timer to detect\nwhether it is running or not.\n\nWe don\u0027t need timer_list-\u003elock anymore, this patch kills it.\n\nWe also don\u0027t need barriers. del_timer() and __run_timers() used smp_wmb()\nbefore clearing timer\u0027s pending flag. It was needed because __mod_timer()\ndid not lock old_base if the timer is not pending, so __mod_timer()-\u003elist_add()\ncould race with del_timer()-\u003elist_del(). With this patch these functions are\nserialized through base-\u003elock.\n\nOne problem. TIMER_INITIALIZER can\u0027t use per_cpu(tvec_bases). So this patch\nadds global\n\n        struct timer_base_s {\n                spinlock_t lock;\n                struct timer_list *running_timer;\n        } __init_timer_base;\n\nwhich is used by TIMER_INITIALIZER. The corresponding fields in tvec_t_base_s\nstruct are replaced by struct timer_base_s t_base.\n\nIt is indeed ugly. But this can\u0027t have scalability problems. The global\n__init_timer_base.lock is used only when __mod_timer() is called for the first\ntime AND the timer was compile time initialized. After that the timer migrates\nto the local CPU.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Renaud Lienhart \u003crenaud.lienhart@free.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "59121003721a8fad11ee72e646fd9d3076b5679c",
      "tree": "c9279c1b74cce81a9dbaf1e7fd038cd55caf26f2",
      "parents": [
        "799d19f6ec5ca2102c61122f5219a17f1c4e961a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jun 23 00:08:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:10 2005 -0700"
      },
      "message": "[PATCH] i386: Selectable Frequency of the Timer Interrupt\n\nMake the timer frequency selectable. The timer interrupt may cause bus\nand memory contention in large NUMA systems since the interrupt occurs\non each processor HZ times per second.\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b77d6adc922b8bbf8b16b67f567958c42962cf88",
      "tree": "6d212543f10d0330b73ec3932d17c97a1da56bdf",
      "parents": [
        "faec1e99ba9ca7371d9aee1656938373133c4b21"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Tue Jun 21 17:16:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:32 2005 -0700"
      },
      "message": "[PATCH] uml: make hw_controller_type-\u003erelease exist only for archs needing it\n\nWith Chris Wedgwood \u003ccw@f00f.org\u003e\n\nAs suggested by Chris, we can make the \"just added\" method -\u003erelease\nconditional to UML only (better: to archs requesting it, i.e.  only UML\ncurrently), so that other archs don\u0027t get this unneeded crud, and if UML\nwon\u0027t need it any more we can kill this.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCC: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "dbce706e2550253c5ab6043f4f5dfde0cd02470f"
}
