)]}'
{
  "log": [
    {
      "commit": "8a25d5debff2daee280e83e09d8c25d67c26a972",
      "tree": "3bccfef9acb66fc62863bfd6c16493c5e8c8e394",
      "parents": [
        "4ea2176dfa714882e88180b474e4cbcd888b70af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:04 2006 -0700"
      },
      "message": "[PATCH] lockdep: prove spinlock rwlock locking correctness\n\nUse the lock validator framework to prove spinlock and rwlock locking\ncorrectness.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4ea2176dfa714882e88180b474e4cbcd888b70af",
      "tree": "7ff3810f6b8750c226234887bb3063d91e1d71c3",
      "parents": [
        "a8f24a3978c5f82419e1c90dc90460731204f46f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:04 2006 -0700"
      },
      "message": "[PATCH] lockdep: prove rwsem locking correctness\n\nUse the lock validator framework to prove rwsem locking correctness.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8f24a3978c5f82419e1c90dc90460731204f46f",
      "tree": "431cf447835463c04f6d982bade874e8b0eee767",
      "parents": [
        "f3e97da38e1d69d24195d76f96b912323f5ee30c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:04 2006 -0700"
      },
      "message": "[PATCH] lockdep: procfs\n\nLock validator /proc/lockdep and /proc/lockdep_stats support.\n(FIXME: should go into debugfs)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6c9076ec9cd448f43bbda871352a7067f456ee26",
      "tree": "8691366aa511f20146eb9cfe942e0d94c4136e1a",
      "parents": [
        "fbb9ce9530fd9b66096d5187fa6a115d16d9746c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:04 2006 -0700"
      },
      "message": "[PATCH] lockdep: allow read_lock() recursion of same class\n\nFrom: Ingo Molnar \u003cmingo@elte.hu\u003e\n\nlockdep so far only allowed read-recursion for the same lock instance.\nThis is enough in the overwhelming majority of cases, but a hostap case\ntriggered and reported by Miles Lane relies on same-class\ndifferent-instance recursion.  So we relax the restriction on read-lock\nrecursion.\n\n(This change does not allow rwsem read-recursion, which is still\nforbidden.)\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": "fbb9ce9530fd9b66096d5187fa6a115d16d9746c",
      "tree": "1151a55e5d56045bac17b9766e6a4696cff0a26f",
      "parents": [
        "cae2ed9aa573415c6e5de9a09b7ff0d74af793bc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:03 2006 -0700"
      },
      "message": "[PATCH] lockdep: core\n\nDo \u0027make oldconfig\u0027 and accept all the defaults for new config options -\nreboot into the kernel and if everything goes well it should boot up fine and\nyou should have /proc/lockdep and /proc/lockdep_stats files.\n\nTypically if the lock validator finds some problem it will print out\nvoluminous debug output that begins with \"BUG: ...\" and which syslog output\ncan be used by kernel developers to figure out the precise locking scenario.\n\nWhat does the lock validator do?  It \"observes\" and maps all locking rules as\nthey occur dynamically (as triggered by the kernel\u0027s natural use of spinlocks,\nrwlocks, mutexes and rwsems).  Whenever the lock validator subsystem detects a\nnew locking scenario, it validates this new rule against the existing set of\nrules.  If this new rule is consistent with the existing set of rules then the\nnew rule is added transparently and the kernel continues as normal.  If the\nnew rule could create a deadlock scenario then this condition is printed out.\n\nWhen determining validity of locking, all possible \"deadlock scenarios\" are\nconsidered: assuming arbitrary number of CPUs, arbitrary irq context and task\ncontext constellations, running arbitrary combinations of all the existing\nlocking scenarios.  In a typical system this means millions of separate\nscenarios.  This is why we call it a \"locking correctness\" validator - for all\nrules that are observed the lock validator proves it with mathematical\ncertainty that a deadlock could not occur (assuming that the lock validator\nimplementation itself is correct and its internal data structures are not\ncorrupted by some other kernel subsystem).  [see more details and conditionals\nof this statement in include/linux/lockdep.h and\nDocumentation/lockdep-design.txt]\n\nFurthermore, this \"all possible scenarios\" property of the validator also\nenables the finding of complex, highly unlikely multi-CPU multi-context races\nvia single single-context rules, increasing the likelyhood of finding bugs\ndrastically.  In practical terms: the lock validator already found a bug in\nthe upstream kernel that could only occur on systems with 3 or more CPUs, and\nwhich needed 3 very unlikely code sequences to occur at once on the 3 CPUs.\nThat bug was found and reported on a single-CPU system (!).  So in essence a\nrace will be found \"piecemail-wise\", triggering all the necessary components\nfor the race, without having to reproduce the race scenario itself!  In its\nshort existence the lock validator found and reported many bugs before they\nactually caused a real deadlock.\n\nTo further increase the efficiency of the validator, the mapping is not per\n\"lock instance\", but per \"lock-class\".  For example, all struct inode objects\nin the kernel have inode-\u003einotify_mutex.  If there are 10,000 inodes cached,\nthen there are 10,000 lock objects.  But -\u003einotify_mutex is a single \"lock\ntype\", and all locking activities that occur against -\u003einotify_mutex are\n\"unified\" into this single lock-class.  The advantage of the lock-class\napproach is that all historical -\u003einotify_mutex uses are mapped into a single\n(and as narrow as possible) set of locking rules - regardless of how many\ndifferent tasks or inode structures it took to build this set of rules.  The\nset of rules persist during the lifetime of the kernel.\n\nTo see the rough magnitude of checking that the lock validator does, here\u0027s a\nportion of /proc/lockdep_stats, fresh after bootup:\n\n lock-classes:                            694 [max: 2048]\n direct dependencies:                  1598 [max: 8192]\n indirect dependencies:               17896\n all direct dependencies:             16206\n dependency chains:                    1910 [max: 8192]\n in-hardirq chains:                      17\n in-softirq chains:                     105\n in-process chains:                    1065\n stack-trace entries:                 38761 [max: 131072]\n combined max dependencies:         2033928\n hardirq-safe locks:                     24\n hardirq-unsafe locks:                  176\n softirq-safe locks:                     53\n softirq-unsafe locks:                  137\n irq-safe locks:                         59\n irq-unsafe locks:                      176\n\nThe lock validator has observed 1598 actual single-thread locking patterns,\nand has validated all possible 2033928 distinct locking scenarios.\n\nMore details about the design of the lock validator can be found in\nDocumentation/lockdep-design.txt, which can also found at:\n\n   http://redhat.com/~mingo/lockdep-patches/lockdep-design.txt\n\n[bunk@stusta.de: cleanups]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\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": "de30a2b355ea85350ca2f58f3b9bf4e5bc007986",
      "tree": "0bef670aff65614b3c78ca13b20307355b8221d5",
      "parents": [
        "5bdc9b447c0076f494a56fdcd93ee8c5e78a2afd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:03 2006 -0700"
      },
      "message": "[PATCH] lockdep: irqtrace subsystem, core\n\nAccurate hard-IRQ-flags and softirq-flags state tracing.\n\nThis allows us to attach extra functionality to IRQ flags on/off\nevents (such as trace-on/off).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8637c09901049f061b94f684915d4f18ecf91d79",
      "tree": "83ca3ab38ab4d12f4e10176ba01ae33809388767",
      "parents": [
        "f0a5c315eb266edc608a29971bb4ff1a3025c58f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:02 2006 -0700"
      },
      "message": "[PATCH] lockdep: stacktrace subsystem, core\n\nFramework to generate and save stacktraces quickly, without printing anything\nto the console.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e4d919188554a77c798a267e098059bc9aa39726",
      "tree": "bb5e47e09f5d107db44358ad668988f5ae768ade",
      "parents": [
        "9cebb5526833059f327d237a032422c762378b2a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:02 2006 -0700"
      },
      "message": "[PATCH] lockdep: locking init debugging improvement\n\nLocking init improvement:\n\n - introduce and use __SPIN_LOCK_UNLOCKED for array initializations,\n   to pass in the name string of locks, used by debugging\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9cebb5526833059f327d237a032422c762378b2a",
      "tree": "7ef264c1a33db3f63e71cc00ed9fa9c8bd396edc",
      "parents": [
        "9a11b49a805665e13a56aa067afaf81d43ec1514"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: mutex section binutils workaround\n\nWork around weird section nesting build bug causing smp-alternatives failures\nunder certain circumstances.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a11b49a805665e13a56aa067afaf81d43ec1514",
      "tree": "bf499956e3f67d1211d68ab1e2eb76645f453dfb",
      "parents": [
        "fb7e42413a098cc45b3adf858da290033af62bae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: better lock debugging\n\nGeneric lock debugging:\n\n - generalized lock debugging framework. For example, a bug in one lock\n   subsystem turns off debugging in all lock subsystems.\n\n - got rid of the caller address passing (__IP__/__IP_DECL__/etc.) from\n   the mutex/rtmutex debugging code: it caused way too much prototype\n   hackery, and lockdep will give the same information anyway.\n\n - ability to do silent tests\n\n - check lock freeing in vfree too.\n\n - more finegrained debugging options, to allow distributions to\n   turn off more expensive debugging features.\n\nThere\u0027s no separate \u0027held mutexes\u0027 list anymore - but there\u0027s a \u0027held locks\u0027\nstack within lockdep, which unifies deadlock detection across all lock\nclasses.  (this is independent of the lockdep validation stuff - lockdep first\nchecks whether we are holding a lock already)\n\nHere are the current debugging options:\n\nCONFIG_DEBUG_MUTEXES\u003dy\nCONFIG_DEBUG_LOCK_ALLOC\u003dy\n\nwhich do:\n\n config DEBUG_MUTEXES\n          bool \"Mutex debugging, basic checks\"\n\n config DEBUG_LOCK_ALLOC\n         bool \"Detect incorrect freeing of live mutexes\"\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb7e42413a098cc45b3adf858da290033af62bae",
      "tree": "ca8e9d46d0c16f7b3623caf42229c1c61b5a0026",
      "parents": [
        "36596243daf7e1d795c647de04af95e835b8c5b4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: remove mutex deadlock checking code\n\nWith the lock validator we detect mutex deadlocks (and more), the mutex\ndeadlock checking code is both redundant and slower.  So remove it.\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": "36596243daf7e1d795c647de04af95e835b8c5b4",
      "tree": "8348a9f5e3729cf0df5064753bfdcc1ec159eaa8",
      "parents": [
        "9e7f4d451e99b7592a96ad0efaf8bcc1e7b2f854"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: remove DEBUG_BUG_ON()\n\ncleanup: remove unused DEBUG_BUG_ON() defines.\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": "9e7f4d451e99b7592a96ad0efaf8bcc1e7b2f854",
      "tree": "bc61ead5d497222f93acebbb5cbe1debf6b758ee",
      "parents": [
        "61f4c3d6db3ecbdd4e1a2a7a1710c1410d085dd1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: rename DEBUG_WARN_ON()\n\nRename DEBUG_WARN_ON() to the less generic DEBUG_LOCKS_WARN_ON() name, so that\nit\u0027s clear that this is a lock-debugging internal mechanism.\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": "c4e05116a2c4d8187127dbf77ab790aa57a47388",
      "tree": "58f07aed47ee4d30e9588d5a820c245faa163b09",
      "parents": [
        "8b3db9c542e18b71d4820da4dd9401ee030feacb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: clean up rwsems\n\nClean up rwsems.\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": "4d435f9d8ff01ae726a2a84edb9c2457787a337e",
      "tree": "c4c65b739187731e89893cd10faf270067c81a56",
      "parents": [
        "93e028148fce0be9787de7fb097fa4c8582b78c1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:00 2006 -0700"
      },
      "message": "[PATCH] lockdep: add is_module_address()\n\nAdd is_module_address() method - to be used by lockdep.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9614634fe6a138fd8ae044950700d2af8d203f97",
      "tree": "9b020c1d36d8625f4048c057058efb2e17c81973",
      "parents": [
        "cb6358eb69d9854f65f2979c0ce9280eee041828"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Jul 03 00:24:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:26:59 2006 -0700"
      },
      "message": "[PATCH] ZVC/zone_reclaim: Leave 1% of unmapped pagecache pages for file I/O\n\nIt turns out that it is advantageous to leave a small portion of unmapped file\nbacked pages if all of a zone\u0027s pages (or almost all pages) are allocated and\nso the page allocator has to go off-node.\n\nThis allows recently used file I/O buffers to stay on the node and\nreduces the times that zone reclaim is invoked if file I/O occurs\nwhen we run out of memory in a zone.\n\nThe problem is that zone reclaim runs too frequently when the page cache is\nused for file I/O (read write and therefore unmapped pages!) alone and we have\nalmost all pages of the zone allocated.  Zone reclaim may remove 32 unmapped\npages.  File I/O will use these pages for the next read/write requests and the\nunmapped pages increase.  After the zone has filled up again zone reclaim will\nremove it again after only 32 pages.  This cycle is too inefficient and there\nare potentially too many zone reclaim cycles.\n\nWith the 1% boundary we may still remove all unmapped pages for file I/O in\nzone reclaim pass.  However.  it will take a large number of read and writes\nto get back to 1% again where we trigger zone reclaim again.\n\nThe zone reclaim 2.6.16/17 does not show this behavior because we have a 30\nsecond timeout.\n\n[akpm@osdl.org: rename the /proc file and the variable]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "284c66806eb6df7f5c66d298681f1abe81a5a9ab",
      "tree": "b6573efe262b85a5bd3cf3c2a7964214143125ed",
      "parents": [
        "52e405eaa9806968e88b35d65e57acad954a5ab5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 03 02:20:32 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 17:29:22 2006 -0700"
      },
      "message": "[PATCH] genirq:fixup missing SA_PERCPU replacement\n\nThe irqflags consolidation converted SA_PERCPU_IRQ to IRQF_PERCPU but\ndid not define the new constant.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d061daa0e3abdddc28e21a37c8ac4536dedbf239",
      "tree": "6c08e7b8ed988053f421e38578fa11db538b0747",
      "parents": [
        "f82bc1762e0e74b7e0040a4d83be06d32c37fc2e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 03 02:18:48 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 17:29:21 2006 -0700"
      },
      "message": "[PATCH] genirq: ARM dyntick cleanup\n\nLinus: \"The hacks in kernel/irq/handle.c are really horrid. REALLY\nhorrid.\"\n\nThey are indeed. Move the dyntick quirks to ARM where they belong.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4b9034132c7e1e4474999e688dd7d03b7d97a99",
      "tree": "c02c571b9e0e59b9ffa18baae23c83f09ff07adb",
      "parents": [
        "a8c4c20dfa8b28a3c99e33c639d9c2ea5657741e",
        "07d265dd59456f702b7d2a1ac471f06ee4adc9ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 15:07:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 15:07:45 2006 -0700"
      },
      "message": "Merge branch \u0027genirq\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027genirq\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (24 commits)\n  [ARM] 3683/2:  ARM: Convert at91rm9200 to generic irq handling\n  [ARM] 3682/2:  ARM: Convert ixp4xx to generic irq handling\n  [ARM] 3702/1: ARM: Convert ixp23xx to generic irq handling\n  [ARM] 3701/1: ARM: Convert plat-omap to generic irq handling\n  [ARM] 3700/1: ARM: Convert lh7a40x to generic irq handling\n  [ARM] 3699/1: ARM: Convert s3c2410 to generic irq handling\n  [ARM] 3698/1: ARM: Convert sa1100 to generic irq handling\n  [ARM] 3697/1: ARM: Convert shark to generic irq handling\n  [ARM] 3696/1: ARM: Convert clps711x to generic irq handling\n  [ARM] 3694/1: ARM: Convert ecard driver to generic irq handling\n  [ARM] 3693/1: ARM: Convert omap1 to generic irq handling\n  [ARM] 3691/1: ARM: Convert imx to generic irq handling\n  [ARM] 3688/1: ARM: Convert clps7500 to generic irq handling\n  [ARM] 3687/1: ARM: Convert integrator to generic irq handling\n  [ARM] 3685/1: ARM: Convert pxa to generic irq handling\n  [ARM] 3684/1: ARM: Convert l7200 to generic irq handling\n  [ARM] 3681/1: ARM: Convert ixp2000 to generic irq handling\n  [ARM] 3680/1: ARM: Convert footbridge to generic irq handling\n  [ARM] 3695/1: ARM drivers/pcmcia: Fixup includes\n  [ARM] 3689/1: ARM drivers/input/touchscreen: Fixup includes\n  ...\n\nManual conflict resolved in kernel/irq/handle.c (butt-ugly ARM tickless\ncode).\n"
    },
    {
      "commit": "3cca53b02a5bab0f407b1add2f84c22c20243a79",
      "tree": "06d375432c8c5c8895378e0b5049920e73211b2d",
      "parents": [
        "85ac3ab254405edcc7bef7d61b03930247882efc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 19:29:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 13:58:49 2006 -0700"
      },
      "message": "[PATCH] irq-flags: generic irq: Use the new IRQF_ constants\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8b5473fcbddbfde827ecf82aa0e81fa2a878220",
      "tree": "0d6d504f95830610cb2c2fb1e6e9e1ebf932762b",
      "parents": [
        "a2166abd06e7a9fd34eb18b7b27da18c6146e6ef"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 22:30:08 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jul 01 22:30:08 2006 +0100"
      },
      "message": "[ARM] 3690/1: genirq: Introduce and make use of dummy irq chip\n\nPatch from Thomas Gleixner\n\nFrom: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nARM has a couple of really dumb interrupt controllers.\nImplement a generic one and fixup the ARM migration. ARM reused\nthe no_irq_chip for this purpose, but this does not work out\nfor platforms which are not converted to the new interrupt\ntype handling model.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "a2166abd06e7a9fd34eb18b7b27da18c6146e6ef",
      "tree": "42071bca4f8e53295c2c5ce50db43e86a3d4fc37",
      "parents": [
        "9262e9149f346a5443300f8c451b8e7631e81a42"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 22:30:07 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jul 01 22:30:07 2006 +0100"
      },
      "message": "[ARM] 3679/1: ARM: Make ARM dyntick implementation work with genirq\n\nPatch from Thomas Gleixner\n\nFrom: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nMake the ARM dyntick implementation work with the generic\nirq code. This hopefully goes away once we consolidated the\ndyntick implementations.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "fc25465f09414538afdbceacc517dd4dbabadeca",
      "tree": "0e1b051a7ee108d3062949094da55626729d0a5b",
      "parents": [
        "b4bc7b53ccfa0cb793591ba11af49db8f1bc5a4d",
        "b915543b46a2aa599fdd2169e51bcfd88812a12b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:59:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:59:08 2006 -0700"
      },
      "message": "Merge branch \u0027audit.b22\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b22\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [PATCH] audit syscall classes\n  [PATCH] audit: support for object context filters\n  [PATCH] audit: rename AUDIT_SE_* constants\n  [PATCH] add rule filterkey\n"
    },
    {
      "commit": "e8c4b9d003e72199a705fb5a40fcd2487fa16933",
      "tree": "e1bad5c0ba134e55c1e22921a96eabf348c305c0",
      "parents": [
        "17311c03c3e2c16d64d9e8cb2a3f45be2e2f8d3b"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Sat Jul 01 04:35:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:55:57 2006 -0700"
      },
      "message": "[PATCH] IRQ: warning message cleanup\n\nMake warnings more consistent.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\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": "17311c03c3e2c16d64d9e8cb2a3f45be2e2f8d3b",
      "tree": "69e3f1f22323f0399c953584439b48ead7d2d5a8",
      "parents": [
        "ed6f7b10e657b98b4ba89385d02852c8bdf3980e"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Sat Jul 01 04:35:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:55:57 2006 -0700"
      },
      "message": "[PATCH] IRQ: Use SA_PERCPU_IRQ, not IRQ_PER_CPU, for irqaction.flags\n\nIRQ_PER_CPU is a bit in the struct irq_desc \"status\" field, not in the\nstruct irqaction \"flags\", so the previous code checked the wrong bit.\n\nSA_PERCPU_IRQ is only used by drivers/char/mmtimer.c for SGI ia64 boxes.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ed6f7b10e657b98b4ba89385d02852c8bdf3980e",
      "tree": "a53bfca204307322400c3fff1e75563233d38dfc",
      "parents": [
        "a99e4e413e1ab9f3c567b5519f5557afd786dc62"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 01 04:35:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:55:57 2006 -0700"
      },
      "message": "[PATCH] pi-futex: futex_wake() lockup fix\n\nFix futex_wake() exit condition bug when handling the robust-list with PI\nfutexes on them.\n\n(reported by Ulrich Drepper, debugged by the lock validator.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a99e4e413e1ab9f3c567b5519f5557afd786dc62",
      "tree": "31998183648206018452ae0c3c46aaa19724bd74",
      "parents": [
        "9262e9149f346a5443300f8c451b8e7631e81a42"
      ],
      "author": {
        "name": "Vernon Mauery",
        "email": "vernux@us.ibm.com",
        "time": "Sat Jul 01 04:35:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:55:57 2006 -0700"
      },
      "message": "[PATCH] pi-futex: fix mm_struct memory leak\n\nlock_queue was getting called essentially twice in a row and was\ncontinually incrementing the mm_count ref count, thus causing a memory\nleak.\n\nDinakar Guniguntala provided a proper fix for the problem that simply grabs\nthe spinlock for the hash bucket queue rather than calling lock_queue.\n\nThe second time we do a queue_lock in futex_lock_pi, we really only need to\ntake the hash bucket lock.\n\nSigned-off-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nSigned-off-by: Vernon Mauery \u003cvernux@us.ibm.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\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": "b915543b46a2aa599fdd2169e51bcfd88812a12b",
      "tree": "8025e6654829d4c245b5b6b6f47a84543ebffb7b",
      "parents": [
        "6e5a2d1d32596850a0ebf7fb3e54c0d69901dabd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 01 03:56:16 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 01 07:44:10 2006 -0400"
      },
      "message": "[PATCH] audit syscall classes\n\nAllow to tie upper bits of syscall bitmap in audit rules to kernel-defined\nsets of syscalls.  Infrastructure, a couple of classes (with 32bit counterparts\nfor biarch targets) and actual tie-in on i386, amd64 and ia64.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6e5a2d1d32596850a0ebf7fb3e54c0d69901dabd",
      "tree": "27718d7df96c9b9f08a2ba333aa36c8e9ebbadfe",
      "parents": [
        "3a6b9f85c641a3b89420b0c8150ed377526a1fe1"
      ],
      "author": {
        "name": "Darrel Goeddel",
        "email": "dgoeddel@trustedcs.com",
        "time": "Thu Jun 29 16:57:08 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 01 05:44:19 2006 -0400"
      },
      "message": "[PATCH] audit: support for object context filters\n\nThis patch introduces object audit filters based on the elements\nof the SELinux context.\n\nSigned-off-by: Darrel Goeddel \u003cdgoeddel@trustedcs.com\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n\n kernel/auditfilter.c           |   25 +++++++++++++++++++++++++\n kernel/auditsc.c               |   40 ++++++++++++++++++++++++++++++++++++++++\n security/selinux/ss/services.c |   18 +++++++++++++++++-\n 3 files changed, 82 insertions(+), 1 deletion(-)\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3a6b9f85c641a3b89420b0c8150ed377526a1fe1",
      "tree": "e44e64edf0620d3f6da443c57540b09882231459",
      "parents": [
        "5adc8a6adc91c4c85a64c75a70a619fffc924817"
      ],
      "author": {
        "name": "Darrel Goeddel",
        "email": "dgoeddel@trustedcs.com",
        "time": "Thu Jun 29 16:56:39 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 01 05:44:08 2006 -0400"
      },
      "message": "[PATCH] audit: rename AUDIT_SE_* constants\n\nThis patch renames some audit constant definitions and adds\nadditional definitions used by the following patch.  The renaming\navoids ambiguity with respect to the new definitions.\n\nSigned-off-by: Darrel Goeddel \u003cdgoeddel@trustedcs.com\u003e\n\n include/linux/audit.h          |   15 ++++++++----\n kernel/auditfilter.c           |   50 ++++++++++++++++++++---------------------\n kernel/auditsc.c               |   10 ++++----\n security/selinux/ss/services.c |   32 +++++++++++++-------------\n 4 files changed, 56 insertions(+), 51 deletions(-)\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5adc8a6adc91c4c85a64c75a70a619fffc924817",
      "tree": "ace9af6bbc3cf711f43cfd88e834baeb6989ca3f",
      "parents": [
        "9262e9149f346a5443300f8c451b8e7631e81a42"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Wed Jun 14 18:45:21 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 01 05:43:06 2006 -0400"
      },
      "message": "[PATCH] add rule filterkey\n\nAdd support for a rule key, which can be used to tie audit records to audit\nrules.  This is useful when a watched file is accessed through a link or\nsymlink, as well as for general audit log analysis.\n\nBecause this patch uses a string key instead of an integer key, there is a bit\nof extra overhead to do the kstrdup() when a rule fires.  However, we\u0027re also\nallocating memory for the audit record buffer, so it\u0027s probably not that\nsignificant.  I went ahead with a string key because it seems more\nuser-friendly.\n\nNote that the user must ensure that filterkeys are unique.  The kernel only\nchecks for duplicate rules.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hpd.com\u003e\n"
    },
    {
      "commit": "22a3e233ca08a2ddc949ba1ae8f6e16ec7ef1a13",
      "tree": "7ef158ba2c30e0dde2dc103d1904fae243759a6b",
      "parents": [
        "39302175c26d74be35715c05a0f342c9e64c21bf",
        "6ab3d5624e172c553004ecc862bfeac16d9d68b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  Remove obsolete #include \u003clinux/config.h\u003e\n  remove obsolete swsusp_encrypt\n  arch/arm26/Kconfig typos\n  Documentation/IPMI typos\n  Kconfig: Typos in net/sched/Kconfig\n  v9fs: do not include linux/version.h\n  Documentation/DocBook/mtdnand.tmpl: typo fixes\n  typo fixes: specfic -\u003e specific\n  typo fixes in Documentation/networking/pktgen.txt\n  typo fixes: occuring -\u003e occurring\n  typo fixes: infomation -\u003e information\n  typo fixes: disadvantadge -\u003e disadvantage\n  typo fixes: aquire -\u003e acquire\n  typo fixes: mecanism -\u003e mechanism\n  typo fixes: bandwith -\u003e bandwidth\n  fix a typo in the RTC_CLASS help text\n  smb is no longer maintained\n\nManually merged trivial conflict in arch/um/kernel/vmlinux.lds.S\n"
    },
    {
      "commit": "e7b384043e27bed4f23b108481b99c518dd01a01",
      "tree": "52f944bf39d3a7b329f4e38d619d7949e35510a0",
      "parents": [
        "92fe15a3d24fa53e7e961c549c488d0bb642d895"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 30 01:56:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:38 2006 -0700"
      },
      "message": "[PATCH] cond_resched() fix\n\nFix a bug identified by Zou Nan hai \u003cnanhai.zou@intel.com\u003e:\n\nIf the system is in state SYSTEM_BOOTING, and need_resched() is true,\ncond_resched() returns true even though it didn\u0027t reschedule.  Consequently\nneed_resched() remains true and JBD locks up.\n\nFix that by teaching cond_resched() to only return true if it really did call\nschedule().\n\ncond_resched_lock() and cond_resched_softirq() have a problem too.  If we\u0027re\nin SYSTEM_BOOTING state and need_resched() is true, these functions will drop\nthe lock and will then try to call schedule(), but the SYSTEM_BOOTING state\nwill prevent schedule() from being called.  So on return, need_resched() will\nstill be true, but cond_resched_lock() has to return 1 to tell the caller that\nthe lock was dropped.  The caller will probably lock up.\n\nBottom line: if these functions dropped the lock, they _must_ call schedule()\nto clear need_resched().   Make it so.\n\nAlso, uninline __cond_resched().  It\u0027s largeish, and slowpath.\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f95dc58d0505516f5cc212a966aea2f2cdb5e44",
      "tree": "2a57ad36db88621ee079fffe34b1cf9bff62b1f4",
      "parents": [
        "f9008e4c5c525941967b67777945aa6266ab6326"
      ],
      "author": {
        "name": "David Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Fri Jun 30 01:55:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:37 2006 -0700"
      },
      "message": "[PATCH] SELinux: add security hook call to kill_proc_info_as_uid\n\nThis patch adds a call to the extended security_task_kill hook introduced by\nthe prior patch to the kill_proc_info_as_uid function so that these signals\ncan be properly mediated by security modules.  It also updates the existing\nhook call in check_kill_permission.\n\nSigned-off-by: David Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34aa1330f9b3c5783d269851d467326525207422",
      "tree": "a47db4fa53527ea937dee9e763267ab21865ce11",
      "parents": [
        "f3dbd34460ff54962d3e3244b6bcb7f5295356e6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:35 2006 -0700"
      },
      "message": "[PATCH] zoned vm counters: zone_reclaim: remove /proc/sys/vm/zone_reclaim_interval\n\nThe zone_reclaim_interval was necessary because we were not able to determine\nhow many unmapped pages exist in a zone.  Therefore we had to scan in\nintervals to figure out if any pages were unmapped.\n\nWith the zoned counters and NR_ANON_PAGES we now know the number of pagecache\npages and the number of mapped pages in a zone.  So we can simply skip the\nreclaim if there is an insufficient number of unmapped pages.  We use\nSWAP_CLUSTER_MAX as the boundary.\n\nDrop all support for /proc/sys/vm/zone_reclaim_interval.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "e02169b682bc448ccdc819dc8639ed34a23cedd8",
      "tree": "bc23410be990f89d13938f9e299b281b5015cf84",
      "parents": [
        "fcb4ee8852e2e9326e102f0910c029de45afabba"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Fri Jun 30 18:59:59 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 18:59:59 2006 +0200"
      },
      "message": "remove obsolete swsusp_encrypt\n\nRemove SWSUSP_ENCRYPT config option; it is no longer implemented.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "80f7228b59e4bbe9d840af3ff0f2fe480d6e7c79",
      "tree": "08e6d2365abeafd7bfcc0fd7485db9055463d72c",
      "parents": [
        "47bdd718c6547d84c8e140cd0f495c016f13b08b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 18:27:16 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 18:27:16 2006 +0200"
      },
      "message": "typo fixes: occuring -\u003e occurring\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "c7bdb545d23026b18be53289fd866d1ac07f5f8c",
      "tree": "6d9a218871d88f7579dd53f14692df2529b6e712",
      "parents": [
        "576a30eb6453439b3c37ba24455ac7090c247b5a"
      ],
      "author": {
        "name": "Darrel Goeddel",
        "email": "dgoeddel@trustedcs.com",
        "time": "Tue Jun 27 13:26:11 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 29 16:57:55 2006 -0700"
      },
      "message": "[NETLINK]: Encapsulate eff_cap usage within security framework.\n\nThis patch encapsulates the usage of eff_cap (in netlink_skb_params) within\nthe security framework by extending security_netlink_recv to include a required\ncapability parameter and converting all direct usage of eff_caps outside\nof the lsm modules to use the interface.  It also updates the SELinux\nimplementation of the security_netlink_send and security_netlink_recv\nhooks to take advantage of the sid in the netlink_skb_params struct.\nThis also enables SELinux to perform auditing of netlink capability checks.\nPlease apply, for 2.6.18 if possible.\n\nSigned-off-by: Darrel Goeddel \u003cdgoeddel@trustedcs.com\u003e\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by:  James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3aa590c6b7c89d844f81c2e96f295cf2c6967773",
      "tree": "6f18b295b1ff4cd7fd1880db6f56721599d64439",
      "parents": [
        "4d3ce21fa9d2eaeda113aa2f9c2da80d972bef64",
        "339d76c54336443f5050b00172beb675f35e3be0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 11:32:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 11:32:34 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (43 commits)\n  [POWERPC] Use little-endian bit from firmware ibm,pa-features property\n  [POWERPC] Make sure smp_processor_id works very early in boot\n  [POWERPC] U4 DART improvements\n  [POWERPC] todc: add support for Time-Of-Day-Clock\n  [POWERPC] Make lparcfg.c work when both iseries and pseries are selected\n  [POWERPC] Fix idr locking in init_new_context\n  [POWERPC] mpc7448hpc2 (taiga) board config file\n  [POWERPC] Add tsi108 pci and platform device data register function\n  [POWERPC] Add general support for mpc7448hpc2 (Taiga) platform\n  [POWERPC] Correct the MAX_CONTEXT definition\n  powerpc: minor cleanups for mpc86xx\n  [POWERPC] Make sure we select CONFIG_NEW_LEDS if ADB_PMU_LED is set\n  [POWERPC] Simplify the code defining the 64-bit CPU features\n  [POWERPC] powerpc: kconfig warning fix\n  [POWERPC] Consolidate some of kernel/misc*.S\n  [POWERPC] Remove unused function call_with_mmu_off\n  [POWERPC] update asm-powerpc/time.h\n  [POWERPC] Clean up it_lp_queue.h\n  [POWERPC] Skip the \"copy down\" of the kernel if it is already at zero.\n  [POWERPC] Add the use of the firmware soft-reset-nmi to kdump.\n  ...\n"
    },
    {
      "commit": "1903ac54f8536b11478e4f01c339e10b538f59e0",
      "tree": "ff5410f0539ab4aa09f964fa1d0c6dc26c614dc2",
      "parents": [
        "47c2a3aa4475d27073dd3c7e183fcc13f495c8f5",
        "87937472ff8e34ad5c7b798a8a52e4368af216df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:49:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:49:17 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6:\n  [PATCH] i386: export memory more than 4G through /proc/iomem\n  [PATCH] 64bit Resource: finally enable 64bit resource sizes\n  [PATCH] 64bit Resource: convert a few remaining drivers to use resource_size_t where needed\n  [PATCH] 64bit resource: change pnp core to use resource_size_t\n  [PATCH] 64bit resource: change pci core and arch code to use resource_size_t\n  [PATCH] 64bit resource: change resource core to use resource_size_t\n  [PATCH] 64bit resource: introduce resource_size_t for the start and end of struct resource\n  [PATCH] 64bit resource: fix up printks for resources in misc drivers\n  [PATCH] 64bit resource: fix up printks for resources in arch and core code\n  [PATCH] 64bit resource: fix up printks for resources in pcmcia drivers\n  [PATCH] 64bit resource: fix up printks for resources in video drivers\n  [PATCH] 64bit resource: fix up printks for resources in ide drivers\n  [PATCH] 64bit resource: fix up printks for resources in mtd drivers\n  [PATCH] 64bit resource: fix up printks for resources in pci core and hotplug drivers\n  [PATCH] 64bit resource: fix up printks for resources in networks drivers\n  [PATCH] 64bit resource: fix up printks for resources in sound drivers\n  [PATCH] 64bit resource: C99 changes for struct resource declarations\n\nFixed up trivial conflict in drivers/ide/pci/cmd64x.c (the printk that\nwas changed by the 64-bit resources had been deleted in the meantime ;)\n"
    },
    {
      "commit": "47c2a3aa4475d27073dd3c7e183fcc13f495c8f5",
      "tree": "d151e03da804103753977c2c94e17b71104e3d35",
      "parents": [
        "f702d7013c7470284843a6370aaa53b8b75c5a40"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:25:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:26 2006 -0700"
      },
      "message": "[PATCH] genirq: add chip-\u003eeoi(), fastack -\u003e fasteoi\n\nClean up the fastack concept by turning it into fasteoi and introducing the\n-\u003eeoi() method for chips.\n\nThis also allows the cleanup of an i386 EOI quirk - now the quirk is\ncleanly separated from the pure ACK implementation.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "98bb244b685eb2a297aa60fa2e5c0631f95828e1",
      "tree": "468ab2cf22dc3b10d1bc48660360b908d24cabef",
      "parents": [
        "f210be198ddd3f54b17d4aa6e69b829f75f226e5"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jun 29 02:25:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:25 2006 -0700"
      },
      "message": "[PATCH] genirq: fasteoi handler: handle interrupt disabling\n\nNote when a disable interrupt happened with the fasteoi handler as well so\nthat delayed disable can be implemented with fasteoi-type controllers.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "43f7775944e40221827e4b3aec43824aa4c4e4a9",
      "tree": "842490e2fe78b8676741d1b012a4256c2224685c",
      "parents": [
        "f1c2662cbc6a0a9772655649bdf579803d33470b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:25 2006 -0700"
      },
      "message": "[PATCH] genirq: more verbose debugging on unexpected IRQ vectors\n\nOne frequent sign of IRQ handling bugs is the appearance of unexpected\nvectors.  Print out all the IRQ state in that case.  We dont want this patch\nupstream, but it is useful during initial testing.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f1c2662cbc6a0a9772655649bdf579803d33470b",
      "tree": "ab6d0cc97527941e038edf0532f3917fca0953f8",
      "parents": [
        "e76de9f8eb67b7acc1cc6f28c4be8583adf0a90c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:25 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: no_irq_type -\u003e no_irq_chip rename\n\nRename no_irq_type to no_irq_chip.\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": "e76de9f8eb67b7acc1cc6f28c4be8583adf0a90c",
      "tree": "b2c1c4f58f11772880a48c63c1138fe3b2787c9c",
      "parents": [
        "ba9a2331bae5da8f65be3722b9e2d210f1987857"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add SA_TRIGGER support\n\nEnable drivers to request an IRQ with a given irq-flow (trigger/polarity)\nsetting.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "ba9a2331bae5da8f65be3722b9e2d210f1987857",
      "tree": "ca7cf6a1cfcab2fc4423eb38832236cfb627eaf2",
      "parents": [
        "7a55713ab456d267815fd5ca3c3d0fd14301f306"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add irq-wake (power-management) support\n\nEnable platforms to set the irq-wake (power-management) properties of an IRQ.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "7a55713ab456d267815fd5ca3c3d0fd14301f306",
      "tree": "a318479efa070eb912fa3dd43738d2b1ae252837",
      "parents": [
        "dd87eb3a24c4527741122713e223d74b85d43c85"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add handle_bad_irq()\n\nHandle bad IRQ vectors via the irqchip mechanism.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd87eb3a24c4527741122713e223d74b85d43c85",
      "tree": "0c3796af23da908515d890a7b8fde37893eb3b2a",
      "parents": [
        "dae8620421833bb2e9a01c4ccc42bdc3759b81df"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add irq-chip support\n\nEnable platforms to use the irq-chip and irq-flow abstractions: allow setting\nof the chip, the type and provide highlevel handlers for common irq-flows.\n\n[rostedt@goodmis.org: misroute-irq: Don\u0027t call desc-\u003echip-\u003eend because of edge interrupts]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6a6de9ef5850d063c3d3fb50784bfe3a6d0712c6",
      "tree": "d09f1887fd8890c820559b931140afe4c68f2d7f",
      "parents": [
        "a34db9b28a1c63317e1d6f1080a12d711579e7d0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: core\n\nCore genirq support: add the irq-chip and irq-flow abstractions.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "a34db9b28a1c63317e1d6f1080a12d711579e7d0",
      "tree": "5b4f604cb80fff6f662e407042390941cf9182c9",
      "parents": [
        "94d39e1f6e8132ea982a1d61acbe0423d3d14365"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: update copyrights\n\nUpdate/add copyrights in the generic IRQ code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "94d39e1f6e8132ea982a1d61acbe0423d3d14365",
      "tree": "68ba3666c1d2c0805089e8ffdb47da961a760450",
      "parents": [
        "6550c775cb5ee94c132d93d84de3bb23f0abf37b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add IRQ_NOAUTOEN support\n\nEnable platforms to disable the automatic enabling of freshly set up irqs.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "6550c775cb5ee94c132d93d84de3bb23f0abf37b",
      "tree": "818ae46cfe30265bbecc095262de53e9c8dcb012",
      "parents": [
        "3418d72404e35eb19e7995cbf3e7a76ba8fefbce"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add IRQ_NOREQUEST support\n\nEnable platforms to disable request_irq() for certain interrupts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "3418d72404e35eb19e7995cbf3e7a76ba8fefbce",
      "tree": "08e727f94d4ff31410730d5d42119b3520ad10ca",
      "parents": [
        "a4633adcdbc15ac51afcd0e1395de58cee27cf92"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add IRQ_NOPROBE support\n\nIntroduce IRQ_NOPROBE: enables platforms to control chip-probing.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "a4633adcdbc15ac51afcd0e1395de58cee27cf92",
      "tree": "5ab714eba77aec7546e862ac6d63a22010819efe",
      "parents": [
        "11c869eaf1a9c97ef273f824a697fac017d68286"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:23 2006 -0700"
      },
      "message": "[PATCH] genirq: add genirq sw IRQ-retrigger\n\nEnable platforms that do not have a hardware-assisted hardirq-resend mechanism\nto resend them via a softirq-driven IRQ emulation mechanism.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "77a5afecdb15e65034ab8390b46b824c186c62a8",
      "tree": "a01c9d567f74ac979f3e4ab1122312eca1e693d7",
      "parents": [
        "8d28bc751bb9ad479e33964d5d9eedfe5fb488a5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:23 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: no_irq_type cleanups\n\nClean up no_irq_type: share the NOP functions where possible, and properly\nname the ack_bad() function.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d28bc751bb9ad479e33964d5d9eedfe5fb488a5",
      "tree": "23f23556a1b83e9e7e00bb0086bb57284389fb85",
      "parents": [
        "8fee5c36177ee098fa41f5fe72999609fef4df6b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:23 2006 -0700"
      },
      "message": "[PATCH] genirq: doc: handle_IRQ_event() and __do_IRQ() comments\n\nDocument handle_IRQ_event() and __do_IRQ().\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0ad90a32fb60f4129d0e24dfd5fd7128e2e09f2",
      "tree": "260d99ab74d33a37cbcc3557e2f18a5e96879f4d",
      "parents": [
        "096c8131c573ed37939dc3f1440221c92c87e74b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:23 2006 -0700"
      },
      "message": "[PATCH] genirq: add -\u003eretrigger() irq op to consolidate hw_irq_resend()\n\nAdd -\u003eretrigger() irq op to consolidate hw_irq_resend() implementations.\n(Most architectures had it defined to NOP anyway.)\n\nNOTE: ia64 needs testing. i386 and x86_64 tested.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "096c8131c573ed37939dc3f1440221c92c87e74b",
      "tree": "b26b23978a4118e0fae1cf19065e3a23d40159c1",
      "parents": [
        "0d7012a968d006e277eb0fe20edd7a9b5563c2b7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:23 2006 -0700"
      },
      "message": "[PATCH] genirq: debug: better debug printout in enable_irq()\n\nMake enable_irq() debug printouts user-readable.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "0d7012a968d006e277eb0fe20edd7a9b5563c2b7",
      "tree": "1077acc018d78aed6991f8d3913f9a52d431bca1",
      "parents": [
        "cd916d31cc31273eca8a620fae02b7bf7f577559"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:23 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: turn ARCH_HAS_IRQ_PER_CPU into CONFIG_IRQ_PER_CPU\n\nCleanup: change ARCH_HAS_IRQ_PER_CPU into a Kconfig method.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd916d31cc31273eca8a620fae02b7bf7f577559",
      "tree": "1af0c37c1fd92c90a178ed1a7d1d8b5a90a1ddb8",
      "parents": [
        "4a733ee12618cf3ec25cbc337a5e0ba3ad5d7fb6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: merge pending_irq_cpumask[] into irq_desc[]\n\nConsolidation: remove the pending_irq_cpumask[NR_IRQS] array and move it into\nthe irq_desc[NR_IRQS].pending_mask field.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4a733ee12618cf3ec25cbc337a5e0ba3ad5d7fb6",
      "tree": "efee6dfbfcfd08fbe1f2462afb299aeb5624354b",
      "parents": [
        "71d218b75fa91219c6bd310fbdd257dfbcac6c88"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: merge irq_dir[], smp_affinity_entry[] into irq_desc[]\n\nConsolidation: remove the irq_dir[NR_IRQS] and the smp_affinity_entry[NR_IRQS]\narrays and move them into the irq_desc[] array.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34ffdb7233d5847808d2b63ca6761dac3af9c942",
      "tree": "3eb73aae034729eac24f7f2ee809ba913b32a51b",
      "parents": [
        "06fcb0c6fb3aae9570a32ac3b72a8222563baa69"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: reduce irq_desc_t use, mark it obsolete\n\nCleanup: remove irq_desc_t use from the generic IRQ code, and mark it\nobsolete.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "06fcb0c6fb3aae9570a32ac3b72a8222563baa69",
      "tree": "c1f9d750a42031434971b2271882b907fd7838f5",
      "parents": [
        "2e60bbb6d50de654d8e68f115161e27878b5e72d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: misc code cleanups\n\nAssorted code cleanups to the generic IRQ code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2e60bbb6d50de654d8e68f115161e27878b5e72d",
      "tree": "ff92bd2a7aa0a6bcb3b00280fbb906ea1006b226",
      "parents": [
        "a8553acd6c14e827078779c0a0ee1c18f27b2403"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: remove fastcall\n\nNow that i386 defaults to regparm, explicit uses of fastcall are not needed\nanymore.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8553acd6c14e827078779c0a0ee1c18f27b2403",
      "tree": "0dc7b8d52e7fd5c6fba90a9495cfbfa1d4e568e6",
      "parents": [
        "a53da52fd743fd637637572838c0a7af23a2d038"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: remove irq_descp()\n\nCleanup: remove irq_descp() - explicit use of irq_desc[] is shorter and more\nreadable.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a53da52fd743fd637637572838c0a7af23a2d038",
      "tree": "b62c205b609356db5bca378c6d04d6d899bfd499",
      "parents": [
        "74ffd553a3a7fbae34be70b751852d5b6fe5acac"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: merge irq_affinity[] into irq_desc[]\n\nConsolidation: remove the irq_affinity[NR_IRQS] array and move it into the\nirq_desc[NR_IRQS].affinity field.\n\n[akpm@osdl.org: sparc64 build fix]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74ffd553a3a7fbae34be70b751852d5b6fe5acac",
      "tree": "a92e746310fc73cc5577b8a1cb6e6552f8dc630a",
      "parents": [
        "d1bef4ed5faf7d9872337b33c4269e45ae1bf960"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:21 2006 -0700"
      },
      "message": "[PATCH] genirq: sem2mutex probe_sem -\u003e probing_active\n\nConvert the irq auto-probing semaphore to a mutex.  (This allows us to find\nprobing API usage bugs sooner, via the mutex debugging code.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d1bef4ed5faf7d9872337b33c4269e45ae1bf960",
      "tree": "a88c58e3102396382e9137a25a884af14421f6a6",
      "parents": [
        "cfb9e32f2ff32ef5265c1c80fe68dd1a7f03a604"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:21 2006 -0700"
      },
      "message": "[PATCH] genirq: rename desc-\u003ehandler to desc-\u003echip\n\nThis patch-queue improves the generic IRQ layer to be truly generic, by adding\nvarious abstractions and features to it, without impacting existing\nfunctionality.\n\nWhile the queue can be best described as \"fix and improve everything in the\ngeneric IRQ layer that we could think of\", and thus it consists of many\nsmaller features and lots of cleanups, the one feature that stands out most is\nthe new \u0027irq chip\u0027 abstraction.\n\nThe irq-chip abstraction is about describing and coding and IRQ controller\ndriver by mapping its raw hardware capabilities [and quirks, if needed] in a\nstraightforward way, without having to think about \"IRQ flow\"\n(level/edge/etc.) type of details.\n\nThis stands in contrast with the current \u0027irq-type\u0027 model of genirq\narchitectures, which \u0027mixes\u0027 raw hardware capabilities with \u0027flow\u0027 details.\nThe patchset supports both types of irq controller designs at once, and\nconverts i386 and x86_64 to the new irq-chip design.\n\nAs a bonus side-effect of the irq-chip approach, chained interrupt controllers\n(master/slave PIC constructs, etc.) are now supported by design as well.\n\nThe end result of this patchset intends to be simpler architecture-level code\nand more consolidation between architectures.\n\nWe reused many bits of code and many concepts from Russell King\u0027s ARM IRQ\nlayer, the merging of which was one of the motivations for this patchset.\n\nThis patch:\n\nrename desc-\u003ehandler to desc-\u003echip.\n\nOriginally i did not want to do this, because it\u0027s a big patch.  But having\nboth \"desc-\u003ehandler\", \"desc-\u003ehandle_irq\" and \"action-\u003ehandler\" caused a\nlarge degree of confusion and made the code appear alot less clean than it\ntruly is.\n\nI have also attempted a dual approach as well by introducing a\ndesc-\u003echip alias - but that just wasnt robust enough and broke\nfrequently.\n\nSo lets get over with this quickly.  The conversion was done automatically\nvia scripts and converts all the code in the kernel.\n\nThis renaming patch is the first one amongst the patches, so that the\nremaining patches can stay flexible and can be merged and split up\nwithout having some big monolithic patch act as a merge barrier.\n\n[akpm@osdl.org: build fix]\n[akpm@osdl.org: another build fix]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84860f9979804cfd97638ce0ec9d583daf338e0d",
      "tree": "81fe1ffa2d7cd2ed4757703dae5fadc40ea01213",
      "parents": [
        "f71d20e961474dde77e6558396efb93d6ac80a4b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Jun 28 04:26:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] load_module() cleanup\n\nUndo bizarre declaration in load_module().\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f71d20e961474dde77e6558396efb93d6ac80a4b",
      "tree": "669610f79521fd173c28fc47bef39ecd4cdf52ab",
      "parents": [
        "f5e54d6e53a20cef45af7499e86164f0e0d16bb2"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jun 28 04:26:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] Add EXPORT_UNUSED_SYMBOL and EXPORT_UNUSED_SYMBOL_GPL\n\nTemporarily add EXPORT_UNUSED_SYMBOL and EXPORT_UNUSED_SYMBOL_GPL.  These\nwill be used as a transition measure for symbols that aren\u0027t used in the\nkernel and are on the way out.  When a module uses such a symbol, a warning\nis printk\u0027d at modprobe time.\n\nThe main reason for removing unused exports is size: eacho export takes\nroughly between 100 and 150 bytes of kernel space in the binary.  This\npatch gives users the option to immediately get this size gain via a config\noption.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0ce7d0886cf0c2579c604eac41a7e125bc0e96d",
      "tree": "f31448371b4295e98753f1551178fdddb8d18b0e",
      "parents": [
        "2cd90bc8fba8720ef7f3fdfd1e0c1a5397a18271"
      ],
      "author": {
        "name": "David Wilder",
        "email": "dwilder@us.ibm.com",
        "time": "Fri Jun 23 15:29:34 2006 -0700"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Jun 28 15:18:52 2006 +1000"
      },
      "message": "[POWERPC] Add the use of the firmware soft-reset-nmi to kdump.\n\nWith this patch, kdump uses the firmware soft-reset NMI for two purposes:\n1) Initiate the kdump (take a crash dump) by issuing a soft-reset.\n2) Break a CPU out of a deadlock condition that is detected during kdump\nprocessing.\n\nWhen a soft-reset is initiated each CPU will enter\nsystem_reset_exception() and set its corresponding bit in the global\nbit-array cpus_in_sr then call die(). When die() finds the CPU\u0027s bit set\nin cpu_in_sr crash_kexec() is called to initiate a crash dump. The first\nCPU to enter crash_kexec() is called the \"crashing CPU\". All other CPUs\nare \"secondary CPUs\". The secondary CPU\u0027s pass through to\ncrash_kexec_secondary() and sleep. The crashing CPU waits for all CPUs\nto enter via soft-reset then boots the kdump kernel (see\ncrash_soft_reset_check())\n\nWhen the system crashes due to a panic or exception, crash_kexec() is\ncalled by panic() or die(). The crashing CPU sends an IPI to all other\nCPUs to notify them of the pending shutdown. If a CPU is in a deadlock\nor hung state with interrupts disabled, the IPI will not be delivered.\nThe result being, that the kdump kernel is not booted. This problem is\nsolved with the use of a firmware generated soft-reset. After the\ncrashing_cpu has issued the IPI, it waits for 10 sec for all CPUs to\nenter crash_ipi_callback(). A CPU signifies its entry to\ncrash_ipi_callback() by setting its corresponding bit in the\ncpus_in_crash bit array. After 10 sec, if one or more CPUs have not set\ntheir bit in cpus_in_crash we assume that the CPU(s) is deadlocked. The\noperator is then prompted to generate a soft-reset to break the\ndeadlock. Each CPU enters the soft reset handler as described above.\n\nTwo conditions must be handled at this point:\n1) The system crashed because the operator generated a soft-reset. See\n2) The system had crashed before the soft-reset was generated ( in the\ncase of a Panic or oops).\n\nThe first CPU to enter crash_kexec() uses the state of the kexec_lock to\ndetermine this state. If kexec_lock is already held then condition 2 is\ntrue and crash_kexec_secondary() is called, else; this CPU is flagged as\nthe crashing CPU, the kexec_lock is acquired and crash_kexec() proceeds\nas described above.\n\nEach additional CPUs responding to the soft-reset will pass through\ncrash_kexec() to kexec_secondary(). All secondary CPUs call\ncrash_ipi_callback() readying them self\u0027s for the shutdown. When ready\nthey clear their bit in cpus_in_sr. The crashing CPU waits in\nkexec_secondary() until all other CPUs have cleared their bits in\ncpus_in_sr. The kexec kernel boot is then started.\n\nSigned-off-by: Haren Myneni \u003charen@us.ibm.com\u003e\nSigned-off-by: David Wilder \u003cdwilder@us.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "9a66a53f558efc2619a438278d2919b3c9a7f673",
      "tree": "c3d20628f1d688f6099556995b597ef629970f7f",
      "parents": [
        "4ad98457aa545bc4d03d417da86325507aa586ec"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Jun 27 02:55:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] Remove redundant NULL checks before [kv]free - in kernel/\n\nRemove redundant kfree NULL checks from kernel/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "59e0e0ace7d33e8c0c125042f153f80fcc56b39e",
      "tree": "e73a795bd99b39a886fe3f9b46f85dbf53db5316",
      "parents": [
        "95e02ca9bb5324360e7dea1ea1c563036d84a5e6"
      ],
      "author": {
        "name": "Sebastien Dugue",
        "email": "sebastien.dugue@bull.net",
        "time": "Tue Jun 27 02:55:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] futex_requeue() optimization\n\nIn futex_requeue(), when the 2 futexes keys hash to the same bucket, there\nis no need to move the futex_q to the end of the bucket list.\n\nSigned-off-by: Sebastien Dugue \u003csebastien.dugue@bull.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "95e02ca9bb5324360e7dea1ea1c563036d84a5e6",
      "tree": "0336dd808abe113b42f53a8f700d50ea6ba674ff",
      "parents": [
        "0bafd214e4ba55dc1fb81a3031d0249292f1bc05"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 27 02:55:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] rtmutex: Propagate priority settings into PI lock chains\n\nWhen the priority of a task, which is blocked on a lock, changes we must\npropagate this change into the PI lock chain.  Therefor the chain walk code\nis changed to get rid of the references to current to avoid false positives\nin the deadlock detector, as setscheduler might be called by a task which\nholds the lock on which the task whose priority is changed is blocked.\n\nAlso add some comments about the get/put_task_struct usage to avoid\nconfusion.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bafd214e4ba55dc1fb81a3031d0249292f1bc05",
      "tree": "754b3ad381078c57061515549642889b19aaf86d",
      "parents": [
        "e74c69f46d93d29eea0ad8647863d1c6488f0f55"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 27 02:55:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] rtmutex: Modify rtmutex-tester to test the setscheduler propagation\n\nMake test suite setscheduler calls asynchronously.  Remove the waits in the\ntest cases and add a new testcase to verify the correctness of the\nsetscheduler priority propagation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "e74c69f46d93d29eea0ad8647863d1c6488f0f55",
      "tree": "5537d5a60eec3985de11cad4476ed95025051721",
      "parents": [
        "a1583d3e83cae1c58870602efc6328c34b644c01"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 27 02:55:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] Drop tasklist lock in do_sched_setscheduler\n\nThere is no need to hold tasklist_lock across the setscheduler call, when\nwe pin the task structure with get_task_struct().  Interrupts are disabled\nin setscheduler anyway and the permission checks do not need interrupts\ndisabled.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: 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": "c87e2837be82df479a6bae9f155c43516d2feebc",
      "tree": "ad6ab35f0b78f71abaa7b05185e9e3f97809c6de",
      "parents": [
        "0cdbee9920fb37eb2dc49b860c2b28862d647adc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: futex_lock_pi/futex_unlock_pi support\n\nThis adds the actual pi-futex implementation, based on rt-mutexes.\n\n[dino@in.ibm.com: fix an oops-causing race]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0cdbee9920fb37eb2dc49b860c2b28862d647adc",
      "tree": "df33dadb52979d7fadd1b464b14ae797d3838181",
      "parents": [
        "61a87122869b6340a63b6f9f84097d3688604b90"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: rt mutex futex api\n\nAdd proxy-locking rt-mutex functionality needed by pi-futexes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "61a87122869b6340a63b6f9f84097d3688604b90",
      "tree": "11d60d29763a42abd66453a920cc06bebc852427",
      "parents": [
        "e7eebaf6a81b956c989f184ee4b27277c88f8afe"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 27 02:54:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: rt mutex tester\n\nRT-mutex tester: scriptable tester for rt mutexes, which allows userspace\nscripting of mutex unit-tests (and dynamic tests as well), using the actual\nrt-mutex implementation of the kernel.\n\n[akpm@osdl.org: fixlet]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7eebaf6a81b956c989f184ee4b27277c88f8afe",
      "tree": "25adcfb17ec5f857791557a874cc1cced390ca9f",
      "parents": [
        "a6537be9324c67b41f6d98f5a60a1bd5a8e02861"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: rt mutex debug\n\nRuntime debugging functionality for rt-mutexes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "23f78d4a03c53cbd75d87a795378ea540aa08c86",
      "tree": "27dfe06337990911380fe8c5949ae9acd8e9568a",
      "parents": [
        "b29739f902ee76a05493fb7d2303490fc75364f4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: rt mutex core\n\nCore functions for the rt-mutex subsystem.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b29739f902ee76a05493fb7d2303490fc75364f4",
      "tree": "1bf48dfb74752a7ef24a2a4a74c45da0aaec754b",
      "parents": [
        "77ba89c5cf28d5d98a3cae17f67a3e42b102cc25"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: scheduler support for pi\n\nAdd framework to boost/unboost the priority of RT tasks.\n\nThis consists of:\n\n - caching the \u0027normal\u0027 priority in -\u003enormal_prio\n - providing a functions to set/get the priority of the task\n - make sched_setscheduler() aware of boosting\n\nThe effective_prio() cleanups also fix a priority-calculation bug pointed out\nby Andrey Gelman, in set_user_nice().\n\nhas_rt_policy() fix: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Andrey Gelman \u003cagelman@012.net.il\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e2970f2fb6950183a34e8545faa093eb49d186e1",
      "tree": "a4035274368d846488a3b0152925502c06b064b0",
      "parents": [
        "66e5393a78b3fcca63e7748e38221dcca61c4aab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: futex code cleanups\n\nWe are pleased to announce \"lightweight userspace priority inheritance\" (PI)\nsupport for futexes.  The following patchset and glibc patch implements it,\nontop of the robust-futexes patchset which is included in 2.6.16-mm1.\n\nWe are calling it lightweight for 3 reasons:\n\n - in the user-space fastpath a PI-enabled futex involves no kernel work\n   (or any other PI complexity) at all.  No registration, no extra kernel\n   calls - just pure fast atomic ops in userspace.\n\n - in the slowpath (in the lock-contention case), the system call and\n   scheduling pattern is in fact better than that of normal futexes, due to\n   the \u0027integrated\u0027 nature of FUTEX_LOCK_PI.  [more about that further down]\n\n - the in-kernel PI implementation is streamlined around the mutex\n   abstraction, with strict rules that keep the implementation relatively\n   simple: only a single owner may own a lock (i.e.  no read-write lock\n   support), only the owner may unlock a lock, no recursive locking, etc.\n\n  Priority Inheritance - why, oh why???\n  -------------------------------------\n\nMany of you heard the horror stories about the evil PI code circling Linux for\nyears, which makes no real sense at all and is only used by buggy applications\nand which has horrible overhead.  Some of you have dreaded this very moment,\nwhen someone actually submits working PI code ;-)\n\nSo why would we like to see PI support for futexes?\n\nWe\u0027d like to see it done purely for technological reasons.  We dont think it\u0027s\na buggy concept, we think it\u0027s useful functionality to offer to applications,\nwhich functionality cannot be achieved in other ways.  We also think it\u0027s the\nright thing to do, and we think we\u0027ve got the right arguments and the right\nnumbers to prove that.  We also believe that we can address all the\ncounter-arguments as well.  For these reasons (and the reasons outlined below)\nwe are submitting this patch-set for upstream kernel inclusion.\n\nWhat are the benefits of PI?\n\n  The short reply:\n  ----------------\n\nUser-space PI helps achieving/improving determinism for user-space\napplications.  In the best-case, it can help achieve determinism and\nwell-bound latencies.  Even in the worst-case, PI will improve the statistical\ndistribution of locking related application delays.\n\n  The longer reply:\n  -----------------\n\nFirstly, sharing locks between multiple tasks is a common programming\ntechnique that often cannot be replaced with lockless algorithms.  As we can\nsee it in the kernel [which is a quite complex program in itself], lockless\nstructures are rather the exception than the norm - the current ratio of\nlockless vs.  locky code for shared data structures is somewhere between 1:10\nand 1:100.  Lockless is hard, and the complexity of lockless algorithms often\nendangers to ability to do robust reviews of said code.  I.e.  critical RT\napps often choose lock structures to protect critical data structures, instead\nof lockless algorithms.  Furthermore, there are cases (like shared hardware,\nor other resource limits) where lockless access is mathematically impossible.\n\nMedia players (such as Jack) are an example of reasonable application design\nwith multiple tasks (with multiple priority levels) sharing short-held locks:\nfor example, a highprio audio playback thread is combined with medium-prio\nconstruct-audio-data threads and low-prio display-colory-stuff threads.  Add\nvideo and decoding to the mix and we\u0027ve got even more priority levels.\n\nSo once we accept that synchronization objects (locks) are an unavoidable fact\nof life, and once we accept that multi-task userspace apps have a very fair\nexpectation of being able to use locks, we\u0027ve got to think about how to offer\nthe option of a deterministic locking implementation to user-space.\n\nMost of the technical counter-arguments against doing priority inheritance\nonly apply to kernel-space locks.  But user-space locks are different, there\nwe cannot disable interrupts or make the task non-preemptible in a critical\nsection, so the \u0027use spinlocks\u0027 argument does not apply (user-space spinlocks\nhave the same priority inversion problems as other user-space locking\nconstructs).  Fact is, pretty much the only technique that currently enables\ngood determinism for userspace locks (such as futex-based pthread mutexes) is\npriority inheritance:\n\nCurrently (without PI), if a high-prio and a low-prio task shares a lock [this\nis a quite common scenario for most non-trivial RT applications], even if all\ncritical sections are coded carefully to be deterministic (i.e.  all critical\nsections are short in duration and only execute a limited number of\ninstructions), the kernel cannot guarantee any deterministic execution of the\nhigh-prio task: any medium-priority task could preempt the low-prio task while\nit holds the shared lock and executes the critical section, and could delay it\nindefinitely.\n\n  Implementation:\n  ---------------\n\nAs mentioned before, the userspace fastpath of PI-enabled pthread mutexes\ninvolves no kernel work at all - they behave quite similarly to normal\nfutex-based locks: a 0 value means unlocked, and a value\u003d\u003dTID means locked.\n(This is the same method as used by list-based robust futexes.) Userspace uses\natomic ops to lock/unlock these mutexes without entering the kernel.\n\nTo handle the slowpath, we have added two new futex ops:\n\n  FUTEX_LOCK_PI\n  FUTEX_UNLOCK_PI\n\nIf the lock-acquire fastpath fails, [i.e.  an atomic transition from 0 to TID\nfails], then FUTEX_LOCK_PI is called.  The kernel does all the remaining work:\nif there is no futex-queue attached to the futex address yet then the code\nlooks up the task that owns the futex [it has put its own TID into the futex\nvalue], and attaches a \u0027PI state\u0027 structure to the futex-queue.  The pi_state\nincludes an rt-mutex, which is a PI-aware, kernel-based synchronization\nobject.  The \u0027other\u0027 task is made the owner of the rt-mutex, and the\nFUTEX_WAITERS bit is atomically set in the futex value.  Then this task tries\nto lock the rt-mutex, on which it blocks.  Once it returns, it has the mutex\nacquired, and it sets the futex value to its own TID and returns.  Userspace\nhas no other work to perform - it now owns the lock, and futex value contains\nFUTEX_WAITERS|TID.\n\nIf the unlock side fastpath succeeds, [i.e.  userspace manages to do a TID -\u003e\n0 atomic transition of the futex value], then no kernel work is triggered.\n\nIf the unlock fastpath fails (because the FUTEX_WAITERS bit is set), then\nFUTEX_UNLOCK_PI is called, and the kernel unlocks the futex on the behalf of\nuserspace - and it also unlocks the attached pi_state-\u003ert_mutex and thus wakes\nup any potential waiters.\n\nNote that under this approach, contrary to other PI-futex approaches, there is\nno prior \u0027registration\u0027 of a PI-futex.  [which is not quite possible anyway,\ndue to existing ABI properties of pthread mutexes.]\n\nAlso, under this scheme, \u0027robustness\u0027 and \u0027PI\u0027 are two orthogonal properties\nof futexes, and all four combinations are possible: futex, robust-futex,\nPI-futex, robust+PI-futex.\n\n  glibc support:\n  --------------\n\nUlrich Drepper and Jakub Jelinek have written glibc support for PI-futexes\n(and robust futexes), enabling robust and PI (PTHREAD_PRIO_INHERIT) POSIX\nmutexes.  (PTHREAD_PRIO_PROTECT support will be added later on too, no\nadditional kernel changes are needed for that).  [NOTE: The glibc patch is\nobviously inofficial and unsupported without matching upstream kernel\nfunctionality.]\n\nthe patch-queue and the glibc patch can also be downloaded from:\n\n  http://redhat.com/~mingo/PI-futex-patches/\n\nMany thanks go to the people who helped us create this kernel feature: Steven\nRostedt, Esben Nielsen, Benedikt Spranger, Daniel Walker, John Cooper, Arjan\nvan de Ven, Oleg Nesterov and others.  Credits for related prior projects goes\nto Dirk Grambow, Inaky Perez-Gonzalez, Bill Huey and many others.\n\nClean up the futex code, before adding more features to it:\n\n - use u32 as the futex field type - that\u0027s the ABI\n - use __user and pointers to u32 instead of unsigned long\n - code style / comment style cleanups\n - rename hash-bucket name from \u0027bh\u0027 to \u0027hb\u0027.\n\nI checked the pre and post futex.o object files to make sure this\npatch has no code effects.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Jakub Jelinek \u003cjakub@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "66e5393a78b3fcca63e7748e38221dcca61c4aab",
      "tree": "57c5408e8e5596863f4abbe1c822bb0c1c7ff059",
      "parents": [
        "9fea80e4d984d411aa188baa31225c273ebe0fe6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 27 02:54:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] BUG() if setscheduler is called from interrupt context\n\nThomas Gleixner is adding the call to a rtmutex function in setscheduler.\nThis call grabs a spin_lock that is not always protected by interrupts\ndisabled.  So this means that setscheduler cant be called from interrupt\ncontext.\n\nTo prevent this from happening in the future, this patch adds a\nBUG_ON(in_interrupt()) in that function.  (Thanks to akpm \u003caka.  Andrew\nMorton\u003e for this suggestion).\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9fea80e4d984d411aa188baa31225c273ebe0fe6",
      "tree": "da48ffcb1b5a502d72645e55ade9c6588e784cd4",
      "parents": [
        "5c45bf279d378d436ce45825c0f136696c7b6109"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Jun 27 02:54:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched: uninline task_rq_lock()\n\nSaves 543 bytes from sched.o (gcc 3.3.3).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c45bf279d378d436ce45825c0f136696c7b6109",
      "tree": "80e2fcf4866b84fccb787562e1a83b16f4bc8850",
      "parents": [
        "369381694ddcf03f1de403501c8b97099b5109ec"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Jun 27 02:54:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched: mc/smt power savings sched policy\n\nsysfs entries \u0027sched_mc_power_savings\u0027 and \u0027sched_smt_power_savings\u0027 in\n/sys/devices/system/cpu/ control the MC/SMT power savings policy for the\nscheduler.\n\nBased on the values (1-enable, 0-disable) for these controls, sched groups\ncpu power will be determined for different domains.  When power savings\npolicy is enabled and under light load conditions, scheduler will minimize\nthe physical packages/cpu cores carrying the load and thus conserving\npower(with a perf impact based on the workload characteristics...  see OLS\n2005 CMP kernel scheduler paper for more details..)\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "369381694ddcf03f1de403501c8b97099b5109ec",
      "tree": "3945620740cc1687c8487356bf4be90394695702",
      "parents": [
        "15f0b676a482fb4067cfe25de417c417dda3440a"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domai: Allocate sched_group structures dynamically\n\nAs explained here:\n\thttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d114327539012323\u0026w\u003d2\n\nthere is a problem with sharing sched_group structures between two\nseparate sched_group structures for different sched_domains.\n\nThe patch has been tested and found to avoid the kernel lockup problem\ndescribed in above URL.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \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": "15f0b676a482fb4067cfe25de417c417dda3440a",
      "tree": "29426196953a41d9cca0d81d501e76514ce820b2",
      "parents": [
        "d3a5aa9858cc9cecc3aadac7311d376c7c9e101a"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domai: Use kmalloc_node\n\nThe sched group structures used to represent various nodes need to be\nallocated from respective nodes (as suggested here also:\n\n\thttp://uwsg.ucs.indiana.edu/hypermail/linux/kernel/0603.3/0051.html)\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \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": "d3a5aa9858cc9cecc3aadac7311d376c7c9e101a",
      "tree": "2d753b1cfacdfe399aaa39c30d5f94623bc728e4",
      "parents": [
        "51888ca25a03125e742ef84d4ddfd74e139707a0"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domai: Don\u0027t use GFP_ATOMIC\n\nReplace GFP_ATOMIC allocation for sched_group_nodes with GFP_KERNEL based\nallocation.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \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": "51888ca25a03125e742ef84d4ddfd74e139707a0",
      "tree": "b15e50f3b67f6e2b94b783fce603d4a1f54a8189",
      "parents": [
        "615052dc3bf96278a843a64d3d1eea03532028c3"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domain: handle kmalloc failure\n\nTry to handle mem allocation failures in build_sched_domains by bailing out\nand cleaning up thus-far allocated memory.  The patch has a direct consequence\nthat we disable load balancing completely (even at sibling level) upon *any*\nmemory allocation failure.\n\n[Lee.Schermerhorn@hp.com: bugfix]\nSigned-off-by: Srivatsa Vaddagir \u003cvatsa@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "615052dc3bf96278a843a64d3d1eea03532028c3",
      "tree": "e7d5c61bd244e5fbde4ada9ae2ef1ebe7923fb53",
      "parents": [
        "50ddd96917e4548b3813bfb5dd6f97f052b652bd"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Tue Jun 27 02:54:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: Avoid unnecessarily moving highest priority task move_tasks()\n\nProblem:\n\nTo help distribute high priority tasks evenly across the available CPUs\nmove_tasks() does not, under some circumstances, skip tasks whose load\nweight is bigger than the designated amount.  Because the highest priority\ntask on the busiest queue may be on the expired array it may be moved as a\nresult of this mechanism.  Apart from not being the most desirable way to\nredistribute the high priority tasks (we\u0027d rather move the second highest\npriority task), there is a risk that this could set up a loop with this\ntask bouncing backwards and forwards between the two queues.  (This latter\npossibility can be demonstrated by running a nice\u003d\u003d-20 CPU bound task on an\notherwise quiet 2 CPU system.)\n\nSolution:\n\nModify the mechanism so that it does not override skip for the highest\npriority task on the CPU.  Of course, if there are more than one tasks at\nthe highest priority then it will allow the override for one of them as\nthis is a desirable redistribution of high priority tasks.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \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": "50ddd96917e4548b3813bfb5dd6f97f052b652bd",
      "tree": "f8e62672b35ebdefee048e042a54e8ceaeab0cf0",
      "parents": [
        "2dd73a4f09beacadde827a032cf15fd8b1fa3d48"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Tue Jun 27 02:54:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: modify move_tasks() to improve load balancing outcomes\n\nProblem:\n\nThe move_tasks() function is designed to move UP TO the amount of load it\nis asked to move and in doing this it skips over tasks looking for ones\nwhose load weights are less than or equal to the remaining load to be\nmoved.  This is (in general) a good thing but it has the unfortunate result\nof breaking one of the original load balancer\u0027s good points: namely, that\n(within the limits imposed by the active/expired array model and the fact\nthe expired is processed first) it moves high priority tasks before low\npriority ones and this means there\u0027s a good chance (see active/expired\nproblem for why it\u0027s only a chance) that the highest priority task on the\nqueue but not actually on the CPU will be moved to the other CPU where (as\na high priority task) it may preempt the current task.\n\nSolution:\n\nModify move_tasks() so that high priority tasks are not skipped when moving\nthem will make them the highest priority task on their new run queue.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2dd73a4f09beacadde827a032cf15fd8b1fa3d48",
      "tree": "f81752d44e68240231518d6a3f05ac9ff6410a2d",
      "parents": [
        "efc30814a88bdbe2bfe4ac94de2eb089ad80bee3"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Tue Jun 27 02:54:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: implement smpnice\n\nProblem:\n\nThe introduction of separate run queues per CPU has brought with it \"nice\"\nenforcement problems that are best described by a simple example.\n\nFor the sake of argument suppose that on a single CPU machine with a\nnice\u003d\u003d19 hard spinner and a nice\u003d\u003d0 hard spinner running that the nice\u003d\u003d0\ntask gets 95% of the CPU and the nice\u003d\u003d19 task gets 5% of the CPU.  Now\nsuppose that there is a system with 2 CPUs and 2 nice\u003d\u003d19 hard spinners and\n2 nice\u003d\u003d0 hard spinners running.  The user of this system would be entitled\nto expect that the nice\u003d\u003d0 tasks each get 95% of a CPU and the nice\u003d\u003d19\ntasks only get 5% each.  However, whether this expectation is met is pretty\nmuch down to luck as there are four equally likely distributions of the\ntasks to the CPUs that the load balancing code will consider to be balanced\nwith loads of 2.0 for each CPU.  Two of these distributions involve one\nnice\u003d\u003d0 and one nice\u003d\u003d19 task per CPU and in these circumstances the users\nexpectations will be met.  The other two distributions both involve both\nnice\u003d\u003d0 tasks being on one CPU and both nice\u003d\u003d19 being on the other CPU and\neach task will get 50% of a CPU and the user\u0027s expectations will not be\nmet.\n\nSolution:\n\nThe solution to this problem that is implemented in the attached patch is\nto use weighted loads when determining if the system is balanced and, when\nan imbalance is detected, to move an amount of weighted load between run\nqueues (as opposed to a number of tasks) to restore the balance.  Once\nagain, the easiest way to explain why both of these measures are necessary\nis to use a simple example.  Suppose that (in a slight variation of the\nabove example) that we have a two CPU system with 4 nice\u003d\u003d0 and 4 nice\u003d19\nhard spinning tasks running and that the 4 nice\u003d\u003d0 tasks are on one CPU and\nthe 4 nice\u003d\u003d19 tasks are on the other CPU.  The weighted loads for the two\nCPUs would be 4.0 and 0.2 respectively and the load balancing code would\nmove 2 tasks resulting in one CPU with a load of 2.0 and the other with\nload of 2.2.  If this was considered to be a big enough imbalance to\njustify moving a task and that task was moved using the current\nmove_tasks() then it would move the highest priority task that it found and\nthis would result in one CPU with a load of 3.0 and the other with a load\nof 1.2 which would result in the movement of a task in the opposite\ndirection and so on -- infinite loop.  If, on the other hand, an amount of\nload to be moved is calculated from the imbalance (in this case 0.1) and\nmove_tasks() skips tasks until it find ones whose contributions to the\nweighted load are less than this amount it would move two of the nice\u003d\u003d19\ntasks resulting in a system with 2 nice\u003d\u003d0 and 2 nice\u003d19 on each CPU with\nloads of 2.1 for each CPU.\n\nOne of the advantages of this mechanism is that on a system where all tasks\nhave nice\u003d\u003d0 the load balancing calculations would be mathematically\nidentical to the current load balancing code.\n\nNotes:\n\nstruct task_struct:\n\nhas a new field load_weight which (in a trade off of space for speed)\nstores the contribution that this task makes to a CPU\u0027s weighted load when\nit is runnable.\n\nstruct runqueue:\n\nhas a new field raw_weighted_load which is the sum of the load_weight\nvalues for the currently runnable tasks on this run queue.  This field\nalways needs to be updated when nr_running is updated so two new inline\nfunctions inc_nr_running() and dec_nr_running() have been created to make\nsure that this happens.  This also offers a convenient way to optimize away\nthis part of the smpnice mechanism when CONFIG_SMP is not defined.\n\nint try_to_wake_up():\n\nin this function the value SCHED_LOAD_BALANCE is used to represent the load\ncontribution of a single task in various calculations in the code that\ndecides which CPU to put the waking task on.  While this would be a valid\non a system where the nice values for the runnable tasks were distributed\nevenly around zero it will lead to anomalous load balancing if the\ndistribution is skewed in either direction.  To overcome this problem\nSCHED_LOAD_SCALE has been replaced by the load_weight for the relevant task\nor by the average load_weight per task for the queue in question (as\nappropriate).\n\nint move_tasks():\n\nThe modifications to this function were complicated by the fact that\nactive_load_balance() uses it to move exactly one task without checking\nwhether an imbalance actually exists.  This precluded the simple\noverloading of max_nr_move with max_load_move and necessitated the addition\nof the latter as an extra argument to the function.  The internal\nimplementation is then modified to move up to max_nr_move tasks and\nmax_load_move of weighted load.  This slightly complicates the code where\nmove_tasks() is called and if ever active_load_balance() is changed to not\nuse move_tasks() the implementation of move_tasks() should be simplified\naccordingly.\n\nstruct sched_group *find_busiest_group():\n\nSimilar to try_to_wake_up(), there are places in this function where\nSCHED_LOAD_SCALE is used to represent the load contribution of a single\ntask and the same issues are created.  A similar solution is adopted except\nthat it is now the average per task contribution to a group\u0027s load (as\nopposed to a run queue) that is required.  As this value is not directly\navailable from the group it is calculated on the fly as the queues in the\ngroups are visited when determining the busiest group.\n\nA key change to this function is that it is no longer to scale down\n*imbalance on exit as move_tasks() uses the load in its scaled form.\n\nvoid set_user_nice():\n\nhas been modified to update the task\u0027s load_weight field when it\u0027s nice\nvalue and also to ensure that its run queue\u0027s raw_weighted_load field is\nupdated if it was runnable.\n\nFrom: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\n\nWith smpnice, sched groups with highest priority tasks can mask the imbalance\nbetween the other sched groups with in the same domain.  This patch fixes some\nof the listed down scenarios by not considering the sched groups which are\nlightly loaded.\n\na) on a simple 4-way MP system, if we have one high priority and 4 normal\n   priority tasks, with smpnice we would like to see the high priority task\n   scheduled on one cpu, two other cpus getting one normal task each and the\n   fourth cpu getting the remaining two normal tasks.  but with current\n   smpnice extra normal priority task keeps jumping from one cpu to another\n   cpu having the normal priority task.  This is because of the\n   busiest_has_loaded_cpus, nr_loaded_cpus logic..  We are not including the\n   cpu with high priority task in max_load calculations but including that in\n   total and avg_load calcuations..  leading to max_load \u003c avg_load and load\n   balance between cpus running normal priority tasks(2 Vs 1) will always show\n   imbalanace as one normal priority and the extra normal priority task will\n   keep moving from one cpu to another cpu having normal priority task..\n\nb) 4-way system with HT (8 logical processors).  Package-P0 T0 has a\n   highest priority task, T1 is idle.  Package-P1 Both T0 and T1 have 1 normal\n   priority task each..  P2 and P3 are idle.  With this patch, one of the\n   normal priority tasks on P1 will be moved to P2 or P3..\n\nc) With the current weighted smp nice calculations, it doesn\u0027t always make\n   sense to look at the highest weighted runqueue in the busy group..\n   Consider a load balance scenario on a DP with HT system, with Package-0\n   containing one high priority and one low priority, Package-1 containing one\n   low priority(with other thread being idle)..  Package-1 thinks that it need\n   to take the low priority thread from Package-0.  And find_busiest_queue()\n   returns the cpu thread with highest priority task..  And ultimately(with\n   help of active load balance) we move high priority task to Package-1.  And\n   same continues with Package-0 now, moving high priority task from package-1\n   to package-0..  Even without the presence of active load balance, load\n   balance will fail to balance the above scenario..  Fix find_busiest_queue\n   to use \"imbalance\" when it is lightly loaded.\n\n[kernel@kolivas.org: sched: store weighted load on up]\n[kernel@kolivas.org: sched: add discrete weighted cpu load function]\n[suresh.b.siddha@intel.com: sched: remove dead code]\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.com.au\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: John Hawkes \u003chawkes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "efc30814a88bdbe2bfe4ac94de2eb089ad80bee3",
      "tree": "1134d7ccda13c09cf426af0524c13633292eac5b",
      "parents": [
        "cc94abfcbc9fed0048365ce1fb8dc81353408bf8"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Tue Jun 27 02:54:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: CPU hotplug race vs. set_cpus_allowed()\n\nThere is a race between set_cpus_allowed() and move_task_off_dead_cpu().\n__migrate_task() doesn\u0027t report any err code, so task can be left on its\nrunqueue if its cpus_allowed mask changed so that dest_cpu is not longer a\npossible target.  Also, chaning cpus_allowed mask requires rq-\u003elock being\nheld.\n\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\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": "cc94abfcbc9fed0048365ce1fb8dc81353408bf8",
      "tree": "d7e40f7a9e710f220f1bf5f7514ac7eba2fc70c2",
      "parents": [
        "72d2854d4ebf5faf086ebccb2ed575c6b68a05dc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 27 02:54:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] unnecessary long index i in sched\n\nUnless we expect to have more than 2G CPUs, there\u0027s no reason to have \u0027i\u0027\nas a long long here.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72d2854d4ebf5faf086ebccb2ed575c6b68a05dc",
      "tree": "2a0b00a32a810b76ff29bde7d269998561408f8b",
      "parents": [
        "d444886e149a8413159da8b43ada2bc287e69b0c"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Tue Jun 27 02:54:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: fix interactive ceiling code\n\nThe relationship between INTERACTIVE_SLEEP and the ceiling is not perfect\nand not explicit enough.  The sleep boost is not supposed to be any larger\nthan without this code and the comment is not clear enough about what\nexactly it does, just the reason it does it.  Fix it.\n\nThere is a ceiling to the priority beyond which tasks that only ever sleep\nfor very long periods cannot surpass.  Fix it.\n\nPrevent the on-runqueue bonus logic from defeating the idle sleep logic.\n\nOpportunity to micro-optimise.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d444886e149a8413159da8b43ada2bc287e69b0c",
      "tree": "aa977a3b4e2a045df964b5ca2a9cddf50f978b85",
      "parents": [
        "c96d145e71c5c84601322d85748512e09d7b325f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 27 02:54:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: simplify bitmap definition\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\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": "c96d145e71c5c84601322d85748512e09d7b325f",
      "tree": "4762f8aa4c970295a33afbc4ee506c72d7216073",
      "parents": [
        "7a8e2a5ea4cf43c0edd6db56a156549edb0eee98"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Tue Jun 27 02:54:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: fix smt nice lock contention and optimization\n\nInitial report and lock contention fix from Chris Mason:\n\nRecent benchmarks showed some performance regressions between 2.6.16 and\n2.6.5.  We tracked down one of the regressions to lock contention in\nschedule heavy workloads (~70,000 context switches per second)\n\nkernel/sched.c:dependent_sleeper() was responsible for most of the lock\ncontention, hammering on the run queue locks.  The patch below is more of a\ndiscussion point than a suggested fix (although it does reduce lock\ncontention significantly).  The dependent_sleeper code looks very expensive\nto me, especially for using a spinlock to bounce control between two\ndifferent siblings in the same cpu.\n\nIt is further optimized:\n\n* perform dependent_sleeper check after next task is determined\n* convert wake_sleeping_dependent to use trylock\n* skip smt runqueue check if trylock fails\n* optimize double_rq_lock now that smt nice is converted to trylock\n* early exit in searching first SD_SHARE_CPUPOWER domain\n* speedup fast path of dependent_sleeper\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Chris Mason \u003cmason@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "26c2143b63b8078d08d562733716de142927e17a",
      "tree": "6a2add2bca5bffbd33a0465fd934fffa34a695e9",
      "parents": [
        "74b85f3790aa2550c617fe14439482e13e615fa0"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: make cpu_notifier related notifier calls __cpuinit only\n\nMake notifier_calls associated with cpu_notifier as __cpuinit.\n\n__cpuinit makes sure that the function is init time only unless\nCONFIG_HOTPLUG_CPU is defined.\n\n[akpm@osdl.org: section fix]\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "65edc68c345cbe21d0b0375c3452a3ed5e322868"
}
