)]}'
{
  "log": [
    {
      "commit": "913759ac90a727b86da72efcfb70931f497d1cb7",
      "tree": "f95e10f757e93eca8eacbf03985c09994ec4ef46",
      "parents": [
        "b86cc29dc42203588264d917e88134bdd500b0d7"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Oct 03 01:14:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:08 2006 -0700"
      },
      "message": "[PATCH] ide: Fix crash on repeated reset\n\nMichal Miroslaw reported a problem (bugzilla #7023) where a user initiated\nreset while the IDE layer was already resetting the channel caused a crash,\nand provided a rough fix.\n\nThis is a slightly cleaner version of the fix which tracks the reset state\nand blocks further reset requests while a reset is in progress.\n\nNote this is not a security issue - random end users can\u0027t access the\nioctl in question anyway.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Michal Miroslaw \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3f63c5e88a5ce45b423f3712293f1664115b09c0",
      "tree": "b735419f00d8054fe16d8aa905d6e46128999050",
      "parents": [
        "27ac6036f31dea8117ecc525e0dbfd17b23e8c09"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Tue Oct 03 01:14:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:08 2006 -0700"
      },
      "message": "[PATCH] ide: remove dma_base2 field from ide_hwif_t\n\nRemove dma_base2 field from ide_hwif_t as it\u0027s used only in 2 drivers and\nwithout great need.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: John Keller \u003cjpk@sgi.com\u003e\nSigned-off-by: Jeremy Higdon \u003cjeremy@sgi.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cB.Zolnierkiewicz@elka.pw.edu.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "27ac6036f31dea8117ecc525e0dbfd17b23e8c09",
      "tree": "9b9e2dabb6d6d5b7bd270bb01a3384cad01b049e",
      "parents": [
        "349ae23fe7379a42973bcb1c85f7d43ec583c17d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 01:14:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:08 2006 -0700"
      },
      "message": "[PATCH] drivers/ide/: cleanups\n\n- setup-pci.c: remove the unused ide_pci_unregister_driver()\n- ide-dma.c: remove the unused EXPORT_SYMBOL_GPL(ide_in_drive_list)\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cB.Zolnierkiewicz@elka.pw.edu.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83d7dbc4095a0c314b191c573be5fb4fa6ce0897",
      "tree": "0da41cd73f0dfdac778e5e415592da92db85db7a",
      "parents": [
        "ce42f19137225d01be9388a73703df40fb7af80f"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Oct 03 01:14:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:07 2006 -0700"
      },
      "message": "[PATCH] Make number of IDE interfaces configurable\n\nMake IDE_HWIFS configurable if EMBEDDED\n\nThis lets us lop as much as 16k off an x86 build.  It\u0027s a little ugly, but\nit\u0027s dead simple.  Note the fix for HWIFS \u003c 2.\n\nSizing interfaces dynamically unfortunately turns out to be pretty\nmajor surgery.\n\nadd/remove: 0/1 grow/shrink: 0/11 up/down: 0/-16182 (-16182)\nfunction                                     old     new   delta\nide_hwifs                                  16920    1692  -15228\ninit_irq                                    1113     750    -363\nideprobe_init                                283     138    -145\nide_pci_setup_ports                         1329    1193    -136\nsave_match                                    85       -     -85\nide_register_hw_with_fixup                   367     287     -80\nide_setup                                   1364    1308     -56\nis_chipset_set                                40       4     -36\ncreate_proc_ide_interfaces                   225     205     -20\ninit_ide_data                                 84      67     -17\nide_probe_for_cmd640x                       1198    1183     -15\nide_unregister                              1452    1451      -1\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cB.Zolnierkiewicz@elka.pw.edu.pl\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "020e322de3ff75d32daa58e431aad07071da27c6",
      "tree": "127509ae4fe684bd557285e246b835fa6a9d5ecd",
      "parents": [
        "bbb3bbdb0f78cb02451daf5687a99627f7ad1140"
      ],
      "author": {
        "name": "Sergei Shtylylov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Tue Oct 03 01:14:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:07 2006 -0700"
      },
      "message": "[PATCH] IDE: claim extra DMA ports regardless of channel\n\n- Claim extra DMA I/O ports regardless of what IDE channels are\n  present/enabled.\n\n- Remove extra ports handling from ide_mapped_mmio_dma() since it\u0027s not\n  applicable to the custom-mapping IDE drivers.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cB.Zolnierkiewicz@elka.pw.edu.pl\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89c4710ee9bbbefe6a4d469d9f36266a92c275c5",
      "tree": "f84fe28e48bbda210f01f22ae0065f7ed1fcc5e1",
      "parents": [
        "1a84887080dc15f048db7c3a643e98f1435790d6"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Oct 03 01:14:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:06 2006 -0700"
      },
      "message": "[PATCH] sched: cleanup sched_group cpu_power setup\n\nUp to now sched group\u0027s cpu_power for each sched domain is initialized\nindependently.  This made the setup code ugly as the new sched domains are\ngetting added.\n\nMake the sched group cpu_power setup code generic, by using domain child\nfield and new domain flag in sched_domain.  For most of the sched\ndomains(except NUMA), sched group\u0027s cpu_power is now computed generically\nusing the domain properties of itself and of the child domain.\n\nsched groups in NUMA domains are setup little differently and hence they\ndon\u0027t use this generic mechanism.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a84887080dc15f048db7c3a643e98f1435790d6",
      "tree": "7cd335fee247c0b60f8562c82806b49435b5fb9d",
      "parents": [
        "74732646431a1bb7e23e6b564127a8881cfef900"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Oct 03 01:14:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:06 2006 -0700"
      },
      "message": "[PATCH] sched: introduce child field in sched_domain\n\nIntroduce the child field in sched_domain struct and use it in\nsched_balance_self().\n\nWe will also use this field in cleaning up the sched group cpu_power\nsetup(done in a different patch) code.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ffc5089196446c08d9a005cf0dd7cab18d119606",
      "tree": "e15925251553152f6859c354e34afe3adfcd1c64",
      "parents": [
        "339b0c0813a257893fa84be999b9b85a50846dd8"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "vagabon.xyz@gmail.com",
        "time": "Tue Oct 03 01:13:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:03:41 2006 -0700"
      },
      "message": "[PATCH] Create kallsyms_lookup_size_offset()\n\nSome uses of kallsyms_lookup() do not need to find out the name of a symbol\nand its module\u0027s name it belongs.  This is specially true in arch specific\ncode, which needs to unwind the stack to show the back trace during oops\n(mips is an example).  In this specific case, we just need to retreive the\nfunction\u0027s size and the offset of the active intruction inside it.\n\nAdds a new entry \"kallsyms_lookup_size_offset()\" This new entry does\nexactly the same as kallsyms_lookup() but does not require any buffers to\nstore any names.\n\nIt returns 0 if it fails otherwise 1.\n\nSigned-off-by: Franck Bui-Huu \u003cvagabon.xyz@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "afefdbb28a0a2af689926c30b94a14aea6036719",
      "tree": "6ee500575cac928cd90045bcf5b691cf2b8daa09",
      "parents": [
        "1d32849b14bc8792e6f35ab27dd990d74b16126c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 03 01:13:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:03:40 2006 -0700"
      },
      "message": "[PATCH] VFS: Make filldir_t and struct kstat deal in 64-bit inode numbers\n\nThese patches make the kernel pass 64-bit inode numbers internally when\ncommunicating to userspace, even on a 32-bit system.  They are required\nbecause some filesystems have intrinsic 64-bit inode numbers: NFS3+ and XFS\nfor example.  The 64-bit inode numbers are then propagated to userspace\nautomatically where the arch supports it.\n\nProblems have been seen with userspace (eg: ld.so) using the 64-bit inode\nnumber returned by stat64() or getdents64() to differentiate files, and\nfailing because the 64-bit inode number space was compressed to 32-bits, and\nso overlaps occur.\n\nThis patch:\n\nMake filldir_t take a 64-bit inode number and struct kstat carry a 64-bit\ninode number so that 64-bit inode numbers can be passed back to userspace.\n\nThe stat functions then returns the full 64-bit inode number where\navailable and where possible.  If it is not possible to represent the inode\nnumber supplied by the filesystem in the field provided by userspace, then\nerror EOVERFLOW will be issued.\n\nSimilarly, the getdents/readdir functions now pass the full 64-bit inode\nnumber to userspace where possible, returning EOVERFLOW instead when a\ndirectory entry is encountered that can\u0027t be properly represented.\n\nNote that this means that some inodes will not be stat\u0027able on a 32-bit\nsystem with old libraries where they were before - but it does mean that\nthere will be no ambiguity over what a 32-bit inode number refers to.\n\nNote similarly that directory scans may be cut short with an error on a\n32-bit system with old libraries where the scan would work before for the\nsame reasons.\n\nIt is judged unlikely that this situation will occur because modern glibc\nuses 64-bit capable versions of stat and getdents class functions\nexclusively, and that older systems are unlikely to encounter\nunrepresentable inode numbers anyway.\n\n[akpm: alpha build fix]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1d32849b14bc8792e6f35ab27dd990d74b16126c",
      "tree": "caba51ce9df60e42412119063e582023a534507e",
      "parents": [
        "ad7a3bf30c27d902042bc85c3e54eb2082d633bd"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Oct 03 01:13:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:03:40 2006 -0700"
      },
      "message": "[PATCH] pid.h cleanup\n\nMake the pid.h macros look less revolting in an 80-col window.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0235497f7a961db57ef975eb889503809ce82fe5",
      "tree": "db9f912d23d574bfa97c0ce4def19188e1f9b155",
      "parents": [
        "95f3eff6997ae4a6754c1d874ec0a414d97c44d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 14:05:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 14:05:20 2006 -0700"
      },
      "message": "Add prototype for sigset_from_compat()\n\nDuh.  I screwed up editing David Howells patch in commit\n3f2e05e90e0846c42626e3d272454f26be34a1bc, and the actual declaration for\nthe sigset_from_compat() function went missing. My bad.\n\nOlaf Hering saved the day and noticed that I\u0027m a moron.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e04767a4647ea6c61ed05abe803c052ce123960",
      "tree": "431d98caf56d9a14585e4358f184745dafbd6405",
      "parents": [
        "a12f66fccf2e266ad197df142b5ebafc6a169a8c",
        "76a5027c374a638e55de5d8c4485ea0201254870"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 08:22:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 08:22:17 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [MTD] Cleanup of \u0027ioremap balanced with iounmap for drivers/mtd subsystem\u0027\n  [MTD] fix nftl_write warning\n  [MTD] fix printk warning\n  [MTD ONENAND] Check OneNAND lock scheme \u0026 all block unlock command support\n  [MTD ONENAND] Remove unused MTD_ONENAND_SYNC_READ configuration\n  [MTD ONENAND] Fix OneNAND probe\n  [MTD NAND] Provide prototype for newly-exported nand_wait_ready()\n  [MTD] Remove #ifndef __KERNEL__ hack in \u003cmtd/mtd-abi.h\u003e\n  [MTD NAND] Allow override of page read and write functions.\n  [MTD NAND] Allocate chip-\u003ebuffers separately to allow it to be overridden\n  [MTD NAND] Split nand_scan() into two parts; allow board driver to intervene\n  [MTD NAND] Export nand_wait_ready() for use by board drivers\n"
    },
    {
      "commit": "a12f66fccf2e266ad197df142b5ebafc6a169a8c",
      "tree": "9d0bc76f8aa9c42fb44ce5f5bf6b4b09f4efafed",
      "parents": [
        "12dce6263d43daeb4e16fa4eb964c1c99fa4fa2e",
        "bb0885900de49b5822d7e8c91c1adf9a0fcc228b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 08:20:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 08:20:33 2006 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (35 commits)\n  Input: wistron - add support for Acer TravelMate 2424NWXCi\n  Input: wistron - fix setting up special buttons\n  Input: add KEY_BLUETOOTH and KEY_WLAN definitions\n  Input: add new BUS_VIRTUAL bus type\n  Input: add driver for stowaway serial keyboards\n  Input: make input_register_handler() return error codes\n  Input: remove cruft that was needed for transition to sysfs\n  Input: fix input module refcounting\n  Input: constify input core\n  Input: libps2 - rearrange exports\n  Input: atkbd - support Microsoft Natural Elite Pro keyboards\n  Input: i8042 - disable MUX mode on Toshiba Equium A110\n  Input: i8042 - get rid of polling timer\n  Input: send key up events at disconnect\n  Input: constify psmouse driver\n  Input: i8042 - add Amoi to the MUX blacklist\n  Input: logips2pp - add sugnature 56 (Cordless MouseMan Wheel), cleanup\n  Input: add driver for Touchwin serial touchscreens\n  Input: add driver for Touchright serial touchscreens\n  Input: add driver for Penmount serial touchscreens\n  ...\n"
    },
    {
      "commit": "3f2e05e90e0846c42626e3d272454f26be34a1bc",
      "tree": "8a1701fcb7cde32373b6d7ceca09376416bf94eb",
      "parents": [
        "9ec52099e4b8678a60e9f93e41ad87885d64f3e6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Oct 02 14:12:31 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 08:03:31 2006 -0700"
      },
      "message": "[PATCH] BLOCK: Revert patch to hack around undeclared sigset_t in linux/compat.h\n\nRevert Andrew Morton\u0027s patch to temporarily hack around the lack of a\ndeclaration of sigset_t in linux/compat.h to make the block-disablement\npatches build on IA64.  This got accidentally pushed to Linus and should\nbe fixed in a different manner.\n\nAlso make linux/compat.h #include asm/signal.h to gain a definition of\nsigset_t so that it can externally declare sigset_from_compat().\n\nThis has been compile-tested for i386, x86_64, ia64, mips, mips64, frv, ppc and\nppc64 and run-tested on frv.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ec52099e4b8678a60e9f93e41ad87885d64f3e6",
      "tree": "a68fe051b39f8f8e8be469cbd3c2f653b9b71a9d",
      "parents": [
        "1a657f78dcc8ea7c53eaa1f2a45ea2315738c15f"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Mon Oct 02 02:19:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] replace cad_pid by a struct pid\n\nThere are a few places in the kernel where the init task is signaled.  The\nctrl+alt+del sequence is one them.  It kills a task, usually init, using a\ncached pid (cad_pid).\n\nThis patch replaces the pid_t by a struct pid to avoid pid wrap around\nproblem.  The struct pid is initialized at boot time in init() and can be\nmodified through systctl with\n\n\t/proc/sys/kernel/cad_pid\n\n[ I haven\u0027t found any distro using it ? ]\n\nIt also introduces a small helper routine kill_cad_pid() which is used\nwhere it seemed ok to use cad_pid instead of pid 1.\n\n[akpm@osdl.org: cleanups, build fix]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a657f78dcc8ea7c53eaa1f2a45ea2315738c15f",
      "tree": "a19972027792082fed505c8d540f7d877e37c0ab",
      "parents": [
        "1c0d04c9e44f4a248335c33d2be7c7f7b06ff359"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Oct 02 02:18:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:25 2006 -0700"
      },
      "message": "[PATCH] introduce get_task_pid() to fix unsafe get_pid()\n\nproc_pid_make_inode:\n\n\tei-\u003epid \u003d get_pid(task_pid(task));\n\nI think this is not safe.  get_pid() can be preempted after checking \"pid\n!\u003d NULL\".  Then the task exits, does detach_pid(), and RCU frees the pid.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "135ab6ec8fdad6f61aabe53f456821baf4a4aa0e",
      "tree": "22a46321949e6621e95f6c21a3d34e3516d07cc8",
      "parents": [
        "821278a75d270048e291fcbec9304439a176ba88"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 02 02:18:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:23 2006 -0700"
      },
      "message": "[PATCH] remove remaining errno and __KERNEL_SYSCALLS__ references\n\nThe last in-kernel user of errno is gone, so we should remove the definition\nand everything referring to it.  This also removes the now-unused lib/execve.c\nfile that was introduced earlier.\n\nAlso remove every trace of __KERNEL_SYSCALLS__ that still remained in the\nkernel.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3db03b4afb3ecd66a0399b8ba57742ca953b0ecd",
      "tree": "fe0bd5c3663c58583f0181e2673d569c2df664e7",
      "parents": [
        "6760856791c6e527da678021ee6a67896549d4da"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 02 02:18:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:23 2006 -0700"
      },
      "message": "[PATCH] rename the provided execve functions to kernel_execve\n\nSome architectures provide an execve function that does not set errno, but\ninstead returns the result code directly.  Rename these to kernel_execve to\nget the right semantics there.  Moreover, there is no reasone for any of these\narchitectures to still provide __KERNEL_SYSCALLS__ or _syscallN macros, so\nremove these right away.\n\n[akpm@osdl.org: build fix]\n[bunk@stusta.de: build fix]\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "73ea41302bab5e02c9e86ab15c509494a550f1db",
      "tree": "10971a839dd53a9e18d6c866c9be93517fe8de25",
      "parents": [
        "25b21cb2f6d69b0475b134e0a3e8e269137270fa"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@openvz.org",
        "time": "Mon Oct 02 02:18:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:22 2006 -0700"
      },
      "message": "[PATCH] IPC namespace - utils\n\nThis patch adds basic IPC namespace functionality to\nIPC utils:\n- init_ipc_ns\n- copy/clone/unshare/free IPC ns\n- /proc preparations\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "25b21cb2f6d69b0475b134e0a3e8e269137270fa",
      "tree": "cd9c3966408c0ca5903249437c35ff35961de544",
      "parents": [
        "c0b2fc316599d6cd875b6b8cafa67f03b9512b4d"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@openvz.org",
        "time": "Mon Oct 02 02:18:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:22 2006 -0700"
      },
      "message": "[PATCH] IPC namespace core\n\nThis patch set allows to unshare IPCs and have a private set of IPC objects\n(sem, shm, msg) inside namespace.  Basically, it is another building block of\ncontainers functionality.\n\nThis patch implements core IPC namespace changes:\n- ipc_namespace structure\n- new config option CONFIG_IPC_NS\n- adds CLONE_NEWIPC flag\n- unshare support\n\n[clg@fr.ibm.com: small fix for unshare of ipc namespace]\n[akpm@osdl.org: build fix]\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "071df104f808b8195c40643dcb4d060681742e29",
      "tree": "e5c3355e526e0182797d59c7e80062fbc2bb7d77",
      "parents": [
        "bf47fdcda65b44dbd674eeedcaa06e0aa28a5a00"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:22 2006 -0700"
      },
      "message": "[PATCH] namespaces: utsname: implement CLONE_NEWUTS flag\n\nImplement a CLONE_NEWUTS flag, and use it at clone and sys_unshare.\n\n[clg@fr.ibm.com: IPC unshare fix]\n[bunk@stusta.de: cleanup]\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bf47fdcda65b44dbd674eeedcaa06e0aa28a5a00",
      "tree": "3545b51ec24c6c8dba0e1645656f3df5a5fee113",
      "parents": [
        "8218c74c02a7bdb5db2e40a2100534bdeb83475b"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:21 2006 -0700"
      },
      "message": "[PATCH] namespaces: utsname: remove system_utsname\n\nThe system_utsname isn\u0027t needed now that kernel/sysctl.c is fixed.\nNuke it.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4865ecf1315b450ab3317a745a6678c04d311e40",
      "tree": "6cf5d3028f8642eba2a8094eb413db080cc9219c",
      "parents": [
        "96b644bdec977b97a45133e5b4466ba47a7a5e65"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:21 2006 -0700"
      },
      "message": "[PATCH] namespaces: utsname: implement utsname namespaces\n\nThis patch defines the uts namespace and some manipulators.\nAdds the uts namespace to task_struct, and initializes a\nsystem-wide init namespace.\n\nIt leaves a #define for system_utsname so sysctl will compile.\nThis define will be removed in a separate patch.\n\n[akpm@osdl.org: build fix, cleanup]\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9ff3990f08e9a0c2839cc22808b01732ea5b3e4",
      "tree": "c638a7b89f0c5e8adc410316d06ca1de8b8dabee",
      "parents": [
        "0bdd7aab7f0ecd5d337910816aa058c18398628e"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:21 2006 -0700"
      },
      "message": "[PATCH] namespaces: utsname: switch to using uts namespaces\n\nReplace references to system_utsname to the per-process uts namespace\nwhere appropriate.  This includes things like uname.\n\nChanges: Per Eric Biederman\u0027s comments, use the per-process uts namespace\n\tfor ELF_PLATFORM, sunrpc, and parts of net/ipv4/ipconfig.c\n\n[jdike@addtoit.com: UML fix]\n[clg@fr.ibm.com: cleanup]\n[akpm@osdl.org: build fix]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bdd7aab7f0ecd5d337910816aa058c18398628e",
      "tree": "b4f89c36e84fc48e756e0fe1dc052839e42a012f",
      "parents": [
        "fab413a334a7b3dd2688c5cd5d4718476e430ea4"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:21 2006 -0700"
      },
      "message": "[PATCH] namespaces: utsname: introduce temporary helpers\n\nDefine utsname() and init_utsname() which return \u0026system_utsname.  Users of\nsystem_utsname will be changed to use these helpers, after which\nsystem_utsname will disappear.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1651e14e28a2d9f446018ef522882e0709a2ce4f",
      "tree": "401ff78624fdc4b445f3f95174a223acaf6a4ca0",
      "parents": [
        "0437eb594e6e5e699248f865482e61034be846d0"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] namespaces: incorporate fs namespace into nsproxy\n\nThis moves the mount namespace into the nsproxy.  The mount namespace count\nnow refers to the number of nsproxies point to it, rather than the number of\ntasks.  As a result, the unshare_namespace() function in kernel/fork.c no\nlonger checks whether it is being shared.\n\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ab516013ad9ca47f1d3a936fa81303bfbf734d52",
      "tree": "643ea9c4c3d28958cb42dd87b1856f74edd22b11",
      "parents": [
        "b1ba4ddde0cf67991d89f039365eaaeda61aa027"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] namespaces: add nsproxy\n\nThis patch adds a nsproxy structure to the task struct.  Later patches will\nmove the fs namespace pointer into this structure, and introduce a new utsname\nnamespace into the nsproxy.\n\nThe vserver and openvz functionality, then, would be implemented in large part\nby virtualizing/isolating more and more resources into namespaces, each\ncontained in the nsproxy.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "12fd352038c037ba3a7071a2ca8597c55114abc3",
      "tree": "a3d8c7ba34bd340167c160474bab8104d1d78baa",
      "parents": [
        "eed2965af1bae30f746e936d80ad4fabb9e208c8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Oct 02 02:18:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] nfsd: lockdep annotation\n\nwhile doing a kernel make modules_install install over an NFS mount.\n\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\u003d\u003d\n  [ INFO: possible recursive locking detected ]\n  ---------------------------------------------\n  nfsd/9550 is trying to acquire lock:\n   (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034c845\u003e] mutex_lock+0x1c/0x1f\n\n  but task is already holding lock:\n   (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034c845\u003e] mutex_lock+0x1c/0x1f\n\n  other info that might help us debug this:\n  2 locks held by nfsd/9550:\n   #0:  (hash_sem){..--}, at: [\u003ccc895223\u003e] exp_readlock+0xd/0xf [nfsd]\n   #1:  (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034c845\u003e] mutex_lock+0x1c/0x1f\n\n  stack backtrace:\n   [\u003cc0103508\u003e] show_trace_log_lvl+0x58/0x152\n   [\u003cc0103b8b\u003e] show_trace+0xd/0x10\n   [\u003cc0103c2f\u003e] dump_stack+0x19/0x1b\n   [\u003cc012aa57\u003e] __lock_acquire+0x77a/0x9a3\n   [\u003cc012af4a\u003e] lock_acquire+0x60/0x80\n   [\u003cc034c6c2\u003e] __mutex_lock_slowpath+0xa7/0x20e\n   [\u003cc034c845\u003e] mutex_lock+0x1c/0x1f\n   [\u003cc0162edc\u003e] vfs_unlink+0x34/0x8a\n   [\u003ccc891d98\u003e] nfsd_unlink+0x18f/0x1e2 [nfsd]\n   [\u003ccc89884f\u003e] nfsd3_proc_remove+0x95/0xa2 [nfsd]\n   [\u003ccc88f0d4\u003e] nfsd_dispatch+0xc0/0x178 [nfsd]\n   [\u003cc033e84d\u003e] svc_process+0x3a5/0x5ed\n   [\u003ccc88f5ba\u003e] nfsd+0x1a7/0x305 [nfsd]\n   [\u003cc0101005\u003e] kernel_thread_helper+0x5/0xb\n  DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb\n  Leftover inexact backtrace:\n   [\u003cc0103b8b\u003e] show_trace+0xd/0x10\n   [\u003cc0103c2f\u003e] dump_stack+0x19/0x1b\n   [\u003cc012aa57\u003e] __lock_acquire+0x77a/0x9a3\n   [\u003cc012af4a\u003e] lock_acquire+0x60/0x80\n   [\u003cc034c6c2\u003e] __mutex_lock_slowpath+0xa7/0x20e\n   [\u003cc034c845\u003e] mutex_lock+0x1c/0x1f\n   [\u003cc0162edc\u003e] vfs_unlink+0x34/0x8a\n   [\u003ccc891d98\u003e] nfsd_unlink+0x18f/0x1e2 [nfsd]\n   [\u003ccc89884f\u003e] nfsd3_proc_remove+0x95/0xa2 [nfsd]\n   [\u003ccc88f0d4\u003e] nfsd_dispatch+0xc0/0x178 [nfsd]\n   [\u003cc033e84d\u003e] svc_process+0x3a5/0x5ed\n   [\u003ccc88f5ba\u003e] nfsd+0x1a7/0x305 [nfsd]\n   [\u003cc0101005\u003e] kernel_thread_helper+0x5/0xb\n\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\u003d\u003d\n  [ INFO: possible recursive locking detected ]\n  ---------------------------------------------\n  nfsd/9580 is trying to acquire lock:\n   (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034cc1d\u003e] mutex_lock+0x1c/0x1f\n\n  but task is already holding lock:\n   (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034cc1d\u003e] mutex_lock+0x1c/0x1f\n\n  other info that might help us debug this:\n  2 locks held by nfsd/9580:\n   #0:  (hash_sem){..--}, at: [\u003ccc89522b\u003e] exp_readlock+0xd/0xf [nfsd]\n   #1:  (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034cc1d\u003e] mutex_lock+0x1c/0x1f\n\n  stack backtrace:\n   [\u003cc0103508\u003e] show_trace_log_lvl+0x58/0x152\n   [\u003cc0103b8b\u003e] show_trace+0xd/0x10\n   [\u003cc0103c2f\u003e] dump_stack+0x19/0x1b\n   [\u003cc012aa63\u003e] __lock_acquire+0x77a/0x9a3\n   [\u003cc012af56\u003e] lock_acquire+0x60/0x80\n   [\u003cc034ca9a\u003e] __mutex_lock_slowpath+0xa7/0x20e\n   [\u003cc034cc1d\u003e] mutex_lock+0x1c/0x1f\n   [\u003ccc892ad1\u003e] nfsd_setattr+0x2c8/0x499 [nfsd]\n   [\u003ccc893ede\u003e] nfsd_create_v3+0x31b/0x4ac [nfsd]\n   [\u003ccc8984a1\u003e] nfsd3_proc_create+0x128/0x138 [nfsd]\n   [\u003ccc88f0d4\u003e] nfsd_dispatch+0xc0/0x178 [nfsd]\n   [\u003cc033ec1d\u003e] svc_process+0x3a5/0x5ed\n   [\u003ccc88f5ba\u003e] nfsd+0x1a7/0x305 [nfsd]\n   [\u003cc0101005\u003e] kernel_thread_helper+0x5/0xb\n  DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb\n  Leftover inexact backtrace:\n   [\u003cc0103b8b\u003e] show_trace+0xd/0x10\n   [\u003cc0103c2f\u003e] dump_stack+0x19/0x1b\n   [\u003cc012aa63\u003e] __lock_acquire+0x77a/0x9a3\n   [\u003cc012af56\u003e] lock_acquire+0x60/0x80\n   [\u003cc034ca9a\u003e] __mutex_lock_slowpath+0xa7/0x20e\n   [\u003cc034cc1d\u003e] mutex_lock+0x1c/0x1f\n   [\u003ccc892ad1\u003e] nfsd_setattr+0x2c8/0x499 [nfsd]\n   [\u003ccc893ede\u003e] nfsd_create_v3+0x31b/0x4ac [nfsd]\n   [\u003ccc8984a1\u003e] nfsd3_proc_create+0x128/0x138 [nfsd]\n   [\u003ccc88f0d4\u003e] nfsd_dispatch+0xc0/0x178 [nfsd]\n   [\u003cc033ec1d\u003e] svc_process+0x3a5/0x5ed\n   [\u003ccc88f5ba\u003e] nfsd+0x1a7/0x305 [nfsd]\n   [\u003cc0101005\u003e] kernel_thread_helper+0x5/0xb\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfd241600a3b0db4fe43c859f1460d0a958d924a",
      "tree": "7f04604adee7249e686d1db0cac93f1fee8bc5b6",
      "parents": [
        "eec09661dc82e90a31051d045a94026a91aceb82"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:18:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: make rpc threads pools numa aware\n\nActually implement multiple pools.  On NUMA machines, allocate a svc_pool per\nNUMA node; on SMP a svc_pool per CPU; otherwise a single global pool.  Enqueue\nsockets on the svc_pool corresponding to the CPU on which the socket bh is run\n(i.e.  the NIC interrupt CPU).  Threads have their cpu mask set to limit them\nto the CPUs in the svc_pool that owns them.\n\nThis is the patch that allows an Altix to scale NFS traffic linearly\nbeyond 4 CPUs and 4 NICs.\n\nIncorporates changes and feedback from Neil Brown, Trond Myklebust, and\nChristoph Hellwig.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a74554429eada89a7ddb47317e6a2968d03e41a2",
      "tree": "0ebf1550dd1fdafd2900af44ea85d75831172fa3",
      "parents": [
        "9a24ab5749a31aa10ee60d9310ad72f24d7c38ab"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: add svc_set_num_threads\n\nCurrently knfsd keeps its own list of all nfsd threads in nfssvc.c; add a new\nway of managing the list of all threads in a svc_serv.  Add\nsvc_create_pooled() to allow creation of a svc_serv whose threads are managed\nby the sunrpc code.  Add svc_set_num_threads() to manage the number of threads\nin a service, either per-pool or globally across the service.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a24ab5749a31aa10ee60d9310ad72f24d7c38ab",
      "tree": "bae1805492889c3d59017571c062ce4a02e024aa",
      "parents": [
        "3262c816a3d7fb1eaabce633caa317887ed549ae"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: add svc_get\n\nadd svc_get() for those occasions when we need to temporarily bump up\nsvc_serv-\u003esv_nrthreads as a pseudo refcount.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3262c816a3d7fb1eaabce633caa317887ed549ae",
      "tree": "5b635d8b62b9724ab2b1e5563aad37e35b894406",
      "parents": [
        "c081a0c7cfe42adf8e8b9c2b8d0b2ec7f47603e8"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: split svc_serv into pools\n\nSplit out the list of idle threads and pending sockets from svc_serv into a\nnew svc_pool structure, and allocate a fixed number (in this patch, 1) of\npools per svc_serv.  The new structure contains a lock which takes over\nseveral of the duties of svc_serv-\u003esv_lock, which is now relegated to\nprotecting only sv_tempsocks, sv_permsocks, and sv_tmpcnt in svc_serv.\n\nThe point is to move the hottest fields out of svc_serv and into svc_pool,\nallowing a following patch to arrange for a svc_pool per NUMA node or per CPU.\n This is a major step towards making the NFS server NUMA-friendly.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5685f0fa1c24b138d041ef129ed419c5effa40e1",
      "tree": "068c413c32cc7735a590d4ec16efe55894e67b80",
      "parents": [
        "1a68d952af5f43032012d26dd0d5164c9e9986bc"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: convert sk_reserved to atomic_t\n\nConvert the svc_sock-\u003esk_reserved variable from an int protected by\nsvc_serv-\u003esv_lock, to an atomic.  This reduces (by 1) the number of places we\nneed to take the (effectively global) svc_serv-\u003esv_lock.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a68d952af5f43032012d26dd0d5164c9e9986bc",
      "tree": "6c660f3ee27205a4c4f18883b2205f873cf396be",
      "parents": [
        "c45c357d7dbc9e94338f44349e0035149da86b26"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: use new lock for svc_sock deferred list\n\nProtect the svc_sock-\u003esk_deferred list with a new lock svc_sock-\u003esk_defer_lock\ninstead of svc_serv-\u003esv_lock.  Using the more fine-grained lock reduces the\nnumber of places we need to take the svc_serv lock.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c45c357d7dbc9e94338f44349e0035149da86b26",
      "tree": "b04388ccaccd5fb304b4bd8be57258d52e79f886",
      "parents": [
        "36bdfc8bae51339aa27ef8e4ce148185293061ae"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: convert sk_inuse to atomic_t\n\nConvert the svc_sock-\u003esk_inuse counter from an int protected by\nsvc_serv-\u003esv_lock, to an atomic.  This reduces the number of places we need to\ntake the (effectively global) svc_serv-\u003esv_lock.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36bdfc8bae51339aa27ef8e4ce148185293061ae",
      "tree": "deab54ff70d6991c1e5be0d9efe97d10f65375b0",
      "parents": [
        "4a3ae42dc312dbdffee803efaf393421b79f997a"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: move tempsock aging to a timer\n\nFollowing are 11 patches from Greg Banks which combine to make knfsd more\nNuma-aware.  They reduce hitting on \u0027global\u0027 data structures, and create some\ndata-structures that can be node-local.\n\nknfsd threads are bound to a particular node, and the thread to handle a new\nrequest is chosen from the threads that are attach to the node that received\nthe interrupt.\n\nThe distribution of threads across nodes can be controlled by a new file in\nthe \u0027nfsd\u0027 filesystem, though the default approach of an even spread is\nprobably fine for most sites.\n\nSome (old) numbers that show the efficacy of these patches: N \u003d\u003d number of\nNICs \u003d\u003d number of CPUs \u003d\u003d nmber of clients.  Number of NUMA nodes \u003d\u003d N/2\n\nN\tThroughput, MiB/s\tCPU usage, % (max\u003dN*100)\n\tBefore\tAfter\t\tBefore\tAfter\n\t---\t------\t----\t\t-----\t-----\n\t4\t312\t435\t\t350\t228\n\t6\t500\t656\t\t501\t418\n\t8\t562\t804\t\t690\t589\n\nThis patch:\n\nMove the aging of RPC/TCP connection sockets from the main svc_recv() loop to\na timer which uses a mark-and-sweep algorithm every 6 minutes.  This reduces\nthe amount of work that needs to be done in the main RPC loop and the length\nof time we need to hold the (effectively global) svc_serv-\u003esv_lock.\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6fb2b47fa16c81317ec282248e6cff521cca31c2",
      "tree": "226d823e900aba03fb7ee55cab3a9137fd5d9077",
      "parents": [
        "896440d560de3bca6813e83792f431edf5073318"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: Drop \u0027serv\u0027 option to svc_recv and svc_process\n\nIt isn\u0027t needed as it is available in rqstp-\u003erq_server, and dropping it allows\nsome local vars to be dropped.\n\n[akpm@osdl.org: build fix]\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b41b66d63c730cc45a1024e1f1e67439e507e40f",
      "tree": "85f623c087a90ccf08a8264c638df5504f972c0d",
      "parents": [
        "80212d59e32a8a8e030c2ddc5861d8ff70542c56"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: allow sockets to be passed to nfsd via \u0027portlist\u0027\n\nUserspace should create and bind a socket (but not connectted) and write the\n\u0027fd\u0027 to portlist.  This will cause the nfs server to listen on that socket.\n\nTo close a socket, the name of the socket - as read from \u0027portlist\u0027 can be\nwritten to \u0027portlist\u0027 with a preceding \u0027-\u0027.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "80212d59e32a8a8e030c2ddc5861d8ff70542c56",
      "tree": "fb708f92e50ab8a1c13b68d4e6e3db8b50bd07a8",
      "parents": [
        "02a375f0ac4bc2e9b767fabb6b2f9915547226a7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: define new nfsdfs file: portlist - contains list of ports\n\nThis file will list all ports that nfsd has open.\nDefault when TCP enabled will be\n   ipv4 udp 0.0.0.0 2049\n   ipv4 tcp 0.0.0.0 2049\n\nLater, the list of ports will be settable.\n\n\u0027portlist\u0027 chosen rather than \u0027ports\u0027, to avoid unnecessary confusion with\nnon-mainline patches which created \u0027ports\u0027 with different semantics.\n\n[akpm@osdl.org: cleanups, build fix]\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6658d3a7bbfd1768a7b599def47939417f0ee8ef",
      "tree": "fd3ddac035bac92204836de1e11a0078fe54d5b9",
      "parents": [
        "24e36663c375df577d2dcae437713481ffd6850c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: remove nfsd_versbits as intermediate storage for desired versions\n\nWe have an array \u0027nfsd_version\u0027 which lists the available versions of nfsd,\nand \u0027nfsd_versions\u0027 (poor choice there :-() which lists the currently active\nversions.\n\nThen we have a bitmap - nfsd_versbits which says which versions are wanted.\nThe bits in this bitset cause content to be copied from nfsd_version to\nnfsd_versions when nfsd starts.\n\nThis patch removes nfsd_versbits and moves information directly from\nnfsd_version to nfsd_versions when requests for version changes arrive.\n\nNote that this doesn\u0027t make it possible to change versions while the server is\nrunning.  This is because serv-\u003esv_xdrsize is calculated when a service is\ncreated, and used when threads are created, and xdrsize depends on the active\nversions.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "24e36663c375df577d2dcae437713481ffd6850c",
      "tree": "dd738e582b663c433eef3a53eb593a518439a285",
      "parents": [
        "bc591ccff27e6a85d3a0d6fcb16cfadcc45267a8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: be more selective in which sockets lockd listens on\n\nCurrently lockd listens on UDP always, and TCP if CONFIG_NFSD_TCP is set.\n\nHowever as lockd performs services of the client as well, this is a problem.\nIf CONFIG_NfSD_TCP is not set, and a tcp mount is used, the server will not be\nable to call back to lockd.\n\nSo:\n - add an option to lockd_up saying which protocol is needed\n - Always open sockets for which an explicit port was given, otherwise\n   only open a socket of the type required\n - Change nfsd to do one lockd_up per socket rather than one per thread.\n\nThis\n - removes the dependancy on CONFIG_NFSD_TCP\n - means that lockd may open sockets other than at startup\n - means that lockd will *not* listen on UDP if the only\n   mounts are TCP mount (and nfsd hasn\u0027t started).\n\nThe latter is the only one that concerns me at all - I don\u0027t know if this\nmight be a problem with some servers.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bc591ccff27e6a85d3a0d6fcb16cfadcc45267a8",
      "tree": "20692a805b32ce5541f7175192f8ab81975434ec",
      "parents": [
        "40f10522173c34e56cb9bf2fd37c62f69a427f1b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: add a callback for when last rpc thread finishes\n\nnfsd has some cleanup that it wants to do when the last thread exits, and\nthere will shortly be some more.  So collect this all into one place and\ndefine a callback for an rpc service to call when the service is about to be\ndestroyed.\n\n[akpm@osdl.org: cleanups, build fix]\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f532f3861d2c4e5aa7dcd33fb18e9975eb28457",
      "tree": "4b4cf436bbc94a1659fdb25314ff7b17624e80a1",
      "parents": [
        "ca8af486765852302931bb69075871d5564e1e5b"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] cpumask: add highest_possible_node_id\n\ncpumask: add highest_possible_node_id(), analogous to\nhighest_possible_processor_id().\n\n[pj@sgi.com: fix typo]\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99219a3fbc2dcf2eaa954f7b2ac27299fd7894cd",
      "tree": "895abde156c9fbeea9c5a87cfaaa411d4ad175c6",
      "parents": [
        "f2aa85a0ccd90110e76c6375535adc3ae358f971"
      ],
      "author": {
        "name": "bibo,mao",
        "email": "bibo.mao@intel.com",
        "time": "Mon Oct 02 02:17:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:16 2006 -0700"
      },
      "message": "[PATCH] kretprobe spinlock deadlock patch\n\nkprobe_flush_task() possibly calls kfree function during holding\nkretprobe_lock spinlock, if kfree function is probed by kretprobe that will\nincur spinlock deadlock.  This patch moves kfree function out scope of\nkretprobe_lock.\n\nSigned-off-by: bibo, mao \u003cbibo.mao@intel.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a872d89baae821a0f6e2c1055d4b47650661137",
      "tree": "5ac6aa55e04960e02f25ff5079078f975957b1b3",
      "parents": [
        "782237a2418e2561a87c86a4832726931adce737"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Mon Oct 02 02:17:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:16 2006 -0700"
      },
      "message": "[PATCH] Kprobes: Make kprobe modules more portable\n\nIn an effort to make kprobe modules more portable, here is a patch that:\n\no Introduces the \"symbol_name\" field to struct kprobe.\n  The symbol-\u003eaddress resolution now happens in the kernel in an\n  architecture agnostic manner. 64-bit powerpc users no longer have\n  to specify the \".symbols\"\no Introduces the \"offset\" field to struct kprobe to allow a user to\n  specify an offset into a symbol.\no The legacy mechanism of specifying the kprobe.addr is still supported.\n  However, if both the kprobe.addr and kprobe.symbol_name are specified,\n  probe registration fails with an -EINVAL.\no The symbol resolution code uses kallsyms_lookup_name(). So\n  CONFIG_KPROBES now depends on CONFIG_KALLSYMS\no Apparantly kprobe modules were the only legitimate out-of-tree user of\n  the kallsyms_lookup_name() EXPORT. Now that the symbol resolution\n  happens in-kernel, remove the EXPORT as suggested by Christoph Hellwig\no Modify tcp_probe.c that uses the kprobe interface so as to make it\n  work on multiple platforms (in its earlier form, the code wouldn\u0027t\n  work, say, on powerpc)\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2425c08b37244005ff221efe4957d8aaff18609c",
      "tree": "488a298587acb651bd6964c0f9d53c9f48327362",
      "parents": [
        "43fa1adb9334bf4585cd53144eb5911488f85bc7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:15 2006 -0700"
      },
      "message": "[PATCH] usb: fixup usb so it uses struct pid\n\nThe problem with remembering a user space process by its pid is that it is\npossible that the process will exit, pid wrap around will occur.\nConverting to a struct pid avoid that problem, and paves the way for\nimplementing a pid namespace.\n\nAlso since usb is the only user of kill_proc_info_as_uid rename\nkill_proc_info_as_uid to kill_pid_info_as_uid and have the new version take\na struct pid.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3fbc96486459324e182717b03c50c90c880be6ec",
      "tree": "c2b5ccb3f64913daeb040c21652e4b421cc76bca",
      "parents": [
        "aa5a6662f93f52605b6c447ba6f7291e92f515c5"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Mon Oct 02 02:17:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:15 2006 -0700"
      },
      "message": "[PATCH] Define struct pspace\n\nDefine a per-container pid space object.  And create one instance of this\nobject, init_pspace, to define the entire pid space.  Subsequent patches\nwill provide/use interfaces to create/destroy pid spaces.\n\nIts a subset/rework of Eric Biederman\u0027s patch\nhttp://lkml.org/lkml/2006/2/6/285 .\n\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aa5a6662f93f52605b6c447ba6f7291e92f515c5",
      "tree": "233cfe0942063c81a582d8451ddd2a38d40566e9",
      "parents": [
        "d387cae075b0aec479adbdfb71df39f7de8e9adb"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Mon Oct 02 02:17:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:15 2006 -0700"
      },
      "message": "[PATCH] Move pidmap to pspace.h\n\nMove struct pidmap and PIDMAP_ENTRIES to a new file, include/linux/pspace.h\nwhere it will be used in subsequent patches to define pid spaces.\n\nIts a subset of Eric Biederman\u0027s patch http://lkml.org/lkml/2006/2/6/285\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d387cae075b0aec479adbdfb71df39f7de8e9adb",
      "tree": "fe5c9a3b105f3edf4049c16dda4085c5f356fafe",
      "parents": [
        "c88be3eb2e01bbb21c9ccdc3805f0d3546c1898c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Oct 02 02:17:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:15 2006 -0700"
      },
      "message": "[PATCH] pid: simplify pid iterators\n\nI think it is hardly possible to read the current do_each_task_pid().  The\nnew version is much simpler and makes the code smaller.\n\nOnly the do_each_task_pid change is tested, the do_each_pid_task isn\u0027t.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b68e31d0ebbcc909d1941f9f230c9d062a3a13d3",
      "tree": "b32902e5de02081cbb9eca49d7bb0b444e2b4f23",
      "parents": [
        "ed97bd37efd8ff7398d3a7eedf4bcbf245f5dad3"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Oct 02 02:17:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:14 2006 -0700"
      },
      "message": "[PATCH] const struct tty_operations\n\nAs part of an SMP cleanliness pass over UML, I consted a bunch of\nstructures in order to not have to document their locking.  One of these\nstructures was a struct tty_operations.  In order to const it in UML\nwithout introducing compiler complaints, the declaration of\ntty_set_operations needs to be changed, and then all of its callers need to\nbe fixed.\n\nThis patch declares all struct tty_operations in the tree as const.  In all\ncases, they are static and used only as input to tty_set_operations.  As an\nextra check, I ran an i386 allyesconfig build which produced no extra\nwarnings.\n\n53 drivers are affected.  I checked the history of a bunch of them, and in\nmost cases, there have been only a handful of maintenance changes in the\nlast six months.  serial_core.c was the busiest one that I looked at.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "609d7fa9565c754428d2520cac2accc9052e1245",
      "tree": "1c5114ec3720166fe99ce3885e8767929a8a84e0",
      "parents": [
        "bde0d2c98bcfc9acc83ac79c33a6ac1335b95a92"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:14 2006 -0700"
      },
      "message": "[PATCH] file: modify struct fown_struct to use a struct pid\n\nFile handles can be requested to send sigio and sigurg to processes.  By\ntracking the destination processes using struct pid instead of pid_t we make\nthe interface safe from all potential pid wrap around problems.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bde0d2c98bcfc9acc83ac79c33a6ac1335b95a92",
      "tree": "1bacec61e5bd5fadaef630e95e8cc1ae618b94ff",
      "parents": [
        "81af8d67d4fc35b1ee6e0feb1f1b34b3a33eeb44"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:14 2006 -0700"
      },
      "message": "[PATCH] vt: Make vt_pid a struct pid (making it pid wrap around safe).\n\nI took a good hard look at the locking and it appears the locking on vt_pid\nis the console semaphore.  Every modified path is called under the console\nsemaphore except reset_vc when it is called from fn_SAK or do_SAK both of\nwhich appear to be in interrupt context.  In addition I need to be careful\nbecause in the presence of an oops the console_sem may be arbitrarily\ndropped.\n\nWhich leads me to conclude the current locking is inadequate for my needs.\n\nGiven the weird cases we could hit because of oops printing instead of\nintroducing an extra spin lock to protect the data and keep the pid to\nsignal and the signal to send in sync, I have opted to use xchg on just the\nstruct pid * pointer instead.\n\nDue to console_sem we will stay in sync between vt_pid and vt_mode except\nfor a small window during a SAK, or oops handling.  SAK handling should\nkill any user space process that care, and oops handling we are broken\nanyway.  Besides the worst that can happen is that I try to send the wrong\nsignal.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81af8d67d4fc35b1ee6e0feb1f1b34b3a33eeb44",
      "tree": "0217dde7d28427e9b6ac587fd4edb9fb1f8f11b4",
      "parents": [
        "5feb8f5f8403d8874a04aac443692dfe83bd63d2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] vt: rework the console spawning variables\n\nThis is such a rare path it took me a while to figure out how to test\nthis after soring out the locking.\n\nThis patch does several things.\n- The variables used are moved into a structure and declared in vt_kern.h\n- A spinlock is added so we don\u0027t have SMP races updating the values.\n- Instead of raw pid_t value a struct_pid is used to guard against\n  pid wrap around issues, if the daemon to spawn a new console dies.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5feb8f5f8403d8874a04aac443692dfe83bd63d2",
      "tree": "8dc23051350f9a4bd22c3172dc570e96e73f3e50",
      "parents": [
        "bbf73147e2d46611fbdcbc126f887c614c32350b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] pid: implement pid_nr\n\nAs we stop storing pid_t\u0027s and move to storing struct pid *.  We need a way to\nget the pid_t from the struct pid to report to user space what we have stored.\n\nHaving a clean well defined way to do this is especially important as we move\nto multiple pid spaces as may need to report a different value to the caller\ndepending on which pid space the caller is in.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c4b92fc112f7be5cce308128236ff75cc98535c3",
      "tree": "ea4dfac4355c64decbf6aa1ca65af76af43b90fb",
      "parents": [
        "558cb325485aaf655130f140e8ddd25392f6c972"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] pid: implement signal functions that take a struct pid *\n\nCurrently the signal functions all either take a task or a pid_t argument.\nThis patch implements variants that take a struct pid *.  After all of the\nusers have been update it is my intention to remove the variants that take a\npid_t as using pid_t can be more work (an extra hash table lookup) and\ndifficult to get right in the presence of multiple pid namespaces.\n\nThere are two kinds of functions introduced in this patch.  The are the\ngeneral use functions kill_pgrp and kill_pid which take a priv argument that\nis ultimately used to create the appropriate siginfo information, Then there\nare _kill_pgrp_info, kill_pgrp_info, kill_pid_info the internal implementation\nhelpers that take an explicit siginfo.\n\nThe distinction is made because filling out an explcit siginfo is tricky, and\nwill be even more tricky when pid namespaces are introduced.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "558cb325485aaf655130f140e8ddd25392f6c972",
      "tree": "adfea6c0b901cf6591209d29091ff5ac298843c3",
      "parents": [
        "22c935f47c03399c78e64c71b757eb36fa917ff6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] pid: add do_each_pid_task\n\nTo avoid pid rollover confusion the kernel needs to work with struct pid *\ninstead of pid_t.  Currently there is not an iterator that walks through all\nof the tasks of a given pid type starting with a struct pid.  This prevents us\nreplacing some pid_t instances with struct pid.  So this patch adds\ndo_each_pid_task which walks through the set of task for a given pid type\nstarting with a struct pid.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22c935f47c03399c78e64c71b757eb36fa917ff6",
      "tree": "801968ba95a13b13d25b8c7202ee0efdc4e03ad9",
      "parents": [
        "f6c7a1f34e92b0b561024ead9fa70623683025e4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] pid: implement access helpers for a tacks various process groups\n\nIn the last round of cleaning up the pid hash table a more general struct pid\nwas introduced, that can be referenced counted.\n\nWith the more general struct pid most if not all places where we store a pid_t\nwe can now store a struct pid * and remove the need for a hash table lookup,\nand avoid any possible problems with pid roll over.\n\nLooking forward to the pid namespaces struct pid * gives us an absolute form a\npid so we can compare and use them without caring which pid namespace we are\nin.\n\nThis patchset introduces the infrastructure needed to use struct pid instead\nof pid_t, and then it goes on to convert two different kernel users that\ncurrently store a pid_t value.\n\nThere are a lot more places to go but this is enough to get the basic idea.\n\nBefore we can merge a pid namespace patch all of the kernel pid_t users need\nto be examined.  Those that deal with user space processes need to be\nconverted to using a struct pid *.  Those that deal with kernel processes need\nto converted to using the kthread api.  A rare few that only use their current\nprocesses pid values get to be left alone.\n\nThis patch:\n\ntask_session returns the struct pid of a tasks session.\ntask_pgrp    returns the struct pid of a tasks process group.\ntask_tgid    returns the struct pid of a tasks thread group.\ntask_pid     returns the struct pid of a tasks process id.\n\nThese can be used to avoid unnecessary hash table lookups, and to implement\nsafe pid comparisions in the face of a pid namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20cdc894c45d2e4ab0c69e95a56b7c5ed36ae0dd",
      "tree": "889b369ebf1a54a96e8a93c2d8c49921ed2fc4b4",
      "parents": [
        "28a6d67179da6964d1640d379c5e5d4f46dd0042"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:13 2006 -0700"
      },
      "message": "[PATCH] proc: modify proc_pident_lookup to be completely table driven\n\nCurrently proc_pident_lookup gets the names and types from a table and then\nhas a huge switch statement to get the inode and file operations it needs.\nThat is silly and is becoming increasingly hard to maintain so I just put all\nof the information in the table.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0804ef4b0de7121261f77c565b20a11ac694e877",
      "tree": "ff12e3b999dc2ce66d97fce5d76cd7df073c0d5c",
      "parents": [
        "2bc2d61a9638dab670d8361e928d1a5a291173ef"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 02 02:17:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:12 2006 -0700"
      },
      "message": "[PATCH] proc: readdir race fix (take 3)\n\nThe problem: An opendir, readdir, closedir sequence can fail to report\nprocess ids that are continually in use throughout the sequence of system\ncalls.  For this race to trigger the process that proc_pid_readdir stops at\nmust exit before readdir is called again.\n\nThis can cause ps to fail to report processes, and it is in violation of\nposix guarantees and normal application expectations with respect to\nreaddir.\n\nCurrently there is no way to work around this problem in user space short\nof providing a gargantuan buffer to user space so the directory read all\nhappens in on system call.\n\nThis patch implements the normal directory semantics for proc, that\nguarantee that a directory entry that is neither created nor destroyed\nwhile reading the directory entry will be returned.  For directory that are\neither created or destroyed during the readdir you may or may not see them.\n Furthermore you may seek to a directory offset you have previously seen.\n\nThese are the guarantee that ext[23] provides and that posix requires, and\nmore importantly that user space expects.  Plus it is a simple semantic to\nimplement reliable service.  It is just a matter of calling readdir a\nsecond time if you are wondering if something new has show up.\n\nThese better semantics are implemented by scanning through the pids in\nnumerical order and by making the file offset a pid plus a fixed offset.\n\nThe pid scan happens on the pid bitmap, which when you look at it is\nremarkably efficient for a brute force algorithm.  Given that a typical\ncache line is 64 bytes and thus covers space for 64*8 \u003d\u003d 200 pids.  There\nare only 40 cache lines for the entire 32K pid space.  A typical system\nwill have 100 pids or more so this is actually fewer cache lines we have to\nlook at to scan a linked list, and the worst case of having to scan the\nentire pid bitmap is pretty reasonable.\n\nIf we need something more efficient we can go to a more efficient data\nstructure for indexing the pids, but for now what we have should be\nsufficient.\n\nIn addition this takes no additional locks and is actually less code than\nwhat we are doing now.\n\nAlso another very subtle bug in this area has been fixed.  It is possible\nto catch a task in the middle of de_thread where a thread is assuming the\nthread of it\u0027s thread group leader.  This patch carefully handles that case\nso if we hit it we don\u0027t fail to return the pid, that is undergoing the\nde_thread dance.\n\nThanks to KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e for\nproviding the first fix, pointing this out and working on it.\n\n[oleg@tv-sign.ru: fix it]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Jean Delvare \u003cjdelvare@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2bc2d61a9638dab670d8361e928d1a5a291173ef",
      "tree": "f5d4cf9d3bac97f3da0bd5eb03e76797d47070cd",
      "parents": [
        "a58cbd7c249f3079dd62d6391a33b9f43f2bfbef"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Mon Oct 02 02:17:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:12 2006 -0700"
      },
      "message": "[PATCH] list module taint flags in Oops/panic\n\nWhen listing loaded modules during an oops or panic, also list each\nmodule\u0027s Tainted flags if non-zero (P: Proprietary or F: Forced load only).\n\nIf a module is did not taint the kernel, it is just listed like\n\tusbcore\nbut if it did taint the kernel, it is listed like\n\twizmodem(PF)\n\nExample:\n[ 3260.121718] Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP:\n[ 3260.121729]  [\u003cffffffff8804c099\u003e] :dump_test:proc_dump_test+0x99/0xc8\n[ 3260.121742] PGD fe8d067 PUD 264a6067 PMD 0\n[ 3260.121748] Oops: 0002 [1] SMP\n[ 3260.121753] CPU 1\n[ 3260.121756] Modules linked in: dump_test(P) snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device ide_cd generic ohci1394 snd_hda_intel snd_hda_codec snd_pcm snd_timer snd ieee1394 snd_page_alloc piix ide_core arcmsr aic79xx scsi_transport_spi usblp\n[ 3260.121785] Pid: 5556, comm: bash Tainted: P      2.6.18-git10 #1\n\n[Alternatively, I can look into listing tainted flags with \u0027lsmod\u0027,\nbut that won\u0027t help in oopsen/panics so much.]\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "322acc96d4bd3debea11cd0160b18bd5d7ff0d73",
      "tree": "230e9c35e0ce4dac5bd1a49085152624045fb616",
      "parents": [
        "d834c16516d1ebec4766fc58c059bf01311e6045"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Mon Oct 02 02:17:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:12 2006 -0700"
      },
      "message": "[PATCH] LIB: add gen_pool_destroy()\n\nModules using the genpool allocator need to be able to destroy the data\nstructure when unloading.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Dean Nelson \u003cdcn@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a84fc15ae5cafcc366dd85cf8e1ab2040679abc",
      "tree": "5d8dce194c9667fa92e9ec9f545cec867a9a1e0d",
      "parents": [
        "28b79ff9661b22e4c41c0d00d4ab8503e810f13d",
        "82965addad66fce61a92c5f03104ea90b0b87124"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Oct 01 17:55:53 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Oct 01 17:55:53 2006 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nManually resolve conflict in include/mtd/Kbuild\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "5a73fdc5ea836d2edc5e02890b51185fe304d7d3",
      "tree": "ca5c79c348eae9d4297952cb9f7ea188bf18bdaf",
      "parents": [
        "789e6ac0a7cbbb38402293256a295302fd8a1100"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 30 23:29:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:34 2006 -0700"
      },
      "message": "[PATCH] Some config.h removals\n\nDuring tracking down a PAE compile failure, I found that config.h was being\nincluded in a bunch of places in i386 code.  It is no longer necessary, so\ndrop it.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e239ca540594cff00adcce163dc332b27015d8e5",
      "tree": "8dfb5c0be4864d738df5a5282e56d9e57ce8261f",
      "parents": [
        "d6cbd281d189977b38eac7eb2a4678de19b6b483"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Sep 30 23:29:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:33 2006 -0700"
      },
      "message": "[PATCH] Create call_usermodehelper_pipe()\n\nA new member in the ever growing family of call_usermode* functions is\nborn.  The new call_usermodehelper_pipe() function allows to pipe data to\nthe stdin of the called user mode progam and behaves otherwise like the\nnormal call_usermodehelp() (except that it always waits for the child to\nfinish)\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6cbd281d189977b38eac7eb2a4678de19b6b483",
      "tree": "f853d303687275cd4328bfac53780b7c7c2c67ef",
      "parents": [
        "65da4d81f48e092f71feaf04bf2ccd096b5a5171"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Sep 30 23:29:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:33 2006 -0700"
      },
      "message": "[PATCH] Some cleanup in the pipe code\n\nSplit the big and hard to read do_pipe function into smaller pieces.\n\nThis creates new create_write_pipe/free_write_pipe/create_read_pipe\nfunctions.  These functions are made global so that they can be used by\nother parts of the kernel.\n\nThe resulting code is more generic and easier to read and has cleaner error\nhandling and less gotos.\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74588d8ba34ff1bda027cfa737972af01ab00c8b",
      "tree": "5e889e96d29c96e9c54ff72933de0612c61e9835",
      "parents": [
        "bc03613decef0cc4d2f3a24f19fa5a868745715f"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Sat Sep 30 23:29:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:31 2006 -0700"
      },
      "message": "[PATCH] Generic ioremap_page_range: implementation\n\nThis patch adds a generic implementation of ioremap_page_range() in\nlib/ioremap.c based on the i386 implementation. It differs from the\ni386 version in the following ways:\n\n  * The PTE flags are passed as a pgprot_t argument and must be\n    determined up front by the arch-specific code. No additional\n    PTE flags are added.\n  * Uses set_pte_at() instead of set_pte()\n\n[bunk@stusta.de: warning fix]\n]dhowells@redhat.com: nommu build fix]\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \u003clinux-m32r@ml.linux-m32r.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce71ec36840368b877fb63bd14c8e67ab62d08b1",
      "tree": "55ea3caaa339881dfd66d787b3dbbb964825d07a",
      "parents": [
        "17ff785691503f63ec648df82a7fdaece7695561"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: monitor zeroing of i_nlink\n\nSome filesystems, instead of simply decrementing i_nlink, simply zero it\nduring an unlink operation.  We need to catch these in addition to the\ndecrement operations.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8c76e6f45c111c32a4b3e50a2adc9210737b0d8",
      "tree": "25521b59d48c6d8c9aec1af54dbe5008ad4b215b",
      "parents": [
        "9a53c3a783c2fa9b969628e65695c11c3e51e673"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mount prepwork: inc_nlink() helper\n\nThis is mostly included for parity with dec_nlink(), where we will have some\nmore hooks.  This one should stay pretty darn straightforward for now.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a53c3a783c2fa9b969628e65695c11c3e51e673",
      "tree": "5a6115e18ee105246d46e3db3d5b07749d232f5b",
      "parents": [
        "aab520e2f6c80160cabd187a8d0292d1cec8ff68"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: unlink: monitor i_nlink\n\nWhen a filesystem decrements i_nlink to zero, it means that a write must be\nperformed in order to drop the inode from the filesystem.\n\nWe\u0027re shortly going to have keep filesystems from being remounted r/o between\nthe time that this i_nlink decrement and that write occurs.\n\nSo, add a little helper function to do the decrements.  We\u0027ll tie into it in a\nbit to note when i_nlink hits zero.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db5fed26b2e0beed939b773dd5896077a1794d65",
      "tree": "be7630821744aae53b2431383ef0b304a87f1268",
      "parents": [
        "8f0ab5147951267134612570604cf8341901a80c"
      ],
      "author": {
        "name": "Jay Lan",
        "email": "jlan@sgi.com",
        "time": "Sat Sep 30 23:29:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] csa accounting taskstats update\n\nChangeLog:\n   Feedbacks from Andrew Morton:\n   - define TS_COMM_LEN to 32\n   - change acct_stimexpd field of task_struct to be of\n     cputime_t, which is to be used to save the tsk-\u003estime\n     of last timer interrupt update.\n   - a new Documentation/accounting/taskstats-struct.txt\n     to describe fields of taskstats struct.\n\n   Feedback from Balbir Singh:\n   - keep the stime of a task to be zero when both stime\n     and utime are zero as recoreded in task_struct.\n\n   Misc:\n   - convert accumulated RSS/VM from platform dependent\n     pages-ticks to MBytes-usecs in the kernel\n\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Chris Sturtivant \u003ccsturtiv@sgi.com\u003e\nCc: Tony Ernst \u003ctee@sgi.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f0ab5147951267134612570604cf8341901a80c",
      "tree": "d394edb3ab69396128e7971136f05fd71d863ece",
      "parents": [
        "9acc1853519a0473620d424105f9d49ea5b4e62e"
      ],
      "author": {
        "name": "Jay Lan",
        "email": "jlan@engr.sgi.com",
        "time": "Sat Sep 30 23:28:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] csa: convert CONFIG tag for extended accounting routines\n\nThere were a few accounting data/macros that are used in CSA but are #ifdef\u0027ed\ninside CONFIG_BSD_PROCESS_ACCT.  This patch is to change those ifdef\u0027s from\nCONFIG_BSD_PROCESS_ACCT to CONFIG_TASK_XACCT.  A few defines are moved from\nkernel/acct.c and include/linux/acct.h to kernel/tsacct.c and\ninclude/linux/tsacct_kern.h.\n\nSigned-off-by: Jay Lan \u003cjlan@sgi.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Chris Sturtivant \u003ccsturtiv@sgi.com\u003e\nCc: Tony Ernst \u003ctee@sgi.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9acc1853519a0473620d424105f9d49ea5b4e62e",
      "tree": "fd4d03bf82ea604e71f8e805e557023226c2dd42",
      "parents": [
        "f3cef7a99469afc159fec3a61b42dc7ca5b6824f"
      ],
      "author": {
        "name": "Jay Lan",
        "email": "jlan@engr.sgi.com",
        "time": "Sat Sep 30 23:28:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] csa: Extended system accounting over taskstats\n\nAdd extended system accounting handling over taskstats interface.  A\nCONFIG_TASK_XACCT flag is created to enable the extended accounting code.\n\nSigned-off-by: Jay Lan \u003cjlan@sgi.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Chris Sturtivant \u003ccsturtiv@sgi.com\u003e\nCc: Tony Ernst \u003ctee@sgi.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f3cef7a99469afc159fec3a61b42dc7ca5b6824f",
      "tree": "b1805a0d0b4a273b8ce0a245c17570ff18abdc5b",
      "parents": [
        "7d1bdca9b06acb3df07329eaff72d5eaf1543287"
      ],
      "author": {
        "name": "Jay Lan",
        "email": "jlan@engr.sgi.com",
        "time": "Sat Sep 30 23:28:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] csa: basic accounting over taskstats\n\nAdd some basic accounting fields to the taskstats struct, add a new\nkernel/tsacct.c to handle basic accounting data handling upon exit.  A handle\nis added to taskstats.c to invoke the basic accounting data handling.\n\nSigned-off-by: Jay Lan \u003cjlan@sgi.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Chris Sturtivant \u003ccsturtiv@sgi.com\u003e\nCc: Tony Ernst \u003ctee@sgi.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nCc: \"Michal Piotrowski\" \u003cmichal.k.k.piotrowski@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "31608214fe21dc31d8046679054ab033b1fe5cf1",
      "tree": "83c092cdafbff5695e6e65d0478b6d7b4e0a55b0",
      "parents": [
        "eed4e51fb60c3863c134a5e9f6006b29805ead97"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Sat Sep 30 23:28:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] clean up unused kiocb variables\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Suparna Bhattacharya \u003csuparna@in.ibm.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eed4e51fb60c3863c134a5e9f6006b29805ead97",
      "tree": "edb0a80d75c454ad77001f3bd1a87933cbcff53f",
      "parents": [
        "543ade1fc901db4c3dbe9fb27241fb977f1f3eea"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] Add vector AIO support\n\nThis work is initially done by Zach Brown to add support for vectored aio.\nThese are the core changes for AIO to support\nIOCB_CMD_PREADV/IOCB_CMD_PWRITEV.\n\n[akpm@osdl.org: huge build fix]\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nAcked-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543ade1fc901db4c3dbe9fb27241fb977f1f3eea",
      "tree": "cdd1a1f67a718adf71e92fe08e4b3d33bf3dbadc",
      "parents": [
        "ee0b3e671baff681d69fbf0db33b47603c0a8280"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Streamline generic_file_* interfaces and filemap cleanups\n\nThis patch cleans up generic_file_*_read/write() interfaces.  Christoph\nHellwig gave me the idea for this clean ups.\n\nIn a nutshell, all filesystems should set .aio_read/.aio_write methods and use\ndo_sync_read/ do_sync_write() as their .read/.write methods.  This allows us\nto cleanup all variants of generic_file_* routines.\n\nFinal available interfaces:\n\ngeneric_file_aio_read() - read handler\ngeneric_file_aio_write() - write handler\ngeneric_file_aio_write_nolock() - no lock write handler\n\n__generic_file_aio_write_nolock() - internal worker routine\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ee0b3e671baff681d69fbf0db33b47603c0a8280",
      "tree": "3202ff815b2196c6c353bc5b28d7a2800df273ec",
      "parents": [
        "027445c37282bc1ed26add45e573ad2d3e4860a5"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Remove readv/writev methods and use aio_read/aio_write instead\n\nThis patch removes readv() and writev() methods and replaces them with\naio_read()/aio_write() methods.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "027445c37282bc1ed26add45e573ad2d3e4860a5",
      "tree": "93eab101a938ffebaea64703033c8649df4d73f0",
      "parents": [
        "9ea0f9499d15c49df23e7aac4332d830c40e12d0"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Vectorize aio_read/aio_write fileop methods\n\nThis patch vectorizes aio_read() and aio_write() methods to prepare for\ncollapsing all aio \u0026 vectored operations into one interface - which is\naio_read()/aio_write().\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Michael Holzheu \u003cHOLZHEU@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5065227b46235ec0131b383cc2f537069b55c6b6",
      "tree": "12187734ef619626c901b9d2b43ad72286d4d258",
      "parents": [
        "6f01046b35d940079822827498a7dd6d3eec8c6b"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Sat Sep 30 23:28:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] reiserfs: on-demand bitmap loading\n\nThis is the patch the three previous ones have been leading up to.\n\nIt changes the behavior of ReiserFS from loading and caching all the bitmaps\nas special, to treating the bitmaps like any other bit of metadata and just\nletting the system-wide caches figure out what to hang on to.\n\nBuffer heads are allocated on the fly, so there is no need to retain pointers\nto all of them.  The caching of the metadata occurs when the data is read and\nupdated, and is considered invalid and uncached until then.\n\nI needed to remove the vs-4040 check for performing a duplicate operation on a\nparticular bit.  The reason is that while the other sites for working with\nbitmaps are allowed to schedule, is_reusable() is called from do_balance(),\nwhich will panic if a schedule occurs in certain places.\n\nThe benefit of on-demand bitmaps clearly outweighs a sanity check that depends\non a compile-time option that is discouraged.\n\n[akpm@osdl.org: warning fix]\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6f01046b35d940079822827498a7dd6d3eec8c6b",
      "tree": "e65426389691c9d3e7d4f29da73725d15ee8e2f6",
      "parents": [
        "0b3dc17bc0c0997bde9f5d7691ec0cae24258cf7"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Sat Sep 30 23:28:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:27 2006 -0700"
      },
      "message": "[PATCH] reiserfs: reorganize bitmap loading functions\n\nThis patch moves the bitmap loading code from super.c to bitmap.c\n\nThe code is also restructured somewhat.  The only difference between new\nformat bitmaps and old format bitmaps is where they are.  That\u0027s a two liner\nbefore loading the block to use the correct one.  There\u0027s no need for an\nentirely separate code path.\n\nThe load path is generally the same, with the pattern being to throw out a\nbunch of requests and then wait for them, then cache the metadata from the\ncontents.\n\nAgain, like the previous patches, the purpose is to set up for later ones.\n\nUpdate: There was a bug in the previously posted version of this that resulted\nin corruption.  The problem was that bitmap 0 on new format file systems must\nbe treated specially, and wasn\u0027t.  A stupid bug with an easy fix.\n\nThis is hopefully the last fix for the disaster that is the reiserfs bitmap\npatch set.\n\nIf a bitmap block was full, first_zero_hint would end up at zero since it\nwould never be changed from it\u0027s zeroed out value.  This just sets it\nbeyond the end of the bitmap block.  If any bits are freed, it will be\nreset to a valid bit.  When info-\u003efree_count \u003d 0, then we already know it\u0027s\nfull.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e1fabd3ccf02901374bffa434e0af472749a5bd9",
      "tree": "66d618e98020422874a521142ca2da797c9930f3",
      "parents": [
        "8ef386092d7c2891bd7acefb2a87f878f7e9a0d6"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Sat Sep 30 23:28:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:27 2006 -0700"
      },
      "message": "[PATCH] reiserfs: fix is_reusable bitmap check to not traverse the bitmap info array\n\nThere is a check in is_reusable to determine if a particular block is a bitmap\nblock.  It verifies this by going through the array of bitmap block buffer\nheads and comparing the block number to each one.\n\nBitmap blocks are at defined locations on the disk in both old and current\nformats.  Simply checking against the known good values is enough.\n\nThis is a trivial optimization for a non-production codepath, but this is the\nfirst in a series of patches that will ultimately remove the buffer heads from\nthat array.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70bc42f90a3f4721c89dbe865e6c95da8565b41c",
      "tree": "b98b1b19584c4dfcec283715a14a701139ea32d1",
      "parents": [
        "0883d899ef862c1b0f8b2c2d38098470c193a3dd"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Sep 30 23:28:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:27 2006 -0700"
      },
      "message": "[PATCH] kernel/time/ntp.c: possible cleanups\n\nThis patch contains the following possible cleanups:\n- make the following needlessly global function static:\n  - ntp_update_frequency()\n- make the following needlessly global variables static:\n  - time_state\n  - time_offset\n  - time_constant\n  - time_reftime\n- remove the following read-only global variable:\n  - time_precision\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0883d899ef862c1b0f8b2c2d38098470c193a3dd",
      "tree": "414fcb7849c285bed87928b4d5be21304cd6724e",
      "parents": [
        "f19923937321244e7dc334767eb4b67e0e3d5c74"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sat Sep 30 23:28:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:27 2006 -0700"
      },
      "message": "[PATCH] ntp: cleanup defines and comments\n\nRemove a few unused defines and remove obsolete information from comments.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f19923937321244e7dc334767eb4b67e0e3d5c74",
      "tree": "be82956c645bab0cb13e73677116417d4c5ce311",
      "parents": [
        "04b617e71e363e640e88be1e43f53fa6a3afef9f"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sat Sep 30 23:28:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:27 2006 -0700"
      },
      "message": "[PATCH] ntp: convert to the NTP4 reference model\n\nThis converts the kernel ntp model into a model which matches the nanokernel\nreference implementations.  The previous patches already increased the\nresolution and precision of the computations, so that this conversion becomes\nquite simple.\n\n\u003clinux@horizon.com\u003e explains:\n\nThe original NTP kernel interface was defined in units of microseconds.\nThat\u0027s what Linux implements.  As computers have gotten faster and can now\nsplit microseconds easily, a new kernel interface using nanosecond units was\ndefined (\"the nanokernel\", confusing as that name is to OS hackers), and\nthere\u0027s an STA_NANO bit in the adjtimex() status field to tell the application\nwhich units it\u0027s using.\n\nThe current ntpd supports both, but Linux loses some possible timing\nresolution because of quantization effects, and the ntpd hackers would really\nlike to be able to drop the backwards compatibility code.\n\nUlrich Windl has been maintaining a patch set to do the conversion for years,\nbut it\u0027s hard to keep in sync.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "04b617e71e363e640e88be1e43f53fa6a3afef9f",
      "tree": "b59e8e75e4671bc5e10f4fcaace85d4658d4d0f0",
      "parents": [
        "97eebe138caaf78354b1fad233e63bafdcc4fd54"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sat Sep 30 23:28:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:27 2006 -0700"
      },
      "message": "[PATCH] ntp: convert time_freq to nsec value\n\nThis converts time_freq to a scaled nsec value and adds around 6bit of extra\nresolution.  This pushes the time_freq to its 32bit limits so the calculatons\nhave to be done with 64bit.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97eebe138caaf78354b1fad233e63bafdcc4fd54",
      "tree": "15c006598c953b373af1c164ba344ef7105a7251",
      "parents": [
        "8f807f8d2137ba728d22820103131038639b68a9"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sat Sep 30 23:28:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:26 2006 -0700"
      },
      "message": "[PATCH] ntp: remove time_tolerance\n\ntime_tolerance isn\u0027t changed at all in the kernel, so simply remove it, this\nsimplifies the next patch, as it avoids a number of conversions.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f807f8d2137ba728d22820103131038639b68a9",
      "tree": "cea8d4eedbffc17ea9a01808afacb0e02dbbe206",
      "parents": [
        "3d3675cc3d04d7fd4bb11e8c1ea79e5ade4f5e44"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sat Sep 30 23:28:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:26 2006 -0700"
      },
      "message": "[PATCH] ntp: add time_adjust to tick length\n\nThis folds update_ntp_one_tick() into second_overflow() and adds time_adjust\nto the tick length, this makes time_next_adjust unnecessary.  This slightly\nchanges the adjtime() behaviour, instead of applying it to the next tick, it\u0027s\napplied to the next second.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3d3675cc3d04d7fd4bb11e8c1ea79e5ade4f5e44",
      "tree": "7beeef2896cb92e06b0a2ee8fa62b17f1732b72b",
      "parents": [
        "dc6a43e46f1b6de22701f97bec022e97088cfa90"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sat Sep 30 23:28:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:26 2006 -0700"
      },
      "message": "[PATCH] ntp: prescale time_offset\n\nThis converts time_offset into a scaled per tick value.  This avoids now\ncompletely the crude compensation in second_overflow().\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0ee75561beadc4db4d9a899c8ef4a7db50aa0ab",
      "tree": "e50354c74ce17f6ea78dc1d7fac608788de517f3",
      "parents": [
        "4c7ee8de956fc250fe31e2fa91f6da980fabe317"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sat Sep 30 23:28:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:26 2006 -0700"
      },
      "message": "[PATCH] ntp: add ntp_update_frequency\n\nThis introduces ntp_update_frequency() and deinlines ntp_clear() (as it\u0027s not\nperformance critical).  ntp_update_frequency() calculates the base tick length\nusing tick_usec and adds a base adjustment, in case the frequency doesn\u0027t\ndivide evenly by HZ.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c7ee8de956fc250fe31e2fa91f6da980fabe317",
      "tree": "e2d7c207a7ca9f785c256513686f6d7f7234ef93",
      "parents": [
        "c902e0a0102f1095eec4b3511c13c84ca2bc4577"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Sat Sep 30 23:28:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:26 2006 -0700"
      },
      "message": "[PATCH] NTP: Move all the NTP related code to ntp.c\n\nMove all the NTP related code to ntp.c\n\n[akpm@osdl.org: cleanups, build fix]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c902e0a0102f1095eec4b3511c13c84ca2bc4577",
      "tree": "d0b276420263d02436a2f10d323407615f48b94f",
      "parents": [
        "df3fe8defedc52745526914e12eb4ba0b8a9f6ca"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Sat Sep 30 23:28:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:26 2006 -0700"
      },
      "message": "[PATCH] Pass sparse the lock expression given to lock annotations\n\nThe lock annotation macros __acquires, __releases, __acquire, and __release\nall currently throw away the lock expression passed as an argument.  Now\nthat sparse can parse __context__ and __attribute__((context)) with a\ncontext expression, pass the lock expression down to sparse as the context\nexpression.  This requires a version of sparse from GIT commit\n37475a6c1c3e66219e68d912d5eb833f4098fd72 or later.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff8371ac9a5a55c956991fed8e5f58640c7a32f3",
      "tree": "893271623ab3f66ec54e2c27ef93598975f4efbc",
      "parents": [
        "db621f174d2c017d960089ea8cbc91c0763f1069"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sat Sep 30 23:28:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:25 2006 -0700"
      },
      "message": "[PATCH] constify rtc_class_ops: update drivers\n\nUpdate RTC framework so that drivers can constify their method tables, moving\nthem from \".data\" to \".rodata\".  Then update the drivers.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a2711116073db258224afd2cc0f478bdf305575",
      "tree": "83117f5b2846833102918329e3c17607ddd08d9e",
      "parents": [
        "9ba0bdfd040b2893bcddfec7165b545d22fc2dc7"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Sat Sep 30 23:28:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:24 2006 -0700"
      },
      "message": "[PATCH] Remove BUG_ON(unlikely) in include/linux/aio.h\n\nBUG_ON() does this unlikely check itself, as bugs in Linux are unlikely\nanyway :)\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nAcked-by: Zach Brown \u003czach.brown@oracle.com\u003e\nAcked-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c69c31270c35a6b8421a8e4ba81de1247ac6df95",
      "tree": "5f46902faa683f32a69adbe53c8ec3ca4ed19466",
      "parents": [
        "54f67f631dfc25ca7a8b19200e34013abc974337"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "minyard@acm.org",
        "time": "Sat Sep 30 23:27:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:23 2006 -0700"
      },
      "message": "[PATCH] IPMI: per-channel command registration\n\nThis patch adds the ability to register for a command per-channel in the\nIPMI driver.\n\nIf your BMC supports multiple channels, incoming messages can be useful to\nhave the ability to register to receive commands on a specific channel\ninstead the current behaviour of all channels.\n\nSigned-off-by: David Barksdale \u003camatus@ocgnet.org\u003e\nSigned-off-by: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "54f67f631dfc25ca7a8b19200e34013abc974337",
      "tree": "96c481c2723e1f5f626110c9a7f1c4a07b9ee056",
      "parents": [
        "89bbc03c01f68e627a2b120963f136e2815f0d84"
      ],
      "author": {
        "name": "Petr Vandrovec",
        "email": "petr@vandrovec.name",
        "time": "Sat Sep 30 23:27:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:23 2006 -0700"
      },
      "message": "[PATCH] Move ncpfs 32bit compat ioctl to ncpfs\n\nThe ncp specific compat ioctls are clearly local to one file system, so the\ncode can better live there.\n\nThis version of the patch moves everything into the generic ioctl handler\nand uses it for both 32 and 64 bit calls.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Petr Vandrovec \u003cpetr@vandrovec.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89bbc03c01f68e627a2b120963f136e2815f0d84",
      "tree": "e2f02e3eb615f36ca4d5e7ebb9d77889f7957bb2",
      "parents": [
        "643f720cea989d2913fc0120a2384fecc1be1f9a"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@enix.org",
        "time": "Sat Sep 30 23:27:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:23 2006 -0700"
      },
      "message": "[PATCH] Prevent multiple inclusion of linux/sysrq.h\n\nPrevent multiple inclusions of include/linux/sysrq.h using traditional\n#ifndef..#endif.\n\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@enix.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cb10dc9ac7eea2c891df6b79b9ef1fbe59cb5429",
      "tree": "68afaa1be814d2845c1f516920a48cc59270fa0c",
      "parents": [
        "3c1fcfe229e99752c74efb945a4a3f560be04204"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Sat Sep 30 23:27:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:22 2006 -0700"
      },
      "message": "[PATCH] synclink_gt: add bisync and monosync modes\n\nAdd bisync and monosync serial protocol support to the synclink_gt driver.\n\nSigned-off-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "82b0547cfae1fb2ee26cad588f6d49a347d24740",
      "tree": "67575452152d0e51a573f66053c29c2028f3701e",
      "parents": [
        "52978be636374c4bfb61220b37fa12f55a071c46"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Sep 30 23:27:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:19 2006 -0700"
      },
      "message": "[PATCH] Create fs/utimes.c\n\n* fs/open.c is getting bit crowdy\n* preparation to lutimes(2)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a2f67b459bb7846d4a15924face63eb2683acc2",
      "tree": "4c010d4c4220c9523342fb0daac90a433f36b53e",
      "parents": [
        "9442e691e4aec85eba43ac60a3e77c77fd2e73a4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Sep 30 23:27:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:19 2006 -0700"
      },
      "message": "[PATCH] kmemdup: introduce\n\nOne of idiomatic ways to duplicate a region of memory is\n\n\tdst \u003d kmalloc(len, GFP_KERNEL);\n\tif (!dst)\n\t\treturn -ENOMEM;\n\tmemcpy(dst, src, len);\n\nwhich is neat code except a programmer needs to write size twice.  Which\nsometimes leads to mistakes.  If len passed to kmalloc is smaller that len\npassed to memcpy, it\u0027s straight overwrite-beyond-end.  If len passed to\nmemcpy is smaller than len passed to kmalloc, it\u0027s either a) legit\nbehaviour ;-), or b) cloned buffer will contain garbage in second half.\n\nSlight trolling of commit lists shows several duplications bugs\ndone exactly because of diverged lenghts:\n\n\tLinux:\n\t\t[CRYPTO]: Fix memcpy/memset args.\n\t\t[PATCH] memcpy/memset fixes\n\tOpenBSD:\n\t\tkerberosV/src/lib/asn1: der_copy.c:1.4\n\nIf programmer is given only one place to play with lengths, I believe, such\nmistakes could be avoided.\n\nWith kmemdup, the snippet above will be rewritten as:\n\n\tdst \u003d kmemdup(src, len, GFP_KERNEL);\n\tif (!dst)\n\t\treturn -ENOMEM;\n\nThis also leads to smaller code (kzalloc effect). Quick grep shows\n200+ places where kmemdup() can be used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c87579e65ee4f419b2369407f82326d38b5d2d8",
      "tree": "3e015ba93eb6eefb7ed4318daf95be0771d596a8",
      "parents": [
        "130c6b98984a058068ea595c465fba2beb48b9ef"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Sep 30 23:27:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:19 2006 -0700"
      },
      "message": "[PATCH] maximum latency tracking infrastructure\n\nAdd infrastructure to track \"maximum allowable latency\" for power saving\npolicies.\n\nThe reason for adding this infrastructure is that power management in the\nidle loop needs to make a tradeoff between latency and power savings\n(deeper power save modes have a longer latency to running code again).  The\ncode that today makes this tradeoff just does a rather simple algorithm;\nhowever this is not good enough: There are devices and use cases where a\nlower latency is required than that the higher power saving states provide.\n An example would be audio playback, but another example is the ipw2100\nwireless driver that right now has a very direct and ugly acpi hook to\ndisable some higher power states randomly when it gets certain types of\nerror.\n\nThe proposed solution is to have an interface where drivers can\n\n* announce the maximum latency (in microseconds) that they can deal with\n* modify this latency\n* give up their constraint\n\nand a function where the code that decides on power saving strategy can\nquery the current global desired maximum.\n\nThis patch has a user of each side: on the consumer side, ACPI is patched\nto use this, on the producer side the ipw2100 driver is patched.\n\nA generic maximum latency is also registered of 2 timer ticks (more and you\nlose accurate time tracking after all).\n\nWhile the existing users of the patch are x86 specific, the infrastructure\nis not.  I\u0027d like to ask the arch maintainers of other architectures if the\ninfrastructure is generic enough for their use (assuming the architecture\nhas such a tradeoff as concept at all), and the sound/multimedia driver\nowners to look at the driver facing API to see if this is something they\ncan use.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jesse Barnes \u003cjesse.barnes@intel.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "6e21828743247270d09a86756a0c11702500dbfb"
}
