)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "1946089a109251655c5438d92c539bd2930e71ea",
      "tree": "819a492d5a7c4e6e695b150a86abeb99d5ac46eb",
      "parents": [
        "8c5a09082f4e61a176382e96a831a0636b918602"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jun 23 00:08:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:09 2005 -0700"
      },
      "message": "[PATCH] NUMA aware block device control structure allocation\n\nPatch to allocate the control structures for for ide devices on the node of\nthe device itself (for NUMA systems).  The patch depends on the Slab API\nchange patch by Manfred and me (in mm) and the pcidev_to_node patch that I\nposted today.\n\nDoes some realignment too.\n\nSigned-off-by: Justin M. Forbes \u003cjmforbes@linuxtx.org\u003e\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Pravin Shelar \u003cpravin@calsoftinc.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "29751f6991e845f7d002a6ae520bf996b38c8dcd",
      "tree": "f76c4c660ac4d204436f68851979343d2a9ba224",
      "parents": [
        "641c767389b19859a45e6de46d8e18cd935bdb60"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:08:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:05 2005 -0700"
      },
      "message": "[PATCH] sparsemem hotplug base\n\nMake sparse\u0027s initalization be accessible at runtime.  This allows sparse\nmappings to be created after boot in a hotplug situation.\n\nThis patch is separated from the previous one just to give an indication how\nmuch of the sparse infrastructure is *just* for hotplug memory.\n\nThe section_mem_map doesn\u0027t really store a pointer.  It stores something that\nis convenient to do some math against to get a pointer.  It isn\u0027t valid to\njust do *section_mem_map, so I don\u0027t think it should be stored as a pointer.\n\nThere are a couple of things I\u0027d like to store about a section.  First of all,\nthe fact that it is !NULL does not mean that it is present.  There could be\nsuch a combination where section_mem_map *is* NULL, but the math gets you\nproperly to a real mem_map.  So, I don\u0027t think that check is safe.\n\nSince we\u0027re storing 32-bit-aligned structures, we have a few bits in the\nbottom of the pointer to play with.  Use one bit to encode whether there\u0027s\nreally a mem_map there, and the other one to tell whether there\u0027s a valid\nsection there.  We need to distinguish between the two because sometimes\nthere\u0027s a gap between when a section is discovered to be present and when we\ncan get the mem_map for it.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "641c767389b19859a45e6de46d8e18cd935bdb60",
      "tree": "b3ac95aaea213823c226b181b8a301e4ae95bd9d",
      "parents": [
        "05b79bdcb48c18cd9b580c39e3efb9a1ab078151"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:07:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:05 2005 -0700"
      },
      "message": "[PATCH] sparsemem swiss cheese numa layouts\n\nThe part of the sparsemem patch which modifies memmap_init_zone() has recently\nbecome a problem.  It changes behavior so that there is a call to\npfn_to_page() for each individual page inside of a node\u0027s range:\nnode_start_pfn through node_end_pfn.  It used to simply do this once, at the\nbeginning of the node, but having sparsemem\u0027s non-contiguous mem_map[]s inside\nof a node made it necessary to change.\n\nMike Kravetz recently wrote a patch which made the NUMA code accept some new\nkinds of layouts.  The system\u0027s memory was laid out like this, with node 0\u0027s\nmemory in two pieces: one before and one after node 1\u0027s memory:\n\n\tNode 0: +++++     +++++\n\tNode 1:      +++++\n\nPrevious behavior before Mike\u0027s patch was to assign nodes like this:\n\n\tNode 0: 00000     XXXXX\n\tNode 1:      11111\n\nWhere the \u0027X\u0027 areas were simply thrown away.  The new behavior was to make the\npg_data_t span node 0 across all of its areas, including areas that are really\nnode 1\u0027s: Node 0: 000000000000000 Node 1: 11111\n\nThis wastes a little bit of mem_map space, but ends up being OK, and more\nfully utilizes the system\u0027s memory.  memmap_init_zone() initializes all of the\n\"struct page\"s for node 0, even for the \"hole\", but those never get used,\nbecause there is no pfn_to_page() that resolves to those pages.  However, only\ncalling pfn_to_page() once, memmap_init_zone() always uses the pages that were\nallocated for node0-\u003enode_mem_map because:\n\n\tstruct page *start \u003d pfn_to_page(start_pfn);\n\t// effectively start \u003d \u0026node-\u003enode_mem_map[0]\n\tfor (page \u003d start; page \u003c (start + size); page++) {\n\t\tinit_page_here();...\n\t\tpage++;\n\t}\n\nSlow, and wasteful, but generally harmless.\n\nBut, modify that to call pfn_to_page() for each loop iteration (like sparsemem\ndoes):\n\n\tfor (pfn \u003d start_pfn; pfn \u003c \u003c (start_pfn + size); pfn++++) {\n\t\tpage \u003d pfn_to_page(pfn);\n\t}\n\nAnd you end up trying to initialize node 1\u0027s pages too early, along with bogus\ndata from node 0.  This patch checks for those weird layouts and declines to\ntouch the pages, making the more frequent pfn_to_page() calls OK to do.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d41dee369bff3b9dcb6328d4d822926c28cc2594",
      "tree": "a0405f3b7af3ebca21838a7d427bd75a067bf850",
      "parents": [
        "af705362ab6018071310c5fcd436a6b457517d5f"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:07:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:04 2005 -0700"
      },
      "message": "[PATCH] sparsemem memory model\n\nSparsemem abstracts the use of discontiguous mem_maps[].  This kind of\nmem_map[] is needed by discontiguous memory machines (like in the old\nCONFIG_DISCONTIGMEM case) as well as memory hotplug systems.  Sparsemem\nreplaces DISCONTIGMEM when enabled, and it is hoped that it can eventually\nbecome a complete replacement.\n\nA significant advantage over DISCONTIGMEM is that it\u0027s completely separated\nfrom CONFIG_NUMA.  When producing this patch, it became apparent in that NUMA\nand DISCONTIG are often confused.\n\nAnother advantage is that sparse doesn\u0027t require each NUMA node\u0027s ranges to be\ncontiguous.  It can handle overlapping ranges between nodes with no problems,\nwhere DISCONTIGMEM currently throws away that memory.\n\nSparsemem uses an array to provide different pfn_to_page() translations for\neach SECTION_SIZE area of physical memory.  This is what allows the mem_map[]\nto be chopped up.\n\nIn order to do quick pfn_to_page() operations, the section number of the page\nis encoded in page-\u003eflags.  Part of the sparsemem infrastructure enables\nsharing of these bits more dynamically (at compile-time) between the\npage_zone() and sparsemem operations.  However, on 32-bit architectures, the\nnumber of bits is quite limited, and may require growing the size of the\npage-\u003eflags type in certain conditions.  Several things might force this to\noccur: a decrease in the SECTION_SIZE (if you want to hotplug smaller areas of\nmemory), an increase in the physical address space, or an increase in the\nnumber of used page-\u003eflags.\n\nOne thing to note is that, once sparsemem is present, the NUMA node\ninformation no longer needs to be stored in the page-\u003eflags.  It might provide\nspeed increases on certain platforms and will be stored there if there is\nroom.  But, if out of room, an alternate (theoretically slower) mechanism is\nused.\n\nThis patch introduces CONFIG_FLATMEM.  It is used in almost all cases where\nthere used to be an #ifndef DISCONTIG, because SPARSEMEM and DISCONTIGMEM\noften have to compile out the same areas of code.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Martin Bligh \u003cmbligh@aracnet.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b159d43fbf7eaaac6ecc647f51cf4257332db47b",
      "tree": "968d856c1bd80b47c76d27da272d95bcaf97aa78",
      "parents": [
        "368a0a3afad08069b2679ecaff80fc18c10a6e2a"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:07:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:04 2005 -0700"
      },
      "message": "[PATCH] generify early_pfn_to_nid\n\nProvide a default implementation for early_pfn_to_nid returning node 0.  Allow\narchitectures to override this with their own implementation out of\nasm/mmzone.h.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Martin Bligh \u003cmbligh@aracnet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93b7504e3e6c1d98586854806e51bea329ea3aa9",
      "tree": "7b0d6f3a6214960daf3136f8c418178405521c07",
      "parents": [
        "0e19243e9a19ef8e5994852671bd06bb51630811"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:03 2005 -0700"
      },
      "message": "[PATCH] Introduce new Kconfig option for NUMA or DISCONTIG\n\nThere is some confusion that arose when working on SPARSEMEM patch between\nwhat is needed for DISCONTIG vs. NUMA.\n\nMultiple pg_data_t\u0027s are needed for DISCONTIGMEM or NUMA, independently.\nAll of the current NUMA implementations require an implementation of\nDISCONTIG.  Because of this, quite a lot of code which is really needed for\nNUMA is actually under DISCONTIG #ifdefs.  For SPARSEMEM, we changed some\nof these #ifdefs to CONFIG_NUMA, but that broke the DISCONTIG\u003dy and NUMA\u003dn\ncase.\n\nIntroducing this new NEED_MULTIPLE_NODES config option allows code that is\nneeded for both NUMA or DISCONTIG to be separated out from code that is\nspecific to DISCONTIG.\n\nOne great advantage of this approach is that it doesn\u0027t require every\narchitecture to be converted over.  All of the current implementations\nshould \"just work\", only the ones implementing SPARSEMEM will have to be\nfixed up.\n\nThe change to free_area_init() makes it work inside, or out of the new\nconfig option.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "348f8b6c4837a07304d2f72b11ce8d96588065e0",
      "tree": "f4c6c332b2c327630b284598325dff2f44e6c9cf",
      "parents": [
        "6f167ec721108c9282d54424516a12c805e3c306"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:01 2005 -0700"
      },
      "message": "[PATCH] sparsemem base: reorganize page-\u003eflags bit operations\n\nGenerify the value fields in the page_flags.  The aim is to allow the location\nand size of these fields to be varied.  Additionally we want to move away from\nfixed allocations per field whilst still enforcing the overall bit utilisation\nlimits.  We rely on the compiler to spot and optimise the accessor functions.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6f167ec721108c9282d54424516a12c805e3c306",
      "tree": "f7094a2524611ede76b32e4cc3c07987b7b0e275",
      "parents": [
        "c2ebaa425e6630adcbf757b004d257dd4204925b"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:01 2005 -0700"
      },
      "message": "[PATCH] sparsemem base: simple NUMA remap space allocator\n\nIntroduce a simple allocator for the NUMA remap space.  This space is very\nscarce, used for structures which are best allocated node local.\n\nThis mechanism is also used on non-NUMA ia64 systems with a vmem_map to keep\nthe pgdat-\u003enode_mem_map initialized in a consistent place for all\narchitectures.\n\nIssues:\no alloc_remap takes a node_id where we might expect a pgdat which was intended\n  to allow us to allocate the pgdat\u0027s using this mechanism; which we do not yet\n  do.  Could have alloc_remap_node() and alloc_remap_nid() for this purpose.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "408fde81c1bff15c875a3618481e93a01dcc79ea",
      "tree": "89b173c5cccd69a17aa64bff8916c54bdcb2d6fe",
      "parents": [
        "29c31a3bf257e0723423f1f0f9afd1b840434c75"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:00 2005 -0700"
      },
      "message": "[PATCH] remove non-DISCONTIG use of pgdat-\u003enode_mem_map\n\nThis patch effectively eliminates direct use of pgdat-\u003enode_mem_map outside\nof the DISCONTIG code.  On a flat memory system, these fields aren\u0027t\ncurrently used, neither are they on a sparsemem system.\n\nThere was also a node_mem_map(nid) macro on many architectures.  Its use\nalong with the use of -\u003enode_mem_map itself was not consistent.  It has\nbeen removed in favor of two new, more explicit, arch-independent macros:\n\n\tpgdat_page_nr(pgdat, pagenr)\n\tnid_page_nr(nid, pagenr)\n\nI called them \"pgdat\" and \"nid\" because we overload the term \"node\" to mean\n\"NUMA node\", \"DISCONTIG node\" or \"pg_data_t\" in very confusing ways.  I\nbelieve the newer names are much clearer.\n\nThese macros can be overridden in the sparsemem case with a theoretically\nslower operation using node_start_pfn and pfn_to_page(), instead.  We could\nmake this the only behavior if people want, but I don\u0027t want to change too\nmuch at once.  One thing at a time.\n\nThis patch removes more code than it adds.\n\nCompile tested on alpha, alpha discontig, arm, arm-discontig, i386, i386\ngeneric, NUMAQ, Summit, ppc64, ppc64 discontig, and x86_64.  Full list\nhere: http://sr71.net/patches/2.6.12/2.6.12-rc1-mhp2/configs/\n\nBoot tested on NUMAQ, x86 SMP and ppc64 power4/5 LPARs.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Martin J. Bligh \u003cmbligh@aracnet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "060de20e82195d404f7dc6a914685730376fdc80",
      "tree": "f7b8499beaae104016b46e7583b2dbc1d6d7f901",
      "parents": [
        "b7c84c6ada2be942eca6722edb2cfaad412cd5de",
        "2c4ee8f907fc4a3c69273a958f853bf4b358eb49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed Jun 22 23:11:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed Jun 22 23:11:50 2005 -0700"
      },
      "message": "Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "ebc3f64b864fc16a594c2e63bf55a55c7d42084b",
      "tree": "95040f32ad5902051527b91966118e565d48865b",
      "parents": [
        "cb65d506c34c86df5bcef939ce5a8666a451bd8b"
      ],
      "author": {
        "name": "Shaun Pereira",
        "email": "spereira@tusc.com.au",
        "time": "Wed Jun 22 22:16:17 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 22 22:16:17 2005 -0700"
      },
      "message": "[X25]: Fast select with no restriction on response\n\nThis patch is a follow up to patch 1 regarding \"Selective Sub Address\nmatching with call user data\".  It allows use of the Fast-Select-Acceptance\noptional user facility for X.25.\n\nThis patch just implements fast select with no restriction on response\n(NRR).  What this means (according to ITU-T Recomendation 10/96 section\n6.16) is that if in an incoming call packet, the relevant facility bits are\nset for fast-select-NRR, then the called DTE can issue a direct response to\nthe incoming packet using a call-accepted packet that contains\ncall-user-data.  This patch allows such a response.  \n\nThe called DTE can also respond with a clear-request packet that contains\ncall-user-data.  However, this feature is currently not implemented by the\npatch.\n\nHow is Fast Select Acceptance used?\nBy default, the system does not allow fast select acceptance (as before).\nTo enable a response to fast select acceptance,  \nAfter a listen socket in created and bound as follows\n\tsocket(AF_X25, SOCK_SEQPACKET, 0);\n\tbind(call_soc, (struct sockaddr *)\u0026locl_addr, sizeof(locl_addr));\nbut before a listen system call is made, the following ioctl should be used.\n\tioctl(call_soc,SIOCX25CALLACCPTAPPRV);\nNow the listen system call can be made\n\tlisten(call_soc, 4);\nAfter this, an incoming-call packet will be accepted, but no call-accepted \npacket will be sent back until the following system call is made on the socket\nthat accepts the call\n\tioctl(vc_soc,SIOCX25SENDCALLACCPT);\nThe network (or cisco xot router used for testing here) will allow the \napplication server\u0027s call-user-data in the call-accepted packet, \nprovided the call-request was made with Fast-select NRR.\n\nSigned-off-by: Shaun Pereira \u003cspereira@tusc.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb65d506c34c86df5bcef939ce5a8666a451bd8b",
      "tree": "4cf281ba2e90c9c20d28a80d1efc8292aaba699a",
      "parents": [
        "68d318720052154bc6b2513b0f15d0d947cc53c9"
      ],
      "author": {
        "name": "Shaun Pereira",
        "email": "spereira@tusc.com.au",
        "time": "Wed Jun 22 22:15:01 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 22 22:15:01 2005 -0700"
      },
      "message": "[X25]: Selective sub-address matching with call user data.\n\nFrom: Shaun Pereira \u003cspereira@tusc.com.au\u003e\n\nThis is the first (independent of the second) patch of two that I am\nworking on with x25 on linux (tested with xot on a cisco router).  Details\nare as follows.\n\nCurrent state of module:\n\nA server using the current implementation (2.6.11.7) of the x25 module will\naccept a call request/ incoming call packet at the listening x.25 address,\nfrom all callers to that address, as long as NO call user data is present\nin the packet header.\n\nIf the server needs to choose to accept a particular call request/ incoming\ncall packet arriving at its listening x25 address, then the kernel has to\nallow a match of call user data present in the call request packet with its\nown.  This is required when multiple servers listen at the same x25 address\nand device interface.  The kernel currently matches ALL call user data, if\npresent.\n\nCurrent Changes:\n\nThis patch is a follow up to the patch submitted previously by Andrew\nHendry, and allows the user to selectively control the number of octets of\ncall user data in the call request packet, that the kernel will match.  By\ndefault no call user data is matched, even if call user data is present. \nTo allow call user data matching, a cudmatchlength \u003e 0 has to be passed\ninto the kernel after which the passed number of octets will be matched. \nOtherwise the kernel behavior is exactly as the original implementation.\n\nThis patch also ensures that as is normally the case, no call user data\nwill be present in the Call accepted / call connected packet sent back to\nthe caller \n\nFuture Changes on next patch:\n\nThere are cases however when call user data may be present in the call\naccepted packet.  According to the X.25 recommendation (ITU-T 10/96)\nsection 5.2.3.2 call user data may be present in the call accepted packet\nprovided the fast select facility is used.  My next patch will include this\nfast select utility and the ability to send up to 128 octets call user data\nin the call accepted packet provided the fast select facility is used.  I\nam currently testing this, again with xot on linux and cisco.  \n\nSigned-off-by: Shaun Pereira \u003cspereira@tusc.com.au\u003e\n\n(With a fix from Alexey Dobriyan \u003cadobriyan@gmail.com\u003e)\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbeec2e1552949002065435c9829dc244ad85407",
      "tree": "d97dc663bbef4bf59a1858b23a327f14043c33d1",
      "parents": [
        "115c1d6e61b70851d9a363328c3b8d4c2559a1d3"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed Jun 22 22:05:59 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 22 22:05:59 2005 -0700"
      },
      "message": "[NETPOLL]: allow multiple netpoll_clients to register against one interface\n\nThis patch provides support for registering multiple netpoll clients to the\nsame network device.  Only one of these clients may register an rx_hook,\nhowever.  In practice, this restriction has not been problematic.  It is\nworth mentioning, though, that the current design can be easily extended to\nallow for the registration of multiple rx_hooks.\n\nThe basic idea of the patch is that the rx_np pointer in the netpoll_info\nstructure points to the struct netpoll that has rx_hook filled in.  Aside\nfrom this one case, there is no need for a pointer from the struct\nnet_device to an individual struct netpoll.\n\nA lock is introduced to protect the setting and clearing of the np_rx\npointer.  The pointer will only be cleared upon netpoll client module\nremoval, and the lock should be uncontested.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "115c1d6e61b70851d9a363328c3b8d4c2559a1d3",
      "tree": "3bc37b036fd3ef72d188ff73da94472b40c05a44",
      "parents": [
        "6ca4f65e6b390d09e1de7280cf9fd4f5d8e4b48b"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed Jun 22 22:05:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 22 22:05:31 2005 -0700"
      },
      "message": "[NETPOLL]: Introduce a netpoll_info struct\n\nThis patch introduces a netpoll_info structure, which the struct net_device\nwill now point to instead of pointing to a struct netpoll.  The reason for\nthis is two-fold: 1) fields such as the rx_flags, poll_owner, and poll_lock\nshould be maintained per net_device, not per netpoll;  and 2) this is a first\nstep in providing support for multiple netpoll clients to register against the\nsame net_device.\n\nThe struct netpoll is now pointed to by the netpoll_info structure.  As\nsuch, the previous behaviour of the code is preserved.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ca4f65e6b390d09e1de7280cf9fd4f5d8e4b48b",
      "tree": "1ca8b0d0126c5ce1cd7ffc0fe0ccd80235f3307b",
      "parents": [
        "f31f5f051269746179b01017fc5e3dcf6b37c67e"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed Jun 22 22:04:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 22 22:04:55 2005 -0700"
      },
      "message": "[NETPOLL]: Set poll_owner to -1 before unlocking in netpoll_poll_unlock()\n\nThis trivial patch moves the assignment of poll_owner to -1 inside of\nthe lock.  This fixes a potential SMP race in the code.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9092131f7ea2f9e92a510ae13ac4d20165aa921c",
      "tree": "4bcac80a227d320b69454057cdcef41ef43c6c85",
      "parents": [
        "f1b04770b0d073a9d70e5b3b873d274c1c19e1f6",
        "eadf4598e7ec37a234e70e965bd335860e58bda4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed Jun 22 14:32:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed Jun 22 14:32:15 2005 -0700"
      },
      "message": "Merge rsync://client.linux-nfs.org/pub/linux/nfs-2.6\n"
    },
    {
      "commit": "8d0a8a9d0ec790086c64d210af413ac351d89e35",
      "tree": "003a1481e4a8d8487956a6bf04db80dd93264b8b",
      "parents": [
        "ecdbf769b2cb8903e07cd482334c714d89fd1146"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:32 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:42 2005 -0400"
      },
      "message": "[PATCH] NFSv4: Clean up nfs4 lock state accounting\n\n Ensure that lock owner structures are not released prematurely.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ecdbf769b2cb8903e07cd482334c714d89fd1146",
      "tree": "9d02ce4daee662c2711762564662cebc521e3da3",
      "parents": [
        "4f15e2b1f4f3a56e46201714b39436c32218d547"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:31 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:42 2005 -0400"
      },
      "message": "[PATCH] NLM: fix a client-side race on blocking locks.\n\n If the lock blocks, the server may send us a GRANTED message that\n races with the reply to our LOCK request. Make sure that we catch\n the GRANTED by queueing up our request on the nlm_blocked list\n before we send off the first LOCK rpc call.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3da28eb1c6545fe73263a24eba0996217490e1eb",
      "tree": "944ccf9418c75a5c0b121f2c554c92dc93de1efa",
      "parents": [
        "c6a556b88adfacd2af90be84357c8165d716c27d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:31 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:39 2005 -0400"
      },
      "message": "[PATCH] NFS: Replace nfs_page insertion sort with a radix sort\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c6a556b88adfacd2af90be84357c8165d716c27d",
      "tree": "b63d477180052d3d1edabffb51f3fdfe4f699866",
      "parents": [
        "ab0a3dbedc51037f3d2e22ef67717a987b3d15e2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:30 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:39 2005 -0400"
      },
      "message": "[PATCH] NFS: Make searching and waiting on busy writeback requests more efficient.\n\n Basically copies the VFS\u0027s method for tracking writebacks and applies\n it to the struct nfs_page.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fe51beecc55d0b0dce289e4758e7c529a642f63e",
      "tree": "9790d77fafbb52b9237ecd65c57002e87f914e12",
      "parents": [
        "7d52e86274e09fce8ac8f963e3605a84d0a305a7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:30 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:37 2005 -0400"
      },
      "message": "[PATCH] NFS: Ensure that fstat() always returns the correct mtime\n\n Even if the file is open for writes.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7d52e86274e09fce8ac8f963e3605a84d0a305a7",
      "tree": "b9ecc05bbdff94aa344f39b53756bfddbd9db123",
      "parents": [
        "951a143b3fcf15cfa9d38250b7462f821db241db"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:30 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:37 2005 -0400"
      },
      "message": "[PATCH] NFS: Cleanup of caching code, and slight optimization of writes.\n\n Unless we\u0027re doing O_APPEND writes, we really don\u0027t care about revalidating\n the file length. Just make sure that we catch any page cache invalidations.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "951a143b3fcf15cfa9d38250b7462f821db241db",
      "tree": "6e4ea13c5f48cc3e1ac1c8649dd0f9f20c502e20",
      "parents": [
        "08e9eac42edab63bce14b5c8419771f3c92aa3f4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:30 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:36 2005 -0400"
      },
      "message": "[PATCH] NFS: Fix the file size revalidation\n\n Instead of looking at whether or not the file is open for writes before\n we accept to update the length using the server value, we should rather\n be looking at whether or not we are currently caching any writes.\n\n Failure to do so means in particular that we\u0027re not updating the file\n length correctly after obtaining a POSIX or BSD lock.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f0dd2136da6d2070e12bfa6d199b136318e666c7",
      "tree": "a261d4b4d9e29dbce104cf9515a0a209cff387cf",
      "parents": [
        "00a926422765064cb28e218d4837411c88bf6a3e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:29 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:34 2005 -0400"
      },
      "message": "[PATCH] NFS: Clean up readdir changes.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "00a926422765064cb28e218d4837411c88bf6a3e",
      "tree": "1e9ad635821c7b037014307d1a2657dc56b17acf",
      "parents": [
        "ae3884621bf5b4caff7785b9a417f262202965b2"
      ],
      "author": {
        "name": "Olivier Galibert",
        "email": "galibert@pobox.com",
        "time": "Wed Jun 22 17:16:29 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:33 2005 -0400"
      },
      "message": "[PATCH] NFS: Hide NFS server-generated readdir cookies from userland\n\n NFSv3 currently returns the unsigned 64-bit cookie directly to\n userspace. The following patch causes the kernel to generate\n loff_t offsets for the benefit of userland.\n The current server-generated READDIR cookie is cached in the\n nfs_open_context instead of in filp-\u003ef_pos, so we still end up work\n correctly under directory insertions/deletion.\n\n Signed-off-by: Olivier Galibert \u003cgalibert@pobox.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5c6a9f7d92291c832d47e792ed1fafa44acb066e",
      "tree": "c67e62e0b46c22b061d5eb2b28ef702bdf2afa0d",
      "parents": [
        "055ffbea0596942579b0dae71d5dab78de8135f6"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:27 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:25 2005 -0400"
      },
      "message": "[PATCH] NFS: Cache the NFSv3 acls.\n\n Attach acls to inodes in the icache to avoid unnecessary GETACL RPC\n round-trips.  As long as the client doesn\u0027t retrieve any acls itself, only the\n default acls of exiting directories and the default and access acls of new\n directories will end up in the cache, which preserves some memory compared to\n always caching the access and default acl of all files.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "055ffbea0596942579b0dae71d5dab78de8135f6",
      "tree": "4799088989e9923c45089cab905f40247af52a45",
      "parents": [
        "b7fa0554cf1ba6d6895cd0a5b02989a26e0bc704"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:27 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:24 2005 -0400"
      },
      "message": "[PATCH] NFS: Fix handling of the umask when an NFSv3 default acl is present.\n\n NFSv3 has no concept of a umask on the server side: The client applies\n the umask locally, and sends the effective permissions to the server.\n This behavior is wrong when files are created in a directory that has a\n default ACL.  In this case, the umask is supposed to be ignored, and\n only the default ACL determines the file\u0027s effective permissions.\n\n Usually its the server\u0027s task to conditionally apply the umask.  But\n since the server knows nothing about the umask, we have to do it on the\n client side.  This patch tries to fetch the parent directory\u0027s default\n ACL before creating a new file, computes the appropriate create mode to\n send to the server, and finally sets the new file\u0027s access and default\n acl appropriately.\n\n Many thanks to Buck Huppmann \u003cbuchk@pobox.com\u003e for sending the initial\n version of this patch, as well as for arguing why we need this change.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b7fa0554cf1ba6d6895cd0a5b02989a26e0bc704",
      "tree": "83eb405f3ff78c17695999df38c99484e3aee01f",
      "parents": [
        "a257cdd0e2179630d3201c32ba14d7fcb3c3a055"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:27 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:24 2005 -0400"
      },
      "message": "[PATCH] NFS: Add support for NFSv3 ACLs\n\n This adds acl support fo nfs clients via the NFSACL protocol extension, by\n implementing the getxattr, listxattr, setxattr, and removexattr iops for the\n system.posix_acl_access and system.posix_acl_default attributes.  This patch\n implements a dumb version that uses no caching (and thus adds some overhead).\n (Another patch in this patchset adds caching as well.)\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
      "tree": "accf4139050690a65f3f2600355cbcd1a602663b",
      "parents": [
        "9ba02638e4be28dd4ff724202a640264427c62d1"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:26 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:23 2005 -0400"
      },
      "message": "[PATCH] NFSD: Add server support for NFSv3 ACLs.\n\n This adds functions for encoding and decoding POSIX ACLs for the NFSACL\n protocol extension, and the GETACL and SETACL RPCs.  The implementation is\n compatible with NFSACL in Solaris.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9ba02638e4be28dd4ff724202a640264427c62d1",
      "tree": "f9353e37a0b5526f1cbf116c3ed62f26bdfe4cc0",
      "parents": [
        "a838cc49d9a7d5652262a6d1b628628cadffa877"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:24 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:22 2005 -0400"
      },
      "message": "[PATCH] RPC: Allow the sunrpc server to multiplex serveral programs on a single port\n\n The NFS and NFSACL programs run on the same RPC transport.  This patch adds\n support for this by converting svc_program into a chained list of programs\n (server-side).\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Signed-off-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bd8100e7eda87507649c6ba4cb32173b34e49986",
      "tree": "822d8f905bd5e3889ba17dc340dc35cba5fe07ac",
      "parents": [
        "7e06b53d796a3740307b54aa2799077f8a0c84e7"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:24 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:20 2005 -0400"
      },
      "message": "[PATCH] RPC: Encode and decode arbitrary XDR arrays\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7e06b53d796a3740307b54aa2799077f8a0c84e7",
      "tree": "95c00126400914bfd68f84ed7669272e581e9386",
      "parents": [
        "e053d1ab62c8ef0eff3dd4c95448cad3c6d2fbf4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:24 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:19 2005 -0400"
      },
      "message": "[PATCH] RPC: fix accounting bug in the case of a truncated RPC message\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e053d1ab62c8ef0eff3dd4c95448cad3c6d2fbf4",
      "tree": "70ca8b8721761fdd4c12c330f8389958ad160c61",
      "parents": [
        "007e251f2b2760f738c92adc8c80cbae0bed3ce5"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Jun 22 17:16:24 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:19 2005 -0400"
      },
      "message": "[PATCH] RPC: Lazy RPC receive buffer allocation\n\n Signed-off-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "007e251f2b2760f738c92adc8c80cbae0bed3ce5",
      "tree": "364d9d186bb0c68df4af24f1ac4af8e7ff8f118e",
      "parents": [
        "cdf477068e6db0c3e19df96f46abb85202de138c"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:23 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:18 2005 -0400"
      },
      "message": "[PATCH] RPC: Allow multiple RPC client programs to share the same transport\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e50a1c2e1f816c81eed6a589019052cb44189267",
      "tree": "e59dd290e136bd0eb5fc56d325bf34f5ca1efdfb",
      "parents": [
        "4b580ee3dc00f9828a9a7aad2724f448fdc94075"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jun 22 17:16:23 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:15 2005 -0400"
      },
      "message": "[PATCH] NFSv4: client-side caching NFSv4 ACLs\n\n Add nfs4_acl field to the nfs_inode, and use it to cache acls.  Only cache\n acls of size up to a page.  Also prepare for up to a page of acl data even\n when the user doesn\u0027t pass in a buffer, as when they want to get the acl\n length to decide what size buffer to allocate.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "23ec6965c20db96bc8ea7af0ec178f074dd31c40",
      "tree": "0d94c6a7662afe088252050a0778cd52e096ba95",
      "parents": [
        "aa1870af92d8f6d6db0883696516a83ff2b695a6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jun 22 17:16:22 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:13 2005 -0400"
      },
      "message": "[PATCH] NFSv4: Client-side xdr for writing NFSv4 acls\n\n Client-side support for NFSv4 acls: xdr encoding and decoding routines for\n writing acls\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "029d105e66e5a90850d5a09dad76815d0bcfcaa3",
      "tree": "936855da358d98a645e7984b7c957b8f73d4bd4f",
      "parents": [
        "96928206961be05f22c3839f0097b610cc485b5d"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jun 22 17:16:22 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:12 2005 -0400"
      },
      "message": "[PATCH] NFSv4: Client-side xdr for reading NFSv4 acls\n\n Client-side support for NFSv4 acls: xdr encoding and decoding routines for\n reading acls\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ada70d9425bcc5e376fef8591e4e76e204c0834c",
      "tree": "0bf6c369540c467e96555118155cae191fbf71e6",
      "parents": [
        "92cfc62cb8412c9563860b1bf70cd4701f03092e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:22 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:09 2005 -0400"
      },
      "message": "[PATCH] NFS: Add hooks to allow common NFS attribute code to clear cached acls\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "92cfc62cb8412c9563860b1bf70cd4701f03092e",
      "tree": "13b75734522c0cbf6d1ba0663d07ecc13a4f464c",
      "parents": [
        "464a98bd70bae8c559cfc82af799faf44824ce64"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jun 22 17:16:22 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:09 2005 -0400"
      },
      "message": "[PATCH] NFS: Allow NFS versions to support different sets of inode operations.\n\n ACL support will require supporting additional inode operations in v4\n (getxattr, setxattr, listxattr).  This patch allows different protocol versions\n to support different inode operations by adding a file_inode_ops to the\n nfs_rpc_ops (to match the existing dir_inode_ops).\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "464a98bd70bae8c559cfc82af799faf44824ce64",
      "tree": "06013db965c1450bfa800bd9c7e8eca35d320f77",
      "parents": [
        "96651ab341cde0fee940ec837f323d711cbfa7d5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:21 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:08 2005 -0400"
      },
      "message": "[PATCH] NFS: cleanup: shrink struct nfs_open_context\n\n Remove the wait queue, and replace the functions that depended on it\n with wait_on_bit().\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96651ab341cde0fee940ec837f323d711cbfa7d5",
      "tree": "83882bc6a68bb9862ec0fddc33a8309512ccc010",
      "parents": [
        "a656db998785324a818005bcf71bae6dcbbb3cf5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:21 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:07 2005 -0400"
      },
      "message": "[PATCH] RPC: Shrink struct rpc_task by switching to wait_on_bit()\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a656db998785324a818005bcf71bae6dcbbb3cf5",
      "tree": "b60f60bda06fed346c9f839ca2bd976db4e819c5",
      "parents": [
        "4ce79717ce32a9f88c1ddce4b9658556cb59d37a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:21 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:07 2005 -0400"
      },
      "message": "[PATCH] NFS: Remove unused NFS inode field readdir_timestamp.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ce79717ce32a9f88c1ddce4b9658556cb59d37a",
      "tree": "7f0c5e4bdbc2ee15b8e902b951d1be200b35411f",
      "parents": [
        "9085bbcb76421a90bea28f4d3d03fa9977319c49"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:21 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:06 2005 -0400"
      },
      "message": "[PATCH] NFS: Header file cleanup...\n\n - Move NFSv4 state definitions into a private header file.\n - Clean up gunk in nfs_fs.h\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5ee0ed7d3ab620a764740fb018f469d45f561931",
      "tree": "9b6a938fe521815afd3cfb42e2023b443bb05d28",
      "parents": [
        "5b616f5d596c0b056129f8aeafbc08409b3cd050"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:20 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:04 2005 -0400"
      },
      "message": "[PATCH] RPC: Make rpc_create_client() probe server for RPC program+version support\n\n Ensure that we don\u0027t create an RPC client without checking that the server\n does indeed support the RPC program + version that we are trying to set up.\n\n This enables us to immediately return an error to \"mount\" if it turns out\n that the server is only supporting NFSv2, when we requested NFSv3 or NFSv4.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd7f0b80926befc8c70a873b5b0c0c7b5fd1e7b9",
      "tree": "db6acc37b5803014e8fa18c34177567550b8d4c8",
      "parents": [
        "5d927eb0101eb791fb2d4f72b49a2da5faf01941"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Wed Jun 22 12:38:33 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 22 12:38:33 2005 -0700"
      },
      "message": "[NETFILTER]: Fix \"iptables -D\" rule deletion with ipt_CLUSTERIP target.\n\nThe patch just changes the order of structure members.\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb7a0e36532bc231bea8adfb1dddc3961eb38940",
      "tree": "82cb74383809668d6d92a5124fc60d11b35c8d6e",
      "parents": [
        "4e93d3e8859c834ee18dfd33051d24df8669d0c0",
        "29516d75a0b09e0a0328dd55c98a342515c9615a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed Jun 22 12:22:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed Jun 22 12:22:12 2005 -0700"
      },
      "message": "Merge kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git\n\nDo arch/ia64/defconfig by hand.\n"
    },
    {
      "commit": "c124a78d8c7475ecc43f385f34112b638c4228d9",
      "tree": "46de795c5e2da258a54501658f74e9619c271527",
      "parents": [
        "69dd204b6b45987dbf9ce7058cd238d355865281"
      ],
      "author": {
        "name": "Randy Vinson",
        "email": "rvinson@mvista.com",
        "time": "Fri Jun 03 14:36:06 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 21 21:52:06 2005 -0700"
      },
      "message": "[PATCH] I2C: Add support for Maxim/Dallas DS1374 Real-Time Clock Chip (1/2)\n\nAdd support for Maxim/Dallas DS1374 Real-Time Clock Chip\n\nThis change adds support for the Maxim/Dallas DS1374 RTC chip. This chip\nis an I2C-based RTC that maintains a simple 32-bit binary seconds count\nwith battery backup support.\n\nSigned-off-by: Randy Vinson \u003crvinson@mvista.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "10c08f8100ee2c4d27b862635574cdf4ef439e67",
      "tree": "7055414032c3fd5fa066c6574804011132b69cb5",
      "parents": [
        "c3bc4caedd84ad03360cb9ec04b6c44ab314588b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Jun 06 19:34:45 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 21 21:52:05 2005 -0700"
      },
      "message": "[PATCH] I2C: rename i2c-sysfs.h to hwmon-sysfs.h\n\nThis patch renames the new linux/i2c-sysfs.h header file to\nlinux/hwmon-sysfs.h. This names seems to be more appropriate since this\nfile defines macros and structures not related to i2c but to hardware\nmonitoring drivers. The patch also updates the five hardware monitoring\ndriver which include that header file already.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3886246a257e828248ce1e72ced00408a3557f0d",
      "tree": "ef1a71bf68f653b277de964d5c3156c90f21cd2f",
      "parents": [
        "792f156d61d327671f58829dc04ad5609152e393"
      ],
      "author": {
        "name": "Sebastian Witt",
        "email": "se.witt@gmx.net",
        "time": "Wed Apr 13 22:25:39 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 21 21:51:49 2005 -0700"
      },
      "message": "[PATCH] I2C: i2c-vid.h: Support for VID to reg conversion\n\nAdds conversion from VID (mV) to register value. Used by the atxp1 I2C module.\nRemoved uneeded switch case.\n\nSigned-off-by: Sebastian Witt \u003cse.witt@gmx.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b3d5496ea5915fa4848fe307af9f7097f312e932",
      "tree": "e358977311df194ebac13d57c5e8abf1a87bd65c",
      "parents": [
        "2a5a68b840cbab31baab2d9b2e1e6de3b289ae1e"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Apr 02 20:31:02 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 21 21:51:48 2005 -0700"
      },
      "message": "[PATCH] I2C: Kill address ranges in non-sensors i2c chip drivers\n\nSome months ago, you killed the address ranges mechanism from all\nsensors i2c chip drivers (both the module parameters and the in-code\naddress lists). I think it was a very good move, as the ranges can\neasily be replaced by individual addresses, and this allowed for\nsignificant cleanups in the i2c core (let alone the impressive size\nshrink for all these drivers).\n\nUnfortunately you did not do the same for non-sensors i2c chip drivers.\nThese need the address ranges even less, so we could get rid of the\nranges here as well for another significant i2c core cleanup. Here comes\na patch which does just that. Since the process is exactly the same as\nwhat you did for the other drivers set already, I did not split this one\nin parts.\n\nA documentation update is included.\n\nThe change saves 308 bytes in the i2c core, and an average 1382 bytes\nfor chip drivers which use I2C_CLIENT_INSMOD, 126 bytes for those which\ndo not.\n\nThis change is required if we want to merge the sensors and non-sensors\ni2c code (and we want to do this).\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: gregkh-2.6/Documentation/i2c/writing-clients\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "39730960d94306d7be414e8d54f4e5c071af1278",
      "tree": "e12516ecea53d782f845717f53ffa304be69aa37",
      "parents": [
        "7bfa19f2748000d646dbdf8f48258cfe1d257b52"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:47 2005 -0700"
      },
      "message": "[PATCH] Two small fixes for md verion-1 superblocks.\n\n1/ Must typecast int to (sector_t) before inverting or we\n might not invert enough bits.\n\n2/ When \"bitmap_offset\" was added to mdp_superblock_1, we didn\u0027t increase\n   the count of words-used (96 to 100).\n\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": "7bfa19f2748000d646dbdf8f48258cfe1d257b52",
      "tree": "2f7e6b0a0cba4ac01d7809224023a7dc73b94840",
      "parents": [
        "a654b9d8f851f4ca02649d5825cbe6c608adb10c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:47 2005 -0700"
      },
      "message": "[PATCH] md: allow md to update multiple superblocks in parallel.\n\ncurrently, md updates all superblocks (one on each device) in series.  It\nwaits for one write to complete before starting the next.  This isn\u0027t a big\nproblem as superblock updates don\u0027t happen that often.\n\nHowever it is neater to do it in parallel, and if the drives in the array have\ngone to \"sleep\" after a period of idleness, then waking them is parallel is\nfaster (and someone else should be worrying about power drain).\n\nFuther, we will need parallel superblock updates for a future patch which\nkeeps the intent-logging bitmap near the superblock.\n\nAlso remove the silly code that retired superblock updates 100 times.  This\nsimply never made sense.\n\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": "a654b9d8f851f4ca02649d5825cbe6c608adb10c",
      "tree": "747301647f619a9f1dd48f4d6be96b5e35d2484c",
      "parents": [
        "3d310eb7b3df1252e8595d059d982b0a9825a137"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:47 2005 -0700"
      },
      "message": "[PATCH] md: allow md intent bitmap to be stored near the superblock.\n\nThis provides an alternate to storing the bitmap in a separate file.  The\nbitmap can be stored at a given offset from the superblock.  Obviously the\ncreator of the array must make sure this doesn\u0027t intersect with data....\nAfter is good for version-0.90 superblocks.\n\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": "3d310eb7b3df1252e8595d059d982b0a9825a137",
      "tree": "9bca5e7eaa437d60010c1745b9aeb9592439d482",
      "parents": [
        "41158c7eb22312cfaa256744e1553bb4042ff085"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:46 2005 -0700"
      },
      "message": "[PATCH] md: fix deadlock due to md thread processing delayed requests.\n\nBefore completing a \u0027write\u0027 the md superblock might need to be updated.\nThis is best done by the md_thread.\n\nThe current code schedules this up and queues the write request for later\nhandling by the md_thread.\n\nHowever some personalities (Raid5/raid6) will deadlock if the md_thread\ntries to submit requests to its own array.\n\nSo this patch changes things so the processes submitting the request waits\nfor the superblock to be written and then submits the request itself.\n\nThis fixes a recently-created deadlock in raid5/raid6\n\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": "41158c7eb22312cfaa256744e1553bb4042ff085",
      "tree": "21c28e0630d66fc32d758993299a78088a846562",
      "parents": [
        "289e99e8ed8f36e386bf7de49947311c17ae1482"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:46 2005 -0700"
      },
      "message": "[PATCH] md: optimise reconstruction when re-adding a recently failed drive.\n\nWhen an array is degraded, bit in the intent-bitmap are never cleared.  So if\na recently failed drive is re-added, we only need to reconstruct the block\nthat are still reflected in the bitmap.\n\nThis patch adds support for this re-adding.\n\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": "191ea9b2c7cc3ebbe0678834ab710d7d95ad3f9a",
      "tree": "25ccd0d191742f4e25f37784370520d254aacc12",
      "parents": [
        "aa3163f81654fa057039258e32a6811147bf0c14"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:46 2005 -0700"
      },
      "message": "[PATCH] md: raid1 support for bitmap intent logging\n\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": "77ad4bc706fe6c52ab953f31c287a6af712d080c",
      "tree": "6823261d0e111a93c5190ebb1f2ecd8c4905a559",
      "parents": [
        "bfb39fba4e8cdda091f9ebee29fbb8331c4bb605"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:45 2005 -0700"
      },
      "message": "[PATCH] md: enable the bitmap write-back daemon and wait for it.\n\nCurrently we don\u0027t wait for updates to the bitmap to be flushed to disk\nproperly.  The infrastructure all there, but it isn\u0027t being used....\n\nA separate kernel thread (bitmap_writeback_daemon) is needed to wait for each\npage as we cannot get callbacks when a page write completes.\n\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": "32a7627cf3a35396a8e834faf34e38ae9f3b1309",
      "tree": "3fe7764f5d8e39d835a397e1099358d924b02981",
      "parents": [
        "57afd89f98a990747445f01c458ecae64263b2f8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:43 2005 -0700"
      },
      "message": "[PATCH] md: optimised resync using Bitmap based intent logging\n\nWith this patch, the intent to write to some block in the array can be logged\nto a bitmap file.  Each bit represents some number of sectors and is set\nbefore any update happens, and only cleared when all writes relating to all\nsectors are complete.\n\nAfter an unclean shutdown, information in this bitmap can be used to optimise\nresync - only sectors which could be out-of-sync need to be updated.\n\nAlso if a drive is removed and then added back into an array, the recovery can\nmake use of the bitmap to optimise reconstruction.  This is not implemented in\nthis patch.\n\nCurrently the bitmap is stored in a file which must (obviously) be stored on a\nseparate device.\n\nThe patch only provided infrastructure.  It does not update any personalities\nto bitmap intent logging.\n\nMd arrays can still be used with no bitmap file.  This patch has minimal\nimpact on such arrays.\n\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": "57afd89f98a990747445f01c458ecae64263b2f8",
      "tree": "cab9f5941f32299bc97936e111f6552ebcee9cf6",
      "parents": [
        "06d91a5fe0b50c9060e70bdf7786f8a3c66249db"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:43 2005 -0700"
      },
      "message": "[PATCH] md: improve the interface to sync_request\n\n1/ change the return value (which is number-of-sectors synced)\n from \u0027int\u0027 to \u0027sector_t\u0027.\n The number of sectors is usually easily small enough to fit\n in an int, but if resync needs to abort, it may want to return\n the total number of remaining sectors, which could be large.\n Also errors cannot be returned as negative numbers now, so use\n 0 instead\n2/ Add a \u0027skipped\u0027 return parameter to allow the array to report\n that it skipped the sectors.  This allows md to take this into account\n in the speed calculations.\n Currently there is no important skipping, but the bitmap-based-resync\n that is coming will use this.\n\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": "06d91a5fe0b50c9060e70bdf7786f8a3c66249db",
      "tree": "95a8b9228534cebb12eb31c1cc9cc0c45f685410",
      "parents": [
        "fca4d848f0e6fafdc2b25f8a0cf1e76935f13ac2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:43 2005 -0700"
      },
      "message": "[PATCH] md: improve locking on \u0027safemode\u0027 and move superblock writes\n\nWhen md marks the superblock dirty before a write, it calls\ngeneric_make_request (to write the superblock) from within\ngeneric_make_request (to write the first dirty block), which could cause\nproblems later.\n\nWith this patch, the superblock write is always done by the helper thread, and\nwrite request are delayed until that write completes.\n\nAlso, the locking around marking the array dirty and writing the superblock is\nimproved to avoid possible races.\n\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": "f1ab5dac251bb4514607918b0019a3b3f5f5fb48",
      "tree": "65d7912b1d407b1dc12b9e2f67b4311a153a41e5",
      "parents": [
        "303b86d9913eca0cbfc3c5cb41e7006f6e13b755"
      ],
      "author": {
        "name": "James Simmons",
        "email": "jsimmons@pentafluge.infradead.org",
        "time": "Tue Jun 21 17:17:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:41 2005 -0700"
      },
      "message": "[PATCH] fbdev: stack reduction\n\nShrink the stack when calling the drawing alignment functions.\n\nSigned-off-by: James Simmons \u003cjsimmons@www.infradead.org\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@hotpop.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "303b86d9913eca0cbfc3c5cb41e7006f6e13b755",
      "tree": "9e6839b9606901e796e1d5a255cb63c0d0d3e85f",
      "parents": [
        "d5881eb4883ef7dd28a4dcea237714817c4b2f8e"
      ],
      "author": {
        "name": "Jurriaan",
        "email": "thunder7@xs4all.nl",
        "time": "Tue Jun 21 17:17:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:41 2005 -0700"
      },
      "message": "[PATCH] New framebuffer fonts + updated 12x22 font available\n\nImprove the fonts for use with the framebuffer.\n\nI\u0027ve added all the characters marked \u0027FIXME\u0027 in the sun12x22 font and\ncreated a 10x18 font (based on the sun12x22 font) and a 7x14 font (based\non the vga8x16 font).\n\nThis patch is non-intrusive, no options are enabled by default so most\nusers won\u0027t notice a thing.\n\nI am placing my changes under the GPL, however, I\u0027ve not seen any copyright\nnotices on the sun12x22 font and the vga8x16 font which I derived my new\nfonts from so I don\u0027t know what the copyright status is.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d5881eb4883ef7dd28a4dcea237714817c4b2f8e",
      "tree": "2733efd5876000ba544b8d16a666a6a7c28625e4",
      "parents": [
        "1154ea7dcd8eed758fb5ec47393a79d5a1f0bc43"
      ],
      "author": {
        "name": "James Simmons",
        "email": "jsimmons@www.infradead.org",
        "time": "Tue Jun 21 17:17:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:41 2005 -0700"
      },
      "message": "[PATCH] fbdev: new pci id for chipsfb\n\nPatch adds pci ID for CT 69000 chipset.\n\nSigned-off-by: James Simmons \u003cjsimmons@www.infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1154ea7dcd8eed758fb5ec47393a79d5a1f0bc43",
      "tree": "5c5c67e549c60b030555f97fb66c1501f86897d2",
      "parents": [
        "4ff45f515144d232c83bf55c53f54deecb750296"
      ],
      "author": {
        "name": "Jaya Kumar",
        "email": "jayalk@intworks.biz",
        "time": "Tue Jun 21 17:17:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:41 2005 -0700"
      },
      "message": "[PATCH] Framebuffer driver for Arc LCD board\n\nAdd support for the Arc monochrome LCD board.\n\nThe board uses KS108 controllers to drive individual 64x64 LCD matrices.\nThe board can be paneled in a variety of setups such as 2x1\u003d128x64,\n4x4\u003d256x256 and so on.  The board/host interface is through GPIO.\n\nSigned-off-by: Jaya Kumar \u003cjayalk@intworks.biz\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: \u003clinux-fbdev-devel@lists.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5a9951c94e7a285a3d00648e3d790a7f016bd11",
      "tree": "47815b54fef9bae70f26053cacdd489ff338d152",
      "parents": [
        "5a3b5899f190a365eed806302f4b58a493233f96"
      ],
      "author": {
        "name": "James Simmons",
        "email": "jsimmons@pentafluge.infradead.org",
        "time": "Tue Jun 21 17:16:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:39 2005 -0700"
      },
      "message": "[PATCH] fbdev: iomove removal\n\nSince no one is using the inbuf, outbuf of struct fb_pixmap I removed their\nuse in the framebuffer console.  The idea is instead move the pixmap\nfunctionality below the accelerated functions intead of on top as the way\nit is now.  If there is no objection please apply.  This is against Linus\nlatestr GIT tree.  Thank you.\n\nSigned-off-by: James Simmons \u003cjsimmons@www.infradead.org\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a96619145840c6eb50d85759f72d9337db411f7",
      "tree": "4363df6793fffeef8e400c81aebbc9f25cff7da2",
      "parents": [
        "1684b2bba6972749bc9acee57585acd6c78050b2"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jun 21 17:16:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:36 2005 -0700"
      },
      "message": "[PATCH] autofs4: subversion bump to identify these changes\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b77d6adc922b8bbf8b16b67f567958c42962cf88",
      "tree": "6d212543f10d0330b73ec3932d17c97a1da56bdf",
      "parents": [
        "faec1e99ba9ca7371d9aee1656938373133c4b21"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Tue Jun 21 17:16:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:32 2005 -0700"
      },
      "message": "[PATCH] uml: make hw_controller_type-\u003erelease exist only for archs needing it\n\nWith Chris Wedgwood \u003ccw@f00f.org\u003e\n\nAs suggested by Chris, we can make the \"just added\" method -\u003erelease\nconditional to UML only (better: to archs requesting it, i.e.  only UML\ncurrently), so that other archs don\u0027t get this unneeded crud, and if UML\nwon\u0027t need it any more we can kill this.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCC: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dbce706e2550253c5ab6043f4f5dfde0cd02470f",
      "tree": "5d96bab350d86e43e32faa80b64e05e7dc514ae8",
      "parents": [
        "5757b284a300e0e5d2173750906625b6470bd9f0"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Tue Jun 21 17:16:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:32 2005 -0700"
      },
      "message": "[PATCH] uml: add and use generic hw_controller_type-\u003erelease\n\nWith Chris Wedgwood \u003ccw@f00f.org\u003e\n\nCurrently UML must explicitly call the UML-specific\nfree_irq_by_irq_and_dev() for each free_irq call it\u0027s done.\n\nThis is needed because -\u003eshutdown and/or -\u003edisable are only called when the\nlast \"action\" for that irq is removed.\n\nInstead, for UML shared IRQs (UML IRQs are very often, if not always,\nshared), for each dev_id some setup is done, which must be cleared on the\nrelease of that fd.  For instance, for each open console a new instance\n(i.e.  new dev_id) of the same IRQ is requested().\n\nExactly, a fd is stored in an array (pollfds), which is after read by a\nhost thread and passed to poll().  Each event registered by poll() triggers\nan interrupt.  So, for each free_irq() we must remove the corresponding\nhost fd from the table, which we do via this -release() method.\n\nIn this patch we add an appropriate hook for this, and remove all uses of\nit by pointing the hook to the said procedure; this is safe to do since the\nsaid procedure.\n\nAlso some cosmetic improvements are included.\n\nThis is heavily based on some work by Chris Wedgwood, which however didn\u0027t\nget the patch merged for something I\u0027d call a \"misunderstanding\" (the need\nfor this patch wasn\u0027t cleanly explained, thus adding the generic hook was\nfelt as undesirable).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCC: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d4c477ca5448f19afaaf6c0cfd655009ea9e614d",
      "tree": "75571ad144ff904afbd39b1b24766461255396ac",
      "parents": [
        "e5d310b349b2cbcc0dab31139c92201f332695bb"
      ],
      "author": {
        "name": "Brent Casavant",
        "email": "bcasavan@sgi.com",
        "time": "Tue Jun 21 17:16:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:32 2005 -0700"
      },
      "message": "[PATCH] ioc4: PCI bus speed detection\n\nSeveral hardware features of SGI\u0027s IOC4 I/O controller chip require\ntiming-related driver calculations dependent upon the PCI bus speed.  This\npatch enables the core IOC4 driver code to detect the actual bus speed and\nstore a value that can later be used by the IOC4 subdrivers as needed.\n\nSigned-off-by: Brent Casavant \u003cbcasavan@sgi.com\u003e\nAcked-by: Pat Gefre \u003cpfg@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22329b511a97557b293583194037d1f4c71e1504",
      "tree": "925e6c4566371e7ffb66a54b631049b958c19eca",
      "parents": [
        "e400bae98499583767da58fb0a1b9ad3e24fcb86"
      ],
      "author": {
        "name": "Brent Casavant",
        "email": "bcasavan@sgi.com",
        "time": "Tue Jun 21 17:15:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:32 2005 -0700"
      },
      "message": "[PATCH] ioc4: Core driver rewrite\n\nThis series of patches reworks the configuration and internal structure\nof the SGI IOC4 I/O controller device drivers.\n\nThese changes are motivated by several factors:\n\n- The IOC4 chip PCI resources are of mixed use between functions (i.e.\n  multiple functions are handled in the same address range, sometimes\n  within the same register), muddling resource ownership and initialization\n  issues.  Centralizing this ownership in a core driver is desirable.\n\n- The IOC4 chip implements multiple functions (serial, IDE, others not\n  yet implemented in the mainline kernel) but is not a multifunction\n  PCI device.  In order to properly handle device addition and removal\n  as well as module insertion and deletion, an intermediary IOC4-specific\n  driver layer is needed to handle these operations cleanly.\n\n- All IOC4 drivers are currently enabled by a single CONFIG value.  As\n  not all systems need all IOC4 functions, it is desireable to enable\n  these drivers independently.\n\n- The current IOC4 core driver will trigger loading of all function-level\n  drivers, as it makes direct calls to them.  This situation should be\n  reversed (i.e. function-level drivers cause loading of core driver)\n  in order to maintain a clear and least-surprise driver loading model.\n\n- IOC4 hardware design necessitates some driver-level dependency on\n  the PCI bus clock speed.  Current code assumes a 66MHz bus, but the\n  speed should be autodetected and appropriate compensation taken.\n\nThis patch series effects the above changes by a newly and better designed\nIOC4 core driver with which the function-level drivers can register and\nderegister themselves upon module insertion/removal.  By tracking these\nmodules, device addition/removal is also handled properly.  PCI resource\nmanagement and ownership issues are centralized in this core driver, and\nIOC4-wide configuration actions such as bus speed detection are also\nhandled in this core driver.\n\nThis patch:\n\nThe SGI IOC4 I/O controller chip implements multiple functions, though it is\nnot a multi-function PCI device.  Additionally, various PCI resources of the\nIOC4 are shared by multiple hardware functions, and thus resource ownership by\ndriver is not clearly delineated.  Due to the current driver design, all core\nand subordinate drivers must be loaded, or none, which is undesirable if not\nall IOC4 hardware features are being used.\n\nThis patch reorganizes the IOC4 drivers so that the core driver provides a\nsubdriver registration service.  Through appropriate callbacks the subdrivers\ncan now handle device addition and removal, as well as module insertion and\ndeletion (though the IOC4 IDE driver requires further work before module\ndeletion will work).  The core driver now takes care of allocating PCI\nresources and data which must be shared between subdrivers, to clearly\ndelineate module ownership of these items.\n\nSigned-off-by: Brent Casavant \u003cbcasavan@sgi.com\u003e\nAcked-by: Pat Gefre \u003cpfg@sgi.com\nAcked-by: Jeremy Higdon \u003cjeremy@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b37b700f7c491a9320f4e29472bbaf23dded8fd",
      "tree": "e8a77c322bec5e75f0524c99f3be61645560b3c3",
      "parents": [
        "da3caa204ca40c32dcb751ebead2a6835b83e8d1"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@freescale.com",
        "time": "Tue Jun 21 17:15:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:23 2005 -0700"
      },
      "message": "[PATCH] ppc32: Added support for new MPC8548 family of PowerQUICC III processors\n\nAdded descriptions of the new MPC8548 family processors, e500 core and\nperipherals.\n\nSigned-off-by: Kumar Gala \u003ckumar.gala@freescale.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f14f75b81187cdbe10cc53a521bf9fdf97b59f8c",
      "tree": "5c0d48c8a3338e6f1747e6cd55f699be96ffef1a",
      "parents": [
        "2caaad41e4aa8f5dd999695b4ddeaa0e7f3912a4"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@wildopensource.com",
        "time": "Tue Jun 21 17:15:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] ia64 uncached alloc\n\nThis patch contains the ia64 uncached page allocator and the generic\nallocator (genalloc).  The uncached allocator was formerly part of the SN2\nmspec driver but there are several other users of it so it has been split\noff from the driver.\n\nThe generic allocator can be used by device driver to manage special memory\netc.  The generic allocator is based on the allocator from the sym53c8xx_2\ndriver.\n\nVarious users on ia64 needs uncached memory.  The SGI SN architecture requires\nit for inter-partition communication between partitions within a large NUMA\ncluster.  The specific user for this is the XPC code.  Another application is\nlarge MPI style applications which use it for synchronization, on SN this can\nbe done using special \u0027fetchop\u0027 operations but it also benefits non SN\nhardware which may use regular uncached memory for this purpose.  Performance\nof doing this through uncached vs cached memory is pretty substantial.  This\nis handled by the mspec driver which I will push out in a seperate patch.\n\nRather than creating a specific allocator for just uncached memory I came up\nwith genalloc which is a generic purpose allocator that can be used by device\ndrivers and other subsystems as they please.  For instance to handle onboard\ndevice memory.  It was derived from the sym53c7xx_2 driver\u0027s allocator which\nis also an example of a potential user (I am refraining from modifying sym2\nright now as it seems to have been under fairly heavy development recently).\n\nOn ia64 memory has various properties within a granule, ie.  it isn\u0027t safe to\naccess memory as uncached within the same granule as currently has memory\naccessed in cached mode.  The regular system therefore doesn\u0027t utilize memory\nin the lower granules which is mixed in with device PAL code etc.  The\nuncached driver walks the EFI memmap and pulls out the spill uncached pages\nand sticks them into the uncached pool.  Only after these chunks have been\nutilized, will it start converting regular cached memory into uncached memory.\nHence the reason for the EFI related code additions.\n\nSigned-off-by: Jes Sorensen \u003cjes@wildopensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4ae7c03943fca73f23bc0cdb938070f41b98101f",
      "tree": "d4b3a7369896af7aa7bb58d0d1699be91fc4aa0d",
      "parents": [
        "578c2fd6a7f378434655e5c480e23152a3994404"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Tue Jun 21 17:14:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] Periodically drain non local pagesets\n\nThe pageset array can potentially acquire a huge amount of memory on large\nNUMA systems.  F.e.  on a system with 512 processors and 256 nodes there\nwill be 256*512 pagesets.  If each pageset only holds 5 pages then we are\ntalking about 655360 pages.With a 16K page size on IA64 this results in\npotentially 10 Gigabytes of memory being trapped in pagesets.  The typical\ncases are much less for smaller systems but there is still the potential of\nmemory being trapped in off node pagesets.  Off node memory may be rarely\nused if local memory is available and so we may potentially have memory in\nseldom used pagesets without this patch.\n\nThe slab allocator flushes its per cpu caches every 2 seconds.  The\nfollowing patch flushes the off node pageset caches in the same way by\ntying into the slab flush.\n\nThe patch also changes /proc/zoneinfo to include the number of pages\ncurrently in each pageset.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c2f29ea111e3344ed48257c2a142c3db514e1529",
      "tree": "6750edefb1f08a6be545250fdaca72fa211ef338",
      "parents": [
        "83e5d8f7253cb7b14472385a6d57df1e9f848e8e"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Jun 21 17:14:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] __read_page_state(): pass unsigned long instead of unsigned\n\nBy making the offset argument of __read_page_state an unsigned long instead of\nunsigned, we can avoid forcing the compiler to sign extend a usually constant\nargument.  This saves 1 instruction on x86-64.\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": "83e5d8f7253cb7b14472385a6d57df1e9f848e8e",
      "tree": "bafb314103aefbb5699aed2b2b284d8954a888d9",
      "parents": [
        "1ad539b2bd89bf2e129123eb24d5bcc4484a35de"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Jun 21 17:14:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] __mod_page_state(): pass unsigned long instead of unsigned\n\nBy making the offset argument of __mod_page_state an unsigned long instead\nof unsigned, we can avoid forcing the compiler to sign extend a usually\nconstant argument.  This saves 1 instruction on x86-64.\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": "1ad539b2bd89bf2e129123eb24d5bcc4484a35de",
      "tree": "e416e208cdbd5d9890d39e39384e4ec913c26ef6",
      "parents": [
        "cbe37d093707762fc0abb280781e6a82a9d8d568"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Tue Jun 21 17:14:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] vm: try_to_free_pages unused argument\n\ntry_to_free_pages accepts a third argument, order, but hasn\u0027t used it since\nbefore 2.6.0.  The following patch removes the argument and updates all the\ncalls to try_to_free_pages.\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cbe37d093707762fc0abb280781e6a82a9d8d568",
      "tree": "8af4a268765346655291f1ef27df12d11825269c",
      "parents": [
        "73219d178051691a56d57184d8c7f6d0cbe3c5c1"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Tue Jun 21 17:14:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] mm: remove PG_highmem\n\nRemove PG_highmem, to save a page flag.  Use is_highmem() instead.  It\u0027ll\ngenerate a little more code, but we don\u0027t use PageHigheMem() in many places.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1363c3cd8603a913a27e2995dccbd70d5312d8e6",
      "tree": "405e7fc1ef44678f3ca0a54c536d0457e6e80f45",
      "parents": [
        "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a"
      ],
      "author": {
        "name": "Wolfgang Wander",
        "email": "wwc@rentec.com",
        "time": "Tue Jun 21 17:14:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] Avoiding mmap fragmentation\n\nIngo recently introduced a great speedup for allocating new mmaps using the\nfree_area_cache pointer which boosts the specweb SSL benchmark by 4-5% and\ncauses huge performance increases in thread creation.\n\nThe downside of this patch is that it does lead to fragmentation in the\nmmap-ed areas (visible via /proc/self/maps), such that some applications\nthat work fine under 2.4 kernels quickly run out of memory on any 2.6\nkernel.\n\nThe problem is twofold:\n\n  1) the free_area_cache is used to continue a search for memory where\n     the last search ended.  Before the change new areas were always\n     searched from the base address on.\n\n     So now new small areas are cluttering holes of all sizes\n     throughout the whole mmap-able region whereas before small holes\n     tended to close holes near the base leaving holes far from the base\n     large and available for larger requests.\n\n  2) the free_area_cache also is set to the location of the last\n     munmap-ed area so in scenarios where we allocate e.g.  five regions of\n     1K each, then free regions 4 2 3 in this order the next request for 1K\n     will be placed in the position of the old region 3, whereas before we\n     appended it to the still active region 1, placing it at the location\n     of the old region 2.  Before we had 1 free region of 2K, now we only\n     get two free regions of 1K -\u003e fragmentation.\n\nThe patch addresses thes issues by introducing yet another cache descriptor\ncached_hole_size that contains the largest known hole size below the\ncurrent free_area_cache.  If a new request comes in the size is compared\nagainst the cached_hole_size and if the request can be filled with a hole\nbelow free_area_cache the search is started from the base instead.\n\nThe results look promising: Whereas 2.6.12-rc4 fragments quickly and my\n(earlier posted) leakme.c test program terminates after 50000+ iterations\nwith 96 distinct and fragmented maps in /proc/self/maps it performs nicely\n(as expected) with thread creation, Ingo\u0027s test_str02 with 20000 threads\nrequires 0.7s system time.\n\nTaking out Ingo\u0027s patch (un-patch available per request) by basically\ndeleting all mentions of free_area_cache from the kernel and starting the\nsearch for new memory always at the respective bases we observe: leakme\nterminates successfully with 11 distinctive hardly fragmented areas in\n/proc/self/maps but thread creating is gringdingly slow: 30+s(!) system\ntime for Ingo\u0027s test_str02 with 20000 threads.\n\nNow - drumroll ;-) the appended patch works fine with leakme: it ends with\nonly 7 distinct areas in /proc/self/maps and also thread creation seems\nsufficiently fast with 0.71s for 20000 threads.\n\nSigned-off-by: Wolfgang Wander \u003cwwc@rentec.com\u003e\nCredit-to: \"Richard Purdie\" \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e (partly)\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a",
      "tree": "f04f7b0d08cbc46d2f190a85904a3dd696dc6e88",
      "parents": [
        "63551ae0feaaa23807ebea60de1901564bbef32e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Tue Jun 21 17:14:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] node local per-cpu-pages\n\nThis patch modifies the way pagesets in struct zone are managed.\n\nEach zone has a per-cpu array of pagesets.  So any particular CPU has some\nmemory in each zone structure which belongs to itself.  Even if that CPU is\nnot local to that zone.\n\nSo the patch relocates the pagesets for each cpu to the node that is nearest\nto the cpu instead of allocating the pagesets in the (possibly remote) target\nzone.  This means that the operations to manage pages on remote zone can be\ndone with information available locally.\n\nWe play a macro trick so that non-NUMA pmachines avoid the additional\npointer chase on the page allocator fastpath.\n\nAIM7 benchmark on a 32 CPU SGI Altix\n\nw/o patches:\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      484.68  100       484.6769     12.01      1.97   Fri Mar 25 11:01:42 2005\n  100    27140.46   89       271.4046     21.44    148.71   Fri Mar 25 11:02:04 2005\n  200    30792.02   82       153.9601     37.80    296.72   Fri Mar 25 11:02:42 2005\n  300    32209.27   81       107.3642     54.21    451.34   Fri Mar 25 11:03:37 2005\n  400    34962.83   78        87.4071     66.59    588.97   Fri Mar 25 11:04:44 2005\n  500    31676.92   75        63.3538     91.87    742.71   Fri Mar 25 11:06:16 2005\n  600    36032.69   73        60.0545     96.91    885.44   Fri Mar 25 11:07:54 2005\n  700    35540.43   77        50.7720    114.63   1024.28   Fri Mar 25 11:09:49 2005\n  800    33906.70   74        42.3834    137.32   1181.65   Fri Mar 25 11:12:06 2005\n  900    34120.67   73        37.9119    153.51   1325.26   Fri Mar 25 11:14:41 2005\n 1000    34802.37   74        34.8024    167.23   1465.26   Fri Mar 25 11:17:28 2005\n\nwith slab API changes and pageset patch:\n\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      485.00  100       485.0000     12.00      1.96   Fri Mar 25 11:46:18 2005\n  100    28000.96   89       280.0096     20.79    150.45   Fri Mar 25 11:46:39 2005\n  200    32285.80   79       161.4290     36.05    293.37   Fri Mar 25 11:47:16 2005\n  300    40424.15   84       134.7472     43.19    438.42   Fri Mar 25 11:47:59 2005\n  400    39155.01   79        97.8875     59.46    590.05   Fri Mar 25 11:48:59 2005\n  500    37881.25   82        75.7625     76.82    730.19   Fri Mar 25 11:50:16 2005\n  600    39083.14   78        65.1386     89.35    872.79   Fri Mar 25 11:51:46 2005\n  700    38627.83   77        55.1826    105.47   1022.46   Fri Mar 25 11:53:32 2005\n  800    39631.94   78        49.5399    117.48   1169.94   Fri Mar 25 11:55:30 2005\n  900    36903.70   79        41.0041    141.94   1310.78   Fri Mar 25 11:57:53 2005\n 1000    36201.23   77        36.2012    160.77   1458.31   Fri Mar 25 12:00:34 2005\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Shai Fultheim \u003cShai@Scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "63551ae0feaaa23807ebea60de1901564bbef32e",
      "tree": "f6f97f60f83c3e9813bdfcc6039c499997b1ea10",
      "parents": [
        "1e7e5a9048b30c57ba1ddaa6cdf59b21b65cde99"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Jun 21 17:14:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:15 2005 -0700"
      },
      "message": "[PATCH] Hugepage consolidation\n\nA lot of the code in arch/*/mm/hugetlbpage.c is quite similar.  This patch\nattempts to consolidate a lot of the code across the arch\u0027s, putting the\ncombined version in mm/hugetlb.c.  There are a couple of uglyish hacks in\norder to covert all the hugepage archs, but the result is a very large\nreduction in the total amount of code.  It also means things like hugepage\nlazy allocation could be implemented in one place, instead of six.\n\nTested, at least a little, on ppc64, i386 and x86_64.\n\nNotes:\n\t- this patch changes the meaning of set_huge_pte() to be more\n\t  analagous to set_pte()\n\t- does SH4 need s special huge_ptep_get_and_clear()??\n\nAcked-by: William Lee Irwin \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e7e5a9048b30c57ba1ddaa6cdf59b21b65cde99",
      "tree": "26eb9c483718ca1a0fad23597c0dfd3a69e9f080",
      "parents": [
        "0c35bbadc59f5ed105c34471143eceb4c0dd9c95"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: rate limit early reclaim\n\nWhen early zone reclaim is turned on the LRU is scanned more frequently when a\nzone is low on memory.  This limits when the zone reclaim can be called by\nskipping the scan if another thread (either via kswapd or sync reclaim) is\nalready reclaiming from the zone.\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c35bbadc59f5ed105c34471143eceb4c0dd9c95",
      "tree": "d82de388e8c0a38fa4b1d27ad372e84c9f01e013",
      "parents": [
        "753ee728964e5afb80c17659cc6c3a6fd0a42fe0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: add __GFP_NORECLAIM\n\nWhen using the early zone reclaim, it was noticed that allocating new pages\nthat should be spread across the whole system caused eviction of local pages.\n\nThis adds a new GFP flag to prevent early reclaim from happening during\ncertain allocation attempts.  The example that is implemented here is for page\ncache pages.  We want page cache pages to be spread across the whole system,\nand we don\u0027t want page cache pages to evict other pages to get local memory.\n\nSigned-off-by:  Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "753ee728964e5afb80c17659cc6c3a6fd0a42fe0",
      "tree": "41c9a7700d0858c1f77c5bdaba97e5b636f69b06",
      "parents": [
        "bfbb38fb808ac23ef44472d05d9bb36edfb49ed0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: early zone reclaim\n\nThis is the core of the (much simplified) early reclaim.  The goal of this\npatch is to reclaim some easily-freed pages from a zone before falling back\nonto another zone.\n\nOne of the major uses of this is NUMA machines.  With the default allocator\nbehavior the allocator would look for memory in another zone, which might be\noff-node, before trying to reclaim from the current zone.\n\nThis adds a zone tuneable to enable early zone reclaim.  It is selected on a\nper-zone basis and is turned on/off via syscall.\n\nAdding some extra throttling on the reclaim was also required (patch\n4/4).  Without the machine would grind to a crawl when doing a \"make -j\"\nkernel build.  Even with this patch the System Time is higher on\naverage, but it seems tolerable.  Here are some numbers for kernbench\nruns on a 2-node, 4cpu, 8Gig RAM Altix in the \"make -j\" run:\n\n\t\t\twall  user   sys   %cpu  ctx sw.  sleeps\n\t\t\t----  ----   ---   ----   ------  ------\nNo patch\t\t1009  1384   847   258   298170   504402\nw/patch, no reclaim     880   1376   667   288   254064   396745\nw/patch \u0026 reclaim       1079  1385   926   252   291625   548873\n\nThese numbers are the average of 2 runs of 3 \"make -j\" runs done right\nafter system boot.  Run-to-run variability for \"make -j\" is huge, so\nthese numbers aren\u0027t terribly useful except to seee that with reclaim\nthe benchmark still finishes in a reasonable amount of time.\n\nI also looked at the NUMA hit/miss stats for the \"make -j\" runs and the\nreclaim doesn\u0027t make any difference when the machine is thrashing away.\n\nDoing a \"make -j8\" on a single node that is filled with page cache pages\ntakes 700 seconds with reclaim turned on and 735 seconds without reclaim\n(due to remote memory accesses).\n\nThe simple zone_reclaim syscall program is at\nhttp://www.bork.org/~mort/sgi/zone_reclaim.c\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "39c715b71740c4a78ba4769fb54826929bac03cb"
}
