)]}'
{
  "log": [
    {
      "commit": "2031d0f586839bc68f35bcf8580b18947f8491d4",
      "tree": "e317615b4cb62350edeea0afe0a4fc94152cee29",
      "parents": [
        "98e7f29418a4931f97e6b78d1ef3a47103fe6cd5",
        "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:16:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:16:53 2005 -0700"
      },
      "message": "Merge Christoph\u0027s freeze cleanup patch\n"
    },
    {
      "commit": "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73",
      "tree": "d1e7c1e2e8902072042aefc3a7976b271cf76021",
      "parents": [
        "b3e112bcc19abd8e9657dca34a87316786e096f3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Fri Jun 24 23:13:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:10:13 2005 -0700"
      },
      "message": "[PATCH] Cleanup patch for process freezing\n\n1. Establish a simple API for process freezing defined in linux/include/sched.h:\n\n   frozen(process)\t\tCheck for frozen process\n   freezing(process)\t\tCheck if a process is being frozen\n   freeze(process)\t\tTell a process to freeze (go to refrigerator)\n   thaw_process(process)\tRestart process\n   frozen_process(process)\tProcess is frozen now\n\n2. Remove all references to PF_FREEZE and PF_FROZEN from all\n   kernel sources except sched.h\n\n3. Fix numerous locations where try_to_freeze is manually done by a driver\n\n4. Remove the argument that is no longer necessary from two function calls.\n\n5. Some whitespace cleanup\n\n6. Clear potential race in refrigerator (provides an open window of PF_FREEZE\n   cleared before setting PF_FROZEN, recalc_sigpending does not check\n   PF_FROZEN).\n\nThis patch does not address the problem of freeze_processes() violating the rule\nthat a task may only modify its own flags by setting PF_FREEZE. This is not clean\nin an SMP environment. freeze(process) is therefore not SMP safe!\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93d17d3d84b7147e8f07aeeb15ec01aa92c6b564",
      "tree": "5a6448e7d30d4d6443f5ab298f2e8faae788df30",
      "parents": [
        "e8e1c7292ee9b64c35b3f6d7f905ca5e854aea95"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jun 25 14:59:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:25:05 2005 -0700"
      },
      "message": "[PATCH] drivers/block/ll_rw_blk.c: cleanups\n\nThis patch contains the following cleanups:\n- make needlessly global code static\n- remove the following unused global functions:\n  - blkdev_scsi_issue_flush_fn\n  - __blk_attempt_remerge\n- remove the following unused EXPORT_SYMBOL\u0027s:\n  - blk_phys_contig_segment\n  - blk_hw_contig_segment\n  - blkdev_scsi_issue_flush_fn\n  - __blk_attempt_remerge\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "681ea4b930768444e9d88651c1362b0bf6d2a42b",
      "tree": "1632e09007a24916cc497d85dad3b2158cfdcb1b",
      "parents": [
        "3b01b47cf95682d02676efa5d0b48e759db405b3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jun 25 14:59:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:25:03 2005 -0700"
      },
      "message": "[PATCH] drivers/char/nvram.c: possible cleanups\n\nThis patch contains the following possible cleanups:\n- make the needlessly global function __nvram_set_checksum static\n- #if 0 the unused global function nvram_set_checksum\n- remove the EXPORT_SYMBOL\u0027s for both functions\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c0e33c133021ee241e9d51255b9fb18eb34ef0e",
      "tree": "30ddff7f7cf375c36d11d49352365a42b25e1def",
      "parents": [
        "f45494480f31342125870c1a184999d7c5a59471"
      ],
      "author": {
        "name": "Nick Wilson",
        "email": "njw@osdl.org",
        "time": "Sat Jun 25 14:59:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:25:02 2005 -0700"
      },
      "message": "[PATCH] Use ALIGN to remove duplicate code\n\nThis patch makes use of ALIGN() to remove duplicate round-up code.\n\nSigned-off-by: Nick Wilson \u003cnjw@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72414d3f1d22fc3e311b162fca95c430048d38ce",
      "tree": "46850947c1602357dd3c51d8d6ebaa5805507f9f",
      "parents": [
        "4f339ecb30c759f94a29992d4635d9194132b6cf"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Sat Jun 25 14:58:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:55 2005 -0700"
      },
      "message": "[PATCH] kexec code cleanup\n\no Following patch provides purely cosmetic changes and corrects CodingStyle\n  guide lines related certain issues like below in kexec related files\n\n  o braces for one line \"if\" statements, \"for\" loops,\n  o more than 80 column wide lines,\n  o No space after \"while\", \"for\" and \"switch\" key words\n\no Changes:\n  o take-2: Removed the extra tab before \"case\" key words.\n  o take-3: Put operator at the end of line and space before \"*/\"\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e274d144302068a00794ec22e73520c0615cb6f",
      "tree": "f7ea59ea47d3c5676fbac8d39e8deaa1f94146ae",
      "parents": [
        "86b1ae38c0a62409dc862a28e3f08920f55f944b"
      ],
      "author": {
        "name": "Alexander Nyberg",
        "email": "alexn@telia.com",
        "time": "Sat Jun 25 14:58:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:54 2005 -0700"
      },
      "message": "[PATCH] kdump: Use real pt_regs from exception\n\nMakes kexec_crashdump() take a pt_regs * as an argument.  This allows to\nget exact register state at the point of the crash.  If we come from direct\npanic assertion NULL will be passed and the current registers saved before\ncrashdump.\n\nThis hooks into two places:\ndie(): check the conditions under which we will panic when calling\ndo_exit and go there directly with the pt_regs that caused the fatal\nfault.\n\ndie_nmi(): If we receive an NMI lockup while in the kernel use the\npt_regs and go directly to crash_kexec(). We\u0027re probably nested up badly\nat this point so this might be the only chance to escape with proper\ninformation.\n\nSigned-off-by: Alexander Nyberg \u003calexn@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "666bfddbe8b8fd4fd44617d6c55193d5ac7edb29",
      "tree": "74b03732131c51dbfd79a06f97d5ccec8894f9f3",
      "parents": [
        "2030eae52b416a9a9f0ffda74c982b7f1e19496d"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:53 2005 -0700"
      },
      "message": "[PATCH] kdump: Access dump file in elf format (/proc/vmcore)\n\nFrom: \"Vivek Goyal\" \u003cvgoyal@in.ibm.com\u003e\n\no Support for /proc/vmcore interface. This interface exports elf core image\n  either in ELF32 or ELF64 format, depending on the format in which elf headers\n  have been stored by crashed kernel.\no Added support for CONFIG_VMCORE config option.\no Removed the dependency on /proc/kcore.\n\nFrom: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n\nThis patch has been refactored to more closely match the prevailing style in\nthe affected files.  And to clearly indicate the dependency between\n/proc/kcore and proc/vmcore.c\n\nFrom: Hariprasad Nellitheertha \u003chari@in.ibm.com\u003e\n\nThis patch contains the code that provides an ELF format interface to the\nprevious kernel\u0027s memory post kexec reboot.\n\nSigned off by Hariprasad Nellitheertha \u003chari@in.ibm.com\u003e\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2030eae52b416a9a9f0ffda74c982b7f1e19496d",
      "tree": "3715724cb19e9165873635fcdf7e9e30d86f7710",
      "parents": [
        "60e64d46a58236e3c718074372cab6a5b56a3b15"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:53 2005 -0700"
      },
      "message": "[PATCH] Retrieve elfcorehdr address from command line\n\nThis patch adds support for retrieving the address of elf core header if one\nis passed in command line.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "60e64d46a58236e3c718074372cab6a5b56a3b15",
      "tree": "194e5fa7a53a1ac4a106b1527ec69cf3c2179bb0",
      "parents": [
        "5f016456c96868c27df248a54d1cc919e7b70a23"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:53 2005 -0700"
      },
      "message": "[PATCH] kdump: Routines for copying dump pages\n\nThis patch provides the interfaces necessary to read the dump contents,\ntreating it as a high memory device.\n\nSigned off by Hariprasad Nellitheertha \u003chari@in.ibm.com\u003e\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92aa63a5a1bf2e7b0c79e6716d24b76dbbdcf951",
      "tree": "1f4d49c8e9bf02e834e6af8c1f7d4484d9f76c6e",
      "parents": [
        "d58831e4163699de204dea199be2e903bf5d6eff"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:52 2005 -0700"
      },
      "message": "[PATCH] kdump: Retrieve saved max pfn\n\nThis patch retrieves the max_pfn being used by previous kernel and stores it\nin a safe location (saved_max_pfn) before it is overwritten due to user\ndefined memory map.  This pfn is used to make sure that user does not try to\nread the physical memory beyond saved_max_pfn.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cf13f0eaffa31bf6a145c53c589654b11c72ddc7",
      "tree": "55c11d753422398b060ea9571698285b5fdc603b",
      "parents": [
        "fce0d5740322b98b863f9e609f5a9bd4c06703af"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sat Jun 25 14:58:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:51 2005 -0700"
      },
      "message": "[PATCH] kexec: s390 support\n\nAdd kexec support for s390 architecture.\n\nFrom: Milton Miller \u003cmiltonm@bga.com\u003e\n\n- Fix passing of first argument to relocate_kernel assembly.\n- Fix Kconfig description.\n- Remove wrong comment and comments that describe obvious things.\n- Allow only KEXEC_TYPE_DEFAULT as image type -\u003e dump not supported.\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dc009d92435f99498cbc579ce76bf28e837e2c14",
      "tree": "2ba8732b28225593d996b8faa079dc6ab4bbc9bc",
      "parents": [
        "d0537508a9921efced238b20967e50e519ac34af"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jun 25 14:57:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:48 2005 -0700"
      },
      "message": "[PATCH] kexec: add kexec syscalls\n\nThis patch introduces the architecture independent implementation the\nsys_kexec_load, the compat_sys_kexec_load system calls.\n\nKexec on panic support has been integrated into the core patch and is\nrelatively clean.\n\nIn addition the hopefully architecture independent option\ncrashkernel\u003dsize@location has been docuemented.  It\u0027s purpose is to reserve\nspace for the panic kernel to live, and where no DMA transfer will ever be\nsetup to access.\n\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Alexander Nyberg \u003calexn@telia.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8cbd99bd3a023db8d6356d19a5f6f539d367327",
      "tree": "f7472cc26a2a1dad631c35a4eb6d0c10cf8cd66e",
      "parents": [
        "f704f56af95bec3c1ca719d64d0becef74d40899"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 25 14:57:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:45 2005 -0700"
      },
      "message": "[PATCH] sched: voluntary kernel preemption\n\nThis patch adds a new preemption model: \u0027Voluntary Kernel Preemption\u0027.  The\n3 models can be selected from a new menu:\n\n            (X) No Forced Preemption (Server)\n            ( ) Voluntary Kernel Preemption (Desktop)\n            ( ) Preemptible Kernel (Low-Latency Desktop)\n\nwe still default to the stock (Server) preemption model.\n\nVoluntary preemption works by adding a cond_resched()\n(reschedule-if-needed) call to every might_sleep() check.  It is lighter\nthan CONFIG_PREEMPT - at the cost of not having as tight latencies.  It\nrepresents a different latency/complexity/overhead tradeoff.\n\nIt has no runtime impact at all if disabled.  Here are size stats that show\nhow the various preemption models impact the kernel\u0027s size:\n\n    text    data     bss     dec     hex filename\n 3618774  547184  179896 4345854  424ffe vmlinux.stock\n 3626406  547184  179896 4353486  426dce vmlinux.voluntary   +0.2%\n 3748414  548640  179896 4476950  445016 vmlinux.preempt     +3.5%\n\nvoluntary-preempt is +0.2% of .text, preempt is +3.5%.\n\nThis feature has been tested for many months by lots of people (and it\u0027s\nalso included in the RHEL4 distribution and earlier variants were in Fedora\nas well), and it\u0027s intended for users and distributions who dont want to\nuse full-blown CONFIG_PREEMPT for one reason or another.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a20ff27ef75d866730ee796acd811a925af762f",
      "tree": "a9e6acd72db03cfec5fdaee8cfab231032216581",
      "parents": [
        "37e4ab3f0cba13adf3535d373fd98e5ee47b5410"
      ],
      "author": {
        "name": "Dinakar Guniguntala",
        "email": "dino@in.ibm.com",
        "time": "Sat Jun 25 14:57:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:45 2005 -0700"
      },
      "message": "[PATCH] Dynamic sched domains: sched changes\n\nThe following patches add dynamic sched domains functionality that was\nextensively discussed on lkml and lse-tech.  I would like to see this added to\n-mm\n\no The main advantage with this feature is that it ensures that the scheduler\n  load balacing code only balances against the cpus that are in the sched\n  domain as defined by an exclusive cpuset and not all of the cpus in the\n  system. This removes any overhead due to load balancing code trying to\n  pull tasks outside of the cpu exclusive cpuset only to be prevented by\n  the tasks\u0027 cpus_allowed mask.\no cpu exclusive cpusets are useful for servers running orthogonal\n  workloads such as RT applications requiring low latency and HPC\n  applications that are throughput sensitive\n\no It provides a new API partition_sched_domains in sched.c\n  that makes dynamic sched domains possible.\no cpu_exclusive cpusets sets are now associated with a sched domain.\n  Which means that the users can dynamically modify the sched domains\n  through the cpuset file system interface\no ia64 sched domain code has been updated to support this feature as well\no Currently, this does not support hotplug. (However some of my tests\n  indicate hotplug+preempt is currently broken)\no I have tested it extensively on x86.\no This should have very minimal impact on performance as none of\n  the fast paths are affected\n\nSigned-off-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "476d139c218e44e045e4bc6d4cc02b010b343939",
      "tree": "82a6537b829b2b35156fba5a312f4e44273a4356",
      "parents": [
        "674311d5b411e9042df4fdf7aef0b3c8217b6240"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:44 2005 -0700"
      },
      "message": "[PATCH] sched: consolidate sbe sbf\n\nConsolidate balance-on-exec with balance-on-fork.  This is made easy by the\nsched-domains RCU patches.\n\nAs well as the general goodness of code reduction, this allows the runqueues\nto be unlocked during balance-on-fork.\n\nschedstats is a problem.  Maybe just have balance-on-event instead of\ndistinguishing fork and exec?\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4866cde064afbb6c2a488c265e696879de616daa",
      "tree": "6effad1ab6271129fc607b98273086409876563a",
      "parents": [
        "48c08d3f8ff94fa118187e4d8d4a5707bb85e59d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:43 2005 -0700"
      },
      "message": "[PATCH] sched: cleanup context switch locking\n\nInstead of requiring architecture code to interact with the scheduler\u0027s\nlocking implementation, provide a couple of defines that can be used by the\narchitecture to request runqueue unlocked context switches, and ask for\ninterrupts to be enabled over the context switch.\n\nAlso replaces the \"switch_lock\" used by these architectures with an oncpu\nflag (note, not a potentially slow bitflag).  This eliminates one bus\nlocked memory operation when context switching, and simplifies the\ntask_running function.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "687f1661d302bc70ce906594a6d3f615ef075a50",
      "tree": "2895a027851322c2badcd40acf6b871698f2962b",
      "parents": [
        "68767a0ae428801649d510d9a65bb71feed44dd1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:42 2005 -0700"
      },
      "message": "[PATCH] sched: sched tuning\n\nDo some basic initial tuning.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68767a0ae428801649d510d9a65bb71feed44dd1",
      "tree": "678e2daa5726acf46ffd00a337d931e08ab928f9",
      "parents": [
        "147cbb4bbe991452698f0772d8292f22825710ba"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:42 2005 -0700"
      },
      "message": "[PATCH] sched: schedstats update for balance on fork\n\nAdd SCHEDSTAT statistics for sched-balance-fork.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "147cbb4bbe991452698f0772d8292f22825710ba",
      "tree": "cb86550d7e440e7dfbe22b0af6d2cfc991cb76cf",
      "parents": [
        "cafb20c1f9976a70d633bb1e1c8c24eab00e4e80"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:42 2005 -0700"
      },
      "message": "[PATCH] sched: balance on fork\n\nReimplement the balance on exec balancing to be sched-domains aware.  Use this\nto also do balance on fork balancing.  Make x86_64 do balance on fork over the\nNUMA domain.\n\nThe problem that the non sched domains aware blancing became apparent on dual\ncore, multi socket opterons.  What we want is for the new tasks to be sent to\na different socket, but more often than not, we would first load up our\nsibling core, or fill two cores of a single remote socket before selecting a\nnew one.\n\nThis gives large improvements to STREAM on such systems.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cafb20c1f9976a70d633bb1e1c8c24eab00e4e80",
      "tree": "7ff8e6060990889992d51d542abde31cf0d7a1ef",
      "parents": [
        "a3f21bce1fefdf92a4d1705e888d390b10f3ac6f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:42 2005 -0700"
      },
      "message": "[PATCH] sched: no aggressive idle balancing\n\nRemove the very aggressive idle stuff that has recently gone into 2.6 - it is\ngoing against the direction we are trying to go.  Hopefully we can regain\nperformance through other methods.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7897986bad8f6cd50d6149345aca7f6480f49464",
      "tree": "10a5e08e004ae685aaab6823a3774803455b7704",
      "parents": [
        "99b61ccf0bf0e9a85823d39a5db6a1519caeb13d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Jun 25 14:57:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:41 2005 -0700"
      },
      "message": "[PATCH] sched: balance timers\n\nDo CPU load averaging over a number of different intervals.  Allow each\ninterval to be chosen by sending a parameter to source_load and target_load.\n0 is instantaneous, idx \u003e 0 returns a decaying average with the most recent\nsample weighted at 2^(idx-1).  To a maximum of 3 (could be easily increased).\n\nSo generally a higher number will result in more conservative balancing.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2b18660066997420b716c1881a6be8b82700d97",
      "tree": "7c6eb8e7b8163e3d332bd4a4efe2ae5b5cfabdd2",
      "parents": [
        "ae67cd643e9e64217fd92457324625c67fec6e35"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sat Jun 25 14:55:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:38 2005 -0700"
      },
      "message": "[PATCH] RCU: clean up a few remaining synchronize_kernel() calls\n\n2.6.12-rc6-mm1 has a few remaining synchronize_kernel()s, some (but not\nall) in comments.  This patch changes these synchronize_kernel() calls (and\ncomments) to synchronize_rcu() or synchronize_sched() as follows:\n\n- arch/x86_64/kernel/mce.c mce_read(): change to synchronize_sched() to\n  handle races with machine-check exceptions (synchronize_rcu() would not cut\n  it given RCU implementations intended for hardcore realtime use.\n\n- drivers/input/serio/i8042.c i8042_stop(): change to synchronize_sched() to\n  handle races with i8042_interrupt() interrupt handler.  Again,\n  synchronize_rcu() would not cut it given RCU implementations intended for\n  hardcore realtime use.\n\n- include/*/kdebug.h comments: change to synchronize_sched() to handle races\n  with NMIs.  As before, synchronize_rcu() would not cut it...\n\n- include/linux/list.h comment: change to synchronize_rcu(), since this\n  comment is for list_del_rcu().\n\n- security/keys/key.c unregister_key_type(): change to synchronize_rcu(),\n  since this is interacting with RCU read side.\n\n- security/keys/process_keys.c install_session_keyring(): change to\n  synchronize_rcu(), since this is interacting with RCU read side.\n\nSigned-off-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "620b03276488c3cf103caf1e326bd21f00d3df84",
      "tree": "e2de713c76ddb42b091305b88aa7ca4938081789",
      "parents": [
        "5ce47e59c9688d8480ae41100117d8188c191401"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:33 2005 -0700"
      },
      "message": "[PATCH] properly stop devices before poweroff\n\nWithout this patch, Linux provokes emergency disk shutdowns and\nsimilar nastiness. It was in SuSE kernels for some time, IIRC.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5a72e04df5470df0ec646029d31e5528167ab1a7",
      "tree": "11be00c3ed3d8bad775e6eec44078c9f942537b9",
      "parents": [
        "fb69c3907ead36b9e9f41ea6f0d0e0ae10a38a47"
      ],
      "author": {
        "name": "Li Shaohua",
        "email": "shaohua.li@intel.com",
        "time": "Sat Jun 25 14:55:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:32 2005 -0700"
      },
      "message": "[PATCH] suspend/resume SMP support\n\nUsing CPU hotplug to support suspend/resume SMP.  Both S3 and S4 use\ndisable/enable_nonboot_cpus API.  The S4 part is based on Pavel\u0027s original S4\nSMP patch.\n\nSigned-off-by: Li Shaohua\u003cshaohua.li@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e6982c671c560da4a0bc5c908cbcbec12bd5991d",
      "tree": "38e317c28afbde68d431ae139e9e943e5a818b06",
      "parents": [
        "52a119feaad92d44a0e97d01b22afbcbaf3fc079"
      ],
      "author": {
        "name": "Ashok Raj",
        "email": "ashok.raj@intel.com",
        "time": "Sat Jun 25 14:54:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:30 2005 -0700"
      },
      "message": "[PATCH] x86_64: Change init sections for CPU hotplug support\n\nThis patch adds __cpuinit and __cpuinitdata sections that need to exist past\nboot to support cpu hotplug.\n\nCaveat: This is done *only* for EM64T CPU Hotplug support, on request from\nAndi Kleen.  Much of the generic hotplug code in kernel, and none of the other\narchs that support CPU hotplug today, i386, ia64, ppc64, s390 and parisc dont\nmark sections with __cpuinit, but only mark them as __devinit, and\n__devinitdata.\n\nIf someone is motivated to change generic code, we need to make sure all\nexisting hotplug code does not break, on other arch\u0027s that dont use __cpuinit,\nand __cpudevinit.\n\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nAcked-by: Andi Kleen \u003cak@muc.de\u003e\nAcked-by: Zwane Mwaikambo \u003czwane@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52a119feaad92d44a0e97d01b22afbcbaf3fc079",
      "tree": "d6ad98d25a0c4a3189af2ad960fe2f47d3eb00f1",
      "parents": [
        "e1367daf3eed5cd619ee88c9907e1e6ddaa58406"
      ],
      "author": {
        "name": "Ashok Raj",
        "email": "ashok.raj@intel.com",
        "time": "Sat Jun 25 14:54:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:30 2005 -0700"
      },
      "message": "[PATCH] make smp_prepare_cpu to a weak function\n\nI really wish smp_prepare_cpu() would disappear eventually.  In the interim\nthis is ideally a weak function, so we dont end up changing several places\nto define this dummy in headers.\n\nToday since the dummy declaration is done only in drivers/base/cpu.c but\nthe function is called in kernel/power/smp.c i get undefined reference in\nmy cpu hotplug code for x86_64 under development.\n\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e70c9d5e61c6cb2272c866fc1303e62975006752",
      "tree": "fcac373d1cab6df2a6ad87c2575fb16d778282af",
      "parents": [
        "dec63ec32ea486ab915138e8790084c22a3f7bf6"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Sat Jun 25 14:54:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:24 2005 -0700"
      },
      "message": "[PATCH] I8K: use standard DMI interface\n\nI8K: Change to use stock dmi infrastructure instead of homegrown\n     parsing code. The driver now requires box\u0027s DMI data to match\n     list of supported models so driver can be safely compiled-in\n     by default without fear of it poking into random SMM BIOS\n     code. DMI checks can be ignored with i8k.ignore_dmi option.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "75043cb5b386e5a01fd03b88f647dd992de02f97",
      "tree": "334fd390af972a42407362cce4c2aacc7ac92b3e",
      "parents": [
        "793ae77469121227cd910c4b99f24be1de34bcca"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@mail.ru",
        "time": "Fri Jun 24 20:52:52 2005 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 14:14:24 2005 -0700"
      },
      "message": "[PATCH] fs/qnx4/*: fix sparse warnings\n\nThis patch fixes sparse warnings in the qnx4fs (and might even make\nqnx4fs work on big-endian boxes)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@mail.ru\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Anders Larsen \u003cal@alarsen.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "59a49e38711a146dc0bef4837c825b5422335460",
      "tree": "7e6e3d1850159f94e5b05d1c5775bd3cc87c3690",
      "parents": [
        "52c1da39534fb382c061de58b65f678ad74b59f5",
        "f2d368fa3ef90f2159d9e542303901ebf68144dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:31:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:31:46 2005 -0700"
      },
      "message": "Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "52c1da39534fb382c061de58b65f678ad74b59f5",
      "tree": "92b18695f23afbc99374f844445f555a198978f2",
      "parents": [
        "d763b7a4736e219528f77bf6bc75dd78b1d75c03"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 23 22:05:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:43 2005 -0700"
      },
      "message": "[PATCH] make various thing static\n\nAnother rollup of patches which give various symbols static scope\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eb6fe0c388e43b02e261f0fdee60e42f6298d7f7",
      "tree": "3924bfbbbb10afc19f3bcd4963af14121f2c0553",
      "parents": [
        "6d79125bba55ee82701f1c7d4ebbc1aa20ecbe4e"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:41 2005 -0700"
      },
      "message": "[PATCH] xip: reduce code duplication\n\nThis patch reworks filemap_xip.c with the goal to reduce code duplication\nfrom mm/filemap.c.  It applies agains 2.6.12-rc6-mm1.  Instead of\nimplementing the aio functions, this one implements the synchronous\nread/write functions only.  For readv and writev, the generic fallback is\nused.  For aio, we rely on the application doing the fallback.  Since our\n\"synchronous\" function does memcpy immediately anyway, there is no\nperformance difference between using the fallbacks or implementing each\noperation.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d79125bba55ee82701f1c7d4ebbc1aa20ecbe4e",
      "tree": "fbd7f82fea19fd89e09312fe89919774b94a6efe",
      "parents": [
        "ceffc078528befc008c6f2c2c4decda79eabd534"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:41 2005 -0700"
      },
      "message": "[PATCH] xip: ext2: execute in place\n\nThese are the ext2 related parts.  Ext2 now uses the xip_* file operations\nalong with the get_xip_page aop when mounted with -o xip.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ceffc078528befc008c6f2c2c4decda79eabd534",
      "tree": "a289e10162bdef0c0d9f6533f1a647b0fe1ed7a9",
      "parents": [
        "420edbcc09008342c7b2665453f6b370739aadb0"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:41 2005 -0700"
      },
      "message": "[PATCH] xip: fs/mm: execute in place\n\n- generic_file* file operations do no longer have a xip/non-xip split\n- filemap_xip.c implements a new set of fops that require get_xip_page\n  aop to work proper. all new fops are exported GPL-only (don\u0027t like to\n  see whatever code use those except GPL modules)\n- __xip_unmap now uses page_check_address, which is no longer static\n  in rmap.c, and defined in linux/rmap.h\n- mm/filemap.h is now much more clean, plainly having just Linus\u0027\n  inline funcs moved here from filemap.c\n- fix includes in filemap_xip to make it build cleanly on i386\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "420edbcc09008342c7b2665453f6b370739aadb0",
      "tree": "9eae7b2d378d4e280dcc5c1b6b159e18e5e5dbe0",
      "parents": [
        "3d41088fa327782b14b5659dbcfff62ec704c23c"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:41 2005 -0700"
      },
      "message": "[PATCH] xip: bdev: execute in place\n\nThis is the block device related part.  The block device operation\ndirect_access now has a struct block_device as first parameter.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c988d2b2845495373f666a381d354a7f80981d62",
      "tree": "aece734adc28728437c9c87ba53428e79ac4c25f",
      "parents": [
        "f5bec39639d386e1893dc440dd536761136ab36b"
      ],
      "author": {
        "name": "Matt Domsch",
        "email": "Matt_Domsch@dell.com",
        "time": "Thu Jun 23 22:05:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:40 2005 -0700"
      },
      "message": "[PATCH] modules: add version and srcversion to sysfs\n\nThis patch adds version and srcversion files to\n/sys/module/${modulename} containing the version and srcversion fields\nof the module\u0027s modinfo section (if present).\n\n/sys/module/e1000\n|-- srcversion\n`-- version\n\nThis patch differs slightly from the version posted in January, as it\nnow uses the new kstrdup() call in -mm.\n\nWhy put this in sysfs?\n\na) Tools like DKMS, which deal with changing out individual kernel\n   modules without replacing the whole kernel, can behave smarter if they\n   can tell the version of a given module.  The autoinstaller feature, for\n   example, which determines if your system has a \"good\" version of a\n   driver (i.e.  if the one provided by DKMS has a newer verson than that\n   provided by the kernel package installed), and to automatically compile\n   and install a newer version if DKMS has it but your kernel doesn\u0027t yet\n   have that version.\n\nb) Because sysadmins manually, or with tools like DKMS, can switch out\n   modules on the file system, you can\u0027t count on \u0027modinfo foo.ko\u0027, which\n   looks at /lib/modules/${kernelver}/...  actually matching what is loaded\n   into the kernel already.  Hence asking sysfs for this.\n\nc) as the unbind-driver-from-device work takes shape, it will be\n   possible to rebind a driver that\u0027s built-in (no .ko to modinfo for the\n   version) to a newly loaded module.  sysfs will have the\n   currently-built-in version info, for comparison.\n\nd) tech support scripts can then easily grab the version info for what\u0027s\n   running presently - a question I get often.\n\nThere has been renewed interest in this patch on linux-scsi by driver\nauthors.\n\nAs the idea originated from GregKH, I leave his Signed-off-by: intact,\nthough the implementation is nearly completely new.  Compiled and run on\nx86 and x86_64.\n\nFrom: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\n\n      build fix\n\nFrom: Thierry Vignaud \u003ctvignaud@mandriva.com\u003e\n\n      build fix\n\nFrom: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\n\n      warning fix\n\nSigned-off-by: Greg Kroah-Hartman \u003cgreg@kroah.com\u003e\nSigned-off-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0964a3d3f1aa96468091924f6b0c391a46dc6d0b",
      "tree": "0a6b0587d1922d64ca7e4aa7f306ad869bccf452",
      "parents": [
        "c7b9a45927e74c81d6562153f7fde9d32da00159"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:36 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4 reboot dirname fix\n\nSet the recovery directory via /proc/fs/nfsd/nfs4recoverydir.\n\nIt may be changed any time, but is used only on startup.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7b9a45927e74c81d6562153f7fde9d32da00159",
      "tree": "d21fb5d43052bce7469c168d1ad485c821a42079",
      "parents": [
        "190e4fbf96037e5e526ba3210f2bcc2a3b6fe964"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:36 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: reboot recovery\n\nThis patch adds the code to create and remove client subdirectories from the\nrecovery directory, as described in the previous patch comment.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "190e4fbf96037e5e526ba3210f2bcc2a3b6fe964",
      "tree": "957fb35a6a2895622c4db0052160fd91d06153e8",
      "parents": [
        "cb36d6345752fa24827044c68e15f6708a40d9f6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:35 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: initialize recovery directory\n\nNFSv4 clients are required to know what state they have on the server so that\nthey can reclaim it on server reboot.  However, it is possible for\npathalogical combinations of server reboots and network partitions to leave a\nclient in a state where it cannot know whether it has lost its state on the\nserver.\n\nFor this reason, rfc3530 requires that we store some information about clients\nto stable storage.\n\nSo we maintain a directory /var/lib/nfs/v4recovery with a subdirectory for\neach client with active state.  We leave open the possibility of including\nfiles underneath each such subdirectory with information about the client, but\nfor now the subdirectories are empty.\n\nWe create a client subdirectory whenever a client makes its first non-reclaim\nopen_confirm.\n\nWe remove a client subdirectory whenever either\n        a) its lease expires, or\n\tb) the grace period ends without it reclaiming anything.\nWhen handling reclaims, we allow the reclaim if and only if the client doing\nthe reclaim has a subdirectory.\n\nThis patch adds just the code to scan the recovery directory on nfsd startup.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cb36d6345752fa24827044c68e15f6708a40d9f6",
      "tree": "adc6b7201525c87685815037cfa5fd1c248f6e95",
      "parents": [
        "3e9e3dbe0fe36c824ce2c5d7b05997c87a64bbdc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:35 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: remove cb_parsed\n\nThe cb_parsed field is only used by probe_callback, to determine whether the\ncallback information has been filled in by setclientid.  But there is no way\nthat probe_callback() can be called without that having already happened, so\nthat check is superfluous, as is cb_parsed.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ea1da636e956ad1591a74904f23d98bbc26a644b",
      "tree": "193d0667adad25b094e209856dfcc1300d1d85dc",
      "parents": [
        "21ab45a480ec7705d177e959ebf452d62340c004"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:35 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: rename state list fields\n\nTrivial renaming patch:\n\nI can never remember, while looking at various lists relating the nfsd4 state\nstructures, which are the \"heads\" and which are items on other lists, or which\nstructures are actually on the various lists.  The following convention helps\nme: given structures foo and bar, with foo containing the head of a list of\nbars, use \"bars\" for the name of the head of the list contained in the struct\nfoo, and use \"per_foo\" for the entries in the struct bars.\n\nAlready done for struct nfs4_file; go ahead and do it for the other nfsd4\nstate structures.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd39ca9a808c6026989bc2188868a0574eb37108",
      "tree": "9dbb4df308afd32e1a913e3df9c828863c6f98ee",
      "parents": [
        "a76b4319ca85b5e3a8098470c623a272d40271cd"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:33 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: make needlessly global code static\n\nThis patch contains the following possible cleanups:\n\n- make needlessly global code static\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a55370a3c0106106a975c5a09cee800611d0cf50",
      "tree": "408d5dc0ecf970c103ef091388e66da267adb2e2",
      "parents": [
        "7dea9d280c96f90382ec5d5709433e66a0993ec9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:33 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: reboot hash\n\nFor the purposes of reboot recovery we keep a directory with subdirectories\neach having a name that is the ascii hex representation of the md5 sum of a\nclient identifier for an active client.\n\nThis adds the code to calculate that name.  We also use it for the purposes of\ncomparing clients, so if someone ever manages to find two client names that\nare md5 collisions, then we\u0027ll return clid_inuse to the second.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bd0b1e954e3ba3e5d2cab941458cf98206471bd2",
      "tree": "3637bcc40dc0725becc5e47dc51a4ded1bf3f673",
      "parents": [
        "707d4ab7b3aa6d1f7a7d2cd123fb83ba9a528205"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:32 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: idmap initialization\n\nAdopt standard kernel style by defining a no-op function instead of putting\nifdef\u0027s in the code where the function is called.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac4d8ff2a57179de3ef7834c6ab3fac430b0a05d",
      "tree": "8c0f7125177a47d4140a73e4b59309a5bb3ffd2c",
      "parents": [
        "76a3550ec50ed86885a10a767ebaebb7c9104721"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:32 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: clean up state initialization\n\nSeparate out stuff that needs initialization on startup from stuff that only\nneeds initialization on module init from static data.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76a3550ec50ed86885a10a767ebaebb7c9104721",
      "tree": "0961d1eb0a61378852cf90f203dba09a22ac012d",
      "parents": [
        "7b190fecfa33d72bcf74c9473134c2ad14ae9545"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:31 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: rename nfs4_state_init\n\nSomewhat gratuitous rename to simplify following patch.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b190fecfa33d72bcf74c9473134c2ad14ae9545",
      "tree": "94769b846f9d4e38a831f6e343db34bbfdb403bc",
      "parents": [
        "d99a05adf8490cc171b7709554936b8f3ac9e362"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:31 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: delegation recovery\n\nAllow recovery of delegations after reboot.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "13cd21845d6a9729ca95e36ae6e8c669623fbfd4",
      "tree": "d60064a17994393bfdc412cc1a85ffdf2a5f5914",
      "parents": [
        "8beefa249371f55432394ac96864c83b0b309c28"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:30 2005 -0700"
      },
      "message": "[PATCH] nfsd4: reference count struct nfs4_file\n\nAdd a struct kref to each nfs4_file and take a reference to it from each\nstateid and delegation that refers to it.  The atomicity guarantees are\noverkill given that all this stuff is done under the single nfsd4 state lock,\nbut a) we\u0027d like finer-grained locking some day, and b) this simplifies the\ncleanup of the structures a bit, something that has previously been a bit\ncomplicated and bug-prone.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8beefa249371f55432394ac96864c83b0b309c28",
      "tree": "1d31a36da779a930a6676bdfc7d8fe4fa564a05c",
      "parents": [
        "6fa305ded4cc859deb4727ad9b25df0bbc064e99"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:29 2005 -0700"
      },
      "message": "[PATCH] nfsd4: rename nfs4_file fields\n\nTrivial renaming patch:\n\nI can never remember, while looking at various lists relating the nfsd4 state\nstructures, which are the \"heads\" and which are items on other lists, or which\nstructures are actually on the various lists.  The following convention helps\nme: given structures foo and bar, with foo containing the head of a list of\nbars, use \"bars\" for the name of the head of the list contained in the struct\nfoo, and use \"per_foo\" for the entries in the struct bars.\n\nGo ahead and do this for struct nfs4_file.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "496400014f22c4dbdbc1e89249a2feba46939708",
      "tree": "1d05116cef2e6ecfeef9fab0a733a9f2cf2a18e3",
      "parents": [
        "0dd3c19212961453817f219cd6200981c38564bc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:02:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:28 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix fh_expire_type\n\nWe\u0027re returning NFS4_FH_NOEXPIRE_WITH_OPEN | NFS4_FH_VOL_RENAME for the\nfh_expire_type attribute.  This is incorrect:\n\t1. The spec actually only allows NOEXPIRE_WITH_OPEN when\n\t   VOLATILE_ANY is also set.\n\t2. Filehandles for open files can expire, if the file is removed\n\t   and there is a reboot.\n\t3. Filehandles are only volatile on rename in the nosubtree check\n\t   case.\n\nUnfortunately, there\u0027s no way to indicate that we only expire on remove.  So\nour only choice is FH4_VOLATILE_ANY.  Although it\u0027s redundant, we also set\nFH4_VOL_RENAME in the subtree check case, since subtreecheck does actually\ncause problems in practice and it seems possibly useful to give clients some\nway to distinguish that case.\n\nFix a mispelled #define while we\u0027re at it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f33213ecf49c98da4e85121b592c3bea8057c2e6",
      "tree": "da7e51e7204625f21371eac23a931f4fe479e9db",
      "parents": [
        "9e87545f06930c1d294423a8091d1077e7444a47"
      ],
      "author": {
        "name": "Markus Lidel",
        "email": "Markus.Lidel@shadowconnect.com",
        "time": "Thu Jun 23 22:02:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:29 2005 -0700"
      },
      "message": "[PATCH] I2O: Lindent run and replacement of printk through osm printing functions\n\nLindent run and replaced printk() through the corresponding osm_*() function\n\nSigned-off-by: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e87545f06930c1d294423a8091d1077e7444a47",
      "tree": "ef05fca1becfa0e1584f234ddf9b1a430b7d018e",
      "parents": [
        "b2aaee33fbb354a2f08121aa1c1be55841102761"
      ],
      "author": {
        "name": "Markus Lidel",
        "email": "Markus.Lidel@shadowconnect.com",
        "time": "Thu Jun 23 22:02:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:29 2005 -0700"
      },
      "message": "[PATCH] I2O: second code cleanup of sparse warnings and unneeded syncronization\n\nChanges:\n - Added header \"core.h\" for i2o_core.ko internal definitions\n - More sparse fixes\n - Changed display of TID\u0027s in sysfs attributes from XXX to 0xXXX\n - Use the right functions for accessing I/O and normal memory\n - Removed error handling of SCSI device errors and let the SCSI layer\n   take care of it\n - Added new device / removed device handling to SCSI-OSM\n - Make status access volatile\n - Cleaned up activation of I2O controller\n - Removed unnecessary wmb() and rmb() calls\n - Use own struct i2o_io for I/O memory instead of struct i2o_dma\n\nSigned-off-by: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2aaee33fbb354a2f08121aa1c1be55841102761",
      "tree": "7567ca61aaf5eed8bb1acd01cd87aa235b854fd4",
      "parents": [
        "f10378fff658f61307496e0ae00095041725cf07"
      ],
      "author": {
        "name": "Markus Lidel",
        "email": "Markus.Lidel@shadowconnect.com",
        "time": "Thu Jun 23 22:02:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:28 2005 -0700"
      },
      "message": "[PATCH] I2O: Adaptec specific SG_IO access, firmware access through sysfs and 2400A workaround\n\nChanges:\n - Provide SG_IO access to BLOCK and EXECUTIVE class on Adaptec\n   controllers\n - Use PRIVATE messages in SCSI-OSM because on some controllers normal\n   SCSI class commands like READ or READ CAPACITY cause errors\n - Use new DMA and SG list creation function\n - Added workaround to limit sectors per request for Adaptec 2400A\n   controllers\n\nSigned-off-by: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f10378fff658f61307496e0ae00095041725cf07",
      "tree": "0c0413649317677771fa325dded94f1e12a6a0b7",
      "parents": [
        "f88e119c4b824a5017456fa094950d0f4092d96c"
      ],
      "author": {
        "name": "Markus Lidel",
        "email": "Markus.Lidel@shadowconnect.com",
        "time": "Thu Jun 23 22:02:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:28 2005 -0700"
      },
      "message": "[PATCH] I2O: new sysfs attributes and Adaptec specific block device access and 64-bit DMA support\n\nChanges:\n - Added Bus-OSM which could be used by user space programs to reset a\n   channel on the controller\n - Make ioctl\u0027s in Config-OSM obsolete in prefer for sysfs attributes and\n   move those to its own file\n - Added sysfs attribute for firmware read and write access for I2O\n   controllers\n - Added special handling of firmware read and write access for Adaptec\n   controllers\n - Added vendor id and product id as sysfs-attribute to Executive classes\n - Added automatic notification of LCT change handling to Exec-OSM\n - Added flushing function to Block-OSM for later barrier implementation\n - Use PRIVATE messages for Block access on Adaptec controllers, which are\n   faster then BLOCK class access\n - Cleaned up support for Promise controller\n - New messages are now detected using the IRQ status register as\n   suggested by the I2O spec\n - Added i2o_dma_high() and i2o_dma_low() functions\n - Added facility for SG tablesize calculation when using 32-bit and\n   64-bit DMA addresses\n - Added i2o_dma_map_single() and i2o_dma_map_sg() which could build the\n   SG list for 32-bit as well as 64-bit DMA addresses\n\nSigned-off-by: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f88e119c4b824a5017456fa094950d0f4092d96c",
      "tree": "7a0fea02c195732e299a576fd22fd439fbc38bdd",
      "parents": [
        "61fbfa8129c1771061a0e9f47747854293081c5b"
      ],
      "author": {
        "name": "Markus Lidel",
        "email": "Markus.Lidel@shadowconnect.com",
        "time": "Thu Jun 23 22:02:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:28 2005 -0700"
      },
      "message": "[PATCH] I2O: first code cleanup of spare warnings and unused functions\n\nChanges:\n\n - Removed unnecessary checking of NULL before calling kfree()\n - Make some functions static\n - Changed pr_debug() into osm_debug()\n - Use i2o_msg_in_to_virt() for getting a pointer to the message frame\n - Cleaned up some comments\n - Changed some le32_to_cpu() into readl() where necessary\n - Make error messages of OSM\u0027s look the same\n - Cleaned up error handling in i2o_block_end_request()\n - Removed unused error handling of failed messages in Block-OSM, which\n   are not allowed by the I2O spec\n - Corrected the blocksize detection in i2o_block\n - Added hrt and lct sysfs-attribute to controller\n - Call done() function in SCSI-OSM after freeing DMA buffers\n - Removed unneeded variable for message size calculation in\n   i2o_scsi_queuecommand()\n - Make some changes to remove sparse warnings\n - Reordered some functions\n - Cleaned up controller initialization\n - Replaced some magic numbers by defines\n - Removed unnecessary dma_sync_single_for_cpu() call on coherent DMA\n - Removed some unused fields in i2o_controller and removed some unused\n   functions\n\nSigned-off-by: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "61fbfa8129c1771061a0e9f47747854293081c5b",
      "tree": "03fe14c41e2a49d3841ae6820a2dd43a91fddee9",
      "parents": [
        "34d6e07570ef74b965131452a862b13dfa779188"
      ],
      "author": {
        "name": "Markus Lidel",
        "email": "Markus.Lidel@shadowconnect.com",
        "time": "Thu Jun 23 22:02:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:28 2005 -0700"
      },
      "message": "[PATCH] I2O: bugfixes and compability enhancements\n\nChanges:\n\n - Fixed sysfs bug where user and parent links where added to the I2O\n   device itself\n - Fixed bug when calculating TID for the event handler and cleaned up the\n   workflow of i2o_driver_dispatch()\n - Fixed oops when no I2O device could be found for an event delivered to\n   Exec-OSM\n - Fixed initialization of spinlock in Exec-OSM\n - Fixed memory leak in i2o_cfg_passthru() and i2o_cfg_passthru()\n - Removed MTRR support\n - Added PCI ID of Promise SX6000 with firmware \u003e\u003d 1.20.x.x\n - Turn of caching for ioremapped memory of in_queue\n - Added initialization sequence for Promise controllers\n - Moved definition of u8 / u16 / u32 for raidutils before first use\n\nSigned-off-by: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a6df7da8f7ee99e6fd1995fad852bacb978a6447",
      "tree": "df65fb612c3e372990ca1380098ba02d95247bee",
      "parents": [
        "5e976d5557d3dd1e835b8be52e6201556dcfa052"
      ],
      "author": {
        "name": "Kylene Hall",
        "email": "kjhall@us.ibm.com",
        "time": "Thu Jun 23 22:02:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:27 2005 -0700"
      },
      "message": "[PATCH] tpm: TPMs on additional LPC bus\n\nAdd support for TPMs on additional LPC buses.\n\nSigned-off-by: Kylene Hall \u003ckjhall@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b6259432dee81f928c22c48c080d5f6325ed92e",
      "tree": "4b22a1a9a547a6e3da9d1a45cd83d210d9398fcd",
      "parents": [
        "8f43f84f13a49fe5f0f7d1595082b6d7ec6daa85"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "minyard@acm.org",
        "time": "Thu Jun 23 22:01:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:23 2005 -0700"
      },
      "message": "[PATCH] ipmi: add power cycle capability\n\nThis patch to adds \"power cycle\" functionality to the IPMI power off module\nipmi_poweroff.  It also contains changes to support procfs control of the\nfeature.\n\nThe power cycle action is considered an optional chassis control in the IPMI\nspecification.  However, it is definitely useful when the hardware supports\nit.  A power cycle is usually required in order to reset a firmware in a bad\nstate.  This action is critical to allow remote management of servers.\n\nThe implementation adds power cycle as optional to the ipmi_poweroff module.\nIt can be modified dynamically through the proc entry mentioned above.  During\na power down and enabled, the power cycle command is sent to the BMC firmware.\n If it fails either due to non-support or some error, it will retry to send\nthe command as power off.\n\nSigned-off-by: Christopher A. Poblete \u003cChris_Poblete@dell.com\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": "556a2a45bce1740f035befaa7201e4ad836c7257",
      "tree": "d4a85b6f2bd02ab5c7c194e351508b80035f07c5",
      "parents": [
        "1f54587bea84a35125c95e19b98c2f464c50871b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jun 23 22:01:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:20 2005 -0700"
      },
      "message": "[PATCH] quota: reiserfs: improve quota credit estimates\n\nUse improved credits estimates for quota operations.  Also reserve space\nfor a quota operation in a transaction only if filesystem was mounted with\nsome quota option.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1f54587bea84a35125c95e19b98c2f464c50871b",
      "tree": "42f2467d6892be821271a2257e1259922bdafd45",
      "parents": [
        "4e5117ba0af4582b6ec9164874f719d7f3f1eb2b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jun 23 22:01:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:20 2005 -0700"
      },
      "message": "[PATCH] quota: ext3: Improve quota credit estimates\n\nUse improved credits estimates for quota operations.  Also reserve a space\nfor a quota operation in a transaction only if filesystem was mounted with\nsome quota options.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4e5117ba0af4582b6ec9164874f719d7f3f1eb2b",
      "tree": "d667e418571366ecea1188cb113e786a4a1d7f5c",
      "parents": [
        "bd6a1f16fffdfe010fdc2979fd01f12357816762"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jun 23 22:01:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:19 2005 -0700"
      },
      "message": "[PATCH] quota: improve credits estimates\n\nImprove estimates on the number of needed credits for quota transaction.\nNow we distinguish blocks that might need to be allocated and blocks that\nonly need to be rewritten.  Also we distinguish deleting of a quota\nstructure and creating of a new one.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92198f7eaa5df3479341dd8fa20c2c81aa3b1e25",
      "tree": "b2b7f8c73b94b4179d5002eaaa30f683b6dc5132",
      "parents": [
        "16c29b67fb3bbacfc2a71f9e5f7d85728ef45efa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 22:00:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:19 2005 -0700"
      },
      "message": "[PATCH] pass iocb to dio_iodone_t\n\nXFS will have to look at iocb-\u003eprivate to fix aio+dio.  No other filesystem\nis using the blockdev_direct_IO* end_io callback.\n\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": "3e30148c3d524a9c1c63ca28261bc24c457eb07a",
      "tree": "a2fcc46cc11fe871ad976c07476d934a07313576",
      "parents": [
        "8589b4e00e352f983259140f25a262d973be6bc5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:19 2005 -0700"
      },
      "message": "[PATCH] Keys: Make request-key create an authorisation key\n\nThe attached patch makes the following changes:\n\n (1) There\u0027s a new special key type called \".request_key_auth\".\n\n     This is an authorisation key for when one process requests a key and\n     another process is started to construct it. This type of key cannot be\n     created by the user; nor can it be requested by kernel services.\n\n     Authorisation keys hold two references:\n\n     (a) Each refers to a key being constructed. When the key being\n     \t constructed is instantiated the authorisation key is revoked,\n     \t rendering it of no further use.\n\n     (b) The \"authorising process\". This is either:\n\n     \t (i) the process that called request_key(), or:\n\n     \t (ii) if the process that called request_key() itself had an\n     \t      authorisation key in its session keyring, then the authorising\n     \t      process referred to by that authorisation key will also be\n     \t      referred to by the new authorisation key.\n\n\t This means that the process that initiated a chain of key requests\n\t will authorise the lot of them, and will, by default, wind up with\n\t the keys obtained from them in its keyrings.\n\n (2) request_key() creates an authorisation key which is then passed to\n     /sbin/request-key in as part of a new session keyring.\n\n (3) When request_key() is searching for a key to hand back to the caller, if\n     it comes across an authorisation key in the session keyring of the\n     calling process, it will also search the keyrings of the process\n     specified therein and it will use the specified process\u0027s credentials\n     (fsuid, fsgid, groups) to do that rather than the calling process\u0027s\n     credentials.\n\n     This allows a process started by /sbin/request-key to find keys belonging\n     to the authorising process.\n\n (4) A key can be read, even if the process executing KEYCTL_READ doesn\u0027t have\n     direct read or search permission if that key is contained within the\n     keyrings of a process specified by an authorisation key found within the\n     calling process\u0027s session keyring, and is searchable using the\n     credentials of the authorising process.\n\n     This allows a process started by /sbin/request-key to read keys belonging\n     to the authorising process.\n\n (5) The magic KEY_SPEC_*_KEYRING key IDs when passed to KEYCTL_INSTANTIATE or\n     KEYCTL_NEGATE will specify a keyring of the authorising process, rather\n     than the process doing the instantiation.\n\n (6) One of the process keyrings can be nominated as the default to which\n     request_key() should attach new keys if not otherwise specified. This is\n     done with KEYCTL_SET_REQKEY_KEYRING and one of the KEY_REQKEY_DEFL_*\n     constants. The current setting can also be read using this call.\n\n (7) request_key() is partially interruptible. If it is waiting for another\n     process to finish constructing a key, it can be interrupted. This permits\n     a request-key cycle to be broken without recourse to rebooting.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-Off-By: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7888e7ff4ee579442128d7d12a9c9dbf2cf7de6a",
      "tree": "abe428ecb966e1dae07fce17f38e3e0c0ab4f134",
      "parents": [
        "76d8aeabfeb1c42641a81c44280177b9a08670d8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:18 2005 -0700"
      },
      "message": "[PATCH] Keys: Pass session keyring to call_usermodehelper()\n\nThe attached patch makes it possible to pass a session keyring through to the\nprocess spawned by call_usermodehelper().  This allows patch 3/3 to pass an\nauthorisation key through to /sbin/request-key, thus permitting better access\ncontrols when doing just-in-time key creation.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76d8aeabfeb1c42641a81c44280177b9a08670d8",
      "tree": "0a584439bb44e440717aa77a1398ba9eea24a137",
      "parents": [
        "7286aa9b9ab35f20b1ff16d867f4535701df99b5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:18 2005 -0700"
      },
      "message": "[PATCH] keys: Discard key spinlock and use RCU for key payload\n\nThe attached patch changes the key implementation in a number of ways:\n\n (1) It removes the spinlock from the key structure.\n\n (2) The key flags are now accessed using atomic bitops instead of\n     write-locking the key spinlock and using C bitwise operators.\n\n     The three instantiation flags are dealt with with the construction\n     semaphore held during the request_key/instantiate/negate sequence, thus\n     rendering the spinlock superfluous.\n\n     The key flags are also now bit numbers not bit masks.\n\n (3) The key payload is now accessed using RCU. This permits the recursive\n     keyring search algorithm to be simplified greatly since no locks need be\n     taken other than the usual RCU preemption disablement. Searching now does\n     not require any locks or semaphores to be held; merely that the starting\n     keyring be pinned.\n\n (4) The keyring payload now includes an RCU head so that it can be disposed\n     of by call_rcu(). This requires that the payload be copied on unlink to\n     prevent introducing races in copy-down vs search-up.\n\n (5) The user key payload is now a structure with the data following it. It\n     includes an RCU head like the keyring payload and for the same reason. It\n     also contains a data length because the data length in the key may be\n     changed on another CPU whilst an RCU protected read is in progress on the\n     payload. This would then see the supposed RCU payload and the on-key data\n     length getting out of sync.\n\n     I\u0027m tempted to drop the key\u0027s datalen entirely, except that it\u0027s used in\n     conjunction with quota management and so is a little tricky to get rid\n     of.\n\n (6) Update the keys documentation.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d675c989ed2d4ba23dff615330b04371aea83534",
      "tree": "856df6f7dc1fba81b134e2363e42dbf6022fa671",
      "parents": [
        "3fc7e8a6d842f72d16d2623b1022814a635ab961"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Jun 23 21:00:58 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 21:00:58 2005 -0700"
      },
      "message": "[PKT_SCHED]: Packet classification based on textsearch (ematch)\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3fc7e8a6d842f72d16d2623b1022814a635ab961",
      "tree": "93f60c9af99b790c1d79bef1d3414fea3d7b9c5c",
      "parents": [
        "677e90eda3bd8cfde0b748daaa46476162a03950"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Jun 23 21:00:17 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 21:00:17 2005 -0700"
      },
      "message": "[NET]: skb_find_text() - Find a text pattern in skb data\n\nFinds a pattern in the skb data according to the specified\ntextsearch configuration. Use textsearch_next() to retrieve\nsubsequent occurrences of the pattern. Returns the offset\nto the first occurrence or UINT_MAX if no match was found.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "677e90eda3bd8cfde0b748daaa46476162a03950",
      "tree": "4b40614cf9cd125883d0430467be9172997ca184",
      "parents": [
        "6408f79cce401e1bfecf923e7156f84f96e021e3"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Jun 23 20:59:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:59:51 2005 -0700"
      },
      "message": "[NET]: Zerocopy sequential reading of skb data\n\nImplements sequential reading for both linear and non-linear\nskb data at zerocopy cost. The data is returned in chunks of\narbitary length, therefore random access is not possible.\n\nUsage:\n\tfrom\t :\u003d 0\n\tto\t :\u003d 128\n\tstate\t :\u003d undef\n\tdata\t :\u003d undef\n\tlen\t :\u003d undef\n\tconsumed :\u003d 0\n\n\tskb_prepare_seq_read(skb, from, to, \u0026state)\n\twhile (len \u003d skb_seq_read(consumed, \u0026data, \u0026state)) !\u003d 0 do\n\t\t/* do something with \u0027data\u0027 of length \u0027len\u0027 */\n\t\tif abort then\n\t\t\t/* abort read if we don\u0027t wait for\n\t\t\t * skb_seq_read() to return 0 */\n\t\t\tskb_abort_seq_read(\u0026state)\n\t\t\treturn\n\t\tendif\n\t\t/* not necessary to consume all of \u0027len\u0027 */\n\t\tconsumed +\u003d len\n\tdone\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6408f79cce401e1bfecf923e7156f84f96e021e3",
      "tree": "203624ffacf60d364293adc47d2f59f6ba81dd35",
      "parents": [
        "df3fb93ad9ec0b20c785c0ad82d42d159a1af272"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Jun 23 20:59:16 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:59:16 2005 -0700"
      },
      "message": "[LIB]: Naive finite state machine based textsearch\n\nA finite state machine consists of n states (struct ts_fsm_token)\nrepresenting the pattern as a finite automation. The data is read\nsequentially on a octet basis. Every state token specifies the number\nof recurrences and the type of value accepted which can be either a\nspecific character or ctype based set of characters. The available\ntype of recurrences include 1, (0|1), [0 n], and [1 n].\n\nThe algorithm differs between strict/non-strict mode specyfing\nwhether the pattern has to start at the first octect. Strict mode\nis enabled by default and can be disabled by inserting\nTS_FSM_HEAD_IGNORE as the first token in the chain.\n\nThe runtime performance of the algorithm should be around O(n),\nhowever while in strict mode the average runtime can be better.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2de4ff7bd658c97fb357efa3095a509674dacb5a",
      "tree": "49036dbf594317a6a17ff4e56f65158a6aeacbda",
      "parents": [
        "5f8ef48d240963093451bcf83df89f1a1364f51d"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Jun 23 20:49:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:49:30 2005 -0700"
      },
      "message": "[LIB]: Textsearch infrastructure.\n\nThe textsearch infrastructure provides text searching\nfacitilies for both linear and non-linear data.\nIndividual search algorithms are implemented in modules\nand chosen by the user.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f8ef48d240963093451bcf83df89f1a1364f51d",
      "tree": "cecb30c2f59778f7f509a84b3aa7ea097c3f2b27",
      "parents": [
        "51b0bdedb8e784d0d969a6b77151911130812400"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 20:37:36 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:37:36 2005 -0700"
      },
      "message": "[TCP]: Allow choosing TCP congestion control via sockopt.\n\nAllow using setsockopt to set TCP congestion control to use on a per\nsocket basis.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51b0bdedb8e784d0d969a6b77151911130812400",
      "tree": "2acfa2b696773e96c08641d73aadf6b83d93b10f",
      "parents": [
        "31aa02c53c84658f6694f319f09e232ede27be5a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 20:14:40 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:14:40 2005 -0700"
      },
      "message": "[NET]: Separate two usages of netdev_max_backlog.\n\nSeparate out the two uses of netdev_max_backlog. One controls the\nupper bound on packets processed per softirq, the new name for this is\nnetdev_budget; the other controls the limit on packets queued via\nnetif_rx.\n\nIncrease the max_backlog default to account for faster processors.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31aa02c53c84658f6694f319f09e232ede27be5a",
      "tree": "3af5cce958dcce744548b312a043aa4a0b769a50",
      "parents": [
        "34008d8c631d067caffa136313260525f3ae48a2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 20:12:48 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:12:48 2005 -0700"
      },
      "message": "[NET]: Eliminate netif_rx massive packet drops.\n\nEliminate the throttling behaviour when the netif receive queue fills\nbecause it behaves badly when using high speed networks under load.\nThe throttling cause multiple packet drops that cause TCP to go into\nslow start mode. The same effective patch has been part of BIC TCP and\nH-TCP as well as part of Web100.\n\nThe existing code drops 100\u0027s of packets when the queue fills;\nthis changes it to individual packet drop-tail. \n\nSigned-off-by: Stephen Hemmminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "34008d8c631d067caffa136313260525f3ae48a2",
      "tree": "171436c170fb7df649f8bf7cb95391f6d844bd03",
      "parents": [
        "c1ebcdb8c422cd73f54bcd2b9953e443a47667e5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 20:10:00 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:10:00 2005 -0700"
      },
      "message": "[NET]: Remove obsolete netif_rx congestion sensing mechanism.\n\nRemove the congestion sensing mechanism from netif_rx, and always\nreturn either full or empty.  Almost no driver checks the return value\nfrom netif_rx, and those that do only use it for debug messages.\n\nThe original design of netif_rx was to do flow control based on the\nreceive queue, but NAPI has supplanted this and no driver uses the\nfeedback.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1ebcdb8c422cd73f54bcd2b9953e443a47667e5",
      "tree": "312664836ac20509cc15609b8b0c7d583e9fe32d",
      "parents": [
        "16822e62053e73fa7def9decc38a7e287d27d980"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 20:08:59 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:08:59 2005 -0700"
      },
      "message": "[NET]: Remove obsolete fastroute stats.\n\nRemove last vestiages of fastroute code that is no longer used.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "056ede6cface66b400cd3b8e60ed077cc5b85c18",
      "tree": "cb9ac506ae90158a804f8998d3e3907bc7d487ce",
      "parents": [
        "7c99c909fa69a183c1b80bd64fb9f0d11459aff3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 12:21:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 12:21:28 2005 -0700"
      },
      "message": "[TCP]: Report congestion control algorithm in tcp_diag.\n\nEnhancement to the tcp_diag interface used by the iproute2 ss command\nto report the tcp congestion control being used by a socket.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "317a76f9a44b437d6301718f4e5d08bd93f98da7",
      "tree": "caeba9839dee264f59b035b81c3d13d6c61b638e",
      "parents": [
        "a8ad86f2dc46356f87be1327dabc18bdbda32f50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 12:19:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 12:19:55 2005 -0700"
      },
      "message": "[TCP]: Add pluggable congestion control algorithm infrastructure.\n\nAllow TCP to have multiple pluggable congestion control algorithms.\nAlgorithms are defined by a set of operations and can be built in\nor modules.  The legacy \"new RENO\" algorithm is used as a starting\npoint and fallback.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4749f32da939d4e4160541b2cadc22492bb507ec",
      "tree": "a04b8d1d711f5f7c7dcc4dd43f6bfe17c54c306f",
      "parents": [
        "24665cd00dd06c741ef6268515ca9e6d3cda5c57"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 23 11:36:56 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 10:04:15 2005 -0700"
      },
      "message": "[PATCH] better USB_MON dependencies\n\nThis makes the USB_MON less confusing.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfb07599da289881d3bcbb601a110e997fc7444b",
      "tree": "601c5e683c87e103de37bd68f014ec1f57d09bc7",
      "parents": [
        "790a19cd5711133f40daad7c55bf148de2b1d12c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jun 23 00:10:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:35 2005 -0700"
      },
      "message": "[PATCH] Introduce tty_unregister_ldisc()\n\nIt\u0027s a bit strange to see tty_register_ldisc call in modules\u0027 exit\nfunctions.\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": "c43dc2fd885b5658cfd7cedb7bcca20910c517a4",
      "tree": "98b723badf4a71c9dbf04cfd0babcb02ac577982",
      "parents": [
        "63e6880918e75dcb92d60aff218a76e063a471ef"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Thu Jun 23 00:10:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:34 2005 -0700"
      },
      "message": "[PATCH] aio: make wait_queue -\u003etask -\u003eprivate\n\nIn the upcoming aio_down patch, it is useful to store a private data\npointer in the kiocb\u0027s wait_queue.  Since we provide our own wake up\nfunction and do not require the task_struct pointer, it makes sense to\nconvert the task pointer into a generic private pointer.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a59f452abe11f569e13ec16c51e6d61c54b9838",
      "tree": "0fc242afbf51aac7214e3a9b7620e83d0d4016f2",
      "parents": [
        "f9fd27a253d5e0b23531d12ce7ad15b6535d4486"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:10:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] remove \u003clinux/xattr_acl.h\u003e\n\nThis file duplicates \u003clinux/posix_acl_xattr.h\u003e, using slightly different\nnames.\n\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": "f9fd27a253d5e0b23531d12ce7ad15b6535d4486",
      "tree": "1ff92c3b1ec8c707f71154313ce98e73423b6d54",
      "parents": [
        "30aaa80885df5d1518d498a450e73282cea8d8b1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:10:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] acl endianess annotations\n\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": "45778ca819accab1a4a3378b3566cab0f189164f",
      "tree": "9214491346c8d2d91eb1a11cb6c2e6a9387e4290",
      "parents": [
        "280dedb8d64ccfe1166ae03d3b254fc3b65de6a5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@graphe.net",
        "time": "Thu Jun 23 00:10:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] Remove f_error field from struct file\n\nThe following patch removes the f_error field and all checks of f_error.\n\nTrond said:\n\n  f_error was introduced for NFS, and made sense when we were guaranteed\n  always to have a file pointer around when write errors occurred.  Since\n  then, we have (for various reasons) had to introduce the nfs_open_context in\n  order to track the file read/write state, and it made sense to move our\n  f_error tracking there too.\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bb93e3a52f8db7210258a1a2134cced0b78a46e1",
      "tree": "b6def4c3fe5624769de64e242bb2007fffea55c8",
      "parents": [
        "0d77e5a2c23da734f5a7925f64afa1c2ed92e0f9"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jun 23 00:10:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:32 2005 -0700"
      },
      "message": "[PATCH] block: add unlocked_ioctl support for block devices\n\nThis patch allows block device drivers to convert their ioctl functions to\nunlocked_ioctl() like character devices and other subsystems.  All\nfunctions that were called with the BKL held before are still used that\nway, but I would not be surprised if it could be removed from the ioctl\nfunctions in drivers/block/ioctl.c themselves.\n\nAs a side note, I found that compat_blkdev_ioctl() acquires the BKL as\nwell, which looks like a bug.  I have checked that every user of\ndisk-\u003efops-\u003ecompat_ioctl() in the current git tree gets the BKL itself, so\nit could easily be removed from compat_blkdev_ioctl().\n\nSigned-off-by: 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": "46c271bedd2c8444b1d05bc44928beec0c07debc",
      "tree": "2e28cad2355b62b01815d1acc10d35a806f10ea0",
      "parents": [
        "dfb388bf8a328f206bba33933dd97230f412238b"
      ],
      "author": {
        "name": "Peter Osterlund",
        "email": "petero2@telia.com",
        "time": "Thu Jun 23 00:10:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:30 2005 -0700"
      },
      "message": "[PATCH] Improve CD/DVD packet driver write performance\n\nThis patch improves write performance for the CD/DVD packet writing driver.\n The logic for switching between reading and writing has been changed so\nthat streaming writes are no longer interrupted by read requests.\n\nSigned-off-by: Peter Osterlund \u003cpetero2@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ef3daeda7b58f046f94b26637d500354038d39f4",
      "tree": "acce3fb6a4ef5fa5c4e6962490d6f0db434fbad3",
      "parents": [
        "44e58a6a0bd604f46be9d808408a1cd880cc9b19"
      ],
      "author": {
        "name": "Yoav Zach",
        "email": "yoav_zach@yahoo.com",
        "time": "Thu Jun 23 00:09:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:28 2005 -0700"
      },
      "message": "[PATCH] Don\u0027t force O_LARGEFILE for 32 bit processes on ia64\n\nIn ia64 kernel, the O_LARGEFILE flag is forced when opening a file.  This\nis problematic for execution of 32 bit processes, which are not largefile\naware, either by SW emulation or by HW execution.\n\nFor such processes, the problem is two-fold:\n\n1) When trying to open a file that is larger than 4G\n   the operation should fail, but it\u0027s not\n2) Writing to offset larger than 4G should fail, but\n   it\u0027s not\n\nThe proposed patch takes advantage of the way 32 bit processes are\nidentified in ia64 systems.  Such processes have PER_LINUX32 for their\npersonality.  With the patch, the ia64 kernel will not enforce the\nO_LARGEFILE flag if the current process has PER_LINUX32 set.  The behavior\nfor all other architectures remains unchanged.\n\nSigned-off-by: Yoav Zach \u003cyoav.zach@intel.com\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6e711448137ca3301512cec41a2c2ce852b3d0a",
      "tree": "f0765ebd90fdbdf270c05fcd7f3d32b24ba56681",
      "parents": [
        "8b0914ea7475615c7c8965c1ac8fe4069270f25c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Jun 23 00:09:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:26 2005 -0700"
      },
      "message": "[PATCH] setuid core dump\n\nAdd a new `suid_dumpable\u0027 sysctl:\n\nThis value can be used to query and set the core dump mode for setuid\nor otherwise protected/tainted binaries. The modes are\n\n0 - (default) - traditional behaviour.  Any process which has changed\n    privilege levels or is execute only will not be dumped\n\n1 - (debug) - all processes dump core when possible.  The core dump is\n    owned by the current user and no security is applied.  This is intended\n    for system debugging situations only.  Ptrace is unchecked.\n\n2 - (suidsafe) - any binary which normally would not be dumped is dumped\n    readable by root only.  This allows the end user to remove such a dump but\n    not access it directly.  For security reasons core dumps in this mode will\n    not overwrite one another or other files.  This mode is appropriate when\n    adminstrators are attempting to debug problems in a normal environment.\n\n(akpm:\n\n\u003e \u003e +EXPORT_SYMBOL(suid_dumpable);\n\u003e\n\u003e EXPORT_SYMBOL_GPL?\n\nNo problem to me.\n\n\u003e \u003e  \tif (current-\u003eeuid \u003d\u003d current-\u003euid \u0026\u0026 current-\u003eegid \u003d\u003d current-\u003egid)\n\u003e \u003e  \t\tcurrent-\u003emm-\u003edumpable \u003d 1;\n\u003e\n\u003e Should this be SUID_DUMP_USER?\n\nActually the feedback I had from last time was that the SUID_ defines\nshould go because its clearer to follow the numbers. They can go\neverywhere (and there are lots of places where dumpable is tested/used\nas a bool in untouched code)\n\n\u003e Maybe this should be renamed to `dump_policy\u0027 or something.  Doing that\n\u003e would help us catch any code which isn\u0027t using the #defines, too.\n\nFair comment. The patch was designed to be easy to maintain for Red Hat\nrather than for merging. Changing that field would create a gigantic\ndiff because it is used all over the place.\n\n)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ea32c65cc2d2294c04e9f81d0578a6f51febfdbf",
      "tree": "b301766bcc903f982b0ae85b5edffe9477a65408",
      "parents": [
        "89cb14c0dd0e4a7d0315d19f449389c4d49237ee"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Thu Jun 23 00:09:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:24 2005 -0700"
      },
      "message": "[PATCH] kprobes: Temporary disarming of reentrant probe\n\nIn situations where a kprobes handler calls a routine which has a probe on it,\nthen kprobes_handler() disarms the new probe forever.  This patch removes the\nabove limitation by temporarily disarming the new probe.  When the another\nprobe hits while handling the old probe, the kprobes_handler() saves previous\nkprobes state and handles the new probe without calling the new kprobes\nregistered handlers.  kprobe_post_handler() restores back the previous kprobes\nstate and the normal execution continues.\n\nHowever on x86_64 architecture, re-rentrancy is provided only through\npre_handler().  If a routine having probe is referenced through\npost_handler(), then the probes on that routine are disarmed forever, since\nthe exception stack is gets changed after the processor single steps the\ninstruction of the new probe.\n\nThis patch includes generic changes to support temporary disarming on\nreentrancy of probes.\n\nSigned-of-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0aa55e4d7db822059fe8132fe9f2b7773c48216c",
      "tree": "84075ac377f29f393aff802f00def309a98bcf40",
      "parents": [
        "7e1048b11c5afe79aac46a42e3ccec86b8365c6d"
      ],
      "author": {
        "name": "Hien Nguyen",
        "email": "hien@us.ibm.com",
        "time": "Thu Jun 23 00:09:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:21 2005 -0700"
      },
      "message": "[PATCH] kprobes: moves lock-unlock to non-arch kprobe_flush_task\n\nThis patch moves the lock/unlock of the arch specific kprobe_flush_task()\nto the non-arch specific kprobe_flusk_task().\n\nSigned-off-by: Hien Nguyen \u003chien@us.ibm.com\u003e\nAcked-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e1048b11c5afe79aac46a42e3ccec86b8365c6d",
      "tree": "4f9caee0153e688f22d7e7b6fdc62e35be4fc3fe",
      "parents": [
        "73649dab0fd524cb8545a8cb83c6eaf77b107105"
      ],
      "author": {
        "name": "Rusty Lynch",
        "email": "rusty.lynch@intel.com",
        "time": "Thu Jun 23 00:09:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:21 2005 -0700"
      },
      "message": "[PATCH] Move kprobe [dis]arming into arch specific code\n\nThe architecture independent code of the current kprobes implementation is\narming and disarming kprobes at registration time.  The problem is that the\ncode is assuming that arming and disarming is a just done by a simple write\nof some magic value to an address.  This is problematic for ia64 where our\ninstructions look more like structures, and we can not insert break points\nby just doing something like:\n\n*p-\u003eaddr \u003d BREAKPOINT_INSTRUCTION;\n\nThe following patch to 2.6.12-rc4-mm2 adds two new architecture dependent\nfunctions:\n\n     * void arch_arm_kprobe(struct kprobe *p)\n     * void arch_disarm_kprobe(struct kprobe *p)\n\nand then adds the new functions for each of the architectures that already\nimplement kprobes (spar64/ppc64/i386/x86_64).\n\nI thought arch_[dis]arm_kprobe was the most descriptive of what was really\nhappening, but each of the architectures already had a disarm_kprobe()\nfunction that was really a \"disarm and do some other clean-up items as\nneeded when you stumble across a recursive kprobe.\" So...  I took the\nliberty of changing the code that was calling disarm_kprobe() to call\narch_disarm_kprobe(), and then do the cleanup in the block of code dealing\nwith the recursive kprobe case.\n\nSo far this patch as been tested on i386, x86_64, and ppc64, but still\nneeds to be tested in sparc64.\n\nSigned-off-by: Rusty Lynch \u003crusty.lynch@intel.com\u003e\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b94cce926b2b902b79380ccba370d6f9f2980de0",
      "tree": "da2680b1ec36eae6423ba446d09284d2642ae82b",
      "parents": [
        "2fa389c5eb8c97d621653184d2adf5fdbd4a3167"
      ],
      "author": {
        "name": "Hien Nguyen",
        "email": "hien@us.ibm.com",
        "time": "Thu Jun 23 00:09:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:21 2005 -0700"
      },
      "message": "[PATCH] kprobes: function-return probes\n\nThis patch adds function-return probes to kprobes for the i386\narchitecture.  This enables you to establish a handler to be run when a\nfunction returns.\n\n1. API\n\nTwo new functions are added to kprobes:\n\n\tint register_kretprobe(struct kretprobe *rp);\n\tvoid unregister_kretprobe(struct kretprobe *rp);\n\n2. Registration and unregistration\n\n2.1 Register\n\n  To register a function-return probe, the user populates the following\n  fields in a kretprobe object and calls register_kretprobe() with the\n  kretprobe address as an argument:\n\n  kp.addr - the function\u0027s address\n\n  handler - this function is run after the ret instruction executes, but\n  before control returns to the return address in the caller.\n\n  maxactive - The maximum number of instances of the probed function that\n  can be active concurrently.  For example, if the function is non-\n  recursive and is called with a spinlock or mutex held, maxactive \u003d 1\n  should be enough.  If the function is non-recursive and can never\n  relinquish the CPU (e.g., via a semaphore or preemption), NR_CPUS should\n  be enough.  maxactive is used to determine how many kretprobe_instance\n  objects to allocate for this particular probed function.  If maxactive \u003c\u003d\n  0, it is set to a default value (if CONFIG_PREEMPT maxactive\u003dmax(10, 2 *\n  NR_CPUS) else maxactive\u003dNR_CPUS)\n\n  For example:\n\n    struct kretprobe rp;\n    rp.kp.addr \u003d /* entrypoint address */\n    rp.handler \u003d /*return probe handler */\n    rp.maxactive \u003d /* e.g., 1 or NR_CPUS or 0, see the above explanation */\n    register_kretprobe(\u0026rp);\n\n  The following field may also be of interest:\n\n  nmissed - Initialized to zero when the function-return probe is\n  registered, and incremented every time the probed function is entered but\n  there is no kretprobe_instance object available for establishing the\n  function-return probe (i.e., because maxactive was set too low).\n\n2.2 Unregister\n\n  To unregiter a function-return probe, the user calls\n  unregister_kretprobe() with the same kretprobe object as registered\n  previously.  If a probed function is running when the return probe is\n  unregistered, the function will return as expected, but the handler won\u0027t\n  be run.\n\n3. Limitations\n\n3.1 This patch supports only the i386 architecture, but patches for\n    x86_64 and ppc64 are anticipated soon.\n\n3.2 Return probes operates by replacing the return address in the stack\n    (or in a known register, such as the lr register for ppc).  This may\n    cause __builtin_return_address(0), when invoked from the return-probed\n    function, to return the address of the return-probes trampoline.\n\n3.3 This implementation uses the \"Multiprobes at an address\" feature in\n    2.6.12-rc3-mm3.\n\n3.4 Due to a limitation in multi-probes, you cannot currently establish\n    a return probe and a jprobe on the same function.  A patch to remove\n    this limitation is being tested.\n\nThis feature is required by SystemTap (http://sourceware.org/systemtap),\nand reflects ideas contributed by several SystemTap developers, including\nWill Cohen and Ananth Mavinakayanahalli.\n\nSigned-off-by: Hien Nguyen \u003chien@us.ibm.com\u003e\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@laposte.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84de856ed30c568c2bb7b9ac0679772bd2737d9b",
      "tree": "532e4f6bcc0db2d1baf0455484ec7f64a2a51e71",
      "parents": [
        "df164db5fd16888ddbe2a63a47b2f6dda9a428b5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:09:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:20 2005 -0700"
      },
      "message": "[PATCH] quota: consolidate code surrounding vfs_quota_on_mount\n\nMove some code duplicated in both callers into vfs_quota_on_mount\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac20427ef6aa63da663bdc88b71d16f7394f5e23",
      "tree": "49ba4f88c5cea42d59b386c508174f585efc8a01",
      "parents": [
        "3bc1ee3e8f1c05c0f64a479c6d56eb34a6190599"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@redhat.com",
        "time": "Thu Jun 23 00:09:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:19 2005 -0700"
      },
      "message": "[PATCH] add check to /proc/devices read routines\n\nPatch to add check to get_chrdev_list and get_blkdev_list to prevent reads\nof /proc/devices from spilling over the provided page if more than 4096\nbytes of string data are generated from all the registered character and\nblock devices in a system\n\nSigned-off-by: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "35a82d1a53e1a9ad54efafcc940f9335beaed5c3",
      "tree": "776d5b01970c5ce3e2c9fd4a2c4cf2168a0afa3c",
      "parents": [
        "ab4af03a4054bd78bcabfb2214c9597201beae35"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu Jun 23 00:09:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] optimise loop driver a bit\n\nLooks like locking can be optimised quite a lot.  Increase lock widths\nslightly so lo_lock is taken fewer times per request.  Also it was quite\ntrivial to cover lo_pending with that lock, and remove the atomic\nrequirement.  This also makes memory ordering explicitly correct, which is\nnice (not that I particularly saw any mem ordering bugs).\n\nTest was reading 4 250MB files in parallel on ext2-on-tmpfs filesystem (1K\nblock size, 4K page size).  System is 2 socket Xeon with HT (4 thread).\n\nintel:/home/npiggin# umount /dev/loop0 ; mount /dev/loop0 /mnt/loop ; /usr/bin/time ./mtloop.sh\n\nBefore:\n0.24user 5.51system 0:02.84elapsed 202%CPU (0avgtext+0avgdata 0maxresident)k\n0.19user 5.52system 0:02.88elapsed 198%CPU (0avgtext+0avgdata 0maxresident)k\n0.19user 5.57system 0:02.89elapsed 198%CPU (0avgtext+0avgdata 0maxresident)k\n0.22user 5.51system 0:02.90elapsed 197%CPU (0avgtext+0avgdata 0maxresident)k\n0.19user 5.44system 0:02.91elapsed 193%CPU (0avgtext+0avgdata 0maxresident)k\n\nAfter:\n0.07user 2.34system 0:01.68elapsed 143%CPU (0avgtext+0avgdata 0maxresident)k\n0.06user 2.37system 0:01.68elapsed 144%CPU (0avgtext+0avgdata 0maxresident)k\n0.06user 2.39system 0:01.68elapsed 145%CPU (0avgtext+0avgdata 0maxresident)k\n0.06user 2.36system 0:01.68elapsed 144%CPU (0avgtext+0avgdata 0maxresident)k\n0.06user 2.42system 0:01.68elapsed 147%CPU (0avgtext+0avgdata 0maxresident)k\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543537bd922692bc978e2e356fcd8bfc9c2ee7d5",
      "tree": "0089e3907e7d6c17c01cffc6ea4a8962ed053079",
      "parents": [
        "991114c6fa6a21d1fa4d544abe78592352860c82"
      ],
      "author": {
        "name": "Paulo Marques",
        "email": "pmarques@grupopie.com",
        "time": "Thu Jun 23 00:09:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] create a kstrdup library function\n\nThis patch creates a new kstrdup library function and changes the \"local\"\nimplementations in several places to use this function.\n\nMost of the changes come from the sound and net subsystems.  The sound part\nhad already been acknowledged by Takashi Iwai and the net part by David S.\nMiller.\n\nI left UML alone for now because I would need more time to read the code\ncarefully before making changes there.\n\nSigned-off-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "991114c6fa6a21d1fa4d544abe78592352860c82",
      "tree": "cc81f871756a70a3312552409ee5cacd6625aa1d",
      "parents": [
        "f972be33ce6a08b5f096ba013c7459a3a82f5f39"
      ],
      "author": {
        "name": "Alexander Viro",
        "email": "aviro@redhat.com",
        "time": "Thu Jun 23 00:09:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:17 2005 -0700"
      },
      "message": "[PATCH] fix for prune_icache()/forced final iput() races\n\nBased on analysis and a patch from Russ Weight \u003crweight@us.ibm.com\u003e\n\nThere is a race condition that can occur if an inode is allocated and then\nreleased (using iput) during the -\u003efill_super functions.  The race\ncondition is between kswapd and mount.\n\nFor most filesystems this can only happen in an error path when kswapd is\nrunning concurrently.  For isofs, however, the error can occur in a more\ncommon code path (which is how the bug was found).\n\nThe logic here is \"we want final iput() to free inode *now* instead of\nletting it sit in cache if fs is going down or had not quite come up\".  The\nproblem is with kswapd seeing such inodes in the middle of being killed and\nhappily taking over.\n\nThe clean solution would be to tell kswapd to leave those inodes alone and\nlet our final iput deal with them.  I.e.  add a new flag\n(I_FORCED_FREEING), set it before write_inode_now() there and make\nprune_icache() leave those alone.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd450b7318b75343fd76b3d95416853e34e72c95",
      "tree": "e747348f7d3c9f1615963dde4f2c8baaf842415f",
      "parents": [
        "55c888d6d09a0df236adfaf8ccf06ff5d0646775"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:08:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:16 2005 -0700"
      },
      "message": "[PATCH] timers: introduce try_to_del_timer_sync()\n\nThis patch splits del_timer_sync() into 2 functions.  The new one,\ntry_to_del_timer_sync(), returns -1 when it hits executing timer.\n\nIt can be used in interrupt context, or when the caller hold locks which\ncan prevent completion of the timer\u0027s handler.\n\nNOTE.  Currently it can\u0027t be used in interrupt context in UP case, because\n-\u003erunning_timer is used only with CONFIG_SMP.\n\nShould the need arise, it is possible to kill #ifdef CONFIG_SMP in\nset_running_timer(), it is cheap.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55c888d6d09a0df236adfaf8ccf06ff5d0646775",
      "tree": "deb9434abe3cf7c9b714ccb267ef5d943a847dfe",
      "parents": [
        "bdd646a44672115c986593956aa4ef105485a184"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:08:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:16 2005 -0700"
      },
      "message": "[PATCH] timers fixes/improvements\n\nThis patch tries to solve following problems:\n\n1. del_timer_sync() is racy. The timer can be fired again after\n   del_timer_sync have checked all cpus and before it will recheck\n   timer_pending().\n\n2. It has scalability problems. All cpus are scanned to determine\n   if the timer is running on that cpu.\n\n   With this patch del_timer_sync is O(1) and no slower than plain\n   del_timer(pending_timer), unless it has to actually wait for\n   completion of the currently running timer.\n\n   The only restriction is that the recurring timer should not use\n   add_timer_on().\n\n3. The timers are not serialized wrt to itself.\n\n   If CPU_0 does mod_timer(jiffies+1) while the timer is currently\n   running on CPU 1, it is quite possible that local interrupt on\n   CPU_0 will start that timer before it finished on CPU_1.\n\n4. The timers locking is suboptimal. __mod_timer() takes 3 locks\n   at once and still requires wmb() in del_timer/run_timers.\n\n   The new implementation takes 2 locks sequentially and does not\n   need memory barriers.\n\nCurrently -\u003ebase !\u003d NULL means that the timer is pending. In that case\n-\u003ebase.lock is used to lock the timer. __mod_timer also takes timer-\u003elock\nbecause -\u003ebase can be \u003d\u003d NULL.\n\nThis patch uses timer-\u003eentry.next !\u003d NULL as indication that the timer is\npending. So it does __list_del(), entry-\u003enext \u003d NULL instead of list_del()\nwhen the timer is deleted.\n\nThe -\u003ebase field is used for hashed locking only, it is initialized\nin init_timer() which sets -\u003ebase \u003d per_cpu(tvec_bases). When the\ntvec_bases.lock is locked, it means that all timers which are tied\nto this base via timer-\u003ebase are locked, and the base itself is locked\ntoo.\n\nSo __run_timers/migrate_timers can safely modify all timers which could\nbe found on -\u003etvX lists (pending timers).\n\nWhen the timer\u0027s base is locked, and the timer removed from -\u003eentry list\n(which means that _run_timers/migrate_timers can\u0027t see this timer), it is\npossible to set timer-\u003ebase \u003d NULL and drop the lock: the timer remains\nlocked.\n\nThis patch adds lock_timer_base() helper, which waits for -\u003ebase !\u003d NULL,\nlocks the -\u003ebase, and checks it is still the same.\n\n__mod_timer() schedules the timer on the local CPU and changes it\u0027s base.\nHowever, it does not lock both old and new bases at once. It locks the\ntimer via lock_timer_base(), deletes the timer, sets -\u003ebase \u003d NULL, and\nunlocks old base. Then __mod_timer() locks new_base, sets -\u003ebase \u003d new_base,\nand adds this timer. This simplifies the code, because AB-BA deadlock is not\npossible. __mod_timer() also ensures that the timer\u0027s base is not changed\nwhile the timer\u0027s handler is running on the old base.\n\n__run_timers(), del_timer() do not change -\u003ebase anymore, they only clear\npending flag.\n\nSo del_timer_sync() can test timer-\u003ebase-\u003erunning_timer \u003d\u003d timer to detect\nwhether it is running or not.\n\nWe don\u0027t need timer_list-\u003elock anymore, this patch kills it.\n\nWe also don\u0027t need barriers. del_timer() and __run_timers() used smp_wmb()\nbefore clearing timer\u0027s pending flag. It was needed because __mod_timer()\ndid not lock old_base if the timer is not pending, so __mod_timer()-\u003elist_add()\ncould race with del_timer()-\u003elist_del(). With this patch these functions are\nserialized through base-\u003elock.\n\nOne problem. TIMER_INITIALIZER can\u0027t use per_cpu(tvec_bases). So this patch\nadds global\n\n        struct timer_base_s {\n                spinlock_t lock;\n                struct timer_list *running_timer;\n        } __init_timer_base;\n\nwhich is used by TIMER_INITIALIZER. The corresponding fields in tvec_t_base_s\nstruct are replaced by struct timer_base_s t_base.\n\nIt is indeed ugly. But this can\u0027t have scalability problems. The global\n__init_timer_base.lock is used only when __mod_timer() is called for the first\ntime AND the timer was compile time initialized. After that the timer migrates\nto the local CPU.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Renaud Lienhart \u003crenaud.lienhart@free.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7d37d028dfba90b1b747f8ac685bf0959aeda8b",
      "tree": "38627ec042c05f42feddff2ada95290ebe73679e",
      "parents": [
        "fa72b903f75e4f0f0b2c2feed093005167da4023"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 23 00:08:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:15 2005 -0700"
      },
      "message": "[PATCH] blk: remove BLK_TAGS_{PER_LONG|MASK}\n\nReplace BLK_TAGS_PER_LONG with BITS_PER_LONG and remove unused BLK_TAGS_MASK.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa72b903f75e4f0f0b2c2feed093005167da4023",
      "tree": "12087e87fb8d41d10013946e5b2c91e57265c29e",
      "parents": [
        "2bf0fdad51c6710bf15d0bf4b9b30b8498fe4ddd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 23 00:08:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:15 2005 -0700"
      },
      "message": "[PATCH] blk: remove blk_queue_tag-\u003ereal_max_depth optimization\n\nblk_queue_tag-\u003ereal_max_depth was used to optimize out unnecessary\nallocations/frees on tag resize.  However, the whole thing was very broken -\ntag_map was never allocated to real_max_depth resulting in access beyond the\nend of the map, bits in [max_depth..real_max_depth] were set when initializing\na map and copied when resizing resulting in pre-occupied tags.\n\nAs the gain of the optimization is very small, well, almost nill, remove the\nwhole thing.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "1946089a109251655c5438d92c539bd2930e71ea"
}
