)]}'
{
  "log": [
    {
      "commit": "66aa2b4b1cf9a61f1550251c56fc6f0d48287591",
      "tree": "b372d102e0f6a8071c2473c84343f7a1a9d4cf94",
      "parents": [
        "966cdb2fdf1776392c98f7d38e0eb9c6dd1c4715"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Mon Sep 12 11:18:10 2005 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Sep 11 20:43:47 2005 -0700"
      },
      "message": "[PATCH] uclinux: add NULL check, 0 end valid check and some more exports to nommu.c\n\nMove call to get_mm_counter() in update_mem_hiwater() to be\ninside the check for tsk-\u003emm being null. Otherwise you can be\nfollowing a null pointer here. This patch submitted by\nJavier Herrero \u003cjherrero@hvsistemas.es\u003e.\n\nModify the end check for munmap regions to allow for the\nlegacy behavior of 0 being valid. Pretty much all current\nuClinux system libc malloc\u0027s pass in 0 as the end point.\nA hard check will fail on these, so change the check so\nthat if it is non-zero it must be valid otherwise it fails.\nA passed in value will always succeed (as it used too).\n\nAlso export a few more mm system functions - to be consistent\nwith the VM code exports.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.com\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": "1363c3cd8603a913a27e2995dccbd70d5312d8e6",
      "tree": "405e7fc1ef44678f3ca0a54c536d0457e6e80f45",
      "parents": [
        "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a"
      ],
      "author": {
        "name": "Wolfgang Wander",
        "email": "wwc@rentec.com",
        "time": "Tue Jun 21 17:14:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] Avoiding mmap fragmentation\n\nIngo recently introduced a great speedup for allocating new mmaps using the\nfree_area_cache pointer which boosts the specweb SSL benchmark by 4-5% and\ncauses huge performance increases in thread creation.\n\nThe downside of this patch is that it does lead to fragmentation in the\nmmap-ed areas (visible via /proc/self/maps), such that some applications\nthat work fine under 2.4 kernels quickly run out of memory on any 2.6\nkernel.\n\nThe problem is twofold:\n\n  1) the free_area_cache is used to continue a search for memory where\n     the last search ended.  Before the change new areas were always\n     searched from the base address on.\n\n     So now new small areas are cluttering holes of all sizes\n     throughout the whole mmap-able region whereas before small holes\n     tended to close holes near the base leaving holes far from the base\n     large and available for larger requests.\n\n  2) the free_area_cache also is set to the location of the last\n     munmap-ed area so in scenarios where we allocate e.g.  five regions of\n     1K each, then free regions 4 2 3 in this order the next request for 1K\n     will be placed in the position of the old region 3, whereas before we\n     appended it to the still active region 1, placing it at the location\n     of the old region 2.  Before we had 1 free region of 2K, now we only\n     get two free regions of 1K -\u003e fragmentation.\n\nThe patch addresses thes issues by introducing yet another cache descriptor\ncached_hole_size that contains the largest known hole size below the\ncurrent free_area_cache.  If a new request comes in the size is compared\nagainst the cached_hole_size and if the request can be filled with a hole\nbelow free_area_cache the search is started from the base instead.\n\nThe results look promising: Whereas 2.6.12-rc4 fragments quickly and my\n(earlier posted) leakme.c test program terminates after 50000+ iterations\nwith 96 distinct and fragmented maps in /proc/self/maps it performs nicely\n(as expected) with thread creation, Ingo\u0027s test_str02 with 20000 threads\nrequires 0.7s system time.\n\nTaking out Ingo\u0027s patch (un-patch available per request) by basically\ndeleting all mentions of free_area_cache from the kernel and starting the\nsearch for new memory always at the respective bases we observe: leakme\nterminates successfully with 11 distinctive hardly fragmented areas in\n/proc/self/maps but thread creating is gringdingly slow: 30+s(!) system\ntime for Ingo\u0027s test_str02 with 20000 threads.\n\nNow - drumroll ;-) the appended patch works fine with leakme: it ends with\nonly 7 distinct areas in /proc/self/maps and also thread creation seems\nsufficiently fast with 0.71s for 20000 threads.\n\nSigned-off-by: Wolfgang Wander \u003cwwc@rentec.com\u003e\nCredit-to: \"Richard Purdie\" \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e (partly)\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a019225c797a1047470accee950d69cfe7c59c5",
      "tree": "0292277ce6b1fda86658dbaeeb4402800c2bef0f",
      "parents": [
        "59db2e6ed080ac385f19b9f4329133d634215bfd"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon May 16 21:53:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:17 2005 -0700"
      },
      "message": "[PATCH] mm/nommu.c: try to fix __vmalloc\n\nLinus changed the second argument of __vmalloc from int to unsigned int\nbreaking the compilation for CONFIG_MMU\u003dn configurations (since he only\nchanged vmalloc.c but not nommu.c).\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
