)]}'
{
  "log": [
    {
      "commit": "cc2ea416b2aa04d0c34ff2281a23dae5b76b7b3b",
      "tree": "15dd3cebcb85e21ef744f184ab33c163d8ffdacc",
      "parents": [
        "4e7bd66318b3ae60fbba7d886d9a98b71ffbf74e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Jul 15 23:41:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:50 2007 -0700"
      },
      "message": "uninline check_signature()\n\nThis is a rather bizarre thing to have inlined in io.h.  Stick it in lib/\ninstead.\n\nWhile we\u0027re there, despaghetti it a bit, and fix its off-by-one behaviour when\npassed a zero length.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf99abace7e07dd8491e7093a9a9ef11d48838ed",
      "tree": "3b7cfd7c76c2c43e6ae3fdaaff3a50a752072424",
      "parents": [
        "1d9d02feeee89e9132034d504c9a45eeaf618a3d"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@cpushare.com",
        "time": "Sun Jul 15 23:41:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:50 2007 -0700"
      },
      "message": "make seccomp zerocost in schedule\n\nThis follows a suggestion from Chuck Ebbert on how to make seccomp\nabsolutely zerocost in schedule too.  The only remaining footprint of\nseccomp is in terms of the bzImage size that becomes a few bytes (perhaps\neven a few kbytes) larger, measure it if you care in the embedded.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@cpushare.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d9d02feeee89e9132034d504c9a45eeaf618a3d",
      "tree": "a4324cce8acd77cace3b1d4cf3a1e61783707e5c",
      "parents": [
        "be0ef957c9eed4ebae873ee3fbcfb9dfde486dec"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@cpushare.com",
        "time": "Sun Jul 15 23:41:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:50 2007 -0700"
      },
      "message": "move seccomp from /proc to a prctl\n\nThis reduces the memory footprint and it enforces that only the current\ntask can enable seccomp on itself (this is a requirement for a\nstrightforward [modulo preempt ;) ] TIF_NOTSC implementation).\n\nSigned-off-by: Andrea Arcangeli \u003candrea@cpushare.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "132e4b0a049c39337c535501561b8301c7f2b202",
      "tree": "13a1cd5ca45f1438c160d570222aa3ae86e5c45d",
      "parents": [
        "4e44f3497d41db4c3b9051c61410dee8ae4fb49c"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sun Jul 15 23:41:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:48 2007 -0700"
      },
      "message": "cdrom: replace hard-coded constants by kernel.h macro.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "213dd266d48af90c1eec8688c1ff31aa34d21de2",
      "tree": "2882f6e84d36421ebe2a6360cfe0c773bd9053bd",
      "parents": [
        "e3a68e30d28dbc6981dfc3d6ceddbfa2f885fe4e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Jul 15 23:41:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:48 2007 -0700"
      },
      "message": "namespace: ensure clone_flags are always stored in an unsigned long\n\nWhile working on unshare support for the network namespace I noticed we\nwere putting clone flags in an int.  Which is weird because the syscall\nuses unsigned long and we at least need an unsigned to properly hold all of\nthe unshare flags.\n\nSo to make the code consistent, this patch updates the code to use\nunsigned long instead of int for the clone flags in those places\nwhere we get it wrong today.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4895925976977aaeda26ee2a603a99f17db500b",
      "tree": "65494c1f998119030ea2db4d0a23d023d2d8bc89",
      "parents": [
        "b716395e2b8e450e294537de0c91476ded2f0395"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sun Jul 15 23:41:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:48 2007 -0700"
      },
      "message": "Remove final two references to \"__obsolete_setup\" macro\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcf5008db171211e3c34c060cacfd788306b034b",
      "tree": "c506e1a6141b0d9c87f375cff57f623089ad2c27",
      "parents": [
        "32c3773011a9b3522bd4abadc7fad8c27417119f"
      ],
      "author": {
        "name": "Nathan Lynch",
        "email": "ntl@pobox.com",
        "time": "Sun Jul 15 23:41:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:48 2007 -0700"
      },
      "message": "remove unused lock_cpu_hotplug_interruptible definition\n\naa95387774039096c11803c04011f1aa42d85758 removed the implementation of\nlock_cpu_hotplug_interruptible and all users of it.  This stub definition\nfor !CONFIG_HOTPLUG_CPU was left over -- kill it now.\n\nSigned-off-by: Nathan Lynch \u003cntl@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea5a3dcfda1c9140228f2842ea9b01e1713c559a",
      "tree": "3b422886c10c5d93c9d6960aa1b0f5732dc366c4",
      "parents": [
        "ef48bd246124ccdef0e1fa5b03b62d69cbf71fa7"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sun Jul 15 23:41:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "COBALT: remove all references to Cobalt NVRAM\n\nRemove not only the references to Cobalt NVRAM, but the header file as\nwell.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-by: Tim Hockin \u003cthockin@hockin.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77ec739d8d0979477fc91f530403805afa2581a4",
      "tree": "0cefb80a7ff8d57a8f735954fdeb88e9efbaf05c",
      "parents": [
        "acce292c82d4d82d35553b928df2b0597c3a9c78"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Sun Jul 15 23:41:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "user namespace: add unshare\n\nThis patch enables the unshare of user namespaces.\n\nIt adds a new clone flag CLONE_NEWUSER and implements copy_user_ns() which\nresets the current user_struct and adds a new root user (uid \u003d\u003d 0)\n\nFor now, unsharing the user namespace allows a process to reset its\nuser_struct accounting and uid 0 in the new user namespace should be contained\nusing appropriate means, for instance selinux\n\nThe plan, when the full support is complete (all uid checks covered), is to\nkeep the original user\u0027s rights in the original namespace, and let a process\nbecome uid 0 in the new namespace, with full capabilities to the new\nnamespace.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andrew Morgan \u003cagm@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acce292c82d4d82d35553b928df2b0597c3a9c78",
      "tree": "464288f40db9c254da214c400d0880ee50dc37f3",
      "parents": [
        "7d69a1f4a72b18876c99c697692b78339d491568"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Sun Jul 15 23:40:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "user namespace: add the framework\n\nBasically, it will allow a process to unshare its user_struct table,\nresetting at the same time its own user_struct and all the associated\naccounting.\n\nA new root user (uid \u003d\u003d 0) is added to the user namespace upon creation.\nSuch root users have full privileges and it seems that theses privileges\nshould be controlled through some means (process capabilities ?)\n\nThe unshare is not included in this patch.\n\nChanges since [try #4]:\n\t- Updated get_user_ns and put_user_ns to accept NULL, and\n\t  get_user_ns to return the namespace.\n\nChanges since [try #3]:\n\t- moved struct user_namespace to files user_namespace.{c,h}\n\nChanges since [try #2]:\n\t- removed struct user_namespace* argument from find_user()\n\nChanges since [try #1]:\n\t- removed struct user_namespace* argument from find_user()\n\t- added a root_user per user namespace\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andrew Morgan \u003cagm@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d69a1f4a72b18876c99c697692b78339d491568",
      "tree": "c09faf07f15240592919ec7e3dd722fe4f1dd370",
      "parents": [
        "522ed7767e800cff6c650ec64b0ee0677303119c"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Sun Jul 15 23:40:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "remove CONFIG_UTS_NS and CONFIG_IPC_NS\n\nCONFIG_UTS_NS and CONFIG_IPC_NS have very little value as they only\ndeactivate the unshare of the uts and ipc namespaces and do not improve\nperformance.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nAcked-by: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "522ed7767e800cff6c650ec64b0ee0677303119c",
      "tree": "f65ecb29f2cf885018d3557f840de3ef4be6ec64",
      "parents": [
        "4f27c00bf80f122513d3a5be16ed851573164534"
      ],
      "author": {
        "name": "Miloslav Trmac",
        "email": "mitr@redhat.com",
        "time": "Sun Jul 15 23:40:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "Audit: add TTY input auditing\n\nAdd TTY input auditing, used to audit system administrator\u0027s actions.  This is\nrequired by various security standards such as DCID 6/3 and PCI to provide\nnon-repudiation of administrator\u0027s actions and to allow a review of past\nactions if the administrator seems to overstep their duties or if the system\nbecomes misconfigured for unknown reasons.  These requirements do not make it\nnecessary to audit TTY output as well.\n\nCompared to an user-space keylogger, this approach records TTY input using the\naudit subsystem, correlated with other audit events, and it is completely\ntransparent to the user-space application (e.g.  the console ioctls still\nwork).\n\nTTY input auditing works on a higher level than auditing all system calls\nwithin the session, which would produce an overwhelming amount of mostly\nuseless audit events.\n\nAdd an \"audit_tty\" attribute, inherited across fork ().  Data read from TTYs\nby process with the attribute is sent to the audit subsystem by the kernel.\nThe audit netlink interface is extended to allow modifying the audit_tty\nattribute, and to allow sending explanatory audit events from user-space (for\nexample, a shell might send an event containing the final command, after the\ninteractive command-line editing and history expansion is performed, which\nmight be difficult to decipher from the TTY input alone).\n\nBecause the \"audit_tty\" attribute is inherited across fork (), it would be set\ne.g.  for sshd restarted within an audited session.  To prevent this, the\naudit_tty attribute is cleared when a process with no open TTY file\ndescriptors (e.g.  after daemon startup) opens a TTY.\n\nSee https://www.redhat.com/archives/linux-audit/2007-June/msg00000.html for a\nmore detailed rationale document for an older version of this patch.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Miloslav Trmac \u003cmitr@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f27c00bf80f122513d3a5be16ed851573164534",
      "tree": "2abad49c1e5c93d2d8698c558eb490b99bd35b87",
      "parents": [
        "f3dc8c189a20dc5d115b8f0d07ac620e69eff05c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Sun Jul 15 23:40:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "Improve behaviour of spurious IRQ detect\n\nCurrently we handle spurious IRQ activity based upon seeing a lot of\ninvalid interrupts, and we clear things back on the base of lots of valid\ninterrupts.\n\nUnfortunately in some cases you get legitimate invalid interrupts caused by\ntiming asynchronicity between the PCI bus and the APIC bus when disabling\ninterrupts and pulling other tricks.  In this case although the spurious\nIRQs are not a problem our unhandled counters didn\u0027t clear and they act as\na slow running timebomb.  (This is effectively what the serial port/tty\nproblem that was fixed by clearing counters when registering a handler\nshowed up)\n\nIt\u0027s easy enough to add a second parameter - time.  This means that if we\nsee a regular stream of harmless spurious interrupts which are not harming\nprocessing we don\u0027t go off and do something stupid like disable the IRQ\nafter a month of running.  OTOH lockups and performance killers show up a\nlot more than 10/second\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5216184571946b8bbf06f0cd630c7754190fdd1a",
      "tree": "c2ff53bcb0c87a40a7f2aa9b9e797eba8136344b",
      "parents": [
        "8b7ecb113eb884bed126c44513aeecdbbfa6fee3"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun Jul 15 23:40:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "fix typo in prefetch.h\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b663a79c191508f27cd885224b592a878c0ba0f6",
      "tree": "270a0472bf1fb0c7323ecb60ec68e40d02dcb1b4",
      "parents": [
        "a6c15c2b0fbfd5c0a84f5f0e1e3f20f85d2b8692"
      ],
      "author": {
        "name": "Maxim Uvarov",
        "email": "muvarov@ru.mvista.com",
        "time": "Sun Jul 15 23:40:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "taskstats: add context-switch counters\n\nMake available to the user the following task and process performance\nstatistics:\n\n\t* Involuntary Context Switches (task_struct-\u003enivcsw)\n\t* Voluntary Context Switches (task_struct-\u003envcsw)\n\nStatistics information is available from:\n\t1. taskstats interface (Documentation/accounting/)\n\t2. /proc/PID/status (task only).\n\nThis data is useful for detecting hyperactivity patterns between processes.\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Maxim Uvarov \u003cmuvarov@ru.mvista.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Jonathan Lim \u003cjlim@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcae56ea661e13d8f904b584bbe4c1e50c7ee548",
      "tree": "d53ea5b3d8ee21dcc3db5f42b9c9dae8f31bf15c",
      "parents": [
        "c289dca37917338fc8ab2e0d7e202a1c927e229e"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sun Jul 15 23:40:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "Drop an empty isicom.h from being exported to user space.\n\nDrop \u003clinux/isicom.h\u003e from being exported to user space since it would\nbe only an empty file.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c289dca37917338fc8ab2e0d7e202a1c927e229e",
      "tree": "dae432d46376b75b6f3f973a61289e949f751a3d",
      "parents": [
        "759448f459234bfcf34b82471f0dba77a9aca498"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jul 15 23:40:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "remove sonypi_camera_command()\n\nRemove the no longer used sonypi_camera_command().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Mattia Dongili \u003cmalattia@linux.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "759448f459234bfcf34b82471f0dba77a9aca498",
      "tree": "61cbf8501bdad78c03e034072791fbf3e0436d43",
      "parents": [
        "aa0ac36518be648dda3a32f0b37a8b2b546e1b24"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@linux01.gwdg.de",
        "time": "Sun Jul 15 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "Kernel utf-8 handling\n\nThis patch fixes dead keys and copy/paste of non-ASCII characters in UTF-8\nmode on Linux console.  See more details about the original patch at:\nhttp://chris.heathens.co.nz/linux/utf8.html\n\nAlready posted on\n\t(Oldest) http://lkml.org/lkml/2003/5/31/148\n\t         http://lkml.org/lkml/2005/12/24/69\n\t(Recent) http://lkml.org/lkml/2006/8/7/75\n\n[bunk@stusta.de: make drivers/char/selection.c:store_utf8() static]\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nCc: Alexander E. Patrakov \u003cpatrakov@ums.usu.ru\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa0ac36518be648dda3a32f0b37a8b2b546e1b24",
      "tree": "b37eac59221187c4dec9ce8445a21c4119d425fb",
      "parents": [
        "cb510b8172602a66467f3551b4be1911f5a7c8c2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Jul 15 23:40:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "Remove capability.h from mm.h\n\nI forgot to remove capability.h from mm.h while removing sched.h!  This\npatch remedies that, because the only inline function which was using\nCAP_something was made out of line.\n\nCross-compile tested without regressions on:\n\n\tall powerpc defconfigs\n\tall mips defconfigs\n\tall m68k defconfigs\n\tall arm defconfigs\n\tall ia64 defconfigs\n\n\talpha alpha-allnoconfig alpha-defconfig alpha-up\n\tarm\n\ti386 i386-allnoconfig i386-defconfig i386-up\n\tia64 ia64-allnoconfig ia64-defconfig ia64-up\n\tm68k\n\tmips\n\tparisc parisc-allnoconfig parisc-defconfig parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-allnoconfig s390-defconfig s390-up\n\tsparc sparc-allnoconfig sparc-defconfig sparc-up\n\tsparc64 sparc64-allnoconfig sparc64-defconfig sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-allnoconfig x86_64-defconfig x86_64-up\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a19542e5f694cd408a32c3d9dc593ba9366e2d7",
      "tree": "12f5fd603b516b4e24ec4850d5589273d24be569",
      "parents": [
        "f23513e8d96cf5e6cf8d2ff0cb5dd6bbc33995e4"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Sun Jul 15 23:40:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "O_CLOEXEC for SCM_RIGHTS\n\nPart two in the O_CLOEXEC saga: adding support for file descriptors received\nthrough Unix domain sockets.\n\nThe patch is once again pretty minimal, it introduces a new flag for recvmsg\nand passes it just like the existing MSG_CMSG_COMPAT flag.  I think this bit\nis not used otherwise but the networking people will know better.\n\nThis new flag is not recognized by recvfrom and recv.  These functions cannot\nbe used for that purpose and the asymmetry this introduces is not worse than\nthe already existing MSG_CMSG_COMPAT situations.\n\nThe patch must be applied on the patch which introduced O_CLOEXEC.  It has to\nremove static from the new get_unused_fd_flags function but since scm.c cannot\nlive in a module the function still hasn\u0027t to be exported.\n\nHere\u0027s a test program to make sure the code works.  It\u0027s so much longer than\nthe actual patch...\n\n#include \u003cerrno.h\u003e\n#include \u003cerror.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstring.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003csys/un.h\u003e\n\n#ifndef O_CLOEXEC\n# define O_CLOEXEC 02000000\n#endif\n#ifndef MSG_CMSG_CLOEXEC\n# define MSG_CMSG_CLOEXEC 0x40000000\n#endif\n\nint\nmain (int argc, char *argv[])\n{\n  if (argc \u003e 1)\n    {\n      int fd \u003d atol (argv[1]);\n      printf (\"child: fd \u003d %d\\n\", fd);\n      if (fcntl (fd, F_GETFD) \u003d\u003d 0 || errno !\u003d EBADF)\n        {\n          puts (\"file descriptor valid in child\");\n          return 1;\n        }\n      return 0;\n\n    }\n\n  struct sockaddr_un sun;\n  strcpy (sun.sun_path, \"./testsocket\");\n  sun.sun_family \u003d AF_UNIX;\n\n  char databuf[] \u003d \"hello\";\n  struct iovec iov[1];\n  iov[0].iov_base \u003d databuf;\n  iov[0].iov_len \u003d sizeof (databuf);\n\n  union\n  {\n    struct cmsghdr hdr;\n    char bytes[CMSG_SPACE (sizeof (int))];\n  } buf;\n  struct msghdr msg \u003d { .msg_iov \u003d iov, .msg_iovlen \u003d 1,\n                        .msg_control \u003d buf.bytes,\n                        .msg_controllen \u003d sizeof (buf) };\n  struct cmsghdr *cmsg \u003d CMSG_FIRSTHDR (\u0026msg);\n\n  cmsg-\u003ecmsg_level \u003d SOL_SOCKET;\n  cmsg-\u003ecmsg_type \u003d SCM_RIGHTS;\n  cmsg-\u003ecmsg_len \u003d CMSG_LEN (sizeof (int));\n\n  msg.msg_controllen \u003d cmsg-\u003ecmsg_len;\n\n  pid_t child \u003d fork ();\n  if (child \u003d\u003d -1)\n    error (1, errno, \"fork\");\n  if (child \u003d\u003d 0)\n    {\n      int sock \u003d socket (PF_UNIX, SOCK_STREAM, 0);\n      if (sock \u003c 0)\n        error (1, errno, \"socket\");\n\n      if (bind (sock, (struct sockaddr *) \u0026sun, sizeof (sun)) \u003c 0)\n        error (1, errno, \"bind\");\n      if (listen (sock, SOMAXCONN) \u003c 0)\n        error (1, errno, \"listen\");\n\n      int conn \u003d accept (sock, NULL, NULL);\n      if (conn \u003d\u003d -1)\n        error (1, errno, \"accept\");\n\n      *(int *) CMSG_DATA (cmsg) \u003d sock;\n      if (sendmsg (conn, \u0026msg, MSG_NOSIGNAL) \u003c 0)\n        error (1, errno, \"sendmsg\");\n\n      return 0;\n    }\n\n  /* For a test suite this should be more robust like a\n     barrier in shared memory.  */\n  sleep (1);\n\n  int sock \u003d socket (PF_UNIX, SOCK_STREAM, 0);\n  if (sock \u003c 0)\n    error (1, errno, \"socket\");\n\n  if (connect (sock, (struct sockaddr *) \u0026sun, sizeof (sun)) \u003c 0)\n    error (1, errno, \"connect\");\n  unlink (sun.sun_path);\n\n  *(int *) CMSG_DATA (cmsg) \u003d -1;\n\n  if (recvmsg (sock, \u0026msg, MSG_CMSG_CLOEXEC) \u003c 0)\n    error (1, errno, \"recvmsg\");\n\n  int fd \u003d *(int *) CMSG_DATA (cmsg);\n  if (fd \u003d\u003d -1)\n    error (1, 0, \"no descriptor received\");\n\n  char fdname[20];\n  snprintf (fdname, sizeof (fdname), \"%d\", fd);\n  execl (\"/proc/self/exe\", argv[0], fdname, NULL);\n  puts (\"execl failed\");\n  return 1;\n}\n\n[akpm@linux-foundation.org: Fix fastcall inconsistency noted by Michael Buesch]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5c061b8f9726bc2c25e19dec227933a13d1e6b7",
      "tree": "e99f68f70df1a01dd383007895befd114a1da8c4",
      "parents": [
        "e0807061908a7a9441d0f745deb444f7216904cb"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Sun Jul 15 23:40:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "Add a flag to indicate deferrable timers in /proc/timer_stats\n\nAdd a flag in /proc/timer_stats to indicate deferrable timers.  This will\nlet developers/users to differentiate between types of tiemrs in\n/proc/timer_stats.\n\nDeferrable timer and normal timer will appear in /proc/timer_stats as below.\n  10D,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n   10,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n\nAlso version of timer_stats changes from v0.1 to v0.2\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0807061908a7a9441d0f745deb444f7216904cb",
      "tree": "f07a5ec75bf4c48ed54106b7e0ee9b8bb13c9fcd",
      "parents": [
        "1b0fac45878bb88759eec347c273285195649ff7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Jul 15 23:40:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "remove odd and misleading comments from uio.h\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b0fac45878bb88759eec347c273285195649ff7",
      "tree": "a9871a47ef98c90bac3f65a7f9309e87420c694c",
      "parents": [
        "9e7bf24b1b979db256ddc84d0d4ac6040d706da6"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Jul 15 23:40:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "dma-mapping: prevent dma dependent code from linking on !HAS_DMA archs\n\nContinuing the work started in 411f0f3edc141a582190d3605cadd1d993abb6df ...\n\nThis enables code with a dma path, that compiles away, to build without\nrequiring additional code factoring.  It also prevents code that calls\ndma_alloc_coherent and dma_free_coherent from linking whereas previously\nthe code would hit a BUG() at run time.  Finally, it allows archs that set\n!HAS_DMA to delete their asm/dma-mapping.h file.\n\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: \u003cgeert@linux-m68k.org\u003e\nCc: \u003czippel@linux-m68k.org\u003e\nCc: \u003cspyro@f2s.com\u003e\nCc: \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e7bf24b1b979db256ddc84d0d4ac6040d706da6",
      "tree": "edb5aed9b2f8c2001d8dd11de1e505b87893965d",
      "parents": [
        "e84845c4bf9a00533352e5805b35f42acdb04a1e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jul 15 23:40:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "fs: clarify \"dummy\" member in struct inodes_stat_t\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8d6c554126b830217c5e9f549e0e21f865a0a8a",
      "tree": "c43219c6ef4e6a9b4f0ac46d6bd8b675dc249a8b",
      "parents": [
        "b0fed3140f57c435d2783b698c5090f325c22bad"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jul 15 23:40:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:43 2007 -0700"
      },
      "message": "AFS: implement file locking\n\nImplement file locking for AFS.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a3021f4e249fbdb5f30d614707b5e02022e4c9b",
      "tree": "c01b80fa03dbb4a853b46f182864384736a54088",
      "parents": [
        "9aacd599342fdfc1fb9422f37e900609b7a46249"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sun Jul 15 23:39:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:42 2007 -0700"
      },
      "message": "Remove unnecessary includes of spinlock.h under include/linux\n\nRemove the obviously unnecessary includes of \u003clinux/spinlock.h\u003e under the\ninclude/linux/ directory, and fix the couple errors that are introduced as\na result of that.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9aacd599342fdfc1fb9422f37e900609b7a46249",
      "tree": "45c835330122496dfd51b946890ce8580d854173",
      "parents": [
        "259902ea951008bcbd31a49f667062ff8012ef55"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Jul 15 23:39:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:42 2007 -0700"
      },
      "message": "fat: gcc 4.3 warning fix\n\nThis patch fixes the following warnings.\n\nfs/fat/dir.c: In function \u0027fat_parse_long\u0027:\ninclude/linux/msdos_fs.h:294: warning: array subscript is above array bounds\ninclude/linux/msdos_fs.h:295: warning: array subscript is above array bounds\ninclude/linux/msdos_fs.h:295: warning: array subscript is above array bounds\n\nThe -\u003ename is defined as \"name[8], ext[3]\", but fat_checksum() uses\nthose as name[11]. There is no actual problem, but it\u0027s not a good manner.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c67ad917cbf21b2862e2cf8e8b28339872ef7927",
      "tree": "362d8cf8668998b8cd5deb611693f584b8df5ee5",
      "parents": [
        "85420ccad1610f123365eec89848ef25641bc6b7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Jul 15 23:39:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "percpu_counters(): use cpu notifiers\n\nper-cpu counters presently must iterate over all possible CPUs in the\nexhaustive percpu_counter_sum().\n\nBut it can be much better to only iterate over the presently-online CPUs.  To\ndo this, we must arrange for an offlined CPU\u0027s count to be spilled into the\ncounter\u0027s central count.\n\nWe can do this for all percpu_counters in the machine by linking them into a\nsingle global list and walking that list at CPU_DEAD time.\n\n(I hope.  Might have race windows in which the percpu_counter_sum() count is\ninaccurate?)\n\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21f3da95daed2d0f0c28cc4ef8b1103fbfb7bded",
      "tree": "858c61212662b1b476bbdefe0eb8de69328a47db",
      "parents": [
        "9ac162521cd9796f44d263a61090634844c719a6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Jul 15 23:39:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "fuse warning fix\n\ngcc-4.3:\n\nfs/fuse/dir.c: In function \u0027parse_dirfile\u0027:\nfs/fuse/dir.c:833: warning: cast from pointer to integer of different size\nfs/fuse/dir.c:835: warning: cast from pointer to integer of different size\n\n[miklos@szeredi.hu: use offsetof]\nAcked-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ac162521cd9796f44d263a61090634844c719a6",
      "tree": "5988aba4299002ea4a425f747a275d29cb9dd3c5",
      "parents": [
        "1c6b4aa94576eee6dec3b8011f60d7f666db90b0"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Sun Jul 15 23:39:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Use mutexes instead of semaphores in I2O driver\n\nThe I2O driver uses two semaphores as mutexes.  Use the mutex API instead of\nthe (binary) semaphores.\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c1729db3e6d738f872bcb090212af00473bf666",
      "tree": "be68b99784607953fb50d9330d34c2728215be57",
      "parents": [
        "c9c64155f5a81b4b41e98f9fb9c464a565c1bf72"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Sun Jul 15 23:39:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Prevent an O_NDELAY writer from blocking when a tty write is blocked by the tty atomic writer mutex\n\nWithout this a tty write could block if a previous blocking tty write was\nin progress on the same tty and blocked by a line discipline or hardware\nevent.  Originally found and reported by Dave Johnson.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Dave Johnson \u003cdjohnson+linux-kernel@sw.starentnetworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "924b42d5a2dbe508407a0a6290d3751f826bccdd",
      "tree": "c13a647ae93bcf033bddb713c1e117e84698c679",
      "parents": [
        "7c3f1a573237b90ef331267260358a0ec4ac9079"
      ],
      "author": {
        "name": "Tomas Janousek",
        "email": "tjanouse@redhat.com",
        "time": "Sun Jul 15 23:39:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Use boot based time for process start time and boot time in /proc\n\nCommit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused boot time to move and\nprocess start times to become invalid after suspend.  Using boot based time\nfor those restores the old behaviour and fixes the issue.\n\n[akpm@linux-foundation.org: little cleanup]\nSigned-off-by: Tomas Janousek \u003ctjanouse@redhat.com\u003e\nCc: Tomas Smetana \u003ctsmetana@redhat.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c3f1a573237b90ef331267260358a0ec4ac9079",
      "tree": "f308047c4f40022d4b8f7226fba73b067dcd2d70",
      "parents": [
        "35ef63f635aa0e414ad6cdb2a4092e1caf99272c"
      ],
      "author": {
        "name": "Tomas Janousek",
        "email": "tjanouse@redhat.com",
        "time": "Sun Jul 15 23:39:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Introduce boot based time\n\nThe commits\n\n  411187fb05cd11676b0979d9fbf3291db69dbce2 (GTOD: persistent clock support)\n  c1d370e167d66b10bca3b602d3740405469383de (i386: use GTOD persistent clock\n    support)\n\nchanged the monotonic time so that it no longer jumps after resume, but it\u0027s\nnot possible to use it for boot time and process start time calculations then.\n Also, the uptime no longer increases during suspend.\n\nI add a variable to track the wall_to_monotonic changes, a function to get the\nreal boot time and a function to get the boot based time from the monotonic\none.\n\n[akpm@linux-foundation.org: remove exports, add comment]\nSigned-off-by: Tomas Janousek \u003ctjanouse@redhat.com\u003e\nCc: Tomas Smetana \u003ctsmetana@redhat.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed4aaadb1a7913f509f05d3e67840541a180713f",
      "tree": "7089fd2fe0f56d552ea153e2925363d0febaa952",
      "parents": [
        "012bfdf00ce2f36a1add75a0d18303656c6294ef"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Sun Jul 15 23:39:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:40 2007 -0700"
      },
      "message": "fix jvc cdrom drive lockup\n\nBefore calling init_hwif_default, ide_unregister gets lock ide_lock and\ndisables irq.  init_hwif_default calls ide_default_io_base which calls\npci_get_device and later pci_get_subsys tries to apply for semaphore\npci_bus_sem and goes to sleep.\n\nMostly, pci_get_device should be called when irq is turned on.\n\nide_default_io_base just needs find if list pci_devices is empty.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1f4a88c5a15a86124a95ea712213bb7dab2ad99",
      "tree": "7ec29d5eb850629ee11c2ec8cc467877430e9039",
      "parents": [
        "b5d425c97f7d4e92151167b01ca038e7853c6b37"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Sun Jul 15 23:39:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:40 2007 -0700"
      },
      "message": "introduce write_trylock_irqsave()\n\nIntroduce a write_trylock_irqsave() implementation.  Similar in style to\nthe implementation of spin_trylock_irqsave() in mainline.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "786d7e1612f0b0adb6046f19b906609e4fe8b1ba",
      "tree": "9d5f1623c19c9d3f84606ea160d57cd3c8c97ea9",
      "parents": [
        "5568b0e8028d966ddb16f0be44a9df1fcbd1dc8d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Sun Jul 15 23:39:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:39 2007 -0700"
      },
      "message": "Fix rmmod/read/write races in /proc entries\n\nFix following races:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n1. Write via -\u003ewrite_proc sleeps in copy_from_user(). Module disappears\n   meanwhile. Or, more generically, system call done on /proc file, method\n   supplied by module is called, module dissapeares meanwhile.\n\n   pde \u003d create_proc_entry()\n   if (!pde)\n\treturn -ENOMEM;\n   pde-\u003ewrite_proc \u003d ...\n\t\t\t\topen\n\t\t\t\twrite\n\t\t\t\tcopy_from_user\n   pde \u003d create_proc_entry();\n   if (!pde) {\n\tremove_proc_entry();\n\treturn -ENOMEM;\n\t/* module unloaded */\n   }\n\t\t\t\t*boom*\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n2. bogo-revoke aka proc_kill_inodes()\n\n  remove_proc_entry\t\tvfs_read\n  proc_kill_inodes\t\t[check -\u003ef_op validness]\n\t\t\t\t[check -\u003ef_op-\u003eread validness]\n\t\t\t\t[verify_area, security permissions checks]\n\t-\u003ef_op \u003d NULL;\n\t\t\t\tif (file-\u003ef_op-\u003eread)\n\t\t\t\t\t/* -\u003ef_op dereference, boom */\n\nNOTE, NOTE, NOTE: file_operations are proxied for regular files only. Let\u0027s\nsee how this scheme behaves, then extend if needed for directories.\nDirectories creators in /proc only set -\u003eowner for them, so proxying for\ndirectories may be unneeded.\n\nNOTE, NOTE, NOTE: methods being proxied are -\u003ellseek, -\u003eread, -\u003ewrite,\n-\u003epoll, -\u003eunlocked_ioctl, -\u003eioctl, -\u003ecompat_ioctl, -\u003eopen, -\u003erelease.\nIf your in-tree module uses something else, yell on me. Full audit pending.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0165ab443556bdfad388da6c33d74a71b77d72b2",
      "tree": "c2449128f60ebed846b7d63633ccee3f88949a1c",
      "parents": [
        "c44939ecb6e05aeaaf12d4e1bb046719c97e457e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Sun Jul 15 23:38:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:37 2007 -0700"
      },
      "message": "split mmap\n\nThis is a straightforward split of do_mmap_pgoff() into two functions:\n\n - do_mmap_pgoff() checks the parameters, and calculates the vma\n   flags.  Then it calls\n\n - mmap_region(), which does the actual mapping\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6193a2ff180920f84ee06977165ebf32431fc2d2",
      "tree": "d3c6423c50463ea741080a58a2e654cf103431f3",
      "parents": [
        "f7977793240d836e60ff413e94e6914f08e10941"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Jul 15 23:38:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "slob: initial NUMA support\n\nThis adds preliminary NUMA support to SLOB, primarily aimed at systems with\nsmall nodes (tested all the way down to a 128kB SRAM block), whether\nasymmetric or otherwise.\n\nWe follow the same conventions as SLAB/SLUB, preferring current node\nplacement for new pages, or with explicit placement, if a node has been\nspecified.  Presently on UP NUMA this has the side-effect of preferring\nnode#0 allocations (since numa_node_id() \u003d\u003d 0, though this could be\nreworked if we could hand off a pfn to determine node placement), so\nsingle-CPU NUMA systems will want to place smaller nodes further out in\nterms of node id.  Once a page has been bound to a node (via explicit node\nid typing), we only do block allocations from partial free pages that have\na matching node id in the page flags.\n\nThe current implementation does have some scalability problems, in that all\npartial free pages are tracked in the global freelist (with contention due\nto the single spinlock).  However, these are things that are being reworked\nfor SMP scalability first, while things like per-node freelists can easily\nbe built on top of this sort of functionality once it\u0027s been added.\n\nMore background can be found in:\n\n\thttp://marc.info/?l\u003dlinux-mm\u0026m\u003d118117916022379\u0026w\u003d2\n\thttp://marc.info/?l\u003dlinux-mm\u0026m\u003d118170446306199\u0026w\u003d2\n\thttp://marc.info/?l\u003dlinux-mm\u0026m\u003d118187859420048\u0026w\u003d2\n\nand subsequent threads.\n\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f0accc8627043702e6ea2bb8b9aa3a171ef8393",
      "tree": "94aaf1cdf099c7e875231b1d9575727b8e14f7f2",
      "parents": [
        "45e98cdb6d365b34b7a2d849e4d8bdc264d8e6e4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sun Jul 15 23:38:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "kill vmalloc_earlyreserve\n\nThis symbol got orphaned quite a while ago.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc9a07e7bf1a76e710f5df017abb07628db1781d",
      "tree": "bf2a288f97cbf9cfd82a4306a7d9c615abc7c887",
      "parents": [
        "45426812d6b601430d560cb6049757b5b0bc71c4"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Jul 15 23:38:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "invalidate_mapping_pages(): add cond_resched\n\ninvalidate_mapping_pages() can sometimes take a long time (millions of pages\nto free).  Long enough for the softlockup detector to trigger.\n\nWe used to have a cond_resched() in there but I took it out because the\ndrop_caches code calls invalidate_mapping_pages() under inode_lock.\n\nThe patch adds a nasty flag and puts the cond_resched() back.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "698827fa9f45019df1609bb686bc51c94e127fbc",
      "tree": "a9442084870358b53d27213483679dc90fa74a2a",
      "parents": [
        "1037b83bd04e31449dc9323f1e8ddada4264ef66"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sun Jul 15 23:38:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "Remove the deprecated \"kmem_cache_t\" typedef from slab.h.\n\nGiven that there is no remaining usage of the deprecated kmem_cache_t\ntypedef anywhere in the tree, remove that typedef.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0c0b2b808f232741eadac272bd4bc51f18df0f4",
      "tree": "c2568efdc496cc165a4e72d8aa2542b22035e342",
      "parents": [
        "18a8bd949d6adb311ea816125ff65050df1f3f6e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Sun Jul 15 23:38:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "change zonelist order: zonelist order selection logic\n\nMake zonelist creation policy selectable from sysctl/boot option v6.\n\nThis patch makes NUMA\u0027s zonelist (of pgdat) order selectable.\nAvailable order are Default(automatic)/ Node-based / Zone-based.\n\n[Default Order]\nThe kernel selects Node-based or Zone-based order automatically.\n\n[Node-based Order]\nThis policy treats the locality of memory as the most important parameter.\nZonelist order is created by each zone\u0027s locality. This means lower zones\n(ex. ZONE_DMA) can be used before higher zone (ex. ZONE_NORMAL) exhausion.\nIOW. ZONE_DMA will be in the middle of zonelist.\ncurrent 2.6.21 kernel uses this.\n\nPros.\n * A user can expect local memory as much as possible.\nCons.\n * lower zone will be exhansted before higher zone. This may cause OOM_KILL.\n\nMaybe suitable if ZONE_DMA is relatively big and you never see OOM_KILL\nbecause of ZONE_DMA exhaution and you need the best locality.\n\n(example)\nassume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL.\n\n*node(0)\u0027s memory allocation order:\n\n node(0)\u0027s NORMAL -\u003e node(0)\u0027s DMA -\u003e node(1)\u0027s NORMAL.\n\n*node(1)\u0027s memory allocation order:\n\n node(1)\u0027s NORMAL -\u003e node(0)\u0027s NORMAL -\u003e node(0)\u0027s DMA.\n\n[Zone-based order]\nThis policy treats the zone type as the most important parameter.\nZonelist order is created by zone-type order. This means lower zone\nnever be used bofere higher zone exhaustion.\nIOW. ZONE_DMA will be always at the tail of zonelist.\n\nPros.\n * OOM_KILL(bacause of lower zone) occurs only if the whole zones are exhausted.\nCons.\n * memory locality may not be best.\n\n(example)\nassume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL.\n\n*node(0)\u0027s memory allocation order:\n\n node(0)\u0027s NORMAL -\u003e node(1)\u0027s NORMAL -\u003e node(0)\u0027s DMA.\n\n*node(1)\u0027s memory allocation order:\n\n node(1)\u0027s NORMAL -\u003e node(0)\u0027s NORMAL -\u003e node(0)\u0027s DMA.\n\nbootoption \"numa_zonelist_order\u003d\" and proc/sysctl is supporetd.\n\ncommand:\n%echo N \u003e /proc/sys/vm/numa_zonelist_order\n\nWill rebuild zonelist in Node-based order.\n\ncommand:\n%echo Z \u003e /proc/sys/vm/numa_zonelist_order\n\nWill rebuild zonelist in Zone-based order.\n\nThanks to Lee Schermerhorn, he gives me much help and codes.\n\n[Lee.Schermerhorn@hp.com: add check_highest_zone to build_zonelists_in_zone_order]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"jesse.barnes@intel.com\" \u003cjesse.barnes@intel.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18a8bd949d6adb311ea816125ff65050df1f3f6e",
      "tree": "4365db908430747a5c08cacdb4354577b7bfead7",
      "parents": [
        "b1c931e39327ef121797927d4b3198d370e75b9b"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "Yinghai.Lu@Sun.COM",
        "time": "Sun Jul 15 23:37:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:35 2007 -0700"
      },
      "message": "serial: convert early_uart to earlycon for 8250\n\nBeacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and\ninclude/asm-x86_64/serial.h.  the serial8250_ports need to be probed late in\nserial initializing stage.  the console_init\u003d\u003eserial8250_console_init\u003d\u003e\nregister_console\u003d\u003eserial8250_console_setup will return -ENDEV, and console\nttyS0 can not be enabled at that time.  need to wait till uart_add_one_port in\ndrivers/serial/serial_core.c to call register_console to get console ttyS0.\nthat is too late.\n\nMake early_uart to use early_param, so uart console can be used earlier.  Make\nit to be bootconsole with CON_BOOT flag, so can use console handover feature.\nand it will switch to corresponding normal serial console automatically.\n\nnew command line will be:\n\tconsole\u003duart8250,io,0x3f8,9600n8\n\tconsole\u003duart8250,mmio,0xff5e0000,115200n8\nor\n\tearlycon\u003duart8250,io,0x3f8,9600n8\n\tearlycon\u003duart8250,mmio,0xff5e0000,115200n8\n\nit will print in very early stage:\n\tEarly serial console at I/O port 0x3f8 (options \u00279600n8\u0027)\n\tconsole [uart0] enabled\nlater for console it will print:\n\tconsole handover: boot [uart0] -\u003e real [ttyS0]\n\nSigned-off-by: \u003cyinghai.lu@sun.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "23936cc0b5d89619c34c2dab11d8cf3d6f7ca028",
      "tree": "506ec36cc37d3bc7dbf0ca68d1b271f9247fa458",
      "parents": [
        "96d7fa421e6424ad9ef6d1d039375dc2edb63fe8"
      ],
      "author": {
        "name": "Kristian Hoegsberg",
        "email": "krh@redhat.com",
        "time": "Sun Jul 15 23:37:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:34 2007 -0700"
      },
      "message": "lib: add idr_remove_all\n\nRemove all ids from the given idr tree.  idr_destroy() only frees up\nunused, cached idp_layers, but this function will remove all id mappings\nand leave all idp_layers unused.\n\nA typical clean-up sequence for objects stored in an idr tree, will use\nidr_for_each() to free all objects, if necessay, then idr_remove_all() to\nremove all ids, and idr_destroy() to free up the cached idr_layers.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96d7fa421e6424ad9ef6d1d039375dc2edb63fe8",
      "tree": "ba8a8200bda4576e1e4dcce2ff27a7a7a94723a2",
      "parents": [
        "de7d4f0e1172a72277d660fa0be59654ea02bed0"
      ],
      "author": {
        "name": "Kristian Hoegsberg",
        "email": "krh@redhat.com",
        "time": "Sun Jul 15 23:37:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:34 2007 -0700"
      },
      "message": "lib: add idr_for_each()\n\nThis patch adds an iterator function for the idr data structure.  Compared\nto just iterating through the idr with an integer and idr_find, this\niterator is (almost, but not quite) linear in the number of elements, as\nopposed to the number of integers in the range covered by the idr.  This\nmakes a difference for sparse idrs, but more importantly, it\u0027s a nicer way\nto iterate through the elements.\n\nThe drm subsystem is moving to idr for tracking contexts and drawables, and\nwith this change, we can use the idr exclusively for tracking these\nresources.\n\n[akpm@linux-foundation.org: fix comment]\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2a11b158a24301e9158e9c873fa88e5eb775486",
      "tree": "b8abed0086ad13c2b3b8f5760dd86670defa97ac",
      "parents": [
        "248a9dc32a24a80cd13a1be66dae099d97381155"
      ],
      "author": {
        "name": "Nitin Gupta",
        "email": "nitingupta910@gmail.com",
        "time": "Sun Jul 15 23:37:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:34 2007 -0700"
      },
      "message": "LZO1X: fix lzo1x_worst_compress\n\nThis is a correction for a macro which gives worst case compressed data\nsize by LZO1X.\n\nThis patch was provided by the LZO author (Markus Oberhumer).\n\nSigned-off-by: Nitin Gupta \u003cnitingupta910@gmail.com\u003e\nCc: \"Markus F.X.J. Oberhumer\" \u003cmarkus@oberhumer.com\u003e\nCc: \"Richard Purdie\" \u003crpurdie@openedhand.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3502d7f25b22cfc9762bf1781faa9db1bb3be2e",
      "tree": "e1d0195704efaafa14caf6965c8f2b6b00cbcb83",
      "parents": [
        "d2a9a8ded48bec153f08ee87a40626c8d0737f79",
        "0a9f2a467d8dacaf7e97469dba99ed2d07287d80"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 15 16:50:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 15 16:50:46 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (53 commits)\n  [TCP]: Verify the presence of RETRANS bit when leaving FRTO\n  [IPV6]: Call inet6addr_chain notifiers on link down\n  [NET_SCHED]: Kill CONFIG_NET_CLS_POLICE\n  [NET_SCHED]: act_api: qdisc internal reclassify support\n  [NET_SCHED]: sch_dsmark: act_api support\n  [NET_SCHED]: sch_atm: act_api support\n  [NET_SCHED]: sch_atm: Lindent\n  [IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets\n  [IPV4]: Cleanup call to __neigh_lookup()\n  [NET_SCHED]: Revert \"avoid transmit softirq on watchdog wakeup\" optimization\n  [NETFILTER]: nf_conntrack: UDPLITE support\n  [NETFILTER]: nf_conntrack: mark protocols __read_mostly\n  [NETFILTER]: x_tables: add connlimit match\n  [NETFILTER]: Lower *tables printk severity\n  [NETFILTER]: nf_conntrack: Don\u0027t track locally generated special ICMP error\n  [NETFILTER]: nf_conntrack: Introduces nf_ct_get_tuplepr and uses it\n  [NETFILTER]: nf_conntrack: make l3proto-\u003eprepare() generic and renames it\n  [NETFILTER]: nf_conntrack: Increment error count on parsing IPv4 header\n  [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices.\n  [AF_IUCV]: Add lock when updating accept_q\n  ...\n"
    },
    {
      "commit": "4381ca3c23b07ba5b567f72325003020ddca0341",
      "tree": "8364a54bbb58cd8cabbaed0d9d5a84968e56591e",
      "parents": [
        "5f17c70fe6d0b8562bf396f7e5638f243ebe4da8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Jul 15 21:00:11 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 15 16:40:51 2007 -0700"
      },
      "message": "fix return type of skb_checksum_complete()\n\nIt returns __sum16, not unsigned int\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d09f51b6997f3f443c5741bc696651e479576715",
      "tree": "6d5eefcbaa9f46d44e8cad626011e886b5d1840c",
      "parents": [
        "1b1ac759d7c6bba6e5f4731ef6ea720b6636e27c",
        "e559e91cce3af215d78b7262360f19b95978aab3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 23:47:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 23:47:04 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nConflicts:\n\n\tcrypto/Kconfig\n"
    },
    {
      "commit": "370786f9cfd430cb424f00ce4110e75bb1b95a19",
      "tree": "df0e51882850f8db8da8f6e4ab746179b1993b9c",
      "parents": [
        "a887c1c148ffb3eb1c193e9869ca5297c6e22078"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Sat Jul 14 20:47:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:47:26 2007 -0700"
      },
      "message": "[NETFILTER]: x_tables: add connlimit match\n\nipt_connlimit has been sitting in POM-NG for a long time.\nHere is a new shiny xt_connlimit with:\n\n * xtables\u0027ified\n * will request the layer3 module\n   (previously it hotdropped every packet when it was not loaded)\n * fixed: there was a deadlock in case of an OOM condition\n * support for any layer4 protocol (e.g. UDP/SCTP)\n * using jhash, as suggested by Eric Dumazet\n * ipv6 support\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6460d948f3ebf7d5040328a60a0ab7221f69945b",
      "tree": "d7c2a7eda9f20a03698df32bdc4677ca0c2479d5",
      "parents": [
        "febca281f677a775c61cd0572c2f35e4ead9e7d5"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Sat Jul 14 19:07:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 19:07:52 2007 -0700"
      },
      "message": "[NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices.\n\nAdd ethtool utility function to set or clear IPV6_CSUM feature flag.\nModify tg3.c and bnx2.c to use this function when doing ethtool -K\nto change tx checksum.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf3842ec5015c862f4869e3641a8549393bb958e",
      "tree": "6c2f0158504f3463fcca1359de90b699cb636e97",
      "parents": [
        "b3b0b681b12478a7afa7d1f3d58be96830e16c7d",
        "63fc33ceb0ccc08b3f62d7bfe56a33eb33ca9427"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 18:58:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jul 14 18:58:49 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-davem\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "b863ceb7ddcea8c55fcf1d7b2ac591d50aa7ed53",
      "tree": "a65d5e4be77666600c0005c5f4c9091df63a3a1b",
      "parents": [
        "56addd6eeeb4e11f5a0af7093ca078e0f29140e0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:55:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:55:06 2007 -0700"
      },
      "message": "[NET]: Add macvlan driver\n\nAdd macvlan driver, which allows to create virtual ethernet devices\nbased on MAC address.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56addd6eeeb4e11f5a0af7093ca078e0f29140e0",
      "tree": "814e84aa686d9fec602f977901634ebf576d039d",
      "parents": [
        "6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:53:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:53:28 2007 -0700"
      },
      "message": "[VLAN]: Use multicast list synchronization helpers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde",
      "tree": "21e4a2ea3eb7ed87ce525c59bb8c4d23d8c84589",
      "parents": [
        "a0a400d79e3dd7843e7e81baa3ef2957bdc292d0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:52:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:52:56 2007 -0700"
      },
      "message": "[VLAN]: Fix promiscous/allmulti synchronization races\n\nThe set_multicast_list function may be called without holding the rtnl\nmutex, resulting in races when changing the underlying device\u0027s promiscous\nand allmulti state. Use the change_rx_mode hook, which is always invoked\nunder the rtnl.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0a400d79e3dd7843e7e81baa3ef2957bdc292d0",
      "tree": "1391190938fb43587967f44f0ab139a2522b4a65",
      "parents": [
        "24023451c8df726692e2f52288a20870d13b501f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:52:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:52:02 2007 -0700"
      },
      "message": "[NET]: dev_mcast: add multicast list synchronization helpers\n\nThe method drivers currently use to synchronize multicast lists is not\nvery pretty:\n\n- walk the multicast list\n- search each entry on a copy of the previous list\n- if new add to lower device\n- walk the copy of the previous list\n- search each entry on the current list\n- if removed delete from lower device\n- copy entire list\n\nThis patch adds a new field to struct dev_addr_list to store the\nsynchronization state and adds two helper functions for synchronization\nand cleanup.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24023451c8df726692e2f52288a20870d13b501f",
      "tree": "b80c48dfe817a1a18484dadbc110ca07353c86c8",
      "parents": [
        "e6c9116d1dc984cb7ecf1b0fe26ca4a8ab36bb57"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:51:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:51:31 2007 -0700"
      },
      "message": "[NET]: Add net_device change_rx_mode callback\n\nCurrently the set_multicast_list (and set_rx_mode) callbacks are\nresponsible for configuring the device according to the IFF_PROMISC,\nIFF_MULTICAST and IFF_ALLMULTI flags and the mc_list (and uc_list in\ncase of set_rx_mode).\n\nThese callbacks can be invoked from BH context without the rtnl_mutex\nby dev_mc_add/dev_mc_delete, which makes reading the device flags and\npromiscous/allmulti count racy. For real hardware drivers that just\ncommit all changes to the hardware this is not a real problem since\nthe stack guarantees to call them for every change, so at least the\nfinal call will not race and commit the correct configuration to the\nhardware.\n\nFor software devices that want to synchronize promiscous and multicast\nstate to an underlying device however this can cause corruption of the\nunderlying device\u0027s flags or promisc/allmulti counts.\n\nWhen the software device is concurrently put in promiscous or allmulti\nmode while set_multicast_list is invoked from bottem half context, the\ndevice might synchronize the change to the underlying device without\nholding the rtnl_mutex, which races with concurrent changes to the\nunderlying device.\n\nAdd a dev-\u003echange_rx_flags hook that is invoked when any of the flags\nthat affect rx filtering change (under the rtnl_mutex), which allows\ndrivers to perform synchronization immediately and only synchronize\nthe address lists in set_multicast_list/set_rx_mode.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16cefa8c3863721fd40445a1b34dea18cd16ccfe",
      "tree": "c8e58ca06e2edfd667d3e6062a642b80cc58e5e7",
      "parents": [
        "4fbef206daead133085fe33905f5e842d38fb8da",
        "d8558f99fbc5ef5d4ae76b893784005056450f82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:46:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:46:18 2007 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (122 commits)\n  sunrpc: drop BKL around wrap and unwrap\n  NFSv4: Make sure unlock is really an unlock when cancelling a lock\n  NLM: fix source address of callback to client\n  SUNRPC client: add interface for binding to a local address\n  SUNRPC server: record the destination address of a request\n  SUNRPC: cleanup transport creation argument passing\n  NFSv4: Make the NFS state model work with the nosharedcache mount option\n  NFS: Error when mounting the same filesystem with different options\n  NFS: Add the mount option \"nosharecache\"\n  NFS: Add support for mounting NFSv4 file systems with string options\n  NFS: Add final pieces to support in-kernel mount option parsing\n  NFS: Introduce generic mount client API\n  NFS: Add enums and match tables for mount option parsing\n  NFS: Improve debugging output in NFS in-kernel mount client\n  NFS: Clean up in-kernel NFS mount\n  NFS: Remake nfsroot_mount as a permanent part of NFS client\n  SUNRPC: Add a convenient default for the hostname when calling rpc_create()\n  SUNRPC: Rename rpcb_getport to be consistent with new rpcb_getport_sync name\n  SUNRPC: Rename rpcb_getport_external routine\n  SUNRPC: Allow rpcbind requests to be interrupted by a signal.\n  ...\n"
    },
    {
      "commit": "e030dbf91a87da7e8be3be3ca781558695bea683",
      "tree": "4ff2e01621a888be4098ca48c404775e56a55a0d",
      "parents": [
        "12a22960549979c10a95cc97f8ec63b461c55692",
        "3039f0735a280b54c7364fbfe6a9287f7f0b510a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:52:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:52:27 2007 -0700"
      },
      "message": "Merge branch \u0027ioat-md-accel-for-linus\u0027 of git://lost.foo-projects.org/~dwillia2/git/iop\n\n* \u0027ioat-md-accel-for-linus\u0027 of git://lost.foo-projects.org/~dwillia2/git/iop: (28 commits)\n  ioatdma: add the unisys \"i/oat\" pci vendor/device id\n  ARM: Add drivers/dma to arch/arm/Kconfig\n  iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver\n  iop13xx: surface the iop13xx adma units to the iop-adma driver\n  dmaengine: driver for the iop32x, iop33x, and iop13xx raid engines\n  md: remove raid5 compute_block and compute_parity5\n  md: handle_stripe5 - request io processing in raid5_run_ops\n  md: handle_stripe5 - add request/completion logic for async expand ops\n  md: handle_stripe5 - add request/completion logic for async read ops\n  md: handle_stripe5 - add request/completion logic for async check ops\n  md: handle_stripe5 - add request/completion logic for async compute ops\n  md: handle_stripe5 - add request/completion logic for async write ops\n  md: common infrastructure for running operations with raid5_run_ops\n  md: raid5_run_ops - run stripe operations outside sh-\u003elock\n  raid5: replace custom debug PRINTKs with standard pr_debug\n  raid5: refactor handle_stripe5 and handle_stripe6 (v3)\n  async_tx: add the async_tx api\n  xor: make \u0027xor_blocks\u0027 a library routine for use with async_tx\n  dmaengine: make clients responsible for managing channels\n  dmaengine: refactor dmaengine around dma_async_tx_descriptor\n  ...\n"
    },
    {
      "commit": "aba2da66cfbf7790ad79d4dee95871127d5ddf5e",
      "tree": "974585e8419f63ebc2fa1e244c494b6b53f5842d",
      "parents": [
        "773208946a132fb733ba273ee8562814f828cc28",
        "f787a50306680c187cf2896a8017937c1bf6dc7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:12:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:13:37 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  [PATCH] sched: small topology.h cleanup\n  [PATCH] sched: fix show_task()/show_tasks() output\n  [PATCH] sched: remove stale version info from kernel/sched_debug.c\n  [PATCH] sched: allow larger granularity\n  [PATCH] sched: fix prio_to_wmult[] for nice 1\n\n[ I re-did the commits to get rid of some bogus merge commit that\n  Ingo had. - Linus ]\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f787a50306680c187cf2896a8017937c1bf6dc7e",
      "tree": "1dbc2b37c53759bde6e227e6502ad5555388f305",
      "parents": [
        "4bd77321a833077c5c9ac7b9d284e261e4a8906e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 11 21:21:47 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:11:52 2007 -0700"
      },
      "message": "[PATCH] sched: small topology.h cleanup\n\ntrivial cleanup: LOCAL_DISTANCE and REMOTE_DISTANCE are only used in\ntopology.h and inside an #ifndef section - limit their existence to\nthat #ifndef.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3039f0735a280b54c7364fbfe6a9287f7f0b510a",
      "tree": "1d64cdab174e681660d689d367f0bde4e2884fdd",
      "parents": [
        "5816815f7850509ed51ab94eb4f644e405ccb865"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:19 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:19 2007 -0700"
      },
      "message": "ioatdma: add the unisys \"i/oat\" pci vendor/device id\n\nCc: John Magolan \u003cjohn.magolan@unisys.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "b5e98d65d34a1c11a2135ea8a9b2619dbc7216c8",
      "tree": "bf88aad375bb0cbf6c346ec912c06c2607850b21",
      "parents": [
        "e89f89629b5de76e504d1be75c82c4a6b2419583"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async read ops\n\nWhen a read bio is attached to the stripe and the corresponding block is\nmarked R5_UPTODATE, then a read (biofill) operation is scheduled to copy\nthe data from the stripe cache to the bio buffer.  handle_stripe flags the\nblocks to be operated on with the R5_Wantfill flag.  If new read requests\narrive while raid5_run_ops is running they will not be handled until\nhandle_stripe is scheduled to run again.\n\nChangelog:\n* cleanup to_read and to_fill accounting\n* do not fail reads that have reached the cache\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f38e12199a94ca458e4f03c5a2c984fb80adadc5",
      "tree": "706f54c46d4a4c839dd43c1403854dde860c6be5",
      "parents": [
        "e33129d84130459dbb764a1a52a4bfceab3da978"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async compute ops\n\nhandle_stripe will compute a block when a backing disk has failed, or when\nit determines it can save a disk read by computing the block from all the\nother up-to-date blocks.\n\nPreviously a block would be computed under the lock and subsequent logic in\nhandle_stripe could use the newly up-to-date block.  With the raid5_run_ops\nimplementation the compute operation is carried out a later time outside\nthe lock.  To preserve the old functionality we take advantage of the\ndependency chain feature of async_tx to flag the block as R5_Wantcompute\nand then let other parts of handle_stripe operate on the block as if it\nwere up-to-date.  raid5_run_ops guarantees that the block will be ready\nbefore it is used in another operation.\n\nHowever, this only works in cases where the compute and the dependent\noperation are scheduled at the same time.  If a previous call to\nhandle_stripe sets the R5_Wantcompute flag there is no facility to pass the\nasync_tx dependency chain across successive calls to raid5_run_ops.  The\nreq_compute variable protects against this case.\n\nChangelog:\n* remove the req_compute BUG_ON\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "91c00924846a0034020451c280c76baa4299f9dc",
      "tree": "7124ed6706937b793a10c37a861c5fc0f2e5b348",
      "parents": [
        "45b4233caac05da0118b608a9fc2a40a9fc580cd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:15 2007 -0700"
      },
      "message": "md: raid5_run_ops - run stripe operations outside sh-\u003elock\n\nWhen the raid acceleration work was proposed, Neil laid out the following\nattack plan:\n\n1/ move the xor and copy operations outside spin_lock(\u0026sh-\u003elock)\n2/ find/implement an asynchronous offload api\n\nThe raid5_run_ops routine uses the asynchronous offload api (async_tx) and\nthe stripe_operations member of a stripe_head to carry out xor+copy\noperations asynchronously, outside the lock.\n\nTo perform operations outside the lock a new set of state flags is needed\nto track new requests, in-flight requests, and completed requests.  In this\nnew model handle_stripe is tasked with scanning the stripe_head for work,\nupdating the stripe_operations structure, and finally dropping the lock and\ncalling raid5_run_ops for processing.  The following flags outline the\nrequests that handle_stripe can make of raid5_run_ops:\n\nSTRIPE_OP_BIOFILL\n - copy data into request buffers to satisfy a read request\nSTRIPE_OP_COMPUTE_BLK\n - generate a missing block in the cache from the other blocks\nSTRIPE_OP_PREXOR\n - subtract existing data as part of the read-modify-write process\nSTRIPE_OP_BIODRAIN\n - copy data out of request buffers to satisfy a write request\nSTRIPE_OP_POSTXOR\n - recalculate parity for new data that has entered the cache\nSTRIPE_OP_CHECK\n - verify that the parity is correct\nSTRIPE_OP_IO\n - submit i/o to the member disks (note this was already performed outside\n   the stripe lock, but it made sense to add it as an operation type\n\nThe flow is:\n1/ handle_stripe sets STRIPE_OP_* in sh-\u003eops.pending\n2/ raid5_run_ops reads sh-\u003eops.pending, sets sh-\u003eops.ack, and submits the\n   operation to the async_tx api\n3/ async_tx triggers the completion callback routine to set\n   sh-\u003eops.complete and release the stripe\n4/ handle_stripe runs again to finish the operation and optionally submit\n   new operations that were previously blocked\n\nNote this patch just defines raid5_run_ops, subsequent commits (one per\nmajor operation type) modify handle_stripe to take advantage of this\nroutine.\n\nChangelog:\n* removed ops_complete_biodrain in favor of ops_complete_postxor and\n  ops_complete_write.\n* removed the raid5_run_ops workqueue\n* call bi_end_io for reads in ops_complete_biofill, saves a call to\n  handle_stripe\n* explicitly handle the 2-disk raid5 case (xor becomes memcpy), Neil Brown\n* fix race between async engines and bi_end_io call for reads, Neil Brown\n* remove unnecessary spin_lock from ops_complete_biofill\n* remove test_and_set/test_and_clear BUG_ONs, Neil Brown\n* remove explicit interrupt handling for channel switching, this feature\n  was absorbed (i.e. it is now implicit) by the async_tx api\n* use return_io in ops_complete_biofill\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "a445685647e825c713175d180ffc8dd54d90589b",
      "tree": "d2db5674e51d33162e1e5993b6e6680ec534e2df",
      "parents": [
        "9bc89cd82d6f88fb0ca39b30445c329a430fd66b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:43 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:15 2007 -0700"
      },
      "message": "raid5: refactor handle_stripe5 and handle_stripe6 (v3)\n\nhandle_stripe5 and handle_stripe6 have very deep logic paths handling the\nvarious states of a stripe_head.  By introducing the \u0027stripe_head_state\u0027\nand \u0027r6_state\u0027 objects, large portions of the logic can be moved to\nsub-routines.\n\n\u0027struct stripe_head_state\u0027 consumes all of the automatic variables that previously\nstood alone in handle_stripe5,6.  \u0027struct r6_state\u0027 contains the handle_stripe6\nspecific variables like p_failed and q_failed.\n\nOne of the nice side effects of the \u0027stripe_head_state\u0027 change is that it\nallows for further reductions in code duplication between raid5 and raid6.\nThe following new routines are shared between raid5 and raid6:\n\n\thandle_completed_write_requests\n\thandle_requests_to_failed_array\n\thandle_stripe_expansion\n\nChanges:\n* v2: fixed \u0027conf-\u003eraid_disk-1\u0027 for the raid6 \u0027handle_stripe_expansion\u0027 path\n* v3: removed the unused \u0027dirty\u0027 field from struct stripe_head_state\n* v3: coalesced open coded bi_end_io routines into return_io()\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "9bc89cd82d6f88fb0ca39b30445c329a430fd66b",
      "tree": "7bd0e856abd359f84edea1bacfd1dd32edd93fbb",
      "parents": [
        "685784aaf3cd0e3ff5e36c7ecf6f441cdbf57f73"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 11:10:44 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:14 2007 -0700"
      },
      "message": "async_tx: add the async_tx api\n\nThe async_tx api provides methods for describing a chain of asynchronous\nbulk memory transfers/transforms with support for inter-transactional\ndependencies.  It is implemented as a dmaengine client that smooths over\nthe details of different hardware offload engine implementations.  Code\nthat is written to the api can optimize for asynchronous operation and the\napi will fit the chain of operations to the available offload resources. \n \n\tI imagine that any piece of ADMA hardware would register with the\n\t\u0027async_*\u0027 subsystem, and a call to async_X would be routed as\n\tappropriate, or be run in-line. - Neil Brown\n\nasync_tx exploits the capabilities of struct dma_async_tx_descriptor to\nprovide an api of the following general format:\n\nstruct dma_async_tx_descriptor *\nasync_\u003coperation\u003e(..., struct dma_async_tx_descriptor *depend_tx,\n\t\t\tdma_async_tx_callback cb_fn, void *cb_param)\n{\n\tstruct dma_chan *chan \u003d async_tx_find_channel(depend_tx, \u003coperation\u003e);\n\tstruct dma_device *device \u003d chan ? chan-\u003edevice : NULL;\n\tint int_en \u003d cb_fn ? 1 : 0;\n\tstruct dma_async_tx_descriptor *tx \u003d device ?\n\t\tdevice-\u003edevice_prep_dma_\u003coperation\u003e(chan, len, int_en) : NULL;\n\n\tif (tx) { /* run \u003coperation\u003e asynchronously */\n\t\t...\n\t\ttx-\u003etx_set_dest(addr, tx, index);\n\t\t...\n\t\ttx-\u003etx_set_src(addr, tx, index);\n\t\t...\n\t\tasync_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param);\n\t} else { /* run \u003coperation\u003e synchronously */\n\t\t...\n\t\t\u003coperation\u003e\n\t\t...\n\t\tasync_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param);\n\t}\n\n\treturn tx;\n}\n\nasync_tx_find_channel() returns a capable channel from its pool.  The\nchannel pool is organized as a per-cpu array of channel pointers.  The\nasync_tx_rebalance() routine is tasked with managing these arrays.  In the\nuniprocessor case async_tx_rebalance() tries to spread responsibility\nevenly over channels of similar capabilities.  For example if there are two\ncopy+xor channels, one will handle copy operations and the other will\nhandle xor.  In the SMP case async_tx_rebalance() attempts to spread the\noperations evenly over the cpus, e.g. cpu0 gets copy channel0 and xor\nchannel0 while cpu1 gets copy channel 1 and xor channel 1.  When a\ndependency is specified async_tx_find_channel defaults to keeping the\noperation on the same channel.  A xor-\u003ecopy-\u003exor chain will stay on one\nchannel if it supports both operation types, otherwise the transaction will\ntransition between a copy and a xor resource.\n\nCurrently the raid5 implementation in the MD raid456 driver has been\nconverted to the async_tx api.  A driver for the offload engines on the\nIntel Xscale series of I/O processors, iop-adma, is provided in a later\ncommit.  With the iop-adma driver and async_tx, raid456 is able to offload\ncopy, xor, and xor-zero-sum operations to hardware engines.\n \nOn iop342 tiobench showed higher throughput for sequential writes (20 - 30%\nimprovement) and sequential reads to a degraded array (40 - 55%\nimprovement).  For the other cases performance was roughly equal, +/- a few\npercentage points.  On a x86-smp platform the performance of the async_tx\nimplementation (in synchronous mode) was also +/- a few percentage points\nof the original implementation.  According to \u0027top\u0027 on iop342 CPU\nutilization drops from ~50% to ~15% during a \u0027resync\u0027 while the speed\naccording to /proc/mdstat doubles from ~25 MB/s to ~50 MB/s.\n \nThe tiobench command line used for testing was: tiobench --size 2048\n--block 4096 --block 131072 --dir /mnt/raid --numruns 5\n* iop342 had 1GB of memory available\n\nDetails:\n* if CONFIG_DMA_ENGINE\u003dn the asynchronous path is compiled away by making\n  async_tx_find_channel a static inline routine that always returns NULL\n* when a callback is specified for a given transaction an interrupt will\n  fire at operation completion time and the callback will occur in a\n  tasklet.  if the the channel does not support interrupts then a live\n  polling wait will be performed\n* the api is written as a dmaengine client that requests all available\n  channels\n* In support of dependencies the api implicitly schedules channel-switch\n  interrupts.  The interrupt triggers the cleanup tasklet which causes\n  pending operations to be scheduled on the next channel\n* Xor engines treat an xor destination address differently than a software\n  xor routine.  To the software routine the destination address is an implied\n  source, whereas engines treat it as a write-only destination.  This patch\n  modifies the xor_blocks routine to take a an explicit destination address\n  to mirror the hardware.\n\nChangelog:\n* fixed a leftover debug print\n* don\u0027t allow callbacks in async_interrupt_cond\n* fixed xor_block changes\n* fixed usage of ASYNC_TX_XOR_DROP_DEST\n* drop dma mapping methods, suggested by Chris Leech\n* printk warning fixups from Andrew Morton\n* don\u0027t use inline in C files, Adrian Bunk\n* select the API when MD is enabled\n* BUG_ON xor source counts \u003c\u003d 1\n* implicitly handle hardware concerns like channel switching and\n  interrupts, Neil Brown\n* remove the per operation type list, and distribute operation capabilities\n  evenly amongst the available channels\n* simplify async_tx_find_channel to optimize the fast path\n* introduce the channel_table_initialized flag to prevent early calls to\n  the api\n* reorganize the code to mimic crypto\n* include mm.h as not all archs include it in dma-mapping.h\n* make the Kconfig options non-user visible, Adrian Bunk\n* move async_tx under crypto since it is meant as \u0027core\u0027 functionality, and\n  the two may share algorithms in the future\n* move large inline functions into c files\n* checkpatch.pl fixes\n* gpl v2 only correction\n\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "685784aaf3cd0e3ff5e36c7ecf6f441cdbf57f73",
      "tree": "10f99829f7d877b87614fe69be77e363c026a8d7",
      "parents": [
        "d379b01e9087a582d58f4b678208a4f8d8376fe7"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:42 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:14 2007 -0700"
      },
      "message": "xor: make \u0027xor_blocks\u0027 a library routine for use with async_tx\n\nThe async_tx api tries to use a dma engine for an operation, but will fall\nback to an optimized software routine otherwise.  Xor support is\nimplemented using the raid5 xor routines.  For organizational purposes this\nroutine is moved to a common area.\n\nThe following fixes are also made:\n* rename xor_block \u003d\u003e xor_blocks, suggested by Adrian Bunk\n* ensure that xor.o initializes before md.o in the built-in case\n* checkpatch.pl fixes\n* mark calibrate_xor_blocks __init, Adrian Bunk\n\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "d379b01e9087a582d58f4b678208a4f8d8376fe7",
      "tree": "155920bca93c18afba66b9d5acfecd359d5bec65",
      "parents": [
        "7405f74badf46b5d023c5d2b670b4471525f6c91"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:42 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:13 2007 -0700"
      },
      "message": "dmaengine: make clients responsible for managing channels\n\nThe current implementation assumes that a channel will only be used by one\nclient at a time.  In order to enable channel sharing the dmaengine core is\nchanged to a model where clients subscribe to channel-available-events.\nInstead of tracking how many channels a client wants and how many it has\nreceived the core just broadcasts the available channels and lets the\nclients optionally take a reference.  The core learns about the clients\u0027\nneeds at dma_event_callback time.\n\nIn support of multiple operation types, clients can specify a capability\nmask to only be notified of channels that satisfy a certain set of\ncapabilities.\n\nChangelog:\n* removed DMA_TX_ARRAY_INIT, no longer needed\n* dma_client_chan_free -\u003e dma_chan_release: switch to global reference\n  counting only at device unregistration time, before it was also happening\n  at client unregistration time\n* clients now return dma_state_client to dmaengine (ack, dup, nak)\n* checkpatch.pl fixes\n* fixup merge with git-ioat\n\nCc: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7405f74badf46b5d023c5d2b670b4471525f6c91",
      "tree": "20dd20571637dba1c2b04c7b13ac208c33b5706b",
      "parents": [
        "428ed6024fa74a271142f3257966e9b5e1cb37a1"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 11:10:43 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:11 2007 -0700"
      },
      "message": "dmaengine: refactor dmaengine around dma_async_tx_descriptor\n\nThe current dmaengine interface defines mutliple routines per operation,\ni.e. dma_async_memcpy_buf_to_buf, dma_async_memcpy_buf_to_page etc.  Adding\nmore operation types (xor, crc, etc) to this model would result in an\nunmanageable number of method permutations.\n\n\tAre we really going to add a set of hooks for each DMA engine\n\twhizbang feature?\n\t\t- Jeff Garzik\n\nThe descriptor creation process is refactored using the new common\ndma_async_tx_descriptor structure.  Instead of per driver\ndo_\u003coperation\u003e_\u003cdest\u003e_to_\u003csrc\u003e methods, drivers integrate\ndma_async_tx_descriptor into their private software descriptor and then\ndefine a \u0027prep\u0027 routine per operation.  The prep routine allocates a\ndescriptor and ensures that the tx_set_src, tx_set_dest, tx_submit routines\nare valid.  Descriptor creation and submission becomes:\n\nstruct dma_device *dev;\nstruct dma_chan *chan;\nstruct dma_async_tx_descriptor *tx;\n\ntx \u003d dev-\u003edevice_prep_dma_\u003coperation\u003e(chan, len, int_flag)\ntx-\u003etx_set_src(dma_addr_t, tx, index /* for multi-source ops */)\ntx-\u003etx_set_dest(dma_addr_t, tx, index)\ntx-\u003etx_submit(tx)\n\nIn addition to the refactoring, dma_async_tx_descriptor also lays the\ngroundwork for definining cross-channel-operation dependencies, and a\ncallback facility for asynchronous notification of operation completion.\n\nChangelog:\n* drop dma mapping methods, suggested by Chris Leech\n* fix ioat_dma_dependency_added, also caught by Andrew Morton\n* fix dma_sync_wait, change from Andrew Morton\n* uninline large functions, change from Andrew Morton\n* add tx-\u003ecallback \u003d NULL to dmaengine calls to interoperate with async_tx\n  calls\n* hookup ioat_tx_submit\n* convert channel capabilities to a \u0027cpumask_t like\u0027 bitmap\n* removed DMA_TX_ARRAY_INIT, no longer needed\n* checkpatch.pl fixes\n* make set_src, set_dest, and tx_submit descriptor specific methods\n* fixup git-ioat merge\n* move group_list and phys to dma_async_tx_descriptor\n\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9374430a52dfae5c013b88f7f030c04a6774d410",
      "tree": "ce1ee8eee4e79fbb9486e810278d1092afc74a44",
      "parents": [
        "66f49739fe1591197364f2dad1b67b975e8f5e85",
        "13f9966b3ba5b45f47f2ea0eb0a90afceedfbb1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:46:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:46:58 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (149 commits)\n  USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc\n  USB: additions to the quirk list\n  usb-storage: implement autosuspend\n  USB: cdc-acm: add new device id to option driver\n  USB: goku_udc trivial cleanups\n  USB: usb gadget stack can now -DDEBUG with Kconfig\n  usb gadget stack: remove usb_ep_*_buffer(), part 2\n  usb gadget stack: remove usb_ep_*_buffer(), part 1\n  USB: pxa2xx_udc -- cleanups, mostly removing dma hooks\n  USB: pxa2xx_udc: use generic gpio layer\n  USB: quirk for samsung printer\n  USB: usb/dma doc updates\n  USB: drivers/usb/storage/unusual_devs.h whitespace cleanup\n  USB: remove Makefile reference to obsolete OHCI_AT91\n  USB: io_*: remove bogus termios no change checks\n  USB: mos7720: remove bogus no termios change check\n  USB: visor and whiteheat: remove bogus termios change checks\n  USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate()\n  USB: mos7840.c: turn this into a serial driver\n  USB: make the usb_device numa_node get assigned from controller\n  ...\n"
    },
    {
      "commit": "0cdf6990e992902ae59cbc625d28cb41390f378e",
      "tree": "0c01cf792be5f36ea34064036005f424ab95a571",
      "parents": [
        "de081fa517fed81b0369f2e90ca87c30182879c8",
        "cec7c893d8654723028f09d33341e42673558057"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:45:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 16:45:40 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (76 commits)\n  IB: Update MAINTAINERS with Hal\u0027s new email address\n  IB/mlx4: Implement query SRQ\n  IB/mlx4: Implement query QP\n  IB/cm: Send no match if a SIDR REQ does not match a listen\n  IB/cm: Fix handling of duplicate SIDR REQs\n  IB/cm: cm_msgs.h should include ib_cm.h\n  IB/cm: Include HCA ACK delay in local ACK timeout\n  IB/cm: Use spin_lock_irq() instead of spin_lock_irqsave() when possible\n  IB/sa: Make sure SA queries use default P_Key\n  IPoIB: Recycle loopback skbs instead of freeing and reallocating\n  IB/mthca: Replace memset(\u003caddr\u003e, 0, PAGE_SIZE) with clear_page(\u003caddr\u003e)\n  IPoIB/cm: Fix warning if IPV6 is not enabled\n  IB/core: Take sizeof the correct pointer when calling kmalloc()\n  IB/ehca: Improve latency by unlocking after triggering the hardware\n  IB/ehca: Notify consumers of LID/PKEY/SM changes after nondisruptive events\n  IB/ehca: Return QP pointer in poll_cq()\n  IB/ehca: Change idr spinlocks into rwlocks\n  IB/ehca: Refactor sync between completions and destroy_cq using atomic_t\n  IB/ehca: Lock renaming, static initializers\n  IB/ehca: Report RDMA atomic attributes in query_qp()\n  ...\n"
    },
    {
      "commit": "c67ab134ba9f83f9de86e58adfeaa14a9efa6e00",
      "tree": "df9022b4a38e955abbf254d71e00ac1fecce6420",
      "parents": [
        "9d8bab58b758cd5a96d368a8cc64111c9ab50407"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jul 01 12:21:00 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "usb gadget stack: remove usb_ep_*_buffer(), part 2\n\nThis patch removes controller driver infrastructure which supported\nthe now-removed usb_ep_{alloc,free}_buffer() calls.\n\nAs can be seen, many of the implementations of this were broken to\nvarious degrees.  Many didn\u0027t properly return dma-coherent mappings;\nthose which did so were necessarily ugly because of bogosity in the\nunderlying dma_free_coherent() calls ... which on many platforms\ncan\u0027t be called from the same contexts (notably in_irq) from which\ntheir dma_alloc_coherent() sibling can be called.\n\nThe main potential downside of removing this is that gadget drivers\nwouldn\u0027t have specific knowledge that the controller drivers have:\nendpoints that aren\u0027t dma-capable don\u0027t need any dma mappings at all.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9d8bab58b758cd5a96d368a8cc64111c9ab50407",
      "tree": "710695adf1e50f2e4680c130d548ccd3e6251630",
      "parents": [
        "ad8c623f4f48085edd51c7f4cdfd10295547bf45"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun Jul 01 11:04:54 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:42 2007 -0700"
      },
      "message": "usb gadget stack: remove usb_ep_*_buffer(), part 1\n\nRemove usb_ep_{alloc,free}_buffer() calls, for small dma-coherent buffers.\nThis patch just removes the interface and its users; later patches will\nremove controller driver support.\n\n  - This interface is invariably not implemented correctly in the\n    controller drivers (e.g. using dma pools, a mechanism which\n    post-dates the interface by several years).\n\n  - At this point no gadget driver really *needs* to use it.  In\n    current kernels, any driver that needs such a mechanism could\n    allocate a dma pool themselves.\n\nRemoving this interface is thus a simplification and improvement.\n\nNote that the gmidi.c driver had a bug in this area; fixed.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "165fe97ed6107d3cde63592d5ac36400a5eb9f6f",
      "tree": "824bb475b4f36af465989c5dac62f4097a1bd01c",
      "parents": [
        "50d2dc7266573dfbdc84fc207494dd21315782ef"
      ],
      "author": {
        "name": "Craig W. Nadler",
        "email": "craig@nadler.us",
        "time": "Fri Jun 15 23:14:35 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:40 2007 -0700"
      },
      "message": "USB: add IAD support to usbfs and sysfs\n\nUSB_IAD: Adds support for USB Interface Association Descriptors.\n\nThis patch adds support to the USB host stack for parsing, storing, and\ndisplaying Interface Association Descriptors. In /proc/bus/usb/devices\nlines starting with A: show the fields in an IAD. In sysfs if an\ninterface on a USB device is referenced by an IAD the following files\nwill be added to the sysfs directory for that interface:\niad_bFirstInterface, iad_bInterfaceCount, iad_bFunctionClass, and\niad_bFunctionSubClass, iad_bFunctionProtocol\n\nSigned-off-by: Craig W. Nadler \u003ccraig@nadler.us\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8b3b01c898a44c2fc7217eb579982b9d132113f5",
      "tree": "4d7da145c0fa47243b0f67b62fcdfaa4f53d184e",
      "parents": [
        "300871cd963e24a68aaa9b762f4a10403697d9be"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jun 13 08:02:11 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:38 2007 -0700"
      },
      "message": "USB: Add URB_FREE_BUFFER flag and the logic behind it\n\nUSB: Add URB_FREE_BUFFER flag for freeing the transfer buffer\n\nIn some cases it is not needed that the driver keeps track of the\ntransfer buffer of an URB. It can be simply freed along with the\nURB itself when the reference count goes down to zero. The new\nflag URB_FREE_BUFFER enables this behavior.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "b41a60eca833d76593d4dac8a59f5c38714194ee",
      "tree": "a7c5cf721d9978503c3c8c88183747cf954b8733",
      "parents": [
        "54515fe528d8c6f9bfaf7d0b9fffb908deecad78"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed May 30 15:39:33 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:30 2007 -0700"
      },
      "message": "USB: add power/persist device attribute\n\nThis patch (as920) adds an extra level of protection to the\nUSB-Persist facility.  Now it will apply by default only to hubs; for\nall other devices the user must enable it explicitly by setting the\npower/persist device attribute.\n\nThe disconnect_all_children() routine in hub.c has been removed and\nits code placed inline.  This is the way it was originally as part of\nhub_pre_reset(); the revised usage in hub_reset_resume() is\nsufficiently different that the code can no longer be shared.\nLikewise, mark_children_for_reset() is now inline as part of\nhub_reset_resume().  The end result looks much cleaner than before.\n\nThe sysfs interface is updated to add the new attribute file, and\nthere are corresponding documentation updates.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f07600cf9eb3ee92777b2001e564faa413144a99",
      "tree": "e48f2e3051fde642e80269bf9c54b289d4abdb44",
      "parents": [
        "624d6c0732d2c4ac00945ad79dbb6ff39ba90ee3"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed May 30 15:38:16 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:34:30 2007 -0700"
      },
      "message": "USB: add reset_resume method\n\nThis patch (as918) introduces a new USB driver method: reset_resume.\nIt is called when a device needs to be reset as part of a resume\nprocedure (whether because of a device quirk or because of the\nUSB-Persist facility), thereby taking over a role formerly assigned to\nthe post_reset method.  As a consequence, post_reset no longer needs\nan argument indicating whether it is being called as part of a\nreset-resume.  This separation of functions makes the code clearer.\n\nIn addition, the pre_reset and post_reset method return types are\nchanged; they now must return an error code.  The return value is\nunused at present, but at some later time we may unbind drivers and\nre-probe if they encounter an error during reset handling.\n\nThe existing pre_reset and post_reset methods in the usbhid,\nusb-storage, and hub drivers are updated to match the new\nrequirements.  For usbhid the post_reset routine is also used for\nreset_resume (duplicate method pointers); for the other drivers a new\nreset_resume routine is added.  The change to hub.c looks bigger than\nit really is, because mark_children_for_reset_resume() gets moved down\nnext to the new hub_reset_resume() routine.\n\nA minor change to usb-storage makes the usb_stor_report_bus_reset()\nroutine acquire the host lock instead of requiring the caller to hold\nit already.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCC: Matthew Dharm \u003cmdharm-usb@one-eyed-alien.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "51a2f077c44e559841b09de6da605b4d3ae40dad",
      "tree": "2d4d0064994de2223abac57f7242579649717ae6",
      "parents": [
        "ffcdc18d64d73ecce49c182f969977ae88ff4384"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oneukum@suse.de",
        "time": "Fri May 25 13:40:56 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:51 2007 -0700"
      },
      "message": "USB: introduce usb_anchor\n\n- introduction of usb_anchor and its methods\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a5262dcfda9163ca1f8a64349a6f7ba640ac1dc2",
      "tree": "268090b3a52fb2a3e3e08b91a934e76558d187f8",
      "parents": [
        "8234509c3968a87faa301a8a9d7f8b987cd9181c"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon May 14 19:36:41 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:50 2007 -0700"
      },
      "message": "USB: export \u003clinux/usb_gadgetfs\u003e as \u003clinux/usb/gadgetfs.h\u003e\n\nMake sure gadgetfs userspace interface is properly exported:\n\n - Move \u003clinux/usb_gadgetfs.h\u003e to \u003clinux/usb/gadgetfs.h\u003e;\n - Export it using Kbuild;\n - Add an #include guard;\n - Correct some internal documentation;\n - Update struct layout so it\u0027s the same on 32/64 bit kernels.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "8538f96ae5aada1c04d69a993b20ad160b191d47",
      "tree": "53545dc889b838ad9807acff4d2b4409f0661b72",
      "parents": [
        "7f9985c2e4e5555b750d6f891b4923e63cc834c1"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@gentoo.org",
        "time": "Thu May 10 00:32:24 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:48 2007 -0700"
      },
      "message": "USB: add USB_DEVICE_AND_INTERFACE_INFO for device matching\n\nRecently, the USB device matching code stopped matching generic interface\nmatches against devices with vendor-specific device class values.\n\nSome drivers now need to explicitly match USB device ID\u0027s (in addition to\ngeneric interface info) to retain the same behaviour as before. This new macro,\nsuggested by Alan Stern, makes the explicit device/interface matching a little\nsimpler for those users.\n\nSigned-off-by: Daniel Drake \u003cdsd@gentoo.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6bc6cff52e0c4c4c876b1b8a5750041da61ad42b",
      "tree": "98b6815b071be2b0dc8e10b661a7fb1e3cdd9e82",
      "parents": [
        "383975d765523a56dc43a6cd6d52e9b376800cf2"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri May 04 11:53:03 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:47 2007 -0700"
      },
      "message": "USB: add RESET_RESUME device quirk\n\nThis patch (as888) adds a new USB device quirk for devices which are\nunable to resume correctly.  By using the new code added for the\nUSB-persist facility, it is a simple matter to reset these devices\ninstead of resuming them.  To get things kicked off, a quirk entry is\nadded for the Philips PSC805.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0458d5b4c9cc4ca0f62625d0144ddc4b4bc97a3c",
      "tree": "8b1fcb4f063ef4aa6f2e3cd41a60d986a1e432d4",
      "parents": [
        "ce7cd137fced114d49178b73d468b82096a107fb"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri May 04 11:52:20 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:47 2007 -0700"
      },
      "message": "USB: add USB-Persist facility\n\nThis patch (as886) adds the controversial USB-persist facility,\nallowing USB devices to persist across a power loss during system\nsuspend.\n\nThe facility is controlled by a new Kconfig option (with appropriate\nwarnings about the potential dangers); when the option is off the\nbehavior will remain the same as it is now.  But when the option is\non, people will be able to use suspend-to-disk and keep their USB\nfilesystems intact -- something particularly valuable for small\nmachines where the root filesystem is on a USB device!\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ec22559e0b7a05283a3413bda5d177e42c950e23",
      "tree": "5f7a9ae8907cdf910532381111ce4b8aae877e05",
      "parents": [
        "dd172d72addefd89795e819cc2cc3eb1b9d12a7f"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oneukum@suse.de",
        "time": "Fri Apr 27 20:54:57 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 12 16:29:44 2007 -0700"
      },
      "message": "USB: suspend support for usb serial\n\nthis implements generic support for suspend/resume for usb serial.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "65541cb7cf353946ecd78016a453b453b8830656",
      "tree": "0a93ed27fdb6caf3f90250eaaf179b560e6742f3",
      "parents": [
        "6a775e2ba4f7635849ade628e64723ab2beef0bc"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Thu Jun 21 13:03:11 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 12 15:41:24 2007 -0700"
      },
      "message": "IB/mlx4: Implement query SRQ\n\nSigned-off-by: Dotan Barak \u003cdotanb@mellanox.co.il\u003e\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6a775e2ba4f7635849ade628e64723ab2beef0bc",
      "tree": "3c80d06d5f2f7135c81dddc2dcd6e536f9ecf22d",
      "parents": [
        "6164c8cd1333403a28202f7c7e64ff9086d8f1aa"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Thu Jun 21 12:27:47 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jul 12 15:41:00 2007 -0700"
      },
      "message": "IB/mlx4: Implement query QP\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bb50cbbd4beacd5ceda76c32fcb116c67fe8c66c",
      "tree": "d57fe1a7c4214afbaacbcc5fb62ea6a5e9169b3f",
      "parents": [
        "702ed6ef375c19d65f2eeeefd3851476f2c4cee4",
        "d4cf291526a74cc33d33700a35b74395eec812fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:46:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:46:48 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:\n  security: unexport mmap_min_addr\n  SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel\n  security: Protection for exploiting null dereference using mmap\n  SELinux: Use %lu for inode-\u003ei_no when printing avc\n  SELinux: allow preemption between transition permission checks\n  selinux: introduce schedule points in policydb_destroy()\n  selinux: add selinuxfs structure for object class discovery\n  selinux: change sel_make_dir() to specify inode counter.\n  selinux: rename sel_remove_bools() for more general usage.\n  selinux: add support for querying object classes and permissions from the running policy\n"
    },
    {
      "commit": "0806ca2ab3ef7d7a1bd41a980f661a13ba11acb5",
      "tree": "b0efd7382e59de26f173f61b677a579f3f4ee137",
      "parents": [
        "21ba0f88ae56da82a3a15fe54d729208b64c4f4b",
        "1612b18ccb2318563ba51268289dc3271a6052f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:41:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:41:29 2007 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Support multiple CPUs going through OS_MCA\n  [IA64] silence GCC ia64 unused variable warnings\n  [IA64] prevent MCA when performing MMIO mmap to PCI config space\n  [IA64] add sn_register_pmi_handler oemcall\n  [IA64] Stop bit for brl instruction\n  [IA64] SN: Correct ROM resource length for BIOS copy\n  [IA64] Don\u0027t set psr.ic and psr.i simultaneously\n"
    },
    {
      "commit": "21ba0f88ae56da82a3a15fe54d729208b64c4f4b",
      "tree": "17ce67f276fe3ea7284c3dc730bdd6a2ec7dfe2f",
      "parents": [
        "dc690d8ef842b464f1c429a376ca16cb8dbee6ae",
        "36e235901f90fb83215be43cbd8f1ca14661ea40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:40:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:40:57 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (34 commits)\n  PCI: Only build PCI syscalls on architectures that want them\n  PCI: limit pci_get_bus_and_slot to domain 0\n  PCI: hotplug: acpiphp: avoid acpiphp \"cannot get bridge info\" PCI hotplug failure\n  PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge\n  PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3\n  PCI: hotplug: pciehp: wait for 1 second after power off slot\n  PCI: pci_set_power_state(): check for PM capabilities earlier\n  PCI: cpci_hotplug: Convert to use the kthread API\n  PCI: add pci_try_set_mwi\n  PCI: pcie: remove SPIN_LOCK_UNLOCKED\n  PCI: ROUND_UP macro cleanup in drivers/pci\n  PCI: remove pci_dac_dma_... APIs\n  PCI: pci-x-pci-express-read-control-interfaces cleanups\n  PCI: Fix typo in include/linux/pci.h\n  PCI: pci_ids, remove double or more empty lines\n  PCI: pci_ids, add atheros and 3com_2 vendors\n  PCI: pci_ids, reorder some entries\n  PCI: i386: traps, change VENDOR to DEVICE\n  PCI: ATM: lanai, change VENDOR to DEVICE\n  PCI: Change all drivers to use pci_device-\u003erevision\n  ...\n"
    },
    {
      "commit": "dc690d8ef842b464f1c429a376ca16cb8dbee6ae",
      "tree": "77955849af5a15755f5e55e24ae4b9c520583a72",
      "parents": [
        "57399ec9077a4b962b81037aaa279fab52f5e989",
        "91a6902958f052358899f58683d44e36228d85c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:40:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:40:20 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (61 commits)\n  sysfs: add parameter \"struct bin_attribute *\" in .read/.write methods for sysfs binary attributes\n  sysfs: make directory dentries and inodes reclaimable\n  sysfs: implement sysfs_get_dentry()\n  sysfs: move sysfs_drop_dentry() to dir.c and make it static\n  sysfs: restructure add/remove paths and fix inode update\n  sysfs: use sysfs_mutex to protect the sysfs_dirent tree\n  sysfs: consolidate sysfs spinlocks\n  sysfs: make kobj point to sysfs_dirent instead of dentry\n  sysfs: implement sysfs_find_dirent() and sysfs_get_dirent()\n  sysfs: implement SYSFS_FLAG_REMOVED flag\n  sysfs: rename sysfs_dirent-\u003es_type to s_flags and make room for flags\n  sysfs: make sysfs_drop_dentry() access inodes using ilookup()\n  sysfs: Fix oops in sysfs_drop_dentry on x86_64\n  sysfs: use singly-linked list for sysfs_dirent tree\n  sysfs: slim down sysfs_dirent-\u003es_active\n  sysfs: move s_active functions to fs/sysfs/dir.c\n  sysfs: fix root sysfs_dirent -\u003e root dentry association\n  sysfs: use iget_locked() instead of new_inode()\n  sysfs: reorganize sysfs_new_indoe() and sysfs_create()\n  sysfs: fix parent refcounting during rename and move\n  ...\n"
    },
    {
      "commit": "57399ec9077a4b962b81037aaa279fab52f5e989",
      "tree": "847dfb9304001ab9ffc5eef5f20ae514cd01bb90",
      "parents": [
        "e1bd2ac5a6b7a8b625e40c9e9f8b6dea4cf22f85",
        "c6e54a578133fb353a50fb44d650768b3b9eb18e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:38:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:38:50 2007 -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: (21 commits)\n  libata: remove irq_on from ata_bus_reset() and ata_std_postreset()\n  ata_piix: kill incorrect invalid map value warning\n  libata: add another Maxtor drive with broken NCQ to the list\n  [libata] sata_mv: Fix and clean up per-chip-generation tests\n  [libata] sata_mv: Convert to new exception handling (EH) infrastructure\n  [libata] sata_mv: minor bug fixes, enhancements, and cleanups (prep for new EH)\n  [libata] sata_mv: Minor cleanups and renaming, preparing for new EH \u0026 NCQ\n  libata-link: add PMP related ATA constants\n  libata-link: separate out ata_eh_handle_dev_fail()\n  pata_hpt3x3: fix DMA Kconfig option to actually have a hope of working\n  Add Hitachi HDS7250SASUN500G 0621KTAWSD to NCQ blacklist\n  pata_scc.c: Workaround for errata A308\n  libata: add FUJITSU MHV2080BH to NCQ blacklist\n  pata_hpt3x3: major reworking and testing\n  libata: clean up horkage handling\n  libata: quirk IOMEGA ZIP 250 ATAPI FLOPPY\n  libata: simplify PCI legacy SFF host handling\n  pata_mpc52xx: suspend/resume support\n  sata_promise: SATA hotplug support, take 2\n  pata_sis: FIFO whack\n  ...\n"
    },
    {
      "commit": "e1bd2ac5a6b7a8b625e40c9e9f8b6dea4cf22f85",
      "tree": "9366e9fb481da2c7195ca3f2bafeffebbf001363",
      "parents": [
        "0b9062f6b57a87f22309c6b920a51aaa66ce2a13",
        "15028aad00ddf241581fbe74a02ec89cbb28d35d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:31:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:31:22 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (183 commits)\n  [TG3]: Update version to 3.78.\n  [TG3]: Add missing NVRAM strapping.\n  [TG3]: Enable auto MDI.\n  [TG3]: Fix the polarity bit.\n  [TG3]: Fix irq_sync race condition.\n  [NET_SCHED]: ematch: module autoloading\n  [TCP]: tcp probe wraparound handling and other changes\n  [RTNETLINK]: rtnl_link: allow specifying initial device address\n  [RTNETLINK]: rtnl_link API simplification\n  [VLAN]: Fix MAC address handling\n  [ETH]: Validate address in eth_mac_addr\n  [NET]: Fix races in net_rx_action vs netpoll.\n  [AF_UNIX]: Rewrite garbage collector, fixes race.\n  [NETFILTER]: {ip, nf}_conntrack_sctp: fix remotely triggerable NULL ptr dereference (CVE-2007-2876)\n  [NET]: Make all initialized struct seq_operations const.\n  [UDP]: Fix length check.\n  [IPV6]: Remove unneeded pointer idev from addrconf_cleanup().\n  [DECNET]: Another unnecessary net/tcp.h inclusion in net/dn.h\n  [IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options.\n  [IPV6]: Do not send RH0 anymore.\n  ...\n\nFixed up trivial conflict in Documentation/feature-removal-schedule.txt\nmanually.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "068345f4a873e8b0b511e8f94a595a20e176eeff",
      "tree": "f67503164f017b45ab425827d71fb7d23920a519",
      "parents": [
        "c39736823232bc3ca113c8228fa852c09fba300e",
        "0a85e9a271a754e352af8a8b625025017fd97449"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:25:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 13:25:00 2007 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6\n\n* \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6: (26 commits)\n  i2c-rpx: Remove\n  i2c-mpc: work around missing-9th-clock-pulse bug\n  i2c: New PMC MSP71xx TWI bus driver\n  i2c-savage4: Delete many unused defines\n  i2c/tsl2550: Speed up initialization\n  i2c: New bus driver for the TAOS evaluation modules\n  i2c-i801: Use the internal 32-byte buffer on ICH4+\n  i2c-i801: Various cleanups\n  i2c: Add support for the TSL2550\n  i2c-pxa: Support new-style I2C drivers\n  i2c-gpio: Make some internal functions static\n  i2c-gpio: Add support for new-style clients\n  i2c-iop3xx: Switch to static adapter numbering\n  i2c-sis5595: Resolve resource conflict with sis5595\n  matroxfb: Clean-up i2c header inclusions\n  i2c-nforce2: Add support for SMBus block transactions\n  i2c-mpc: Use i2c_add_numbered_adapter\n  i2c-mv64xxx: Use i2c_add_numbered_adapter\n  i2c-piix4: Add support for the ATI SB700\n  i2c: New DS1682 chip driver\n  ...\n"
    },
    {
      "commit": "5628221caf88e2a052782b042e12da7cd34111b0",
      "tree": "b4dbee3be1aa2b39e3d4c6f384b28d07740465fd",
      "parents": [
        "1fd5e589d8c7d3cd42ddd39358338766cfcedec8"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@gentoo.org",
        "time": "Tue Jul 10 19:32:10 2007 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 12 16:07:26 2007 -0400"
      },
      "message": "[PATCH] mac80211: ERP IE handling improvements\n\nThe \"protection needed\" flag is currently parsed out of the ERP IE in\nbeacons. This patch allows the ERP IE to be available at assocation time\nand causes the appropriate actions to be performed earlier.\n\nIt is slightly complicated by the fact that most APs don\u0027t include the\nERP IE in association responses. To work around this, we store ERP\nvalues in the ieee80211_sta_bss structure.\n\nAlso added some WLAN_ERP defines for use by upcoming patches.\n\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c39736823232bc3ca113c8228fa852c09fba300e",
      "tree": "94fe2f8b27879cee904b09d1effb91ccc3ce6e0a",
      "parents": [
        "91a6c462b02d8dc02dbe95e5a407d78078a38d01"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jul 11 12:18:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 10:55:56 2007 -0700"
      },
      "message": "Remove old i386 setup code\n\nThis removes the old i386 setup code.  This is done as a separate patch\nto avoid breaking git bisect as some of the i386 code was also used by\nthe old x86-64 code.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e087db510cd96a75a614f6f6fcd5499ab21cb087",
      "tree": "70b6d536585355ff59f7635083f36eea71d6d27b",
      "parents": [
        "de32e04175efbc1ff5e0f509253d5dfc84f173b3"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jul 11 12:18:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 10:55:54 2007 -0700"
      },
      "message": "Clean up struct screen_info (\u003clinux/screen_info.h\u003e)\n\nstruct screen_info has unaligned members, it needs to be packed.\nIn the process, fix the naming of some of the members, which don\u0027t\nbelong in this structure but are part of it anyway.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9cdad74883a797952de52464d118d685cafc05a",
      "tree": "b843038e60482c01854ec14b57502bb3833143d0",
      "parents": [
        "7edcb9abb594a8f3b4ca756e03d01c870aeae127"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jul 12 14:12:31 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Thu Jul 12 14:12:31 2007 +0200"
      },
      "message": "i2c: New bus driver for the TAOS evaluation modules\n\nThis is a new I2C bus driver for the TAOS evaluation modules. Developped\nand tested on the TAOS TSL2550 EVM.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "c29c22218b99dad95f7cd0281415a854aeee805c",
      "tree": "ff2af319e645bc69bc8bb9c58e9a466b1a3c4bee",
      "parents": [
        "5162b75b24963eebe62c4d4161d0fe0b337a313b"
      ],
      "author": {
        "name": "Henry Su",
        "email": "henry.su@amd.com",
        "time": "Thu Jul 12 14:12:29 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Thu Jul 12 14:12:29 2007 +0200"
      },
      "message": "i2c-piix4: Add support for the ATI SB700\n\nAdd the SMBus device ID for ATI SB700.\n\nSigned-off-by: Henry Su \u003cHenry.su@amd.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "4b2643d7d9bdcd776749e17f73c168ddf02e93cb",
      "tree": "1642900ea1c196cc27d120f0af4de44fff30633e",
      "parents": [
        "ba7fbb723f50ab2607989a282af655fb0fab0492"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jul 12 14:12:29 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Thu Jul 12 14:12:29 2007 +0200"
      },
      "message": "i2c: Fix the i2c_smbus_read_i2c_block_data() prototype\n\nLet the drivers specify how many bytes they want to read with\ni2c_smbus_read_i2c_block_data(). So far, the block count was\nhard-coded to I2C_SMBUS_BLOCK_MAX (32), which did not make much sense.\nMany driver authors complained about this before, and I believe it\u0027s\nabout time to fix it. Right now, authors have to do technically stupid\nthings, such as individual byte reads or full-fledged I2C messaging,\nto work around the problem. We do not want to encourage that.\n\nI even found that some bus drivers (e.g. i2c-amd8111) already\nimplemented I2C block read the \"right\" way, that is, they didn\u0027t\nfollow the old, broken standard. The fact that it was never noticed\nbefore just shows how little i2c_smbus_read_i2c_block_data() was used,\nwhich isn\u0027t that surprising given how broken its prototype was so far.\n\nThere are some obvious compatiblity considerations:\n* This changes the i2c_smbus_read_i2c_block_data() prototype. Users\n  outside the kernel tree will notice at compilation time, and will\n  have to update their code.\n* User-space has access to i2c_smbus_xfer() directly using i2c-dev, so\n  the changed expectations would affect tools such as i2cdump. In order\n  to preserve binary compatibility, we give I2C_SMBUS_I2C_BLOCK_DATA\n  a new numeric value, and define I2C_SMBUS_I2C_BLOCK_BROKEN with the\n  old numeric value. When i2c-dev receives a transaction with the\n  old value, it can convert it to the new format on the fly.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "d75d53cd571c02990d56e72f615ab11e943772f9",
      "tree": "7a4e8cbece9b18829e5cb830134d717cfce38e18",
      "parents": [
        "d64f73be1b59b9556de0a8fbd4f1a003c6a45a5c"
      ],
      "author": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Jul 12 14:12:28 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Thu Jul 12 14:12:28 2007 +0200"
      },
      "message": "i2c: Fix sparse warning in i2c.h\n\nKill a sparse warning by un-nesting two container_of() calls.\n    \nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    }
  ],
  "next": "d64f73be1b59b9556de0a8fbd4f1a003c6a45a5c"
}
