)]}'
{
  "log": [
    {
      "commit": "dd3927105b6f65afb7dac17682172cdfb86d3f00",
      "tree": "5cf282aff500cad23b9d7e13dc19b2b2d31e1ce6",
      "parents": [
        "640e803376b9c4072f69fec42e304c974a631298"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.Helsinki.FI",
        "time": "Tue Sep 06 15:18:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:45 2005 -0700"
      },
      "message": "[PATCH] introduce and use kzalloc\n\nThis patch introduces a kzalloc wrapper and converts kernel/ to use it.  It\nsaves a little program text.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ef08e3b4981aebf2ba9bd7025ef7210e8eec07ce",
      "tree": "3b5386e011c87dde384115c8eb0d6961c2536025",
      "parents": [
        "9bf2229f8817677127a60c177aefce1badd22d7b"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Tue Sep 06 15:18:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:40 2005 -0700"
      },
      "message": "[PATCH] cpusets: confine oom_killer to mem_exclusive cpuset\n\nNow the real motivation for this cpuset mem_exclusive patch series seems\ntrivial.\n\nThis patch keeps a task in or under one mem_exclusive cpuset from provoking an\noom kill of a task under a non-overlapping mem_exclusive cpuset.  Since only\ninterrupt and GFP_ATOMIC allocations are allowed to escape mem_exclusive\ncontainment, there is little to gain from oom killing a task under a\nnon-overlapping mem_exclusive cpuset, as almost all kernel and user memory\nallocation must come from disjoint memory nodes.\n\nThis patch enables configuring a system so that a runaway job under one\nmem_exclusive cpuset cannot cause the killing of a job in another such cpuset\nthat might be using very high compute and memory resources for a prolonged\ntime.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9bf2229f8817677127a60c177aefce1badd22d7b",
      "tree": "06e95863a26b197233081db1dafd869dfd231950",
      "parents": [
        "f90b1d2f1aaaa40c6519a32e69615edc25bb97d5"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Tue Sep 06 15:18:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:40 2005 -0700"
      },
      "message": "[PATCH] cpusets: formalize intermediate GFP_KERNEL containment\n\nThis patch makes use of the previously underutilized cpuset flag\n\u0027mem_exclusive\u0027 to provide what amounts to another layer of memory placement\nresolution.  With this patch, there are now the following four layers of\nmemory placement available:\n\n 1) The whole system (interrupt and GFP_ATOMIC allocations can use this),\n 2) The nearest enclosing mem_exclusive cpuset (GFP_KERNEL allocations can use),\n 3) The current tasks cpuset (GFP_USER allocations constrained to here), and\n 4) Specific node placement, using mbind and set_mempolicy.\n\nThese nest - each layer is a subset (same or within) of the previous.\n\nLayer (2) above is new, with this patch.  The call used to check whether a\nzone (its node, actually) is in a cpuset (in its mems_allowed, actually) is\nextended to take a gfp_mask argument, and its logic is extended, in the case\nthat __GFP_HARDWALL is not set in the flag bits, to look up the cpuset\nhierarchy for the nearest enclosing mem_exclusive cpuset, to determine if\nplacement is allowed.  The definition of GFP_USER, which used to be identical\nto GFP_KERNEL, is changed to also set the __GFP_HARDWALL bit, in the previous\ncpuset_gfp_hardwall_flag patch.\n\nGFP_ATOMIC and GFP_KERNEL allocations will stay within the current tasks\ncpuset, so long as any node therein is not too tight on memory, but will\nescape to the larger layer, if need be.\n\nThe intended use is to allow something like a batch manager to handle several\njobs, each job in its own cpuset, but using common kernel memory for caches\nand such.  Swapper and oom_kill activity is also constrained to Layer (2).  A\ntask in or below one mem_exclusive cpuset should not cause swapping on nodes\nin another non-overlapping mem_exclusive cpuset, nor provoke oom_killing of a\ntask in another such cpuset.  Heavy use of kernel memory for i/o caching and\nsuch by one job should not impact the memory available to jobs in other\nnon-overlapping mem_exclusive cpusets.\n\nThis patch enables providing hardwall, inescapable cpusets for memory\nallocations of each job, while sharing kernel memory allocations between\nseveral jobs, in an enclosing mem_exclusive cpuset.\n\nLike Dinakar\u0027s patch earlier to enable administering sched domains using the\ncpu_exclusive flag, this patch also provides a useful meaning to a cpuset flag\nthat had previously done nothing much useful other than restrict what cpuset\nconfigurations were allowed.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a49335cceab8afb6603152fcc3f7d3b6677366ca",
      "tree": "83f8c06d781a6de77f0b34ec14577bba1e410ac6",
      "parents": [
        "f68f447e8389de9a62e3e80c3c5823cce484c2e5"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Tue Sep 06 15:18:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:39 2005 -0700"
      },
      "message": "[PATCH] cpusets: oom_kill tweaks\n\nThis patch series extends the use of the cpuset attribute \u0027mem_exclusive\u0027\nto support cpuset configurations that:\n 1) allow GFP_KERNEL allocations to come from a potentially larger\n    set of memory nodes than GFP_USER allocations, and\n 2) can constrain the oom killer to tasks running in cpusets in\n    a specified subtree of the cpuset hierarchy.\n\nHere\u0027s an example usage scenario.  For a few hours or more, a large NUMA\nsystem at a University is to be divided in two halves, with a bunch of student\njobs running in half the system under some form of batch manager, and with a\nbig research project running in the other half.  Each of the student jobs is\nplaced in a small cpuset, but should share the classic Unix time share\nfacilities, such as buffered pages of files in /bin and /usr/lib.  The big\nresearch project wants no interference whatsoever from the student jobs, and\nhas highly tuned, unusual memory and i/o patterns that intend to make full use\nof all the main memory on the nodes available to it.\n\nIn this example, we have two big sibling cpusets, one of which is further\ndivided into a more dynamic set of child cpusets.\n\nWe want kernel memory allocations constrained by the two big cpusets, and user\nallocations constrained by the smaller child cpusets where present.  And we\nrequire that the oom killer not operate across the two halves of this system,\nor else the first time a student job runs amuck, the big research project will\nlikely be first inline to get shot.\n\nTweaking /proc/\u003cpid\u003e/oom_adj is not ideal -- if the big research project\nreally does run amuck allocating memory, it should be shot, not some other\ntask outside the research projects mem_exclusive cpuset.\n\nI propose to extend the use of the \u0027mem_exclusive\u0027 flag of cpusets to manage\nsuch scenarios.  Let memory allocations for user space (GFP_USER) be\nconstrained by a tasks current cpuset, but memory allocations for kernel space\n(GFP_KERNEL) by constrained by the nearest mem_exclusive ancestor of the\ncurrent cpuset, even though kernel space allocations will still _prefer_ to\nremain within the current tasks cpuset, if memory is easily available.\n\nLet the oom killer be constrained to consider only tasks that are in\noverlapping mem_exclusive cpusets (it won\u0027t help much to kill a task that\nnormally cannot allocate memory on any of the same nodes as the ones on which\nthe current task can allocate.)\n\nThe current constraints imposed on setting mem_exclusive are unchanged.  A\ncpuset may only be mem_exclusive if its parent is also mem_exclusive, and a\nmem_exclusive cpuset may not overlap any of its siblings memory nodes.\n\nThis patch was presented on linux-mm in early July 2005, though did not\ngenerate much feedback at that time.  It has been built for a variety of\narch\u0027s using cross tools, and built, booted and tested for function on SN2\n(ia64).\n\nThere are 4 patches in this set:\n  1) Some minor cleanup, and some improvements to the code layout\n     of one routine to make subsequent patches cleaner.\n  2) Add another GFP flag - __GFP_HARDWALL.  It marks memory\n     requests for USER space, which are tightly confined by the\n     current tasks cpuset.\n  3) Now memory requests (such as KERNEL) that not marked HARDWALL can\n     if short on memory, look in the potentially larger pool of memory\n     defined by the nearest mem_exclusive ancestor cpuset of the current\n     tasks cpuset.\n  4) Finally, modify the oom killer to skip any task whose mem_exclusive\n     cpuset doesn\u0027t overlap ours.\n\nPatch (1), the one time I looked on an SN2 (ia64) build, actually saved 32\nbytes of kernel text space.  Patch (2) has no affect on the size of kernel\ntext space (it just adds a preprocessor flag).  Patches (3) and (4) added\nabout 600 bytes each of kernel text space, mostly in kernel/cpuset.c, which\nmatters only if CONFIG_CPUSET is enabled.\n\nThis patch:\n\nThis patch applies a few comment and code cleanups to mm/oom_kill.c prior to\napplying a few small patches to improve cpuset management of memory placement.\n\nThe comment changed in oom_kill.c was seriously misleading.  The code layout\nchange in select_bad_process() makes room for adding another condition on\nwhich a process can be spared the oom killer (see the subsequent\ncpuset_nodes_overlap patch for this addition).\n\nAlso a couple typos and spellos that bugged me, while I was here.\n\nThis patch should have no material affect.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6c231b7bab0aa6860cd9da2de8a064eddc34c146",
      "tree": "2a6d9dea348651ec6000b96b99fbf5bd9ccdb228",
      "parents": [
        "39ed3fdeec1290dd246dcf1da6b278566987a084"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Tue Sep 06 15:17:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:33 2005 -0700"
      },
      "message": "[PATCH] Additions to .data.read_mostly section\n\nMark variables which are usually accessed for reads with __readmostly.\n\nSigned-off-by: Alok N Kataria \u003calokk@calsoftinc.com\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b30bbd963ac2606b0377b39c9d148d6eeef7dce",
      "tree": "40365e8055cf698f39c2e5891fbca375dea7ce76",
      "parents": [
        "e139aa595c5d3bd01699530cbe017dec75fdb07f"
      ],
      "author": {
        "name": "Steven Pratt",
        "email": "slpratt@austin.ibm.com",
        "time": "Tue Sep 06 15:17:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:25 2005 -0700"
      },
      "message": "[PATCH] readahead: reset cache_hit earlier\n\nWe don\u0027t reset the cache hit count until after readahead does a successful\nreadahead.  This seems to leave a corner case open where we miss in cache,\nbut don\u0027t restart the readhead right away.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cdb3826b9958c204bc8ffda2cf9bbe2d899ef90c",
      "tree": "7e1f5a1a7b114f422b0584fc1823f0147b209550",
      "parents": [
        "edf83015fcbff8976b75b42b565a77e9d450c567"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Sep 06 15:16:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:23 2005 -0700"
      },
      "message": "[PATCH] remove misleading comment above sys_brk\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c3d8c1414573be8cf7c8fdc1e076935697c7f6af",
      "tree": "bd2fc21473e03fbbf5c1182ee584b68ebfd8b1cf",
      "parents": [
        "b3dbb4ecd46767b621df3dedd28788da93ee0cac"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@scalex86.org",
        "time": "Tue Sep 06 15:16:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:18 2005 -0700"
      },
      "message": "[PATCH] More __read_mostly variables\n\nMove some more frequently read variables that showed up during some of our\nperformance tests as sometimes ending up in hot cachelines to the\nread_mostly section.\n\nFix: Move the __read_mostly from before hpet_usec_quotient to follow the\nvariable like the other uses of __read_mostly.\n\nSigned-off-by: Alok N Kataria \u003calokk@calsoftinc.com\u003e\nSigned-off-by: Christoph Lameter \u003cchristoph@scalex86.org\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": "f549d6c18c0e8e6cf1bf0e7a47acc1daf7e2cec1",
      "tree": "40d827736575f2a8c489761599e9a1e5e45005be",
      "parents": [
        "b5bf6c55edf94e9c7fc01724d5b271f78eaf1d3f"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Sat Sep 03 15:55:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:52 2005 -0700"
      },
      "message": "[PATCH] Generic VFS fallback for security xattrs\n\nThis patch modifies the VFS setxattr, getxattr, and listxattr code to fall\nback to the security module for security xattrs if the filesystem does not\nsupport xattrs natively.  This allows security modules to export the incore\ninode security label information to userspace even if the filesystem does\nnot provide xattr storage, and eliminates the need to individually patch\nvarious pseudo filesystem types to provide such access.  The patch removes\nthe existing xattr code from devpts and tmpfs as it is then no longer\nneeded.\n\nThe patch restructures the code flow slightly to reduce duplication between\nthe normal path and the fallback path, but this should only have one\nuser-visible side effect - a program may get -EACCES rather than\n-EOPNOTSUPP if policy denied access but the filesystem didn\u0027t support the\noperation anyway.  Note that the post_setxattr hook call is not needed in\nthe fallback case, as the inode_setsecurity hook call handles the incore\ninode security state update directly.  In contrast, we do call fsnotify in\nboth cases.\n\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c07e02db76940c75fc92f2f2c9adcdbb09ed70d0",
      "tree": "9d777784fd5e3658d8db5b01a965d4fc568ceb93",
      "parents": [
        "e070ad49f31155d872d8e96cab2142840993e3c0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Sat Sep 03 15:55:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:49 2005 -0700"
      },
      "message": "[PATCH] VM: add page_state info to per-node meminfo\n\nAdd page_state info to the per-node meminfo file in sysfs.  This is mostly\njust for informational purposes.\n\nThe lack of this information was brought up recently during a discussion\nregarding pagecache clearing, and I put this patch together to test out one\nof the suggestions.\n\nIt seems like interesting info to have, so I\u0027m submitting the patch.\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": "00e145b6d59a16dd7740197a18f7abdb3af004a9",
      "tree": "7b081ccfa6a34e5a17f4f1d6925d4945df2a97c1",
      "parents": [
        "34342e863c3143640c031760140d640a06c6a5f8"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Sat Sep 03 15:55:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:49 2005 -0700"
      },
      "message": "[PATCH] slab: removes local_irq_save()/local_irq_restore() pair\n\nProposed by and based on a patch from Eric Dumazet \u003cdada1@cosmosbay.com\u003e:\nThis patch removes unnecessary critical section in ksize() function, as\ncli/sti are rather expensive on modern CPUS.\n\nIt additionally adds a docbook entry for ksize() and further simplifies the\ncode.\n\nSigned-Off-By: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34342e863c3143640c031760140d640a06c6a5f8",
      "tree": "f2855e8ca82929859cb1fe249982b3ba1ccf9b5e",
      "parents": [
        "61e06037e764337da39dff307cbcdbe9cf288349"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Sep 03 15:55:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:48 2005 -0700"
      },
      "message": "[PATCH] mm/slab.c: prefetchw the start of new allocated objects\n\nMostobjects returned by __cache_alloc() will be written by the caller,\n(but not all callers want to write all the object, but just at the\nbegining) prefetchw() tells the modern CPU to think about the future\nwrites, ie start some memory transactions in advance.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a600388d28419305aad3c4c0af52c223cf6fa0af",
      "tree": "c70d3d80275f189c49311183472367f45d1a1ef2",
      "parents": [
        "fa5b08d5f818063d18433194f20359ef2ae50254"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:55:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:48 2005 -0700"
      },
      "message": "[PATCH] x86: ptep_clear optimization\n\nAdd a new accessor for PTEs, which passes the full hint from the mmu_gather\nstruct; this allows architectures with hardware pagetables to optimize away\natomic PTE operations when destroying an address space.  Removing the\nlocked operation should allow better pipelining of memory access in this\nloop.  I measured an average savings of 30-35 cycles per zap_pte_range on\nthe first 500 destructions on Pentium-M, but I believe the optimization\nwould win more on older processors which still assert the bus lock on xchg\nfor an exclusive cacheline.\n\nUpdate: I made some new measurements, and this saves exactly 26 cycles over\nptep_get_and_clear on Pentium M.  On P4, with a PAE kernel, this saves 180\ncycles per ptep_get_and_clear, for a whopping 92160 cycles savings for a\nfull address space destruction.\n\npte_clear_full is not yet used, but is provided for future optimizations\n(in particular, when running inside of a hypervisor that queues page table\nupdates, the full hint allows us to avoid queueing unnecessary page table\nupdate for an address space in the process of being destroyed.\n\nThis is not a huge win, but it does help a bit, and sets the stage for\nfurther hypervisor optimization of the mm layer on all architectures.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nCc: \u003clinux-mm@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa5b08d5f818063d18433194f20359ef2ae50254",
      "tree": "f2b2bc88347a618f0c4b535d57d2a5271a5eb98e",
      "parents": [
        "0e5c9f39f64d8a55c5db37a5ea43e37d3422fd92"
      ],
      "author": {
        "name": "Kyle Moffett",
        "email": "mrmacman_g4@mac.com",
        "time": "Sat Sep 03 15:55:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:48 2005 -0700"
      },
      "message": "[PATCH] sab: consolidate kmem_bufctl_t\n\nThis is used only in slab.c and each architecture gets to define whcih\nunderlying type is to be used.\n\nSeems a bit silly - move it to slab.c and use the same type for all\narchitectures: unsigned int.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7bf07f3d4b4358aa6d99a26d7a0165f1e91c3fcc",
      "tree": "150e1f1172e3a7912b37bef7b06a657d47bc1657",
      "parents": [
        "32e51a8c976fc72c3e9bcece9767d9908816bf8e"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Sat Sep 03 15:55:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:46 2005 -0700"
      },
      "message": "[PATCH] hugetlb: move stale pte check into huge_pte_alloc()\n\nInitial Post (Wed, 17 Aug 2005)\n\nThis patch moves the\n\tif (! pte_none(*pte))\n\t\thugetlb_clean_stale_pgtable(pte);\nlogic into huge_pte_alloc() so all of its callers can be immune to the bug\ndescribed by Kenneth Chen at http://lkml.org/lkml/2004/6/16/246\n\n\u003e It turns out there is a bug in hugetlb_prefault(): with 3 level page table,\n\u003e huge_pte_alloc() might return a pmd that points to a PTE page. It happens\n\u003e if the virtual address for hugetlb mmap is recycled from previously used\n\u003e normal page mmap. free_pgtables() might not scrub the pmd entry on\n\u003e munmap and hugetlb_prefault skips on any pmd presence regardless what type\n\u003e it is.\n\nUnless I am missing something, it seems more correct to place the check inside\nhuge_pte_alloc() to prevent a the same bug wherever a huge pte is allocated.\nIt also allows checking for this condition when lazily faulting huge pages\nlater in the series.\n\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: \u003clinux-mm@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd195c49fb17a21e232f50bddb2267150053cf34",
      "tree": "ab9370a3d351eb7594e5086ae8d3aa5401a1e375",
      "parents": [
        "9b4ee40ebbbaf3f8c775b023d89ceedda1167d79"
      ],
      "author": {
        "name": "Deepak Saxena",
        "email": "dsaxena@plexity.net",
        "time": "Sat Sep 03 15:54:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:46 2005 -0700"
      },
      "message": "[PATCH] arm: allow for arch-specific IOREMAP_MAX_ORDER\n\nVersion 6 of the ARM architecture introduces the concept of 16MB pages\n(supersections) and 36-bit (40-bit actually, but nobody uses this) physical\naddresses.  36-bit addressed memory and I/O and ARMv6 can only be mapped\nusing supersections and the requirement on these is that both virtual and\nphysical addresses be 16MB aligned.  In trying to add support for ioremap()\nof 36-bit I/O, we run into the issue that get_vm_area() allows for a\nmaximum of 512K alignment via the IOREMAP_MAX_ORDER constant.  To work\naround this, we can:\n\n- Allocate a larger VM area than needed (size + (1ul \u003c\u003c IOREMAP_MAX_ORDER))\n  and then align the pointer ourselves, but this ends up with 512K of\n  wasted VM per ioremap().\n\n- Provide a new __get_vm_area_aligned() API and make __get_vm_area() sit\n  on top of this. I did this and it works but I don\u0027t like the idea\n  adding another VM API just for this one case.\n\n- My preferred solution which is to allow the architecture to override\n  the IOREMAP_MAX_ORDER constant with it\u0027s own version.\n\nSigned-off-by: Deepak Saxena \u003cdsaxena@plexity.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4944e76d81801b8e60ed3e7789443f210c16ed65",
      "tree": "d20096acf35b1af03eba1d043e6376a154cae054",
      "parents": [
        "d44ed4f86892e350f4b16a3489b7e7c1a9bb7ead"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Sep 03 15:54:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:45 2005 -0700"
      },
      "message": "[PATCH] mm: remove implied vm_ops check\n\nIf !vma-\u003evm-ops we already BUG above, so retesting it is useless.  The\ncompiler cannot optimize this because BUG is a macro and is not thus marked\nnoreturn; that should possibly be fixed.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d44ed4f86892e350f4b16a3489b7e7c1a9bb7ead",
      "tree": "19614a214c186c62ee6c5d3879392f6184f93e5b",
      "parents": [
        "0abf40c1ac3f25d264c019e1cfe155d590defb87"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Sep 03 15:54:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:45 2005 -0700"
      },
      "message": "[PATCH] shmem_populate: avoid an useless check, and some comments\n\nEither shmem_getpage returns a failure, or it found a page, or it was told\nit couldn\u0027t do any I/O.  So it\u0027s useless to check nonblock in the else\nbranch.  We could add a BUG() there but I preferred to comment the\noffending function.\n\nThis was taken out from one Ingo Molnar\u0027s old patch I\u0027m resurrecting.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0abf40c1ac3f25d264c019e1cfe155d590defb87",
      "tree": "e33e79f2e2bdb8f5ceceabeff722ef087876eead",
      "parents": [
        "e83a9596712eb784e7e6604f43a2c140eb912743"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Sat Sep 03 15:54:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:45 2005 -0700"
      },
      "message": "[PATCH] vm: slab.c spelling correction\n\nFix a small spelling mistake.  subtile-\u003esubtle\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": "836d5ffd34550901ea024347693e689273ded8aa",
      "tree": "b4dbbbe436eae38aa2f0f5d333608f64c6338cd8",
      "parents": [
        "53e9a6159fdc6419874ce4d86d3577dbedc77b62"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:44 2005 -0700"
      },
      "message": "[PATCH] mm: fix madvise vma merging\n\nBetter late than never, I\u0027ve at last reviewed the madvise vma merging\ngoing into 2.6.13.  Remove a pointless check and fix two little bugs -\na simple test (with /proc/\u003cpid\u003e/maps hacked to show ReadHints) showed\nboth mismerges in practice: though being madvise, neither was disastrous.\n\n1. Correct placement of the success label in madvise_behavior: as in\n   mprotect_fixup and mlock_fixup, it is necessary to update vm_flags\n   when vma_merge succeeds (to handle the exceptional Case 8 noted in\n   the comments above vma_merge itself).\n\n2. Correct initial value of prev when starting part way into a vma: as\n   in sys_mprotect and do_mlock, it needs to be set to vma in this case\n   (vma_merge handles only that minimum of cases shown in its comments).\n\n3. If find_vma_prev sets prev, then the vma it returns is prev-\u003evm_next,\n   so it\u0027s pointless to make that same assignment again in sys_madvise.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53e9a6159fdc6419874ce4d86d3577dbedc77b62",
      "tree": "7c7f15325569cf5e02dafc1974fb080154616058",
      "parents": [
        "bce5f6ba340b09d8b29902add204bb95a6d3d88b"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@bork.org",
        "time": "Sat Sep 03 15:54:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:44 2005 -0700"
      },
      "message": "[PATCH] VM: zone reclaim atomic ops cleanup\n\nChristoph Lameter and Marcelo Tosatti asked to get rid of the\natomic_inc_and_test() to cleanup the atomic ops in the zone reclaim code.\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\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": "bce5f6ba340b09d8b29902add204bb95a6d3d88b",
      "tree": "1cfeea969fa5848f0a8d31394829aec5c8571a79",
      "parents": [
        "242e54686257493f0b10ac557e730419d9af7d24"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Sat Sep 03 15:54:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:44 2005 -0700"
      },
      "message": "[PATCH] VM: add capabilites check to set_zone_reclaim\n\nAdd a capability check to sys_set_zone_reclaim().  This syscall is not\nsomething that should be available to a user.\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": "242e54686257493f0b10ac557e730419d9af7d24",
      "tree": "d68754b32c531141969a09ca0c5df246893c5b1e",
      "parents": [
        "9a61c349b28ec5aef7e929236571fd770fdef0bb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Sep 03 15:54:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:44 2005 -0700"
      },
      "message": "[PATCH] mm: remove atomic\n\nThis bitop does not need to be atomic because it is performed when there will\nbe no references to the page (ie.  the page is being freed).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a61c349b28ec5aef7e929236571fd770fdef0bb",
      "tree": "c78c703dcca91302901d116031b311de7ad3fd78",
      "parents": [
        "4d7670e0f649f9e6e6ea6c8bb9f52441fa00f92b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Sep 03 15:54:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:44 2005 -0700"
      },
      "message": "[PATCH] mm: remap ZERO_PAGE mappings\n\nfilemap_xip\u0027s nopage routine maps the ZERO_PAGE into readonly mappings, if it\nhas no data page to map there: then if the hole in the file is later filled,\n__xip_unmap uses an rmap technique to replace the ZERO_PAGEs mapped for that\noffset by the newly allocated file page, so that established mappings will see\nthe newly written data.\n\nHowever, on MIPS (alone) there\u0027s not one but as many as eight ZERO_PAGEs,\nchosen for coloring by user virtual address; and if mremap has meanwhile been\nused to move a mapping containing a ZERO_PAGE, it will generally not match the\nZERO_PAGE(address) __xip_unmap is looking for.\n\nTo maintain XIP\u0027s established mappings correctly on MIPS, we need Nick\u0027s fix\nto mremap\u0027s move_one_page (originally presented as an optimization), to\nreplace the ZERO_PAGE appropriate to the old address by the ZERO_PAGE\nappropriate to the new address.\n\n(But when I first saw this, I was thinking the ZERO_PAGEs themselves would get\ncorrupted, very bad.  Now I think it\u0027s the other way round, that the\nestablished mappings will fail to see the newly written data: incorrect, but\nnot corrupting everything else.  Whether filemap_xip\u0027s technique is generally\nsafe, I\u0027d hesitate to say in a hurry: it\u0027s interesting, but we\u0027ve never tried\nto do that in tmpfs.)\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d7670e0f649f9e6e6ea6c8bb9f52441fa00f92b",
      "tree": "52009a96e89a4fe2ff390cd34a7832c89d28f588",
      "parents": [
        "2822c1aa574d277b9ba0130b1e71c1a5874bc04a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Sep 03 15:54:48 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:43 2005 -0700"
      },
      "message": "[PATCH] mm: cleanup rmap\n\nThanks to Bill Irwin for pointing this out.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2822c1aa574d277b9ba0130b1e71c1a5874bc04a",
      "tree": "6a48d5db83831b6521bbc5795a70ea5ab7446b0e",
      "parents": [
        "c3dce2d89c269d5373a120d4a22fc2426ec992b0"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Sep 03 15:54:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:43 2005 -0700"
      },
      "message": "[PATCH] mm: micro-optimise rmap\n\nMicrooptimise page_add_anon_rmap.  Although these expressions are used only in\nthe taken branch of the if() statement, the compiler can\u0027t reorder them inside\nbecause atomic_inc_and_test is a barrier.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c3dce2d89c269d5373a120d4a22fc2426ec992b0",
      "tree": "d4a52e35751484935a15f3b95e84bd28d6662b18",
      "parents": [
        "6e21c8f145f5052c1c2fb4a4b41bee01c848159b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Sep 03 15:54:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:43 2005 -0700"
      },
      "message": "[PATCH] mm: comment rmap\n\nJust be clear that VM_RESERVED pages here are a bug, and the test is not there\nbecause they are expected.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e21c8f145f5052c1c2fb4a4b41bee01c848159b",
      "tree": "0b956cfbd67636c19be79fc0cbe0a5ed89fb6b9a",
      "parents": [
        "839b9685e80592809d6dfdd865986cd1b5ddc2fb"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Sat Sep 03 15:54:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:43 2005 -0700"
      },
      "message": "[PATCH] /proc/\u003cpid\u003e/numa_maps to show on which nodes pages reside\n\nThis patch was recently discussed on linux-mm:\nhttp://marc.theaimsgroup.com/?t\u003d112085728500002\u0026r\u003d1\u0026w\u003d2\n\nI inherited a large code base from Ray for page migration.  There was a\nsmall patch in there that I find to be very useful since it allows the\ndisplay of the locality of the pages in use by a process.  I reworked that\npatch and came up with a /proc/\u003cpid\u003e/numa_maps that gives more information\nabout the vma\u0027s of a process.  numa_maps is indexes by the start address\nfound in /proc/\u003cpid\u003e/maps.  F.e.  with this patch you can see the page use\nof the \"getty\" process:\n\nmargin:/proc/12008 # cat maps\n00000000-00004000 r--p 00000000 00:00 0\n2000000000000000-200000000002c000 r-xp 00000000 08:04 516                /lib/ld-2.3.3.so\n2000000000038000-2000000000040000 rw-p 00028000 08:04 516                /lib/ld-2.3.3.so\n2000000000040000-2000000000044000 rw-p 2000000000040000 00:00 0\n2000000000058000-2000000000260000 r-xp 00000000 08:04 54707842           /lib/tls/libc.so.6.1\n2000000000260000-2000000000268000 ---p 00208000 08:04 54707842           /lib/tls/libc.so.6.1\n2000000000268000-2000000000274000 rw-p 00200000 08:04 54707842           /lib/tls/libc.so.6.1\n2000000000274000-2000000000280000 rw-p 2000000000274000 00:00 0\n2000000000280000-20000000002b4000 r--p 00000000 08:04 9126923            /usr/lib/locale/en_US.utf8/LC_CTYPE\n2000000000300000-2000000000308000 r--s 00000000 08:04 60071467           /usr/lib/gconv/gconv-modules.cache\n2000000000318000-2000000000328000 rw-p 2000000000318000 00:00 0\n4000000000000000-4000000000008000 r-xp 00000000 08:04 29576399           /sbin/mingetty\n6000000000004000-6000000000008000 rw-p 00004000 08:04 29576399           /sbin/mingetty\n6000000000008000-600000000002c000 rw-p 6000000000008000 00:00 0          [heap]\n60000fff7fffc000-60000fff80000000 rw-p 60000fff7fffc000 00:00 0\n60000ffffff44000-60000ffffff98000 rw-p 60000ffffff44000 00:00 0          [stack]\na000000000000000-a000000000020000 ---p 00000000 00:00 0                  [vdso]\n\ncat numa_maps\n2000000000000000 default MaxRef\u003d43 Pages\u003d11 Mapped\u003d11 N0\u003d4 N1\u003d3 N2\u003d2 N3\u003d2\n2000000000038000 default MaxRef\u003d1 Pages\u003d2 Mapped\u003d2 Anon\u003d2 N0\u003d2\n2000000000040000 default MaxRef\u003d1 Pages\u003d1 Mapped\u003d1 Anon\u003d1 N0\u003d1\n2000000000058000 default MaxRef\u003d43 Pages\u003d61 Mapped\u003d61 N0\u003d14 N1\u003d15 N2\u003d16 N3\u003d16\n2000000000268000 default MaxRef\u003d1 Pages\u003d2 Mapped\u003d2 Anon\u003d2 N0\u003d2\n2000000000274000 default MaxRef\u003d1 Pages\u003d3 Mapped\u003d3 Anon\u003d3 N0\u003d3\n2000000000280000 default MaxRef\u003d8 Pages\u003d3 Mapped\u003d3 N0\u003d3\n2000000000300000 default MaxRef\u003d8 Pages\u003d2 Mapped\u003d2 N0\u003d2\n2000000000318000 default MaxRef\u003d1 Pages\u003d1 Mapped\u003d1 Anon\u003d1 N2\u003d1\n4000000000000000 default MaxRef\u003d6 Pages\u003d2 Mapped\u003d2 N1\u003d2\n6000000000004000 default MaxRef\u003d1 Pages\u003d1 Mapped\u003d1 Anon\u003d1 N0\u003d1\n6000000000008000 default MaxRef\u003d1 Pages\u003d1 Mapped\u003d1 Anon\u003d1 N0\u003d1\n60000fff7fffc000 default MaxRef\u003d1 Pages\u003d1 Mapped\u003d1 Anon\u003d1 N0\u003d1\n60000ffffff44000 default MaxRef\u003d1 Pages\u003d1 Mapped\u003d1 Anon\u003d1 N0\u003d1\n\ngetty uses ld.so.  The first vma is the code segment which is used by 43\nother processes and the pages are evenly distributed over the 4 nodes.\n\nThe second vma is the process specific data portion for ld.so.  This is\nonly one page.\n\nThe display format is:\n\n\u003cstartaddress\u003e\t Links to information in /proc/\u003cpid\u003e/map\n\u003cmemory policy\u003e  This can be \"default\" \"interleave\u003d{}\", \"prefer\u003d\u003cnode\u003e\" or \"bind\u003d{\u003czones\u003e}\"\nMaxRef\u003d\t\t\u003cmaximum reference to a page in this vma\u003e\nPages\u003d\t\t\u003cNr of pages in use\u003e\nMapped\u003d\t\t\u003cNr of pages with mapcount \u003e\nAnon\u003d\t\t\u003cnr of anonymous pages\u003e\nNx\u003d\t\t\u003cNr of pages on Node x\u003e\n\nThe content of the proc-file is self-evident.  If this would be tied into\nthe sparsemem system then the contents of this file would not be too\nuseful.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "839b9685e80592809d6dfdd865986cd1b5ddc2fb",
      "tree": "9c46cc93d8467035419028e6e47f25a547e6ad9a",
      "parents": [
        "3279ffd97f1b3962e40d3c5f09495ef8320b180b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:42 2005 -0700"
      },
      "message": "[PATCH] rmap: don\u0027t test rss\n\nRemove the three get_mm_counter(mm, rss) tests from rmap.c: there was a\ntime when testing rss was important to avoid a particular race between\ndup_mmap and the anonmm rmap; but now it\u0027s just a rather silly pseudo-\noptimization, made even more obscure by the get_mm_counter macro.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3279ffd97f1b3962e40d3c5f09495ef8320b180b",
      "tree": "56c72808c731a73fd50f3df37fd3af770812a7ee",
      "parents": [
        "dae06ac43d56d23e50a2300d511b32a9e38cd657"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:42 2005 -0700"
      },
      "message": "[PATCH] delete from_swap_cache BUG_ONs\n\nThree of the four BUG_ONs in delete_from_swap_cache are immediately\nrepeated in __delete_from_swap_cache: delete those and add the one.  But\nperhaps mm/ is altogether overprovisioned with historic BUGs?\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d337b9194b1ce3b6fd5f3cb2799455ed2f9a3d1",
      "tree": "91ed9ef6f4cb5f6a1832f2baaaabd53fcd83513e",
      "parents": [
        "048c27fd72816b44e096997d1c6901c3abbfd45b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:42 2005 -0700"
      },
      "message": "[PATCH] swap: swap_lock replace list+device\n\nThe idea of a swap_device_lock per device, and a swap_list_lock over them all,\nis appealing; but in practice almost every holder of swap_device_lock must\nalready hold swap_list_lock, which defeats the purpose of the split.\n\nThe only exceptions have been swap_duplicate, valid_swaphandles and an\nuntrodden path in try_to_unuse (plus a few places added in this series).\nvalid_swaphandles doesn\u0027t show up high in profiles, but swap_duplicate does\ndemand attention.  However, with the hold time in get_swap_pages so much\nreduced, I\u0027ve not yet found a load and set of swap device priorities to show\neven swap_duplicate benefitting from the split.  Certainly the split is mere\noverhead in the common case of a single swap device.\n\nSo, replace swap_list_lock and swap_device_lock by spinlock_t swap_lock\n(generally we seem to prefer an _ in the name, and not hide in a macro).\n\nIf someone can show a regression in swap_duplicate, then probably we should\nadd a hashlock for the swap_map entries alone (shorts being anatomic), so as\nto help the case of the single swap device too.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "048c27fd72816b44e096997d1c6901c3abbfd45b",
      "tree": "159a00b71ce9db161a48e4fc07b212db455a2cf1",
      "parents": [
        "52b7efdbe5f5696fc80338560a3fc51e0b0a993c"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:41 2005 -0700"
      },
      "message": "[PATCH] swap: scan_swap_map latency breaks\n\nThe get_swap_page/scan_swap_map latency can be so bad that even those without\npreemption configured deserve relief: periodically cond_resched.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52b7efdbe5f5696fc80338560a3fc51e0b0a993c",
      "tree": "30162de9fc8fe3dddb6462f8ff82f1594067cadd",
      "parents": [
        "7dfad4183bf9cd92f977caa3c12cc74f0eefc0e6"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:41 2005 -0700"
      },
      "message": "[PATCH] swap: scan_swap_map drop swap_device_lock\n\nget_swap_page has often shown up on latency traces, doing lengthy scans while\nholding two spinlocks.  swap_list_lock is already dropped, now scan_swap_map\ndrop swap_device_lock before scanning the swap_map.\n\nWhile scanning for an empty cluster, don\u0027t worry that racing tasks may\nallocate what was free and free what was allocated; but when allocating an\nentry, check it\u0027s still free after retaking the lock.  Avoid dropping the lock\nin the expected common path.  No barriers beyond the locks, just let the\ncookie crumble; highest_bit limit is volatile, but benign.\n\nGuard against swapoff: must check SWP_WRITEOK before allocating, must raise\nSWP_SCANNING reference count while in scan_swap_map, swapoff wait for that to\nfall - just use schedule_timeout, we don\u0027t want to burden scan_swap_map\nitself, and it\u0027s very unlikely that anyone can really still be in\nscan_swap_map once swapoff gets this far.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7dfad4183bf9cd92f977caa3c12cc74f0eefc0e6",
      "tree": "e11306e1e82acba1832f07fdfb3296c34cf6e934",
      "parents": [
        "fb4f88dcabdc716c7c350e09cf4a38a419b007e1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:41 2005 -0700"
      },
      "message": "[PATCH] swap: scan_swap_map restyled\n\nRewrite scan_swap_map to allocate in just the same way as before (taking the\nnext free entry SWAPFILE_CLUSTER-1 times, then restarting at the lowest wholly\nempty cluster, falling back to lowest entry if none), but with a view towards\ndropping the lock in the next patch.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb4f88dcabdc716c7c350e09cf4a38a419b007e1",
      "tree": "1a7806e3ac8bd45eded544763324c13c9f95c0e6",
      "parents": [
        "89d09a2c80ea6baafb559b86d545fada05e14ab5"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:41 2005 -0700"
      },
      "message": "[PATCH] swap: get_swap_page drop swap_list_lock\n\nRewrite get_swap_page to allocate in just the same sequence as before, but\nwithout holding swap_list_lock across its scan_swap_map.  Decrement\nnr_swap_pages and update swap_list.next in advance, while still holding\nswap_list_lock.  Skip full devices by testing highest_bit.  Swapoff hold\nswap_device_lock as well as swap_list_lock to clear SWP_WRITEOK.  Reduces lock\ncontention when there are parallel swap devices of the same priority.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89d09a2c80ea6baafb559b86d545fada05e14ab5",
      "tree": "90ff3c2a62c144b93c89b33d66583046f1a7efae",
      "parents": [
        "6eb396dc4a9781c5e7951143ab56ce5710687ab3"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:41 2005 -0700"
      },
      "message": "[PATCH] swap: freeing update swap_list.next\n\nThis makes negligible difference in practice: but swap_list.next should not be\nupdated to a higher prio in the general helper swap_info_get, but rather in\nswap_entry_free; and then only in the case when entry is actually freed.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6eb396dc4a9781c5e7951143ab56ce5710687ab3",
      "tree": "48b165c8934a0f3852344725fee060740dcdfa48",
      "parents": [
        "53092a7402f227151a681b0c92ec8598c5618b1a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:41 2005 -0700"
      },
      "message": "[PATCH] swap: swap unsigned int consistency\n\nThe swap header\u0027s unsigned int last_page determines the range of swap pages,\nbut swap_info has been using int or unsigned long in some cases: use unsigned\nint throughout (except, in several places a local unsigned long is useful to\navoid overflows when adding).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-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": "53092a7402f227151a681b0c92ec8598c5618b1a",
      "tree": "ea482a18567c8b3b1778331ee3c4864e2f4dae6f",
      "parents": [
        "11d31886dbcb61039ed3789e583d21c6e70960fd"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:40 2005 -0700"
      },
      "message": "[PATCH] swap: show span of swap extents\n\nThe \"Adding %dk swap\" message shows the number of swap extents, as a guide to\nhow fragmented the swapfile may be.  But a useful further guide is what total\nextent they span across (sometimes scarily large).\n\nAnd there\u0027s no need to keep nr_extents in swap_info: it\u0027s unused after the\ninitial message, so save a little space by keeping it on stack.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "11d31886dbcb61039ed3789e583d21c6e70960fd",
      "tree": "ddaebfd35080a530a30c56587707c2c5ef452591",
      "parents": [
        "4cd3bb10ff0b21b77b5a4cd13b4bd36694e054c4"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:40 2005 -0700"
      },
      "message": "[PATCH] swap: swap extent list is ordered\n\nThere are several comments that swap\u0027s extent_list.prev points to the lowest\nextent: that\u0027s not so, it\u0027s extent_list.next which points to it, as you\u0027d\nexpect.  And a couple of loops in add_swap_extent which go all the way through\nthe list, when they should just add to the other end.\n\nFix those up, and let map_swap_page search the list forwards: profiles shows\nit to be twice as quick that way - because prefetch works better on how the\nstructs are typically kmalloc\u0027ed?  or because usually more is written to than\nread from swap, and swap is allocated ascendingly?\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4cd3bb10ff0b21b77b5a4cd13b4bd36694e054c4",
      "tree": "e2a76a229b2c030a7d4aec1155e505fd4c087067",
      "parents": [
        "e2244ec2efa4ee1edf391d0001d314933e2b2974"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:40 2005 -0700"
      },
      "message": "[PATCH] swap: move destroy_swap_extents calls\n\nsys_swapon\u0027s call to destroy_swap_extents on failure is made after the final\nswap_list_unlock, which is faintly unsafe: another sys_swapon might already be\nsetting up that swap_info_struct.  Calling it earlier, before taking\nswap_list_lock, is safe.  sys_swapoff\u0027s call to destroy_swap_extents was safe,\nbut likewise move it earlier, before taking the locks (once try_to_unuse has\ncompleted, nothing can be needing the swap extents).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e2244ec2efa4ee1edf391d0001d314933e2b2974",
      "tree": "c9e43f9b6e11ce41d976025c6f9d94c273521132",
      "parents": [
        "b0d9bcd4bb79a7834f8492f2ae5c2655a551f23d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:40 2005 -0700"
      },
      "message": "[PATCH] swap: correct swapfile nr_good_pages\n\nIf a regular swapfile lies on a filesystem whose blocksize is less than\nPAGE_SIZE, then setup_swap_extents may have to cut the number of usable swap\npages; but sys_swapon\u0027s nr_good_pages was not expecting that.  Also,\nsetup_swap_extents takes no account of badpages listed in the swap header: not\nworth doing so, but ensure nr_badpages is 0 for a regular swapfile.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0d9bcd4bb79a7834f8492f2ae5c2655a551f23d",
      "tree": "8978577cf4b132e08e5abc7101e934ffd3106d3c",
      "parents": [
        "fd4fd5aac1282825195c6816ed40a2a6d42db5bf"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Sep 03 15:54:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:40 2005 -0700"
      },
      "message": "[PATCH] swap: update swapfile i_sem comment\n\nUpdate swap extents comment: nowadays we guard with S_SWAPFILE not i_sem.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "28ae55c98e4d16eac9a05a8a259d7763ef3aeb18",
      "tree": "0ac0a08d88a692b9b9934344b5e439058d71772a",
      "parents": [
        "3e347261a80b57df792ab9464b5f0ed59add53a8"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 03 15:54:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:38 2005 -0700"
      },
      "message": "[PATCH] sparsemem extreme: hotplug preparation\n\nThis splits up sparse_index_alloc() into two pieces.  This is needed\nbecause we\u0027ll allocate the memory for the second level in a different place\nfrom where we actually consume it to keep the allocation from happening\nunderneath a lock\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nCc: 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": "3e347261a80b57df792ab9464b5f0ed59add53a8",
      "tree": "047b35e0f9ec82b3beeff882a9af6292a500097c",
      "parents": [
        "802f192e4a600f7ef84ca25c8b818c8830acef5a"
      ],
      "author": {
        "name": "Bob Picco",
        "email": "bob.picco@hp.com",
        "time": "Sat Sep 03 15:54:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:38 2005 -0700"
      },
      "message": "[PATCH] sparsemem extreme implementation\n\nWith cleanups from Dave Hansen \u003chaveblue@us.ibm.com\u003e\n\nSPARSEMEM_EXTREME makes mem_section a one dimensional array of pointers to\nmem_sections.  This two level layout scheme is able to achieve smaller\nmemory requirements for SPARSEMEM with the tradeoff of an additional shift\nand load when fetching the memory section.  The current SPARSEMEM\nimplementation is a one dimensional array of mem_sections which is the\ndefault SPARSEMEM configuration.  The patch attempts isolates the\nimplementation details of the physical layout of the sparsemem section\narray.\n\nSPARSEMEM_EXTREME requires bootmem to be functioning at the time of\nmemory_present() calls.  This is not always feasible, so architectures\nwhich do not need it may allocate everything statically by using\nSPARSEMEM_STATIC.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\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": "802f192e4a600f7ef84ca25c8b818c8830acef5a",
      "tree": "51e9a6ed164e6a2d8741af510c3954ad79bf19af",
      "parents": [
        "0216f86dafb389c0ad97529fd45e64e883298cfd"
      ],
      "author": {
        "name": "Bob Picco",
        "email": "bob.picco@hp.com",
        "time": "Sat Sep 03 15:54:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:38 2005 -0700"
      },
      "message": "[PATCH] SPARSEMEM EXTREME\n\nA new option for SPARSEMEM is ARCH_SPARSEMEM_EXTREME.  Architecture\nplatforms with a very sparse physical address space would likely want to\nselect this option.  For those architecture platforms that don\u0027t select the\noption, the code generated is equivalent to SPARSEMEM currently in -mm.\nI\u0027ll be posting a patch on ia64 ml which uses this new SPARSEMEM feature.\n\nARCH_SPARSEMEM_EXTREME makes mem_section a one dimensional array of\npointers to mem_sections.  This two level layout scheme is able to achieve\nsmaller memory requirements for SPARSEMEM with the tradeoff of an\nadditional shift and load when fetching the memory section.  The current\nSPARSEMEM -mm implementation is a one dimensional array of mem_sections\nwhich is the default SPARSEMEM configuration.  The patch attempts isolates\nthe implementation details of the physical layout of the sparsemem section\narray.\n\nARCH_SPARSEMEM_EXTREME depends on 64BIT and is by default boolean false.\n\nI\u0027ve boot tested under aim load ia64 configured for ARCH_SPARSEMEM_EXTREME.\n I\u0027ve also boot tested a 4 way Opteron machine with !ARCH_SPARSEMEM_EXTREME\nand tested with aim.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\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": "d992895ba2b27cf5adf1ba0ad6d27662adc54c5e",
      "tree": "65a4d1f18a93a9e89d43fe0b8e0b3009675c50f0",
      "parents": [
        "40193713df2cdb9c233b3fc2029ecdccb40cb1e4"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun Aug 28 16:49:11 2005 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 29 17:25:04 2005 -0700"
      },
      "message": "[PATCH] Lazy page table copies in fork()\n\nDefer copying of ptes until fault time when it is possible to reconstruct\nthe pte from backing store. Idea from Andi Kleen and Nick Piggin.\n\nThanks to input from Rik van Riel and Linus and to Hugh for correcting\nmy blundering.\n\nRay Fucillo \u003cfucillo@intersystems.com\u003e reports:\n\n  \"I applied this latest patch to a 2.6.12 kernel and found that it does\n   resolve the problem.  Prior to the patch on this machine, I was\n   seeing about 23ms spent in fork for ever 100MB of shared memory\n   segment.\n\n   After applying the patch, fork is taking about 1ms regardless of the\n   shared memory size.\"\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc314eef0128a807e50fa03baf2d0abc0647952c",
      "tree": "8e38db1be28006894915273b3f3cb3beaa6efda3",
      "parents": [
        "2fb1e3086df9b454538491fba8121298da37cd23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 19 18:02:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 19 18:02:56 2005 -0700"
      },
      "message": "Fix nasty ncpfs symlink handling bug.\n\nThis bug could cause oopses and page state corruption, because ncpfs\nused the generic page-cache symlink handlign functions.  But those\nfunctions only work if the page cache is guaranteed to be \"stable\", ie a\npage that was installed when the symlink walk was started has to still\nbe installed in the page cache at the end of the walk.\n\nWe could have fixed ncpfs to not use the generic helper routines, but it\nis in many ways much cleaner to instead improve on the symlink walking\nhelper routines so that they don\u0027t require that absolute stability.\n\nWe do this by allowing \"follow_link()\" to return a error-pointer as a\ncookie, which is fed back to the cleanup \"put_link()\" routine.  This\nalso simplifies NFS symlink handling.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7546f8f03f5a4fa612605b6be930234d6026860",
      "tree": "e372cdb3856c9585587283c21b5b99a792a1a41d",
      "parents": [
        "e6cb99413da42af413c11a394538ddc8b9d201e1"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 05 11:59:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 05 12:22:37 2005 -0700"
      },
      "message": "[PATCH] Fix hugepage crash on failing mmap()\n\nThis patch fixes a crash in the hugepage code.  unmap_hugepage_area() was\nassuming that (due to prefault) PTEs must exist for all the area in\nquestion.  However, this may not be the case, if mmap() encounters an error\nbefore the prefault and calls unmap_region() to clean up any partial\nmapping.\n\nDepending on the hugepage configuration, this crash can be triggered by an\nunpriveleged user.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2f60f8d3573ff90fe5d75a6d11fd2add1248e7d6",
      "tree": "173980b12459aa55586d3f4f56630abf5af1ffcc",
      "parents": [
        "b68e9f857271189bd7a59b74c99890de9195b0e1"
      ],
      "author": {
        "name": "Simon Derr",
        "email": "Simon.Derr@bull.net",
        "time": "Thu Aug 04 19:52:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 04 21:43:14 2005 -0700"
      },
      "message": "[PATCH] __vm_enough_memory() signedness fix\n\nWe have found what seems to be a small bug in __vm_enough_memory() when\nsysctl_overcommit_memory is set to OVERCOMMIT_NEVER.\n\nWhen this bug occurs the systems fails to boot, with /sbin/init whining\nabout fork() returning ENOMEM.\n\nWe hunted down the problem to this:\n\nThe deferred update mecanism used in vm_acct_memory(), on a SMP system,\nallows the vm_committed_space counter to have a negative value.\n\nThis should not be a problem since this counter is known to be inaccurate.\n\nBut in __vm_enough_memory() this counter is compared to the `allowed\u0027\nvariable, which is an unsigned long.  This comparison is broken since it\nwill consider the negative values of vm_committed_space to be huge positive\nvalues, resulting in a memory allocation failure.\n\nSigned-off-by: \u003cJean-Marc.Saffroy@ext.bull.net\u003e\nSigned-off-by: \u003cSimon.Derr@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1c5ad84516ae7ea4ec868436a910a6bd8d20215a",
      "tree": "929e03789ee2191bbebe45fbd9b6c50865c5f9ca",
      "parents": [
        "e234f35c54a30d040313e40833dcf623d14629b4"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Thu Aug 04 13:07:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 04 13:11:15 2005 -0700"
      },
      "message": "[PATCH] fix VmSize and VmData after mremap\n\nmremap\u0027s move_vma is applying __vm_stat_account to the old vma which may\nhave already been freed: move it to just before the do_munmap.\n\nmremapping to and fro with CONFIG_DEBUG_SLAB\u003dy showed /proc/\u003cpid\u003e/status\nVmSize and VmData wrapping just like in kernel bugzilla #4842, and fixed by\nthis patch - worth including in 2.6.13, though not yet confirmed that it\nfixes that specific report from Frank van Maarseveen.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a68d2ebc1581a3aec57bd032651e013fa609f530",
      "tree": "b41977c7157d7e26f37e9cb502cd1afbbddcbc17",
      "parents": [
        "f33ea7f404e592e4563b12101b7a4d17da6558d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 03 10:07:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 03 10:07:09 2005 -0700"
      },
      "message": "Fix up recent get_user_pages() handling\n\nThe VM_FAULT_WRITE thing is an extra bit, not a valid return value, and\nhas to be treated as such by get_user_pages().\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f33ea7f404e592e4563b12101b7a4d17da6558d7",
      "tree": "1d587ad8a06cb6d2e3a187f0312c8a524ffefe53",
      "parents": [
        "5cb4cc0d8211c490537c8568001958fc76741312"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Wed Aug 03 20:24:01 2005 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 03 09:12:05 2005 -0700"
      },
      "message": "[PATCH] fix get_user_pages bug\n\nChecking pte_dirty instead of pte_write in __follow_page is problematic\nfor s390, and for copy_one_pte which leaves dirty when clearing write.\n\nSo revert __follow_page to check pte_write as before, and make\ndo_wp_page pass back a special extra VM_FAULT_WRITE bit to say it has\ndone its full job: once get_user_pages receives this value, it no longer\nrequires pte_write in __follow_page.\n\nBut most callers of handle_mm_fault, in the various architectures, have\nswitch statements which do not expect this new case.  To avoid changing\nthem all in a hurry, make an inline wrapper function (using the old\nname) that masks off the new bit, and use the extended interface with\ndouble underscores.\n\nYes, we do have a call to do_wp_page from do_swap_page, but no need to\nchange that: in rare case it\u0027s needed, another do_wp_page will follow.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\n[ Cleanups by Nick Piggin ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba17101b41977f124948e0a7797fdcbb59e19f3e",
      "tree": "0d5e8b860e1294e4e38576624e1909075cb84ea6",
      "parents": [
        "690dbe1ced143876d8fa56b72310738dbe079d0a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Aug 01 21:11:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 01 21:38:00 2005 -0700"
      },
      "message": "[PATCH] sys_set_mempolicy() doesnt check if mode \u003c 0\n\nA kernel BUG() is triggered by a call to set_mempolicy() with a negative\nfirst argument.  This is because the mode is declared as an int, and the\nvalidity check doesnt check \u003c 0 values.  Alternatively, mode could be\ndeclared as unsigned int or unsigned long.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "690dbe1ced143876d8fa56b72310738dbe079d0a",
      "tree": "4297d5647ce5e6cbe429dc506007579952c31015",
      "parents": [
        "74f9c9c258249fba3e2e78f70691528426a6c010"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Aug 01 21:11:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 01 21:38:00 2005 -0700"
      },
      "message": "[PATCH] x86_64: access of some bad address\n\nx86_64 has a large sparse gate area between VSYSCALL_START and\nVSYSCALL_END, not all of it presently backed by pmds.  Alexander Nyberg has\nfound that in some circumstances gdb may try to ptrace here, and hit\nget_user_pages BUG_ON.  It seems odd that gdb should be accessing here, but\nit certainly shouldn\u0027t crash in this way: relax BUG_ON to -EFAULT.  Fixes\nkernel bugzilla #4801.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4ceb5db9757aaeadcf8fbbf97d76bd42aa4df0d6",
      "tree": "6a3108ceea457c21130838d49736f5e9de3badc3",
      "parents": [
        "8d894c47975f7222c5537e450e71310b395488c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 01 11:14:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 01 11:14:49 2005 -0700"
      },
      "message": "Fix get_user_pages() race for write access\n\nThere\u0027s no real guarantee that handle_mm_fault() will always be able to\nbreak a COW situation - if an update from another thread ends up\nmodifying the page table some way, handle_mm_fault() may end up\nrequiring us to re-try the operation.\n\nThat\u0027s normally fine, but get_user_pages() ended up re-trying it as a\nread, and thus a write access could in theory end up losing the dirty\nbit or be done on a page that had not been properly COW\u0027ed.\n\nThis makes get_user_pages() always retry write accesses as write\naccesses by making \"follow_page()\" require that a writable follow has\nthe dirty bit set.  That simplifies the code and solves the race: if the\nCOW break fails for some reason, we\u0027ll just loop around and try again.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e310fd43256b3cf4d37f6447b8f7413ca744657a",
      "tree": "29537927762fd44459fa288b5241d4e79dbadedb",
      "parents": [
        "5fa918b451f625870cd4275ca908b2392ee86a51"
      ],
      "author": {
        "name": "Martin J. Bligh",
        "email": "mbligh@mbligh.org",
        "time": "Fri Jul 29 22:59:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 30 10:14:46 2005 -0700"
      },
      "message": "[PATCH] Fix NUMA node sizing in nr_free_zone_pages\n\nWe are iterating over all nodes in nr_free_zone_pages().  Because the\nfallback zonelists contain all nodes in the system, and we walk all the\nzonelists, we\u0027re counting memory multiple times (once for each node).  This\ncaused us to make a size estimate of 32GB for an 8GB AMD64 box, which makes\nall the dirty ratio calculations, etc incorrect.\n\nThere\u0027s still a further bug to fix from e820 holes causing overestimation\nas well, but this fix is separate, and good as is, and fixes one class of\nproblems.  Problem found by Badari, and tested by Ram Pai - thanks!\n\nSigned-off-by:  Martin J. Bligh \u003cmbligh@mbligh.org\u003e\nSigned-off-by:  Matt Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "12b1c5f382194d3f656e78fb5c9c8f2bfbe8ed8a",
      "tree": "052ec39f86482f4623531b247131aed93b6fb345",
      "parents": [
        "165cd40235732644b1856a5ed5e158c9b93f6010"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Jul 27 11:44:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:25:54 2005 -0700"
      },
      "message": "[PATCH] Remove bogus warning in page_alloc.c\n\nOriginally __free_pages_bulk used the relative page number within a zone to\ndefine its buddies.  This meant that to maintain the \"maximally aligned\"\nrequirements (that an allocation of size N will be aligned at least to N\nphysically) zones had to also be aligned to 1\u003c\u003cMAX_ORDER pages.  When\n__free_pages_bulk was updated to use the relative page frame numbers of the\nfree\u0027d pages to pair buddies this released the alignment constraint on the\n\u0027left\u0027 edge of the zone.  This allows _either_ edge of the zone to contain\npartial MAX_ORDER sized buddies.  These simply never will have matching\nbuddies and thus will never make it to the \u0027top\u0027 of the pyramid.\n\nThe patch below removes a now redundant check ensuring that the mem_map was\naligned to MAX_ORDER.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "165cd40235732644b1856a5ed5e158c9b93f6010",
      "tree": "c68180b6d700953530c8a7852a095f9ac4840345",
      "parents": [
        "4bfdf37830111321e2cd1fe0102dd776ce93194d"
      ],
      "author": {
        "name": "suzuki",
        "email": "suzuki@in.ibm.com",
        "time": "Wed Jul 27 11:43:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:25:54 2005 -0700"
      },
      "message": "[PATCH] madvise() does not always return -EBADF on non-file mapped area\n\nThe madvise() system call returns -EBADF for areas which does not map to\nfiles, only for *behaviour* request MADV_WILLNEED.\n\nAccording to man pages, madvise returns :\n\nEBADF - the map exists, but the area maps something that isn\u0027t a file.\n\nFixes bug 2995.\n\nSigned-off-by: Suzuki K P \u003csuzuki@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1aaf18ff9de1f37bf674236fc0779c3aaa65b998",
      "tree": "53df4d3dd0fbd81b79d5cdb63cf0d11853307a6b",
      "parents": [
        "0cfc11ed45e4c00750039e5a18c0fc0d681e19db"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Jul 27 11:43:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:25:53 2005 -0700"
      },
      "message": "[PATCH] check_user_page_readable() deadlock fix\n\nFix bug identifued by Richard Purdie \u003crpurdie@rpsys.net\u003e.\n\noprofile calls check_user_page_readable() from interrupt context, so we\ndeadlock over various VFS locks.\n\nBut check_user_page_readable() doesn\u0027t imply either a read or a write of the\npage\u0027s contents.  Change __follow_page() so that check_user_page_readable()\ncan tell __follow_page() that we\u0027re not accessing the page\u0027s contents, and use\nthat info to avoid the troublesome lock-takings.\n\nAlso, make follow_page() inline for the single callsite in memory.c to save a\nbit of stack space.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "90c5029e471636f21221bf66b9a46ada2ab79a22",
      "tree": "b3a658d77b16fcecdc3c18bfe6eef679e203b757",
      "parents": [
        "c223695634fb360ed65e5a811161853a05e46962"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@muc.de",
        "time": "Wed Jul 27 11:43:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:25:52 2005 -0700"
      },
      "message": "[PATCH] Undo mempolicy shared policy rbtree microoptimization\n\nAll mempolicy changes must be inside the spinlock and readding the rb_erase\nprevents a crash while doing:\n\n\u003e echo \"1\" \u003e /tmp/numatest\n\u003e numactl --length\u003d0x4000 --shm /tmp/numatest --localalloc\n\u003e numactl --length\u003d0x2000 --offset\u003d0 --shm /tmp/numatest --membind\u003d0\n\u003e numactl --length\u003d0x2000 --offset\u003d0x2000 --shm /tmp/numatest --membind\u003d1\n\u003e ipcs\n\u003e ipcrm -M \"the_key_value_of_this_shm_area\"\n\nBased on a patch by John Blackwood\n\nCc: \u003cjohn.blackwood@ccur.com\u003e\nCc: \u003candrea@suse.de\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "afa597ba20e9ef55fc6283c1a564854b1c9f13c0",
      "tree": "56cbfbca20a3c59ef6b1d149f67185e8e8f3a85c",
      "parents": [
        "c5287ba132ff742e595d42c28b66cbba19522c4e"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Fri Jul 15 03:56:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 15 09:54:50 2005 -0700"
      },
      "message": "[PATCH] execute-in-place fixes\n\nThis patch includes feedback from Andrew and Christoph. Thanks for\ntaking time to review.\n\nUse of empty_zero_page was eliminated to fix compilation for architectures\nthat don\u0027t have it.\n\nThis patch removes setting pages up-to-date in ext2_get_xip_page and all\nbug checks to verify that the page is indeed up to date.  Setting the page\nstate on mapping to userland is bogus.  None of the code patchs involved\nwith these pages in mm cares about the page state.\n\nstill on my ToDo list: identify a place outside second extended where\n__inode_direct_access should reside\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "082ff0a9991dcea958785115fbba6dddd0dc280a",
      "tree": "1d98a032b5757365d553dfe035662bb81c119e8b",
      "parents": [
        "eb0a90b4970d667e9ae9df538710f12b8e78e442"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Jul 12 13:58:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 16:01:00 2005 -0700"
      },
      "message": "[PATCH] mm/filemap_xip.c compilation fix\n\nmm/filemap_xip.c: In function `__xip_unmap\u0027:\nmm/filemap_xip.c:194: request for member `pte\u0027 in something not a structure or union\n\nApparently pte_pfn() takes a pte_t, not a pointer to a pte_t.  From looking\nat asm/page.h, it seems to be the same on ia32 or ppc (iff\nSTRICT_MM_TYPECHECKS is enabled, which is disabled by default on ppc).\n\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0db925af1db5f3dfe1691c35b39496e2baaff9c9",
      "tree": "bb9f827fa001b27f7a902abf174e8f0057c9df81",
      "parents": [
        "b84c21572de8a732062eff5592e3c4b3b1793bb8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jul 07 17:56:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:46 2005 -0700"
      },
      "message": "[PATCH] propagate __nocast annotations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42639269f9ce4aac2e6c20bcbca30b5da8b9a899",
      "tree": "1583ac4da9d2e40669d4579e338d8e506dedba5a",
      "parents": [
        "37b173a4d03d1681e6c9529bc43d7a3308132db6"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 07 17:56:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:36 2005 -0700"
      },
      "message": "[PATCH] mm: quieten OOM killer noise\n\nWe now print statistics when invoking the OOM killer, however this\ninformation is not rate limited and you can get into situations where the\nconsole is continually spammed.\n\nFor example, when a task is exiting the OOM killer will simply return\n(waiting for that task to exit and clear up memory).  If the VM continually\ncalls back into the OOM killer we get thousands of copies of show_mem() on\nthe console.\n\nUse printk_ratelimit() to quieten it.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "37b173a4d03d1681e6c9529bc43d7a3308132db6",
      "tree": "478802dfe5afee12589d4d5533f8312a923c4ec2",
      "parents": [
        "79b9ce311e192e9a31fd9f3cf1ee4a4edf9e2650"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo.tosatti@cyclades.com",
        "time": "Thu Jul 07 17:56:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:35 2005 -0700"
      },
      "message": "[PATCH] remove completly bogus comment inside __alloc_pages() try_to_free_pages handling\n\nRemove completly bogus comment from did_some_progress !\u003d 0 handling (that\nsame comment is a few lines below on did_some_progress \u003d 0 case, where it\nbelongs).\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "79b9ce311e192e9a31fd9f3cf1ee4a4edf9e2650",
      "tree": "210896405b2b70aded7582750e20967df8c8e7bf",
      "parents": [
        "cb2c0233755429037462e16ea0d5497a0092738c"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo.tosatti@cyclades.com",
        "time": "Thu Jul 07 17:56:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:35 2005 -0700"
      },
      "message": "[PATCH] print order information when OOM killing\n\nDump the current allocation order when OOM killing.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83b78bd2d31f12d7d9317d9802a1996a7bd8a6f2",
      "tree": "79468471ee42a327cad337d065a9498833d5bd24",
      "parents": [
        "b4634484815e1879512a23e4f59eef648135c30a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Wed Jul 06 10:47:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 06 10:52:45 2005 -0700"
      },
      "message": "[PATCH] Fix broken kmalloc_node in rc1/rc2\n\nThis patch used to be in Andrew\u0027s tree before the NUMA slab allocator went\nin. Either this patch or the NUMA slab allocator is needed in order for\nkmalloc_node to work correctly.\n\npcibus_to_node may be used to generate the node information passed to\nkmalloc_node. pcibus_to_node returns -1 if it was not able to determine\non which node a pcibus is located. For that case kmalloc_node must\nwork like kmalloc.\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "687a21cee17000177b1935896b9b475acf136678",
      "tree": "41e59684ae6479e84b34edc46972ce32c2cc58b7",
      "parents": [
        "05133fc498e788e1c1ca4e906f9e05d9779fd63b"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.Helsinki.FI",
        "time": "Tue Jun 28 20:44:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 21:20:31 2005 -0700"
      },
      "message": "[PATCH] rename wakeup_bdflush to wakeup_pdflush\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3212c6be251219c0f4c2df0c93e122ff5be0d9dc",
      "tree": "8105201ba37d55beeb4a042d4691661ba400d098",
      "parents": [
        "9c4142a133f7efee08238722b157656c3da7ca97"
      ],
      "author": {
        "name": "Bob Picco",
        "email": "bob.picco@hp.com",
        "time": "Mon Jun 27 14:36:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 15:11:42 2005 -0700"
      },
      "message": "[PATCH] fix WANT_PAGE_VIRTUAL in memmap_init\n\nI spotted this issue while in memmap_init last week.  I can\u0027t say the\nchange has any test coverage by me.  start_pfn was formerly used in main\n\"for\" loop.  The fix is replace start_pfn with pfn.\n\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": "2031d0f586839bc68f35bcf8580b18947f8491d4",
      "tree": "e317615b4cb62350edeea0afe0a4fc94152cee29",
      "parents": [
        "98e7f29418a4931f97e6b78d1ef3a47103fe6cd5",
        "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:16:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:16:53 2005 -0700"
      },
      "message": "Merge Christoph\u0027s freeze cleanup patch\n"
    },
    {
      "commit": "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73",
      "tree": "d1e7c1e2e8902072042aefc3a7976b271cf76021",
      "parents": [
        "b3e112bcc19abd8e9657dca34a87316786e096f3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Fri Jun 24 23:13:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:10:13 2005 -0700"
      },
      "message": "[PATCH] Cleanup patch for process freezing\n\n1. Establish a simple API for process freezing defined in linux/include/sched.h:\n\n   frozen(process)\t\tCheck for frozen process\n   freezing(process)\t\tCheck if a process is being frozen\n   freeze(process)\t\tTell a process to freeze (go to refrigerator)\n   thaw_process(process)\tRestart process\n   frozen_process(process)\tProcess is frozen now\n\n2. Remove all references to PF_FREEZE and PF_FROZEN from all\n   kernel sources except sched.h\n\n3. Fix numerous locations where try_to_freeze is manually done by a driver\n\n4. Remove the argument that is no longer necessary from two function calls.\n\n5. Some whitespace cleanup\n\n6. Clear potential race in refrigerator (provides an open window of PF_FREEZE\n   cleared before setting PF_FROZEN, recalc_sigpending does not check\n   PF_FROZEN).\n\nThis patch does not address the problem of freeze_processes() violating the rule\nthat a task may only modify its own flags by setting PF_FREEZE. This is not clean\nin an SMP environment. freeze(process) is therefore not SMP safe!\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c0e33c133021ee241e9d51255b9fb18eb34ef0e",
      "tree": "30ddff7f7cf375c36d11d49352365a42b25e1def",
      "parents": [
        "f45494480f31342125870c1a184999d7c5a59471"
      ],
      "author": {
        "name": "Nick Wilson",
        "email": "njw@osdl.org",
        "time": "Sat Jun 25 14:59:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:25:02 2005 -0700"
      },
      "message": "[PATCH] Use ALIGN to remove duplicate code\n\nThis patch makes use of ALIGN() to remove duplicate round-up code.\n\nSigned-off-by: Nick Wilson \u003cnjw@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92aa63a5a1bf2e7b0c79e6716d24b76dbbdcf951",
      "tree": "1f4d49c8e9bf02e834e6af8c1f7d4484d9f76c6e",
      "parents": [
        "d58831e4163699de204dea199be2e903bf5d6eff"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:52 2005 -0700"
      },
      "message": "[PATCH] kdump: Retrieve saved max pfn\n\nThis patch retrieves the max_pfn being used by previous kernel and stores it\nin a safe location (saved_max_pfn) before it is overwritten due to user\ndefined memory map.  This pfn is used to make sure that user does not try to\nread the physical memory beyond saved_max_pfn.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0cfbd995d091b10841eeb948976f5d1fbf13cdd",
      "tree": "a693416656084c99581c8ef6d2ca830b0cfe13a9",
      "parents": [
        "8ae0b77811d97552b3b3c745e97de18849583bf7"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Jun 25 14:55:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:39 2005 -0700"
      },
      "message": "[PATCH] fix for generic_file_write iov problem\n\nHere is the fix for the problem described in\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d4721\n\nBasically, problem is generic_file_buffered_write() is accessing beyond end\nof the iov[] vector after handling the last vector.  If we happen to cross\npage boundary, we get a fault.\n\nI think this simple patch is good enough.  If we really don\u0027t want to\ndepend on the \"count\", then we need pass nr_segs to\nfilemap_set_next_iovec() and decrement it and check it.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "648be3188135add682349e86d46d07cc11c8eb57",
      "tree": "d6c4b7e1408baebb97dc4cd8d7a435ac3eb4cad0",
      "parents": [
        "fc5fb2c609c6acef15a8b062063e9135fb08b4d2"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:32 2005 -0700"
      },
      "message": "[PATCH] swsusp: kill config_pm_disk\n\nCONFIG_PM_DISK is long gone, but it still managed to survived at few\nplaces.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2d15cab85b85a56cc886037cab43cc292923ff22",
      "tree": "55de7526dfb766067821d552892ad43b32f78c35",
      "parents": [
        "1e8a81c5a37907bc082025d3468718116dca1eeb"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Jun 25 14:54:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:26 2005 -0700"
      },
      "message": "[PATCH] mm: fix remap_pte_range BUG\n\nOut-of-tree user of remap_pfn_range hit kernel BUG at mm/memory.c:1112!  It\npasses an unrounded size to remap_pfn_range, which was okay before 2.6.12,\nbut misses remap_pte_range\u0027s new end condition.  An audit of all the other\nptwalks confirms that this is the only one so exposed.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e8a81c5a37907bc082025d3468718116dca1eeb",
      "tree": "0b9dae5a22d8caeab40a5e08150bfad27411cc41",
      "parents": [
        "b4819b593740a6d11db07b52e0fe35975b29a185"
      ],
      "author": {
        "name": "Hifumi Hisashi",
        "email": "hifumi.hisashi@lab.ntt.co.jp",
        "time": "Sat Jun 25 14:54:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:25 2005 -0700"
      },
      "message": "[PATCH] Fix the error handling in direct I/O\n\nFix a bug on error handling in the direct I/O function.\n\nCurrently, if a file is opened with the O_DIRECT|O_SYNC flag, the write()\nsyscall cannot receive the EIO error after an I/O error (SCSI cable is\ndisconnected etc.).\n\nReturn values of other points that call generic_osync_inode() are treated\nappropriately.\n\nSigned-off-by: Hisashi Hifumi  \u003chifumi.hisashi@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fe77ba6f4f97690baa4c756611a07f3cc033f6ae",
      "tree": "01abe2ed3f1ed6f9340f7d9cbad461cbedb47e65",
      "parents": [
        "eb6fe0c388e43b02e261f0fdee60e42f6298d7f7"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:42 2005 -0700"
      },
      "message": "[PATCH] xip: madvice/fadvice: execute in place\n\nMake sys_madvice/fadvice return sane with xip.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eb6fe0c388e43b02e261f0fdee60e42f6298d7f7",
      "tree": "3924bfbbbb10afc19f3bcd4963af14121f2c0553",
      "parents": [
        "6d79125bba55ee82701f1c7d4ebbc1aa20ecbe4e"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:41 2005 -0700"
      },
      "message": "[PATCH] xip: reduce code duplication\n\nThis patch reworks filemap_xip.c with the goal to reduce code duplication\nfrom mm/filemap.c.  It applies agains 2.6.12-rc6-mm1.  Instead of\nimplementing the aio functions, this one implements the synchronous\nread/write functions only.  For readv and writev, the generic fallback is\nused.  For aio, we rely on the application doing the fallback.  Since our\n\"synchronous\" function does memcpy immediately anyway, there is no\nperformance difference between using the fallbacks or implementing each\noperation.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ceffc078528befc008c6f2c2c4decda79eabd534",
      "tree": "a289e10162bdef0c0d9f6533f1a647b0fe1ed7a9",
      "parents": [
        "420edbcc09008342c7b2665453f6b370739aadb0"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:41 2005 -0700"
      },
      "message": "[PATCH] xip: fs/mm: execute in place\n\n- generic_file* file operations do no longer have a xip/non-xip split\n- filemap_xip.c implements a new set of fops that require get_xip_page\n  aop to work proper. all new fops are exported GPL-only (don\u0027t like to\n  see whatever code use those except GPL modules)\n- __xip_unmap now uses page_check_address, which is no longer static\n  in rmap.c, and defined in linux/rmap.h\n- mm/filemap.h is now much more clean, plainly having just Linus\u0027\n  inline funcs moved here from filemap.c\n- fix includes in filemap_xip to make it build cleanly on i386\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3d41088fa327782b14b5659dbcfff62ec704c23c",
      "tree": "bd9a25f9ae7a0e232c9d5006849905e31a9dbc92",
      "parents": [
        "363412b4f70a2ba19c76a01da7580472399312d4"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Thu Jun 23 22:05:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:40 2005 -0700"
      },
      "message": "[PATCH] DocBook: update comments\n\nThis patch updates some comments to match code changes.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45778ca819accab1a4a3378b3566cab0f189164f",
      "tree": "9214491346c8d2d91eb1a11cb6c2e6a9387e4290",
      "parents": [
        "280dedb8d64ccfe1166ae03d3b254fc3b65de6a5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@graphe.net",
        "time": "Thu Jun 23 00:10:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] Remove f_error field from struct file\n\nThe following patch removes the f_error field and all checks of f_error.\n\nTrond said:\n\n  f_error was introduced for NFS, and made sense when we were guaranteed\n  always to have a file pointer around when write errors occurred.  Since\n  then, we have (for various reasons) had to introduce the nfs_open_context in\n  order to track the file read/write state, and it made sense to move our\n  f_error tracking there too.\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "01890a4c120f68366441bf5e193d1b9dd543d4d0",
      "tree": "ed854da46009b0837485e8acd17dc9d944e8068f",
      "parents": [
        "8476994af7bd9352ecdf61ba760f7397f54e30a1"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Thu Jun 23 00:10:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:29 2005 -0700"
      },
      "message": "[PATCH] mempool - only init waitqueue in slow path\n\nHere\u0027s a small patch to improve the performance of mempool_alloc by only\ninitializing the wait queue when we\u0027re about to wait.\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": "3bc1ee3e8f1c05c0f64a479c6d56eb34a6190599",
      "tree": "d69ea17b71b309151914ef722d2159e0c780312c",
      "parents": [
        "be5b4fbd017d12e0d09ea0528a5839ce2ed2c8c8"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 23 00:09:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:19 2005 -0700"
      },
      "message": "[PATCH] remove redundant vm_flags clearing from madvise.c\n\nThis patch removes redundant VM_ClearReadHint from mm/madvice.c which was\nleft there by Prasanna\u0027s patch.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\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": "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": "af705362ab6018071310c5fcd436a6b457517d5f",
      "tree": "429e505558ee98e19b08ade8d02eedc3fee2478b",
      "parents": [
        "b159d43fbf7eaaac6ecc647f51cf4257332db47b"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:07:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:04 2005 -0700"
      },
      "message": "[PATCH] generify memory present\n\nAllow architectures to indicate that they will be providing hooks to indice\ninstalled memory areas, memory_present().  Provide prototypes for the i386\nimplementation.\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": "785dcd44b60ec8ede76fed0af54333ab5f3e848c",
      "tree": "d928787cd93c608f24a6366d0990cd962a5a0c16",
      "parents": [
        "e1785e85b9c81c67b581b511ee4efac6c81e9edb"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:03 2005 -0700"
      },
      "message": "[PATCH] mm/Kconfig: give DISCONTIG more help text\n\nThis gives DISCONTIGMEM a bit more help text to explain what it does, not just\nwhen to choose it.\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": "e1785e85b9c81c67b581b511ee4efac6c81e9edb",
      "tree": "97d0470fec528f9c995674abd39c02c36ec2d110",
      "parents": [
        "074ccf8016b61f4b40066f8d737ab31e17a6afd1"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:03 2005 -0700"
      },
      "message": "[PATCH] mm/Kconfig: hide \"Memory Model\" selection menu\n\nI got some feedback from users who think that the new \"Memory Model\" menu is a\nlittle invasive.  This patch will hide that menu, except when\nCONFIG_EXPERIMENTAL is enabled *or* when an individual architecture wants it.\n\nAn individual arch may want to enable it because they\u0027ve removed their\narch-specific DISCONTIG prompt in favor of the mm/Kconfig one.\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": "44d0f805c77902a22dda244fd092b4567066b2b9",
      "tree": "62732a526b6ade8b9cc0f403130ddf4d4b4fdf46",
      "parents": [
        "93b7504e3e6c1d98586854806e51bea329ea3aa9"
      ],
      "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] sparsemem: fix minor \"defaults\" issue in mm/Kconfig\n\nThe following patch applies on top of 2.6.12-rc2-mm1.  It fixes a minor\nuser interaction issue, and an early reference to SPARSEMEM.\n\nThis \"choice\" menu would always default to FLATMEM, as it was listed first.\n Move it to the end so that the other defaults have a chance first.\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": "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": "3a9da7655d2d5b7f790a370328cf093440c80496",
      "tree": "29fd39ee7dce0cfb4abc104a8492c22ff7f06111",
      "parents": [
        "5b505b90b2d54e526cc8d123bdef3b98c9f0bbc6"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:01 2005 -0700"
      },
      "message": "[PATCH] create mm/Kconfig for arch-independent memory options\n\nWith sparsemem being introduced, we need a central place for new\nmemory-related .config options: mm/Kconfig.  This allows us to remove many\nof the duplicated arch-specific options.\n\nThe new option, CONFIG_FLATMEM, is there to enable us to detangle NUMA and\nDISCONTIGMEM.  This is a requirement for sparsemem because sparsemem uses\nthe NUMA code without the presence of DISCONTIGMEM.  The sparsemem patches\nuse CONFIG_FLATMEM in generic code, so this patch is a requirement before\napplying them.\n\nAlmost all places that used to do \u0027#ifndef CONFIG_DISCONTIGMEM\u0027 should use\n\u0027#ifdef CONFIG_FLATMEM\u0027 instead.\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": "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": "b7c84c6ada2be942eca6722edb2cfaad412cd5de",
      "tree": "06cba21e92755bf6b815221d5124ca0f9faf7985",
      "parents": [
        "a4936044001694f033fe4ea94d6034d51a6b465c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Jun 22 20:26:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Wed Jun 22 20:42:32 2005 -0700"
      },
      "message": "[PATCH] boot_pageset must not be freed.\n\nThe boot_pageset needs to be preserved for hotplugging and for off line\nprocessors and nodes. Otherwise pointers will point into memory that has\nnow a different use. /proc/zoneinfo is currently showing strange results\nif processors / nodes are not present.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0d62219a48bd91ec40fb254c930914dccc77ff1",
      "tree": "66049d2eb980b67bd745d19e97ada5a992975c06",
      "parents": [
        "b4955ce3dd0818b56da532a16c9a4a3804a558ee"
      ],
      "author": {
        "name": "Denis Vlasenko",
        "email": "vda@ilport.com.ua",
        "time": "Tue Jun 21 17:15:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] Kill stray newline\n\nOOM killer prints a stray newline.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4955ce3dd0818b56da532a16c9a4a3804a558ee",
      "tree": "6e01667181bfc495b56e39748783ad2235a4f56e",
      "parents": [
        "c475a8ab625d567eacf5e30ec35d6d8704558062"
      ],
      "author": {
        "name": "Abhijit Karmarkar",
        "email": "abhijitk@veritas.com",
        "time": "Tue Jun 21 17:15:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] msync: check pte dirty earlier\n\nIt\u0027s common practice to msync a large address range regularly, in which\noften only a few ptes have actually been dirtied since the previous pass.\n\nsync_pte_range then goes much faster if it tests whether pte is dirty\nbefore locating and accessing each struct page cacheline; and it is hardly\nslowed by ptep_clear_flush_dirty repeating that test in the opposite case,\nwhen every pte actually is dirty.\n\nBut beware, s390\u0027s pte_dirty always says false, since its dirty bit is kept\nin the storage key, located via the struct page address.  So skip this\noptimization in its case: use a pte_maybe_dirty macro which just says true\nif page_test_and_clear_dirty is implemented.\n\nSigned-off-by: Abhijit Karmarkar \u003cabhijitk@veritas.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "c475a8ab625d567eacf5e30ec35d6d8704558062"
}
