)]}'
{
  "log": [
    {
      "commit": "936813a8807c5684c6a97f1081b31027403d4a93",
      "tree": "bc3a1343ea1548195ab4e5dd11b1830f8b9cc52b",
      "parents": [
        "73a0e405dce7d720808536b708f7c738b413b1a2",
        "6a93096195305f6f2a39544a034e77e2e74d5799"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:13:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:13:56 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [MTD] NAND: Select chip before checking write protect status\n  [MTD] CORE mtdchar.c: fix off-by-one error in lseek()\n  [MTD] NAND: Fix typo in mtd/nand/ts7250.c\n  [JFFS2][XATTR] coexistence between xattr and write buffering support.\n  [JFFS2][XATTR] Fix wrong copyright\n  [JFFS2][XATTR] Re-define xd-\u003erefcnt as atomic_t\n  [JFFS2][XATTR] Fix memory leak with jffs2_xattr_ref\n  [JFFS2][XATTR] rid unnecessary writing of delete marker.\n  [JFFS2][XATTR] Fix ACL bug when updating null xattr by null ACL.\n  [JFFS2][XATTR] using \u0027delete marker\u0027 for xdatum/xref deletion\n  [MTD] Fix off-by-one error in physmap.c\n  [MTD] Remove unused \u0027nr_banks\u0027 variable from ixp2000 map driver\n  [MTD NAND] s3c2412 support in s3c2410.c\n  [MTD] Initialize \u0027writesize\u0027\n  [MTD] NAND: ndfc fix address offset thinko\n  [MTD] NAND: S3C2410 convert prinks to dev_*()s\n  [MTD] NAND: Missing fixups\n"
    },
    {
      "commit": "03529d9f66b7995c67ddceb8f83258df3c9915da",
      "tree": "c16b506ebbb5644849f094c23976680906d64c1f",
      "parents": [
        "11bcab9071ac204b1ca2bb0514ad1641bc4c280b",
        "2154cfa6ba560401d25f6cc083fe3fb996cbb571"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:07:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:07:21 2006 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [PATCH] ata_piix: add ICH6/7/8 to Kconfig\n  [PATCH] sata_sil: disable hotplug interrupts on two ATI IXPs\n  [PATCH] libata: cosmetic updates\n  [PATCH] ata: add some NVIDIA chipset IDs\n  [PATCH] libata reduce timeouts\n  [PATCH] libata: implement ata_port_max_devices()\n  [PATCH] libata: make two functions global\n  [PATCH] libata: update ata_do_simple_cmd()\n  [PATCH] libata: move ata_do_simple_cmd() below ata_exec_internal()\n  [PATCH] libata: clear EH action on device detach\n  [PATCH] libata: implement and use ata_deh_dev_action()\n  [PATCH] libata: move ata_eh_clear_action() upward\n  [PATCH] libata.h needs scatterlist.h\n  [libata] sata_vsc: partially revert a PCI ID-related commit\n  [libata] Bump versions\n"
    },
    {
      "commit": "456229a91d2bdf884f0c01b33f1ecee762abba7d",
      "tree": "5efb884b98f785a684eebf481d1c99fbbc41e482",
      "parents": [
        "8f7607803717e9d045965b210cd16a25d80cd04b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jun 27 02:55:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] drivers/char/ipmi/ipmi_msghandler.c: make proc_ipmi_root static\n\nMake struct proc_ipmi_root static.\n\nBesides this, tremove removes an unused #ifdef CONFIG_PROC_FS from\ninclude/linux/ipmi.h.\n\nAcked-by: Corey Minyard \u003cminyard@acm.org\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": "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": "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": "77ba89c5cf28d5d98a3cae17f67a3e42b102cc25",
      "tree": "d487b536522574ab183cc600b62008c60db85b59",
      "parents": [
        "8eb94f80dd2da5977c35cd094f0802c1501a12cd"
      ],
      "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: add plist implementation\n\nAdd the priority-sorted list (plist) implementation.\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": "f9b8404cf8f8456dfa83459510762b700dc00385",
      "tree": "f74b54c79ee3913d587644195d8af7ba13b6cc2a",
      "parents": [
        "6abdce7680e3e8436b3292b345d77b67d5ec9ea8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: introduce debug_check_no_locks_freed()\n\nAdd debug_check_no_locks_freed(), as a central inline to add\nbad-lock-free-debugging functionality to.\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": "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": "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": "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": "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": "f31000e573da052b6b8bcc21faff520b4e2eda7a",
      "tree": "670d5e6e00da615f70d99a950cfe7b8603edad26",
      "parents": [
        "58b087cda1e9e46c7061c2282f92bd8e1970bfe7"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: use dev_dbg in common module\n\nUse of dev_dbg() and friends is considered good practice.  dev_dbg() needs a\nstruct device *devp, but nsc_gpio is only a helper module, so it doesnt\nhave/need its own.  To provide devp to the user-modules (scx200 \u0026 pc8736x\n_gpio), we add it to the vtable, and set it during init.\n\nAlso squeeze nsc_gpio_dump()\u0027s format a little.\n\n[  199.259879]  pc8736x_gpio.0: io09: 0x0044 TS OD PUE  EDGE LO DEBOUNCE\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a66fdf083bf2b60c4d12feb970bc7373b59e33a",
      "tree": "f1e9d67e5c2fb3f9e7e575a6a9c44db3af6f6c22",
      "parents": [
        "1ca5df0a4cbd17a9536e63c5f69d4717c6538eb0"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: migrate file-ops to common module\n\nNow that the read(), write() file-ops are dispatching gpio-ops via the vtable,\nthey are generic, and can be moved \u0027verbatim\u0027 to the nsc_gpio common-support\nmodule.  After the move, various symbols are renamed to update \u0027scx200_\u0027 to\n\u0027nsc_\u0027, and headers are adjusted accordingly.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fe3a168a2ce1c93837cdf8fe27a3e67795155f90",
      "tree": "798eaa66b5e95756e800132602ace5f5c00aa3b0",
      "parents": [
        "9b170b8fdbd14a197ad26b4354f3810c65a96602"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: add gpio-ops vtable\n\nAbstract the gpio operations into a new nsc_gpio_ops vtable.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55b8c0455b8aeb80f94183fa3aa42e3fa62b1705",
      "tree": "ec8f219a8518f32c1d7aef9546410f074cfb352e",
      "parents": [
        "979b5ec3a7055d35b212f657e80257ec1346aa0e"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: device minor numbers are unsigned ints\n\nPer kernel headers, device minor numbers are unsigned ints.  Do the same in\nthis driver.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c83cde9282a9580994a12b3063e677181b5ebe",
      "tree": "f8f2843475d0c13cdc9dc64b09b5249f31449183",
      "parents": [
        "5a67e4c5b6faaccf31740a07d93704166405d880"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: whitespace pre-clean\n\nGPIO SUPPORT FOR SCx200 \u0026 PC8736x\n\nThe patch-set reworks the 2.4 vintage scx200_gpio driver for modern 2.6, and\nrefactors GPIO support to reuse it in a new driver for the GPIO on PC-8736x\nchips.  Its handy for the Soekris.com net-4801, which has both chips.\n\nThese patches have been seen recently on Kernel-Mentors, and then\nKernel-Newbies ML, where Jesper Juhl kindly reviewed it.  His feedback has\nbeen incorporated.  Thanks Jesper !\n\nIts also gone to soekris-tech@soekris.com for possible testing by linux folks,\nI\u0027ve gotten 1 promise so far.  Theyre mostly BSD folk over there, but we\u0027ll\nsee..\n\nDevice-file \u0026 Sysfs\n\nThe driver preserves the existing device-file interface, including the\nwrite/cmd set, but adds v to \u0027view\u0027 the pin-settings \u0026 configs by inducing,\nvia gpio_dump(), a dev_info() call.  Its a fairly crappy way to get status,\nbut it sticks to the syslog approach, conservatively.\n\nAllowing users to voluntarily trigger logging is good, it gives them a\nfamiliar way to confirm their app\u0027s control \u0026 use of the pins, and I\u0027ve thus\nreduced the pin-mode-updates from dev_info to dev_dbg.\n\nI\u0027ve recently bolted on a proto sysfs interface for both new drivers.  Im not\nincluding those patches here; they (the patch + doc-pre-patch) are still quite\nraw (and unreviewed on KNML), and since they \u0027invent\u0027 a convention for GPIO, a\nproper vetting is needed.  Since this patchset is much bigger than my previous\nones, Id like to keep things simpler, and address it 1st, before bolting on\nmore stuff.\n\nThe driver-split\n\nThe Geode CPU and the PC-87366 Super-IO chip have GPIO units which share a\ncommon pin-architecture (same pin features, with same bits controlling), but\nwith different addressing mechanics and port organizations.\n\nThe vintage driver expresses the pin capabilities with pin-mode commands\n[OoPpTt],etc that change the pin configurations, and since the 2 chips share\npin-arch, we can reuse the read(), write() commands, once the implementation\nis suitably adjusted.\n\nThe patchset adds a vtable: struct nsc_gpio_ops, to abstract the existing gpio\noperations, then adjusts fileops.write() code to invoke operations via that\nvtable.  Driver specific open()s set private_data to the vtable so its\navailable for use by write().\n\nThe vtable gets the gpio_dump() too, since its user-friendly, and (could be\nconstrued as) part of the current device-file interface.  To support use of\ndev_dbg() in write() \u0026 _dump(), the vtable gets a dev ptr too, set by both\nscx200 \u0026 pc8736x _gpio drivers.\n\nheres how the pins are presented in syslog:\n\n[ 1890.176223]  scx200_gpio.0: io00: 0x0044 TS OD PUE  EDGE LO DEBOUNCE\n[ 1890.287223]  scx200_gpio.0: io01: 0x0003 OE PP PUD  EDGE LO\n\nnsc_gpio.c: new file is new home of several file-ops methods, which are\nmodified to get their vtable from filp-\u003eprivate_data, and use it where needed.\n\nscx200_gpio.c: keeps some of its existing gpio routines, but now wires them up\nvia the vtable (they\u0027re invoked by nsc_gpio.c:nsc_gpio_write() thru this\nvtable).  A driver-spcific open() initializes filp-\u003eprivate_data with the\nvtable.\n\nOnce the split is clean, and the scx200_gpio driver is working, we copy and\nmodify the function and variable names, and rework the access-method bodies\nfor the different addressing scheme.\n\nHeres a working overview of the patchset:\n\n# series file for GPIO\n\n# Spring Cleaning\ngpio-scx/patch.preclean        # scripts/Lindent fixes, editor-ctrl comments\n\n# API Modernization\n\ngpio-scx/patch.api26        # what I learned from LDD3\ngpio-scx/patch.platform-dev-2    # get pdev, support for dev_dbg()\ngpio-scx/patch.unsigned-minor    # fix to match std practice\n\n# Debuggability\n\ngpio-scx/patch.dump-diet    # shrink gpio_dump()\ngpio-scx/patch.viewpins        # add new \u0027command\u0027 to call dump()\ngpio-scx/patch.init-refactor    # pull shadow-register init to sub\n\n# Access-Abstraction (add vtable)\n\ngpio-scx/patch.access-vtable    # introduce nsg_gpio_ops vtable, w dump\ngpio-scx/patch.vtable-calls    # add \u0026 use the vtable in scx200_gpio\ngpio-scx/patch.nscgpio-shell    # add empty driver for common-fops\n\n# move code under abstraction\ngpio-scx/patch.migrate-fops    # move file-ops methods from scx200_gpio\ngpio-scx/patch.common-dump    # mv scx200.c:scx200_gpio_dump() to nsc_gpio.c\ngpio-scx/patch.add-pc8736x-gpio    # add new driver, like old, w chip adapt\n# gpio-scx/patch.add-DEBUG    # enable all dev_dbg()s\n\n# Cleanups\n\n# finish printk -\u003e dev_dbg() etc\ngpio-scx/patch.pdev-pc8736x    # new drvr needs pdev too,\ngpio-scx/patch.devdbg-nscgpio    # add device to \u0027vtable\u0027, use in dev_dbg()\n\n# gpio-scx/patch.pin-config-view    # another \u0027c\u0027 \u0027command\u0027\n# gpio-scx/quiet-getset        # take out excess dbg stuff (pretty quiet\nnow)\ngpio-scx/patch.shadow-current    # imitate scx200_gpio\u0027s shadow regs in\npc87*\n\n# post KMentors-post patches ..\n\ngpio-scx/patch.mutexes        # use mutexes for config-locks\ngpio-scx/patch.viewpins-values    # extend dump to obsolete separate \u0027c\u0027 cmd\n\ngpio-scx/patch.kconfig        # add stuff for kbuild\n\n# TBC\n# combine api26 with pdev, which is just one step.\n# merge c\u0026v commands to single do-all-fn\n# delay viewpins, dump-diet should also un-ifdef it too.\n\ndiff.sys-gpio-rollup-1\n\nThis patch:\n\nRemoved editor format-control comments, and used scripts/Lindent to clean up\nwhitespace, then deleted the bogus chunks :-(\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39f4885c56073ecafd482d7e10dd7b17900fa312",
      "tree": "81a90a4b7bc4dae71613cce3e27da361b08ecb0a",
      "parents": [
        "26c2143b63b8078d08d562733716de142927e17a"
      ],
      "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: add hotplug versions of cpu_notifier\n\nDefine new macros register_hotcpu_notifier() and unregister_hotcpu_notifier()\nthat redefines register_cpu_notifier() and unregister_cpu_notifier() for use\nonly when HOTPLUG_CPU is defined.\n\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"
    },
    {
      "commit": "65edc68c345cbe21d0b0375c3452a3ed5e322868",
      "tree": "07961d63cdacf95355a8db471c6ff4e321ca94fd",
      "parents": [
        "054cc8a2d808822dadf488a61729e3e550f114c4"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:08 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 [un]register_cpu_notifier init time only\n\nCPUs come online only at init time (unless CONFIG_HOTPLUG_CPU is defined).\nSo, cpu_notifier functionality need to be available only at init time.\n\nThis patch makes register_cpu_notifier() available only at init time, unless\nCONFIG_HOTPLUG_CPU is defined.\n\nThis patch exports register_cpu_notifier() and unregister_cpu_notifier() only\nif CONFIG_HOTPLUG_CPU is defined.\n\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"
    },
    {
      "commit": "c32e066057fe0914da262c94e52cefb142f965b4",
      "tree": "c429649e39af7925a443c72f180349a451c7acbe",
      "parents": [
        "72e9bb549280b354311af30640c9433474f3a32c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Tue Jun 27 02:54:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:40 2006 -0700"
      },
      "message": "[PATCH] rcutorture: add call_rcu_bh() operations\n\nAdd operations for the call_rcu_bh() variant of RCU.  Also add an\nrcu_batches_completed_bh() function, which is needed by rcutorture.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1c0f16e5cdff59f3b132a1b0c0d44a941f8813d2",
      "tree": "b2693f9e481381ae3e703afa3b68ad3531ea6645",
      "parents": [
        "34af946a22724c4e2b204957f2b24b22a0fb121c"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Jun 27 02:53:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:39 2006 -0700"
      },
      "message": "[PATCH] Remove gratuitous inclusion of \u003clinux/config.h\u003e from \u003clinux/dmaengine.h\u003e\n\nWe include config.h on the compiler command line. There\u0027s no need for it\nto be included again.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b6cd0b772dcc5dc9b4c03d53946474dee399fa72",
      "tree": "09ef125f7595f73ba256177f894d6c341074ff5b",
      "parents": [
        "a7807a32bbb027ab9955b96734fdc7f1e6497a9f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jun 27 02:53:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] fs/buffer.c: cleanups\n\n- add a proper prototype for the following global function:\n  - buffer_init()\n\n- make the following needlessly global function static:\n  - end_buffer_async_write()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a7807a32bbb027ab9955b96734fdc7f1e6497a9f",
      "tree": "8ed62e305638e1b853f1c80b5bb7ed818418765c",
      "parents": [
        "b3c681e09193559ba15f6c9562bd37045f120a96"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Jun 27 02:53:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] poison: add \u0026 use more constants\n\nAdd more poison values to include/linux/poison.h.  It\u0027s not clear to me\nwhether some others should be added or not, so I haven\u0027t added any of\nthese:\n\n./include/linux/libata.h:#define ATA_TAG_POISON\t\t0xfafbfcfdU\n./arch/ppc/8260_io/fcc_enet.c:1918:\tmemset((char *)(\u0026(immap-\u003eim_dprambase[(mem_addr+64)])), 0x88, 32);\n./drivers/usb/mon/mon_text.c:429:\tmemset(mem, 0xe5, sizeof(struct mon_event_text));\n./drivers/char/ftape/lowlevel/ftape-ctl.c:738:\t\tmemset(ft_buffer[i]-\u003eaddress, 0xAA, FT_BUFF_SIZE);\n./drivers/block/sx8.c:/* 0xf is just arbitrary, non-zero noise; this is sorta like poisoning */\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b3c681e09193559ba15f6c9562bd37045f120a96",
      "tree": "8c70d20988e6b04171cb1f60b0da34978bca5f36",
      "parents": [
        "c9cf55285e87ac423c45d9efca750d3f50234d10"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Jun 27 02:53:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] update two drivers for poison.h\n\nUpdate two drivers to use poison.h.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9cf55285e87ac423c45d9efca750d3f50234d10",
      "tree": "d46f3e90fbb38115c25b3315f6280ad65f83a14f",
      "parents": [
        "e6e5494cb23d1933735ee47cc674ffe1c4afed6f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Jun 27 02:53:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] add poison.h and patch primary users\n\nLocalize poison values into one header file for better documentation and\neasier/quicker debugging and so that the same values won\u0027t be used for\nmultiple purposes.\n\nUse these constants in core arch., mm, driver, and fs code.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e6e5494cb23d1933735ee47cc674ffe1c4afed6f",
      "tree": "c8945bb3ae5bec38693d801fb589d22d48d6f8eb",
      "parents": [
        "d5fb34261dcd32c9cb3b28121fdc46308db513a1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:53:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] vdso: randomize the i386 vDSO by moving it into a vma\n\nMove the i386 VDSO down into a vma and thus randomize it.\n\nBesides the security implications, this feature also helps debuggers, which\ncan COW a vma-backed VDSO just like a normal DSO and can thus do\nsingle-stepping and other debugging features.\n\nIt\u0027s good for hypervisors (Xen, VMWare) too, which typically live in the same\nhigh-mapped address space as the VDSO, hence whenever the VDSO is used, they\nget lots of guest pagefaults and have to fix such guest accesses up - which\nslows things down instead of speeding things up (the primary purpose of the\nVDSO).\n\nThere\u0027s a new CONFIG_COMPAT_VDSO (default\u003dy) option, which provides support\nfor older glibcs that still rely on a prelinked high-mapped VDSO.  Newer\ndistributions (using glibc 2.3.3 or later) can turn this option off.  Turning\nit off is also recommended for security reasons: attackers cannot use the\npredictable high-mapped VDSO page as syscall trampoline anymore.\n\nThere is a new vdso\u003d[0|1] boot option as well, and a runtime\n/proc/sys/vm/vdso_enabled sysctl switch, that allows the VDSO to be turned\non/off.\n\n(This version of the VDSO-randomization patch also has working ELF\ncoredumping, the previous patch crashed in the coredumping code.)\n\nThis code is a combined work of the exec-shield VDSO randomization\ncode and Gerd Hoffmann\u0027s hypervisor-centric VDSO patch. Rusty Russell\nstarted this patch and i completed it.\n\n[akpm@osdl.org: cleanups]\n[akpm@osdl.org: compile fix]\n[akpm@osdl.org: compile fix 2]\n[akpm@osdl.org: compile fix 3]\n[akpm@osdl.org: revernt MAXMEM change]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76b67ed9dce69a6a329cdd66f94af1787f417b62",
      "tree": "4d80993e607ae4a870f98ad3441795737570b012",
      "parents": [
        "dd0932d9d4301bd58a4d5a634a3a8298c4fc5e24"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:37 2006 -0700"
      },
      "message": "[PATCH] node hotplug: register cpu: remove node struct\n\nWith Goto-san\u0027s patch, we can add new pgdat/node at runtime.  I\u0027m now\nconsidering node-hot-add with cpu + memory on ACPI.\n\nI found acpi container, which describes node, could evaluate cpu before\nmemory. This means cpu-hot-add occurs before memory hot add.\n\nIn most part, cpu-hot-add doesn\u0027t depend on node hot add.  But register_cpu(),\nwhich creates symbolic link from node to cpu, requires that node should be\nonlined before register_cpu().  When a node is onlined, its pgdat should be\nthere.\n\nThis patch-set holds off creating symbolic link from node to cpu\nuntil node is onlined.\n\nThis removes node arguments from register_cpu().\n\nNow, register_cpu() requires \u0027struct node\u0027 as its argument.  But the array of\nstruct node is now unified in driver/base/node.c now (By Goto\u0027s node hotplug\npatch).  We can get struct node in generic way.  So, this argument is not\nnecessary now.\n\nThis patch also guarantees add cpu under node only when node is onlined.  It\nis necessary for node-hot-add vs.  cpu-hot-add patch following this.\n\nMoreover, register_cpu calculates cpu-\u003enode_id by cpu_to_node() without regard\nto its \u0027struct node *root\u0027 argument.  This patch removes it.\n\nAlso modify callers of register_cpu()/unregister_cpu, whose args are changed\nby register-cpu-remove-node-struct patch.\n\n[Brice.Goglin@ens-lyon.org: fix it]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Brice Goglin \u003cBrice.Goglin@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd0932d9d4301bd58a4d5a634a3a8298c4fc5e24",
      "tree": "864da70354875dadfcaebd51571122462959530a",
      "parents": [
        "7049027c6f0098eb6b23b8f6ca65a905541faf81"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:37 2006 -0700"
      },
      "message": "[PATCH] pgdat allocation and update for ia64 of memory hotplug: allocate pgdat and per node data\n\nThis is a patch to allocate pgdat and per node data area for ia64.  The size\nfor them can be calculated by compute_pernodesize().\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7049027c6f0098eb6b23b8f6ca65a905541faf81",
      "tree": "ab5528625be6e79c02767c6d9444599c1980cf0e",
      "parents": [
        "ae5a2c1c9b2bc3633032f97d02e60ae547a6047c"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:37 2006 -0700"
      },
      "message": "[PATCH] pgdat allocation and update for ia64 of memory hotplug: update pgdat address array\n\nThis is to refresh node_data[] array for ia64.  As I mentioned previous\npatches, ia64 has copies of information of pgdat address array on each node as\nper node data.\n\nAt v2 of node_add, this function used stop_machine_run() to update them.  (I\nwished that they were copied safety as much as possible.) But, in this patch,\nthis arrays are just copied simply, and set node_online_map bit after\ncompletion of pgdat initialization.\n\nSo, kernel must touch NODE_DATA() macro after checking node_online_map().\n(Current code has already done it.) This is more simple way for just\nhot-add.....\n\nNote : It will be problem when hot-remove will occur,\n       because, even if online_map bit is set, kernel may\n       touch NODE_DATA() due to race condition. :-(\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0fc44159bfcb5b0afa178f9c3f50db23aebc76ff",
      "tree": "d87e47c0f5e6b2eff1d9113d3495d185924734d9",
      "parents": [
        "1f04bbd2d396a701c5af2e5b92bad896c2550c16"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:36 2006 -0700"
      },
      "message": "[PATCH] Register sysfs file for hotplugged new node\n\nWhen new node becomes enable by hot-add, new sysfs file must be created for\nnew node.  So, if new node is enabled by add_memory(), register_one_node() is\ncalled to create it.  In addition, I386\u0027s arch_register_node() and a part of\nregister_nodes() of powerpc are consolidated to register_one_node() as a\ngeneric_code().\n\nThis is tested by Tiger4(IPF) with node hot-plug emulation.\n\nSigned-off-by: Keiichiro Tokunaga \u003ctokuanga.keiich@jp.fujitsu.com\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2842f11419704f8707fffc82e10d2263427fc130",
      "tree": "9bc86163ba7b2fa842b3aff2f087be6419f246bb",
      "parents": [
        "0a54703904a4a206686b4e8c3f5a6927b60747aa"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:36 2006 -0700"
      },
      "message": "[PATCH] catch valid mem range at onlining memory\n\nThis patch allows hot-add memory which is not aligned to section.\n\nNow, hot-added memory has to be aligned to section size.  Considering big\nsection sized archs, this is not useful.\n\nWhen hot-added memory is registerd as iomem resoruce by iomem resource\npatch, we can make use of that information to detect valid memory range.\n\nNote: With this, not-aligned memory can be registerd. To allow hot-add\n      memory with holes, we have to do more work around add_memory().\n      (It doesn\u0027t allows add memory to already existing mem section.)\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3218ae14b1e3ee2ab81df30ed690c8e864d23316",
      "tree": "91933138cb7c32dad2246ed39baa8ea4e6f98cd8",
      "parents": [
        "10ad400b49aca15ecf83b0fde7e35e4064b15c85"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:36 2006 -0700"
      },
      "message": "[PATCH] pgdat allocation for new node add (export kswapd start func)\n\nWhen node is hot-added, kswapd for the node should start.  This export kswapd\nstart function as kswapd_run() to use at add_memory().\n\n[akpm@osdl.org: daemonize() isn\u0027t needed when using the kthread API]\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "10ad400b49aca15ecf83b0fde7e35e4064b15c85",
      "tree": "336de747d6839add8ab3a7f70367e87ddbc7d155",
      "parents": [
        "306d6cbe86e2e6603ac3162e1294d5c75cfdeca6"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:36 2006 -0700"
      },
      "message": "[PATCH] pgdat allocation for new node add (refresh node_data[])\n\nRefresh NODE_DATA() for generic archs.  In this case, NODE_DATA(nid) \u003d\u003d\nnode_data[nid].  node_data[] is array of address of pgdat.  So, refresh is\nquite simple.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "306d6cbe86e2e6603ac3162e1294d5c75cfdeca6",
      "tree": "66f4b807c47eca11c272c154670ed3f8f468e11f",
      "parents": [
        "1e3590e2e4a38e8390fdac5bda23330bf2801838"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:36 2006 -0700"
      },
      "message": "[PATCH] pgdat allocation for new node add (generic alloc node_data)\n\nFor node hotplug, basically we have to allocate new pgdat.  But, there are\nseveral types of implementations of pgdat.\n\n1. Allocate only pgdat.\n   This style allocate only pgdat area.\n   And its address is recorded in node_data[].\n   It is most popular style.\n\n2. Static array of pgdat\n   In this case, all of pgdats are static array.\n   Some archs use this style.\n\n3. Allocate not only pgdat, but also per node data.\n   To increase performance, each node has copy of some data as\n   a per node data. So, this area must be allocated too.\n\n   Ia64 is this style. Ia64 has the copies of node_data[] array\n   on each per node data to increase performance.\n\nIn this series of patches, treat (1) as generic arch.\n\ngeneric archs can use generic function. (2) and (3) should have\nits own if necessary.\n\nThis patch defines pgdat allocator.\nUpdating NODE_DATA() macro function is in other patch.\n\nSigned-off-by: Yasonori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e3590e2e4a38e8390fdac5bda23330bf2801838",
      "tree": "528591e9db601af913756b11d37e451202584cd2",
      "parents": [
        "bc02af93dd2bbddce1b55e0a493f833a1b7cf140"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:36 2006 -0700"
      },
      "message": "[PATCH] pgdat allocation for new node add (get node id by acpi)\n\nThis is to find node id from acpi\u0027s handle of memory_device in DSDT.  _PXM for\nthe new node can be found by acpi_get_pxm() by using new memory\u0027s handle.  So,\nnode id can be found by pxm_to_nid_map[].\n\n  This patch becomes simpler than v2 of node hot-add patch.\n  Because old add_memory() function doesn\u0027t have node id parameter.\n  So, kernel must find its handle by physical address via DSDT again.\n  But, v3 just give node id to add_memory() now.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bc02af93dd2bbddce1b55e0a493f833a1b7cf140",
      "tree": "bda7998531b9c612c5597be9158f082d1cb5ab26",
      "parents": [
        "dd56a8e36f91f63c0a31e8a118d87b7cf01526b8"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:35 2006 -0700"
      },
      "message": "[PATCH] pgdat allocation for new node add (specify node id)\n\nChange the name of old add_memory() to arch_add_memory.  And use node id to\nget pgdat for the node at NODE_DATA().\n\nNote: Powerpc\u0027s old add_memory() is defined as __devinit. However,\n      add_memory() is usually called only after bootup.\n      I suppose it may be redundant. But, I\u0027m not well known about powerpc.\n      So, I keep it. (But, __meminit is better at least.)\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9f700f840bd481b3e01fcad1ba8da01794a6726",
      "tree": "786f4a6a3f3a2d619ae4230a62f95361fcd3245a",
      "parents": [
        "6d4f8224d4ee065e0e3186cc554468d735e6015d"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sun Jun 11 10:35:15 2006 +0900"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Jun 27 16:16:26 2006 +0100"
      },
      "message": "[JFFS2][XATTR] using \u0027delete marker\u0027 for xdatum/xref deletion\n\n- When xdatum is removed, a new xdatum with \u0027delete marker\u0027 is\n  written. (version\u003d\u003d0xffffffff means \u0027delete marker\u0027)\n- When xref is removed, a new xref with \u0027delete marker\u0027 is written.\n  (odd-numbered xseqno means \u0027delete marker\u0027)\n\n- delete_xattr_(datum/xref)_delay() are new deletion functions\n  are added. We can only use them if we can detect the target\n  obsolete xdatum/xref as a orphan or errir one.\n  (e.g when inode deletion, or detecting crc error)\n\n[1/3] jffs2-xattr-v6-01-delete_marker.patch\n\nSigned-off-by: KaiGai Kohei \u003ckaigai@ak.jp.nec.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "353dcf7c89519a2cb9b7699f3bcf70bb685f22e1",
      "tree": "4b8623b202a34a80a06e01522029332a00da5f3b",
      "parents": [
        "a8601e5f6b77aa4f223058a93bc5f77e1ee45638"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Jun 25 01:36:55 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jun 26 20:59:28 2006 -0400"
      },
      "message": "[PATCH] ata: add some NVIDIA chipset IDs\n\nFrom: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n\nAdd some nVidia chipset ID\u0027s support.\n\nhttp://www.kernel.org/git/?p\u003dlinux/kernel/git/bcollins/ubuntu-dapper.git;a\u003dcommitdiff;h\u003db407680553280f9999a20706d5ab2a3be65312c1;hp\u003dce4cb48010ab2cca537432b5ccb47d4b1fb489e5\n\nSnagged from lkml.\n\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5806db22cffc7557b675d3c9229f327980aee797",
      "tree": "e3ad9b2b89ad0525a29ba2e94eb4002ee30035ef",
      "parents": [
        "77b08fb56a41e84b5e78b14f24d79879235e3337"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Jun 24 20:30:19 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jun 26 20:59:27 2006 -0400"
      },
      "message": "[PATCH] libata: implement ata_port_max_devices()\n\nImplement ata_port_max_devices().  This function returns the number of\npossible devices on a port.  This will be used by new PM\nimplementation.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "41542dbe12e34165e586de1e3fe0a245707aa39e",
      "tree": "4084584a2d417b898c944c053b4ae9a911b8c6c3",
      "parents": [
        "438bc9c3dec27ab37f0ff78471d0b8b91addd2dd"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 23 04:18:31 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jun 26 20:59:27 2006 -0400"
      },
      "message": "[PATCH] libata.h needs scatterlist.h\n\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\ns390:\n\nIn file included from drivers/scsi/libata-bmdma.c:39:                           include/linux/libata.h:391: error: field \u0027sgent\u0027 has incomplete type\ninclude/linux/libata.h:392: error: field \u0027pad_sgent\u0027 has incomplete type\ninclude/linux/libata.h: In function \u0027ata_sg_is_last\u0027:                           include/linux/libata.h:849: error: arithmetic on pointer to an incomplete type\ninclude/linux/libata.h:849: error: arithmetic on pointer to an incomplete type\ninclude/linux/libata.h: In function \u0027ata_qc_next_sg\u0027:\ninclude/linux/libata.h:869: error: increment of pointer to unknown structure\ninclude/linux/libata.h:869: error: arithmetic on pointer to an incomplete type\ninclude/linux/libata.h:869: error: arithmetic on pointer to an incomplete type\ninclude/linux/libata.h:869: error: arithmetic on pointer to an incomplete type\n\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "438bc9c3dec27ab37f0ff78471d0b8b91addd2dd",
      "tree": "b0fdf3fe89cf884c8c28de20fe3977f01571a109",
      "parents": [
        "8676ce07d38a09e0f41497d178357a314c4620cf"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jun 26 20:52:17 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jun 26 20:52:17 2006 -0400"
      },
      "message": "[libata] sata_vsc: partially revert a PCI ID-related commit\n\nPartially revert 74d0a988d3aa359b6b8a8536c8cb92cce02ca5d5:\n\n\t[PATCH] PCI: Move various PCI IDs to header file\n\nlibata policy is to avoid use of named PCI device ID constants.\nThese are often single-use constants, which have little value over\ndirect numeric constants save for constant include/linux/pci_ids.h\npatching/merging headaches.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "da206c9e68cb93fcab43592d46276c02889c1250",
      "tree": "21264cc26fa0322d668b398808f10bd93558d25f",
      "parents": [
        "916d15445f4ad2a9018e5451760734f36083be77",
        "2e2d0dcc1bd7ca7c26ea5e29efb7f34bbd564f1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 13:33:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 13:33:14 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  typo fixes\n  Clean up \u0027inline is not at beginning\u0027 warnings for usb storage\n  Storage class should be first\n  i386: Trivial typo fixes\n  ixj: make ixj_set_tone_off() static\n  spelling fixes\n  fix paniced-\u003epanicked typos\n  Spelling fixes for Documentation/atomic_ops.txt\n  move acknowledgment for Mark Adler to CREDITS\n  remove the bouncing email address of David Campbell\n"
    },
    {
      "commit": "09c0dc68625c06f5b1e786aad0d5369b592179e6",
      "tree": "19fd06de08792a4c07ee8b61e5615ee35e8ccec0",
      "parents": [
        "2a2ed2db353d949c06b6ef8b6913f65b39111eab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 11:55:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 11:55:42 2006 -0700"
      },
      "message": "Revert \"[PATCH] kthread: update loop.c to use kthread\"\n\nThis reverts commit c7b2eff059fcc2d1b7085ee3d84b79fd657a537b.\n\nHugh Dickins explains:\n\n \"It seems too little tested: \"losetup -d /dev/loop0\" fails with\n  EINVAL because nothing sets lo_thread; but even when you patch\n  loop_thread() to set lo-\u003elo_thread \u003d current, it can\u0027t survive\n  more than a few dozen iterations of the loop below (with a tmpfs\n  mounted on /tst):\n\n\tj\u003d0\n\tcp /dev/zero /tst\n\twhile :\n\tdo\n\t    let j\u003dj+1\n\t    echo \"Doing pass $j\"\n\t    losetup /dev/loop0 /tst/zero\n\t    mkfs -t ext2 -b 1024 /dev/loop0 \u003e/dev/null 2\u003e\u00261\n\t    mount -t ext2 /dev/loop0 /mnt\n\t    umount /mnt\n\t    losetup -d /dev/loop0\n\tdone\n\n  it collapses with failed ioctl then BUG_ON(!bio).\n\n  I think the original lo_done completion was more subtle and safe\n  than the kthread conversion has allowed for.\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2a2ed2db353d949c06b6ef8b6913f65b39111eab",
      "tree": "d835c3dd101da91089c3bdf51c8632e84be37232",
      "parents": [
        "972d19e837833b93466c6f6a8ef2a7d653000aa3",
        "070b98bfda3d27269519067c1c67eaef695f3e0c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 11:05:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 11:05:15 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (40 commits)\n  kbuild: trivial fixes in Makefile\n  kbuild: adding symbols in Kconfig and defconfig to TAGS\n  kbuild: replace abort() with exit(1)\n  kbuild: support for %.symtypes files\n  kbuild: fix silentoldconfig recursion\n  kbuild: add option for stripping modules while installing them\n  kbuild: kill some false positives from modpost\n  kbuild: export-symbol usage report generator\n  kbuild: fix make -rR breakage\n  kbuild: append -dirty for updated but uncommited changes\n  kbuild: append git revision for all untagged commits\n  kbuild: fix module.symvers parsing in modpost\n  kbuild: ignore make\u0027s built-in rules \u0026 variables\n  kbuild: bugfix with initramfs\n  kbuild: modpost build fix\n  kbuild: check license compatibility when building modules\n  kbuild: export-type enhancement to modpost.c\n  kbuild: add dependency on kernel.release to the package targets\n  kbuild: `make kernelrelease\u0027 speedup\n  kconfig: KCONFIG_OVERWRITECONFIG\n  ...\n"
    },
    {
      "commit": "972d19e837833b93466c6f6a8ef2a7d653000aa3",
      "tree": "069258492d5347cf440b8240dadfa20621f54842",
      "parents": [
        "cdf4f383a4b0ffbf458f65380ecffbeee1f79841",
        "b9d0a25a484a90c1d60b974d115eff2fe580ce16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 11:03:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 11:03:29 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  [CRYPTO] tcrypt: Forbid tcrypt from being built-in\n  [CRYPTO] aes: Add wrappers for assembly routines\n  [CRYPTO] tcrypt: Speed benchmark support for digest algorithms\n  [CRYPTO] tcrypt: Return -EAGAIN from module_init()\n  [CRYPTO] api: Allow replacement when registering new algorithms\n  [CRYPTO] api: Removed const from cra_name/cra_driver_name\n  [CRYPTO] api: Added cra_init/cra_exit\n  [CRYPTO] api: Fixed incorrect passing of context instead of tfm\n  [CRYPTO] padlock: Rearrange context structure to reduce code size\n  [CRYPTO] all: Pass tfm instead of ctx to algorithms\n  [CRYPTO] digest: Remove unnecessary zeroing during init\n  [CRYPTO] aes-i586: Get rid of useless function wrappers\n  [CRYPTO] digest: Add alignment handling\n  [CRYPTO] khazad: Use 32-bit reads on key\n"
    },
    {
      "commit": "cdf4f383a4b0ffbf458f65380ecffbeee1f79841",
      "tree": "8093cb3dbeda8827ca8b782f29474af523439c55",
      "parents": [
        "954b36d48b495afed2880320750858a2eae312c9",
        "e2e8115b54aa6f159ac3dfec8d3d23b0af5fbfa0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 11:01:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 11:01:58 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input\n\n* master.kernel.org:/pub/scm/linux/kernel/git/dtor/input:\n  Input: iforce - remove some pointless casts\n  Input: psmouse - add support for Intellimouse 4.0\n  Input: atkbd - fix HANGEUL/HANJA keys\n  Input: fix misspelling of Hangeul key\n  Input: via-pmu - add input device support\n  Input: rearrange exports\n  Input: fix formatting to better follow CodingStyle\n  Input: reset name, phys and uniq when unregistering\n  Input: return correct size when reading modalias attribute\n  Input: change my e-mail address in MAINTAINERS file\n  Input: fix potential overflows in driver/input/keyboard\n  Input: fix potential overflows in driver/input/touchscreen\n  Input: fix potential overflows in driver/input/joystick\n  Input: fix potential overflows in driver/input/mouse\n  Input: fix accuracy of fixp-arith.h\n  Input: iforce - use ENOSPC instead of ENOMEM\n  Input: constify drivers/char/keyboard.c\n"
    },
    {
      "commit": "5f2f444136abdb13dbd2094555aa65fc252aef6c",
      "tree": "eb7ff532050c76319ba9d0c190a19f10a101e844",
      "parents": [
        "81a07d7588d376c530d006e24d7981304ce96e16",
        "33f40b3b023b9f00b40ecfb3a39286de13516b33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:54:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:54:02 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb\n\n* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:\n  V4L/DVB (4227): Update this driver for recent header file movement.\n  V4L/DVB (4223): Add V4L2_CID_MPEG_STREAM_VBI_FMT control\n  V4L/DVB (4222): Always switch tuner mode when calling VIDIOC_S_FREQUENCY.\n  V4L/DVB (4221): Add HM12 YUV format define.\n  V4L/DVB (4219): Av7110: analog sound output of DVB-C rev 2.3\n  V4L/DVB (4217): Fix a misplaced closing bracket/else, which caused swzigzag not to be called\n  V4L/DVB (4215): Make VIDEO_CX88_BLACKBIRD a separate build option\n  V4L/DVB (4214): Make VIDEO_CX2341X a selectable build option\n  V4L/DVB (4213): Cx88: cleanups\n  V4L/DVB (4211): Fix an Oops for all fe that have get_frontend_algo \u003d\u003d NULL\n"
    },
    {
      "commit": "81a07d7588d376c530d006e24d7981304ce96e16",
      "tree": "1608e094c88b9702c86cf2e6f65339aab9ea3f3f",
      "parents": [
        "8871e73fdbde07d0a41393f7ee30787b65387b36",
        "8501a2fbe762b21d2504ed3aca3b52be61b5e6e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:51:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:51:09 2006 -0700"
      },
      "message": "Merge branch \u0027x86-64\u0027\n\n* x86-64: (83 commits)\n  [PATCH] x86_64: x86_64 stack usage debugging\n  [PATCH] x86_64: (resend) x86_64 stack overflow debugging\n  [PATCH] x86_64: msi_apic.c build fix\n  [PATCH] x86_64: i386/x86-64 Add nmi watchdog support for new Intel CPUs\n  [PATCH] x86_64: Avoid broadcasting NMI IPIs\n  [PATCH] x86_64: fix apic error on bootup\n  [PATCH] x86_64: enlarge window for stack growth\n  [PATCH] x86_64: Minor string functions optimizations\n  [PATCH] x86_64: Move export symbols to their C functions\n  [PATCH] x86_64: Standardize i386/x86_64 handling of NMI_VECTOR\n  [PATCH] x86_64: Fix modular pc speaker\n  [PATCH] x86_64: remove sys32_ni_syscall()\n  [PATCH] x86_64: Do not use -ffunction-sections for modules\n  [PATCH] x86_64: Add cpu_relax to apic_wait_icr_idle\n  [PATCH] x86_64: adjust kstack_depth_to_print default\n  [PATCH] i386/x86-64: adjust /proc/interrupts column headings\n  [PATCH] x86_64: Fix race in cpu_local_* on preemptible kernels\n  [PATCH] x86_64: Fix fast check in safe_smp_processor_id\n  [PATCH] x86_64: x86_64 setup.c - printing cmp related boottime information\n  [PATCH] i386/x86-64/ia64: Move polling flag into thread_info_status\n  ...\n\nManual resolve of trivial conflict in arch/i386/kernel/Makefile\n"
    },
    {
      "commit": "05ebb76109f302b949e745724bbf0f0634dba43f",
      "tree": "350fa24df135197d53fef2e7d969b1bab7f97859",
      "parents": [
        "f3fa8ebc25129bb69929e20b0c84049c39029d8d"
      ],
      "author": {
        "name": "Vojtech Pavlik",
        "email": "vojtech@suse.cz",
        "time": "Mon Jun 26 13:58:20 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:48:19 2006 -0700"
      },
      "message": "[PATCH] x86_64: Add useful constants to time.h\n\nIn timekeeping code, one often does need to use conversion constants. Naming\nthese leads to code that\u0027s easier to understand, showing the reader between\nwhich units the conversion is made.\n\nSigned-off-by: Vojtech Pavlik \u003cvojtech@suse.cz\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83f4fcce7fdd213bd570b899862c3838871f8cf7",
      "tree": "ba66890ee98386e33b5d642af76291fabf8d0d29",
      "parents": [
        "c33bd9aac0597eeedaaa01ea5aafe456894b2f2b"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Mon Jun 26 13:57:50 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:48:18 2006 -0700"
      },
      "message": "[PATCH] x86_64: allow unwinder to build without module support\n\nAdd proper conditionals to be able to build with CONFIG_MODULES\u003dn.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c33bd9aac0597eeedaaa01ea5aafe456894b2f2b",
      "tree": "cdac9bb99eb3943feccc2a21d09a1524a8867cb0",
      "parents": [
        "fe7cacc1c25e286872b878c5d46880b620cd1e2d"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Mon Jun 26 13:57:47 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:48:18 2006 -0700"
      },
      "message": "[PATCH] i386/x86-64: fall back to old-style call trace if no unwinding\n\nIf no unwinding is possible at all for a certain exception instance,\nfall back to the old style call trace instead of not showing any trace\nat all.\n\nAlso, allow setting the stack trace mode at the command line.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4552d5dc08b79868829b4be8951b29b07284753f",
      "tree": "7b25695b4c0e1917fc80e8dd4bc494de36320ccc",
      "parents": [
        "2b28592b07223d7fc0691ce3fe57d495dc9cbe3a"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Mon Jun 26 13:57:28 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:48:17 2006 -0700"
      },
      "message": "[PATCH] x86_64: reliable stack trace support\n\nThese are the generic bits needed to enable reliable stack traces based\non Dwarf2-like (.eh_frame) unwind information. Subsequent patches will\nenable x86-64 and i386 to make use of this.\n\nThanks to Andi Kleen and Ingo Molnar, who pointed out several possibilities\nfor improvement.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "08cd36570e47176c7b6bd3e80125aa46c4638097",
      "tree": "02c9cb3be4a2b520772e9b66bb57901401dd2666",
      "parents": [
        "5282aab87a8be3f5e6c36a4c2ee4b71852def1bb"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Jun 26 13:57:10 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:48:16 2006 -0700"
      },
      "message": "[PATCH] x86_64: Optimize bitmap_weight for small bitmaps\n\nUse inline code bitmaps \u003c\u003d BITS_PER_LONG in bitmap_weight. This\ngives _much_ better code.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bebfa1013eee1d91b3242e5801cc8fbdfaf148ec",
      "tree": "d1abf916c29bbb5c312717f57798987268aff9a9",
      "parents": [
        "f201611fcecdfa825471dc425ee007997228fae4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Jun 26 13:56:52 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:48:16 2006 -0700"
      },
      "message": "[PATCH] x86_64: Add compat_printk and sysctl to turn off compat layer warnings\n\nSometimes e.g. with crashme the compat layer warnings can be noisy.\nAdd a way to turn them off by gating all output through compat_printk\nthat checks a global sysctl. The default is not changed.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "61a46dc9d1c10d07a2ed6b7d346b868803b52506",
      "tree": "ac81648c6aa7315f42d1d17455ddf7f09d14e6b6",
      "parents": [
        "b78709cfd4387c15a9894748bcada8a4ca75c561",
        "8070b2b1ecbeb5437c92c33b4dcea1d8d80399ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:08:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:08:13 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)\n  [IOAT]: Do not dereference THIS_MODULE directly to set unsafe.\n  [NETROM]: Fix possible null pointer dereference.\n  [NET] netpoll: break recursive loop in netpoll rx path\n  [NET] netpoll: don\u0027t spin forever sending to stopped queues\n  [IRDA]: add some IBM think pads\n  [ATM]: atm/mpc.c warning fix\n  [NET]: skb_find_text ignores to argument\n  [NET]: make net/core/dev.c:netdev_nit static\n  [NET]: Fix GSO problems in dev_hard_start_xmit()\n  [NET]: Fix CHECKSUM_HW GSO problems.\n  [TIPC]: Fix incorrect correction to discovery timer frequency computation.\n  [TIPC]: Get rid of dynamically allocated arrays in broadcast code.\n  [TIPC]: Fixed link switchover bugs\n  [TIPC]: Enhanced \u0026 cleaned up system messages; fixed 2 obscure memory leaks.\n  [TIPC]: First phase of assert() cleanup\n  [TIPC]: Disallow config operations that aren\u0027t supported in certain modes.\n  [TIPC]: Fixed memory leak in tipc_link_send() when destination is unreachable\n  [TIPC]: Added missing warning for out-of-memory condition\n  [TIPC]: Withdrawing all names from nameless port now returns success, not error\n  [TIPC]: Optimized argument validation done by connect().\n  ...\n"
    },
    {
      "commit": "42543769142d2375f2b5f8fc9cac999f84bd4c4c",
      "tree": "404606c37da872639111c5b641f07fff2ded1dff",
      "parents": [
        "07d84d109d8beedd68df9da2e4e9f25c8217e7fb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:39 2006 -0700"
      },
      "message": "[PATCH] md: Don\u0027t write dirty/clean update to spares - leave them alone\n\n- record the \u0027event\u0027 count on each individual device (they\n  might sometimes be slightly different now)\n- add a new value for \u0027sb_dirty\u0027: \u00273\u0027 means that the super\n  block only needs to be updated to record a clean\u003c-\u003edirty\n  transition.\n- Prefer odd event numbers for dirty states and even numbers\n  for clean states\n- Using all the above, don\u0027t update the superblock on\n  a spare device if the update is just doing a clean-dirty\n  transition.  To accomodate this, a transition from\n  dirty back to clean might now decrement the events counter\n  if nothing else has changed.\n\nThe net effect of this is that spare drives will not see any IO requests\nduring normal running of the array, so they can go to sleep if that is what\nthey want to do.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d785a06a0b9d0cd86b3cc1bf8e236e62af7b47ed",
      "tree": "7a238aedb0facb5c207a0477296e78b9ef7d551b",
      "parents": [
        "acc55e220166a5ad898e66ad6153fd62eaaac76d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:38 2006 -0700"
      },
      "message": "[PATCH] md/bitmap: change md/bitmap file handling to use bmap to file blocks\n\nIf md is asked to store a bitmap in a file, it tries to hold onto the page\ncache pages for that file, manipulate them directly, and call a cocktail of\noperations to write the file out.  I don\u0027t believe this is a supportable\napproach.\n\nThis patch changes the approach to use the same approach as swap files.  i.e.\nbmap is used to enumerate all the block address of parts of the file and we\nwrite directly to those blocks of the device.\n\nswapfile only uses parts of the file that provide a full pages at contiguous\naddresses.  We don\u0027t have that luxury so we have to cope with pages that are\nnon-contiguous in storage.  To handle this we attach buffers to each page, and\nstore the addresses in those buffers.\n\nWith this approach the pagecache may contain data which is inconsistent with\nwhat is on disk.  To alleviate the problems this can cause, md invalidates the\npagecache when releasing the file.  If the file is to be examined while the\narray is active (a non-critical but occasionally useful function), O_DIRECT io\nmust be used.  And new version of mdadm will have support for this.\n\nThis approach simplifies a lot of code:\n - we no longer need to keep a list of pages which we need to wait for,\n   as the b_endio function can keep track of how many outstanding\n   writes there are.  This saves a mempool.\n - -EAGAIN returns from write_page are no longer possible (not sure if\n    they ever were actually).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0b79ccf0cdd9f59e5f99017e1a5d23da336544b2",
      "tree": "8688d9810fcba1e24abce726eaf35ff32f6b58d9",
      "parents": [
        "d7375ab324971e7acbea9f02a0269ae7348f4147"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:38 2006 -0700"
      },
      "message": "[PATCH] md/bitmap: remove bitmap writeback daemon\n\nmd/bitmap currently has a separate thread to wait for writes to the bitmap\nfile to complete (as we cannot get a callback on that action).\n\nHowever this isn\u0027t needed as bitmap_unplug is called from process context and\nwaits for the writeback thread to do it\u0027s work.  The same result can be\nachieved by doing the waiting directly in bitmap_unplug.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5e56341d029f0c2cf31e78dc01d4c861ba4d6a5e",
      "tree": "e77087a31d3d1b86c563fb4461f07ee642de280b",
      "parents": [
        "c93983bf517c100a31e40ef087e19bd3d7aa2d28"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jun 26 00:27:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: make md_print_devices() static\n\nThis patch makes the needlessly global md_print_devices() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c93983bf517c100a31e40ef087e19bd3d7aa2d28",
      "tree": "9361c68d5f00ccd34cbc0a3bc7bc2389ce7f4c3a",
      "parents": [
        "7c7546ccf6463edbeee8d9aac6de7be1cd80d08a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: support stripe/offset mode in raid10\n\nThe \"industry standard\" DDF format allows for a stripe/offset layout where\ndata is duplicated on different stripes.  e.g.\n\n  A  B  C  D\n  D  A  B  C\n  E  F  G  H\n  H  E  F  G\n\n(columns are drives, rows are stripes, LETTERS are chunks of data).\n\nThis is similar to raid10\u0027s \u0027far\u0027 mode, but not quite the same.  So enhance\n\u0027far\u0027 mode with a \u0027far/offset\u0027 option which follows the layout of DDFs\nstripe/offset.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c7546ccf6463edbeee8d9aac6de7be1cd80d08a",
      "tree": "56c1f734db9f8a66a7c8c5ef11fb35e07dbb2f91",
      "parents": [
        "5fd6c1dce06ec24ef3de20fe0c7ecf2ba9fe5ef9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: allow a linear array to have drives added while active\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5fd6c1dce06ec24ef3de20fe0c7ecf2ba9fe5ef9",
      "tree": "bd7cc8c22615e8622d3d63b7fc68dcc3ac1964de",
      "parents": [
        "a8a55c387da28d67d98f56e4f5021462cb61f7a6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: allow checkpoint of recovery with version-1 superblock\n\nFor a while we have had checkpointing of resync.  The version-1 superblock\nallows recovery to be checkpointed as well, and this patch implements that.\n\nDue to early carelessness we need to add a feature flag to signal that the\nrecovery_offset field is in use, otherwise older kernels would assume that a\npartially recovered array is in fact fully recovered.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "16a53ecc35f2a80dc285be2e769768847d89ca37",
      "tree": "19d005f19af68e9b98efaf16885bb60498f540c1",
      "parents": [
        "16f17b39f385212b73278a76d482cdcaaebe6c02"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: merge raid5 and raid6 code\n\nThere is a lot of commonality between raid5.c and raid6main.c.  This patches\nmerges both into one module called raid456.  This saves a lot of code, and\npaves the way for online raid5-\u003eraid6 migrations.\n\nThere is still duplication, e.g.  between handle_stripe5 and handle_stripe6.\nThis will probably be cleaned up later.\n\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8932c2e0dcae52e73430878fd8a7a7800176eada",
      "tree": "3b734ccaa0fb210f1fd76ff9bb6fb9700d1c4095",
      "parents": [
        "c70810b327a247d12805554d0aa4605e257effb8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] md: remove arbitrary limit on chunk size\n\nThe largest chunk size the code can support without substantial surgery is\n2^30 bytes, so make that the limit instead of an arbitrary 4Meg.  Some day,\nthe \u0027chunksize\u0027 should change to a sector-shift instead of a byte-count.  Then\nno limit would be needed.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72d9486169a2a8353e022813185ba2f32d7dde69",
      "tree": "2fe6c382feb3f21d829abf543c54be486007557c",
      "parents": [
        "5c6bd75d06db512515a3781aa97e42df2faf0815"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 26 00:27:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] dm: improve error message consistency\n\nTidy device-mapper error messages to include context information\nautomatically.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c6bd75d06db512515a3781aa97e42df2faf0815",
      "tree": "43d68c6d3174e1ae8a778acd834665c122f8b2a4",
      "parents": [
        "c2ade42dd35466d90aa6fc7cc717f396e165492f"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 26 00:27:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] dm: prevent removal if open\n\nIf you misuse the device-mapper interface (or there\u0027s a bug in your userspace\ntools) it\u0027s possible to end up with \u0027unlinked\u0027 mapped devices that cannot be\nremoved until you reboot (along with uninterruptible processes).\n\nThis patch prevents you from removing a device that is still open.\n\nIt introduces dm_lock_for_deletion() which is called when a device is about to\nbe removed to ensure that nothing has it open and nothing further can open it.\n It uses a private open_count for this which also lets us remove one of the\nproblematic bdget_disk() calls elsewhere.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c2ade42dd35466d90aa6fc7cc717f396e165492f",
      "tree": "245baeabfea43a3b2654adb962e776a877da0059",
      "parents": [
        "17b2f66f2a39a4e4d1ed456f35ee3bb598e41d35"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jun 26 00:27:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] dm: create error table\n\nAdd a library function dm_create_error_table() to create a table that rejects\nany I/O sent to a device with EIO.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "17b2f66f2a39a4e4d1ed456f35ee3bb598e41d35",
      "tree": "64801e095918f685fa83bface7f8289e33bb9bcd",
      "parents": [
        "2b06cfff12f0f87c4bc4d4c4dd76997e72c360ba"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 26 00:27:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] dm: add exports\n\nMove definitions of core device-mapper functions for manipulating mapped\ndevices and their tables to \u003clinux/device-mapper.h\u003e advertising their\navailability for use elsewhere in the kernel.\n\nProtect the contents of device-mapper.h with ifdef __KERNEL__.  And throw\nin a few formatting clean-ups and extra comments.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5806f07cd2c32920d5105e0f9ff3117338f34eec",
      "tree": "65242ea629a19308656a3090fee6b513dfa0f723",
      "parents": [
        "c51c2752491e5e771de6c8861a85ba46752d7888"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Mon Jun 26 00:27:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:34 2006 -0700"
      },
      "message": "[PATCH] lib: add idr_replace\n\nThis patch adds idr_replace() to replace an existing pointer in a single\noperation.\n\nDevice-mapper will use this to update the pointer it stored against a given\nid.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e614b18dcedb247ce6f848e623cdf2336df2b476",
      "tree": "a867f1fa177eb2ed6c577e45d297374744adca3b",
      "parents": [
        "3e795de7631b2366d7301182c8d91f6d2911467b"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Mon Jun 26 00:27:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:33 2006 -0700"
      },
      "message": "[PATCH] VT binding: Update fbcon to support binding\n\nThe control for binding/unbinding is moved from fbcon to the console layer.\nThus the fbcon sysfs attributes, attach and detach, are also gone.\n\n    1. Add a notifier event that tells fbcon if a framebuffer driver has been\n       unregistered.  If no registered driver remains, fbcon will unregister\n       itself from the console layer.\n\n    2. Replaced calls to give_up_console() with unregister_con_driver().\n\n    3. Still use take_over_console() instead of register_con_driver() to\n       maintain compatibility\n\n    4. Respect the parameter first_fb_vc and last_fb_vc instead of using 0 and\n       MAX_NR_CONSOLES - 1. These parameters are settable by the user.\n\n    5. When fbcon is completely unbound from the console layer, fbcon will\n       also release (iow, decrement module reference counts to zero) all fbdev\n       drivers. In other words, a bind or unbind request from the console layer\n       will propagate down to the framebuffer drivers.\n\n    6. If fbcon is not bound to the console, it will ignore all notifier\n       events (except driver registration and unregistration) and all sysfs\n       requests.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e795de7631b2366d7301182c8d91f6d2911467b",
      "tree": "e119d2eec9825ad86c2b07e43d2bb06e7d558858",
      "parents": [
        "a4a73e1f0283850edc143d28502c1c517c6ab49c"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Mon Jun 26 00:27:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:33 2006 -0700"
      },
      "message": "[PATCH] VT binding: Add binding/unbinding support for the VT console\n\nThe framebuffer console is now able to dynamically bind and unbind from the VT\nconsole layer.  Due to the way the VT console layer works, the drivers\nthemselves decide when to bind or unbind.  However, it was decided that\nbinding must be controlled, not by the drivers themselves, but by the VT\nconsole layer.  With this, dynamic binding is possible for all VT console\ndrivers, not just fbcon.\n\nThus, the VT console layer will impose the following to all VT console\ndrivers:\n\n- all registered VT console drivers will be entered in a private list\n- drivers can register themselves to the VT console layer, but they cannot\n  decide when to bind or unbind. (Exception: To maintain backwards\n  compatibility, take_over_console() will automatically bind the driver after\n  registration.)\n- drivers can remove themselves from the list by unregistering from the VT\n  console layer. A prerequisite for unregistration is that the driver must not\n  be bound.\n\nThe following functions are new in the vt.c:\n\nregister_con_driver() - public function, this function adds the VT console\ndriver to an internal list maintained by the VT console\n\nbind_con_driver() - private function, it binds the driver to the console\n\ntake_over_console() is changed to call register_con_driver() followed by a\nbind_con_driver().  This is the only time drivers can decide when to bind to\nthe VT layer.  This is to maintain backwards compatibility.\n\nunbind_con_driver() - private function, it unbinds the driver from its\nconsole.  The vacated consoles will be taken over by the default boot console\ndriver.\n\nunregister_con_driver() - public function, removes the driver from the\ninternal list maintained by the VT console.  It will only succeed if the\ndriver is currently unbound.\n\ncon_is_bound() checks if the driver is currently bound or not\n\ngive_up_console() is just a wrapper to unregister_con_driver().\n\nThere are also 3 additional functions meant to be called only by the tty layer\nfor sysfs control:\n\n\tvt_bind() - calls bind_con_driver()\n\tvt_unbind() - calls unbind_con_driver()\n\tvt_show_drivers() - shows the list of registered drivers\n\nMost VT console drivers will continue to work as is, but might have problems\nwhen unbinding or binding which should be fixable with minimal changes.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a17917671d407d37bf23a527aa55acca3cb4735",
      "tree": "1e78f6f82d913ee58c174776529589afe1d3b2a9",
      "parents": [
        "a06630f3e7fb29f2524e1d7b009eb8b5a278ba23"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Mon Jun 26 00:27:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:32 2006 -0700"
      },
      "message": "[PATCH] Detaching fbcon: sdd sysfs class device entry for fbcon\n\nIn order for this feature to work, an interface will be needed.  The most\nappropriate is sysfs.  However, the framebuffer console has no sysfs entry\nyet.  This will create a sysfs class device entry for fbcon under\n/sys/class/graphics.\n\nAdd a class_device entry \u0027fbcon\u0027 under class \u0027graphics\u0027.  Console-specific\nattributes which where previously under class/graphics/fb[x] are moved to\nclass/graphics/fbcon.  These attributes, \u0027con_rotate\u0027 and \u0027con_rotate_all\u0027,\nare also renamed to \u0027rotate\u0027 and \u0027rotate_all\u0027 respectively.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d5f70c00ad24cd1158d3678b44ff969b4c971d49",
      "tree": "b4b71a71b413250fb24cb2d83cbbfd7507da9efc",
      "parents": [
        "281de339ceb822ca6c04d4373ecb9a45c1890ce4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Jun 26 00:26:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:27 2006 -0700"
      },
      "message": "[PATCH] coredump: kill ptrace related stuff\n\nWith this patch zap_process() sets SIGNAL_GROUP_EXIT while sending SIGKILL to\nthe thread group.  This means that a TASK_TRACED task\n\n\t1. Will be awakened by signal_wake_up(1)\n\n\t2. Can\u0027t sleep again via ptrace_notify()\n\n\t3. Can\u0027t go to do_signal_stop() after return\n\t   from ptrace_stop() in get_signal_to_deliver()\n\nSo we can remove all ptrace related stuff from coredump path.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "13b41b09491e5d75e8027dca1ee78f5e073bc4c0",
      "tree": "3f08183a4f59075fc3015165183b8ef17cb562a6",
      "parents": [
        "99f895518368252ba862cc15ce4eb98ebbe1bec6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:26 2006 -0700"
      },
      "message": "[PATCH] proc: Use struct pid not struct task_ref\n\nIncrementally update my proc-dont-lock-task_structs-indefinitely patches so\nthat they work with struct pid instead of struct task_ref.\n\nMostly this is a straight 1-1 substitution.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99f895518368252ba862cc15ce4eb98ebbe1bec6",
      "tree": "a9dcc01963221d1fd6a7e357b95d361ebfe91c6d",
      "parents": [
        "8578cea7509cbdec25b31d08b48a92fcc3b1a9e3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:25 2006 -0700"
      },
      "message": "[PATCH] proc: don\u0027t lock task_structs indefinitely\n\nEvery inode in /proc holds a reference to a struct task_struct.  If a\ndirectory or file is opened and remains open after the the task exits this\npinning continues.  With 8K stacks on a 32bit machine the amount pinned per\nfile descriptor is about 10K.\n\nNormally I would figure a reasonable per user process limit is about 100\nprocesses.  With 80 processes, with a 1000 file descriptors each I can trigger\nthe 00M killer on a 32bit kernel, because I have pinned about 800MB of useless\ndata.\n\nThis patch replaces the struct task_struct pointer with a pointer to a struct\ntask_ref which has a struct task_struct pointer.  The so the pinning of dead\ntasks does not happen.\n\nThe code now has to contend with the fact that the task may now exit at any\ntime.  Which is a little but not muh more complicated.\n\nWith this change it takes about 1000 processes each opening up 1000 file\ndescriptors before I can trigger the OOM killer.  Much better.\n\n[mlp@google.com: task_mmu small fixes]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Albert Cahalan \u003cacahalan@gmail.com\u003e\nSigned-off-by: Prasanna Meda \u003cmlp@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "48e6484d49020dba3578ad117b461e8a391e8f0f",
      "tree": "7824ca84bfe71c3fe2c09a1fedc31106fec4f500",
      "parents": [
        "662795deb854b31501e0ffb42b7f0cce802c134a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Rewrite the proc dentry flush on exit optimization\n\nTo keep the dcache from filling up with dead /proc entries we flush them on\nprocess exit.  However over the years that code has gotten hairy with a\ndentry_pointer and a lock in task_struct and misdocumented as a correctness\nfeature.\n\nI have rewritten this code to look and see if we have a corresponding entry in\nthe dcache and if so flush it on process exit.  This removes the extra fields\nin the task_struct and allows me to trivially handle the case of a\n/proc/\u003ctgid\u003e/task/\u003cpid\u003e entry as well as the current /proc/\u003cpid\u003e entries.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aed7a6c476d90660ac5af860158407ae9fe61c68",
      "tree": "b8b92412f457598a2348de0eb304b9b4ec204157",
      "parents": [
        "87bfbf679ffb1e95dd9ada694f66aafc4bfa5959"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Jun 26 00:25:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:24 2006 -0700"
      },
      "message": "[PATCH] proc: Replace proc_inode.type with proc_inode.fd\n\nThe sole renaming use of proc_inode.type is to discover the file descriptor\nnumber, so just store the file descriptor number and don\u0027t wory about\nprocessing this field.  This removes any /proc limits on the maximum number of\nfile descriptors, and clears the path to make the hard coded /proc inode\nnumbers go away.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5024ad4af69b3570e18d312786dc46318a1bad1a",
      "tree": "fb92af314e6408ae0a2981e1fb15b11577f68cbe",
      "parents": [
        "698e3ed9d4f47286134f66ea333b6679b29e59e4"
      ],
      "author": {
        "name": "Hansjoerg Lipp",
        "email": "hjlipp@web.de",
        "time": "Mon Jun 26 00:25:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:23 2006 -0700"
      },
      "message": "[PATCH] i4l: Gigaset drivers: add IOCTLs to compat_ioctl.h\n\nAdd the IOCTLs of the Gigaset drivers to compat_ioctl.h in order to make\nthem available for 32 bit programs on 64 bit platforms.  Please merge.\n\nSigned-off-by: Hansjoerg Lipp \u003chjlipp@web.de\u003e\nAcked-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "19923c190e0932bf0ac1e1d06a48f5c3678dd0de",
      "tree": "2a32f5f16b3bbebd74c0f4910493c7f28a70fd84",
      "parents": [
        "6415ce9a922a1446e7ee0ac9b016082232ebe373"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Mon Jun 26 00:25:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:21 2006 -0700"
      },
      "message": "[PATCH] fix and optimize clock source update\n\nThis fixes the clock source updates in update_wall_time() to correctly\ntrack the time coming in via current_tick_length().  Optimize the fast\npaths to be as short as possible to keep the overhead low.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7f9f303aa33c7acc7b4aa9ebea25cbd990bc707b",
      "tree": "b5916e6b018356afdb5c8687e554a049532633bd",
      "parents": [
        "7d622d4794490cef933c20e4a6279e43e03fafad"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Jun 26 00:25:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:21 2006 -0700"
      },
      "message": "[PATCH] generic-time: add macro to simplify/hide mask constants\n\nAdd a CLOCKSOURCE_MASK macro to simplify initializing the mask for a struct\nclocksource, and use it to replace literal mask constants in the various\nclocksource drivers.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a275254975a29c51929ee175b92ac471ac2a0043",
      "tree": "42ec41bf74c0c601f05ed12ff674539f4bf6f505",
      "parents": [
        "5d0cf410e94b1f1ff852c3f210d22cc6c5a27ffa"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:21 2006 -0700"
      },
      "message": "[PATCH] time: rename clocksource functions\n\nAs suggested by Roman Zippel, change clocksource functions to use\nclocksource_xyz rather then xyz_clocksource to avoid polluting the\nnamespace.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cf3c769b4b0dd1146da84d5cf045dcfe53bd0f13",
      "tree": "caeb91eff6538ed5910e673a40a9f2bd9a022afa",
      "parents": [
        "5eb6d20533d14a432df714520939a6181e28f099"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Introduce arch generic time accessors\n\nIntroduces clocksource switching code and the arch generic time accessor\nfunctions that use the clocksource infrastructure.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5eb6d20533d14a432df714520939a6181e28f099",
      "tree": "b032147620a8e213356658783f8037d2f5623b57",
      "parents": [
        "260a42309b31cbc54eb4b6b85649e412bcad053f"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Use clocksource abstraction for NTP adjustments\n\nInstead of incrementing xtime by tick_nsec + ntp adjustments, use the\nclocksource abstraction to increment and scale time.  Using the clocksource\nabstraction allows other clocksources to be used consistently in the face of\nlate or lost ticks, while preserving the existing behavior via the jiffies\nclocksource.\n\nThis removes the need to keep time_phase adjustments as we just use the\ncurrent_tick_length() function as the NTP interface and accumulate time using\nshifted nanoseconds.\n\nThe basics of this design was by Roman Zippel, however it is my own\ninterpretation and implementation, so the credit should go to him and the\nblame to me.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "260a42309b31cbc54eb4b6b85649e412bcad053f",
      "tree": "51efc7bb51075b0d25d0e8465d3c056e6a57fe16",
      "parents": [
        "ad596171ed635c51a9eef829187af100cbf8dcf7"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Let user request precision from current_tick_length()\n\nChange the current_tick_length() function so it takes an argument which\nspecifies how much precision to return in shifted nanoseconds.  This provides\na simple way to convert between NTPs internal nanoseconds shifted by\n(SHIFT_SCALE - 10) to other shifted nanosecond units that are used by the\nclocksource abstraction.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ad596171ed635c51a9eef829187af100cbf8dcf7",
      "tree": "24b19bec1b1abd8bd110064226569aa42dde0b3b",
      "parents": [
        "734efb467b31e56c2f9430590a9aa867ecf3eea1"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Use clocksource infrastructure for update_wall_time\n\nModify the update_wall_time function so it increments time using the\nclocksource abstraction instead of jiffies.  Since the only clocksource driver\ncurrently provided is the jiffies clocksource, this should result in no\nfunctional change.  Additionally, a timekeeping_init and timekeeping_resume\nfunction has been added to initialize and maintain some of the new timekeping\nstate.\n\n[hirofumi@mail.parknet.co.jp: fixlet]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "734efb467b31e56c2f9430590a9aa867ecf3eea1",
      "tree": "30bf6b52d1e67128e656fb9a01cd7e6e13b7755e",
      "parents": [
        "ade1a29e168ba08b699a418ff5e762315fa33f70"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Clocksource Infrastructure\n\nThis introduces the clocksource management infrastructure.  A clocksource is a\ndriver-like architecture generic abstraction of a free-running counter.  This\ncode defines the clocksource structure, and provides management code for\nregistering, selecting, accessing and scaling clocksources.\n\nAdditionally, this includes the trivial jiffies clocksource, a lowest common\ndenominator clocksource, provided mainly for use as an example.\n\n[hirofumi@mail.parknet.co.jp: Don\u0027t enable IRQ too early]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "844dd05fec172d98b0dacecd9b9e9f6595204c13",
      "tree": "a62ebcbd314ed4be35c233eb6a5eba414493a50f",
      "parents": [
        "59f5d35f83738bf07e66f8cdcff32a433df804a3"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Mon Jun 26 00:24:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:19 2006 -0700"
      },
      "message": "[PATCH] Add new generic HW RNG core\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e047ef5fe2d52e83020e856b1bf2556a6a2ce98",
      "tree": "97656e2c56a27be9d1da451dde627b693b8643f2",
      "parents": [
        "f116629d03655adaf7832b93b03c99391d09d4a7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jun 26 00:24:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:18 2006 -0700"
      },
      "message": "[PATCH] keys: sort out key quota system\n\nAdd the ability for key creation to overrun the user\u0027s quota in some\ncircumstances - notably when a session keyring is created and assigned to a\nprocess that didn\u0027t previously have one.\n\nThis means it\u0027s still possible to log in, should PAM require the creation of a\nnew session keyring, and fix an overburdened key quota.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6e05edc59ecd79e8badf440c0d295a979bdfa3e",
      "tree": "50362161f69317242ab603c51a18a818a4c93285",
      "parents": [
        "f18190bd3407554ba6df30a1927e07e6cba93e56"
      ],
      "author": {
        "name": "Andreas Mohr",
        "email": "andi@lisas.de",
        "time": "Mon Jun 26 18:35:02 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jun 26 18:35:02 2006 +0200"
      },
      "message": "spelling fixes\n\nacquired (aquired)\ncontiguous (contigious)\nsuccessful (succesful, succesfull)\nsurprise (suprise)\nwhether (weather)\nsome other misspellings\n\nSigned-off-by: Andreas Mohr \u003candi@lisas.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "8cbde94be34f95c01515ba19ce32bcd51ab3949e",
      "tree": "f01514f3cf11dcada4d9e9e68708c0292ebb7fcf",
      "parents": [
        "4f725cb3fa46fabe7fd7c7175fa77e12616bfdb8"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Sat Jun 24 14:36:02 2006 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Mon Jun 26 09:21:45 2006 -0300"
      },
      "message": "V4L/DVB (4223): Add V4L2_CID_MPEG_STREAM_VBI_FMT control\n\nV4L2_CID_MPEG_STREAM_VBI_FMT controls if and how VBI data is embedded in\nan MPEG stream. Currently only one format is supported: the format designed\nfor the ivtv driver. This should be extended with new standard formats\n(such as defined for DVB) in the future.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "91a972910df042a0a308b2ffd3aa6fd42b0242e3",
      "tree": "4c54d9f3db737ca4513907ec81cd3d8246783b3d",
      "parents": [
        "61391e0446e97bea44d93bd1624e5b32d3cc8474"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Sat Jun 24 09:26:43 2006 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Mon Jun 26 09:21:32 2006 -0300"
      },
      "message": "V4L/DVB (4221): Add HM12 YUV format define.\n\nHM12 is a YUV 4:1:1 format used by the cx2341x MPEG encoder/decoder for\nthe raw YUV input/output. The Y and UV planes are broken up in 16x16\nmacroblocks and each macroblock is transmitted in turn (row by row).\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "d913ea0d6b6a48dd6eed8fc5e299b8b10e049186",
      "tree": "baa603652c2428baa923dd5eef5773489c624ecf",
      "parents": [
        "c7fc05992afcf1d63d6d5fb6142c8d39094dbca9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun May 21 08:45:26 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 26 17:34:40 2006 +1000"
      },
      "message": "[CRYPTO] api: Removed const from cra_name/cra_driver_name\n\nWe do need to change these names now and even more so in future with\ninstantiated algorithms.  So let\u0027s stop lying to the compiler and get\nrid of the const modifiers.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "c7fc05992afcf1d63d6d5fb6142c8d39094dbca9",
      "tree": "201d72844c0b27269e34bf3172d579b9e556e10c",
      "parents": [
        "110bf1c0e932615cbe43a8af8a07bc3750ae4295"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 24 13:02:26 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 26 17:34:40 2006 +1000"
      },
      "message": "[CRYPTO] api: Added cra_init/cra_exit\n\nThis patch adds the hooks cra_init/cra_exit which are called during a tfm\u0027s\nconstruction and destruction respectively.  This will be used by the instances\nto allocate child tfm\u0027s.\n\nFor now this lets us get rid of the coa_init/coa_exit functions which are\nused for exactly that purpose (unlike the dia_init function which is called\nfor each transaction).\n\nIn fact the coa_exit path is currently buggy as it may get called twice\nwhen an error is encountered during initialisation.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "6c2bb98bc33ae33c7a33a133a4cd5a06395fece5",
      "tree": "96684cd2c473cd05d651ce1fa3dd72b1b4b19b09",
      "parents": [
        "43600106e32809a4dead79fec67a63e9860e3d5d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 16 22:09:29 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 26 17:34:39 2006 +1000"
      },
      "message": "[CRYPTO] all: Pass tfm instead of ctx to algorithms\n\nUp until now algorithms have been happy to get a context pointer since\nthey know everything that\u0027s in the tfm already (e.g., alignment, block\nsize).\n\nHowever, once we have parameterised algorithms, such information will\nbe specific to each tfm.  So the algorithm API needs to be changed to\npass the tfm structure instead of the context pointer.\n\nThis patch is basically a text substitution.  The only tricky bit is\nthe assembly routines that need to get the context pointer offset\nthrough asm-offsets.h.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "068c6e98bc7ec4419299b38cd40be26ebf4bdeda",
      "tree": "4312d3449036c35d5fc8fd4f60f447200928e817",
      "parents": [
        "8834807b43200b1658b49d3b779e74a4f77e4ffb"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Jun 26 00:04:27 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 26 00:04:27 2006 -0700"
      },
      "message": "[NET] netpoll: break recursive loop in netpoll rx path\n\nThe netpoll system currently has a rx to tx path via:\n\nnetpoll_rx\n __netpoll_rx\n  arp_reply\n   netpoll_send_skb\n    dev-\u003ehard_start_tx\n\nThis rx-\u003etx loop places network drivers at risk of inadvertently causing a\ndeadlock or BUG halt by recursively trying to acquire a spinlock that is\nused in both their rx and tx paths (this problem was origionally reported\nto me in the 3c59x driver, which shares a spinlock between the\nboomerang_interrupt and boomerang_start_xmit routines).\n\nThis patch breaks this loop, by queueing arp frames, so that they can be\nresponded to after all receive operations have been completed.  Tested by\nmyself and the reported with successful results.\n\nSpecifically it was tested with netdump.  Heres the BZ with details:\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d194055\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6048126440dcb3ba01316f961465c0ff5a255dd1",
      "tree": "b8a58f213f510d47ca6b2e122e026a7b4339793e",
      "parents": [
        "f54d9e8d7f7dd60f26157c12acda3fc94fcd9ab7"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jun 25 23:58:10 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 25 23:58:10 2006 -0700"
      },
      "message": "[NET]: make net/core/dev.c:netdev_nit static\n\nnetdev_nit can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9ab58dd8e771d30df110c56e785db1ae5e073df",
      "tree": "7c69f92d23c46f9b1990d57ffa49690bd5806c78",
      "parents": [
        "9e8e30a0cc0ccb43773d14d8b8b84bcc585e9cc1"
      ],
      "author": {
        "name": "Jerome Pinot",
        "email": "ngc891@gmail.com",
        "time": "Mon Jun 26 01:51:23 2006 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Mon Jun 26 01:51:23 2006 -0400"
      },
      "message": "Input: fix misspelling of Hangeul key\n\nFix a mispelling of the korean alphabet name in the input subsystem.\nSee http://en.wikipedia.org/wiki/Hangeul#Names for more details.\n\nKEY_HANGUEL left to not break people\n\nSigned-off-by: Jerome Pinot \u003cngc891@gmail.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    }
  ],
  "next": "f60d2b111cd55c335c2b70e50d66a612d2b10856"
}
