)]}'
{
  "log": [
    {
      "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": "5db92850d3ab72b830a0fe6e30eaec8462801408",
      "tree": "1f1b40c7b1873cf24cf98859907912ff514eb056",
      "parents": [
        "a2ef79e1840ebbd0b5907e53c755efd5662112a1"
      ],
      "author": {
        "name": "Daniel Jacobowitz",
        "email": "dan@debian.org",
        "time": "Wed Jun 15 22:26:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 16 09:02:59 2005 -0700"
      },
      "message": "[PATCH] Fix large core dumps with a 32-bit off_t\n\nThe ELF core dump code has one use of off_t when writing out segments.\nSome of the segments may be passed the 2GB limit of an off_t, even on a\n32-bit system, so it\u0027s important to use loff_t instead.  This fixes a\ncorrupted core dump in the bigcore test in GDB\u0027s testsuite.\n\nSigned-off-by: Daniel Jacobowitz \u003cdan@codesourcery.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a84a505956f5c795a9ab3d60d97b6b91a27aa571",
      "tree": "440fdf47fcddf8b0d615667b418981a511d16e30",
      "parents": [
        "d3f0fcec2d50a18a84c4f3dd7683206ed37ca009"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 11 00:10:44 2005 -0700"
      },
      "committer": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Mon May 16 21:07:05 2005 -0700"
      },
      "message": "[PATCH] fix Linux kernel ELF core dump privilege elevation\n\nAs reported by Paul Starzetz \u003cihaquer@isec.pl\u003e\n\nReference: CAN-2005-1263\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "18c8baff8fe151ea02e00047afc369ee31939e9b",
      "tree": "e71f64f2f4c33c9e343d121fcbeff7b660961382",
      "parents": [
        "5bec0039f4ac8d707d7afe7739cc2e7004447e38"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 28 15:17:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Apr 28 15:17:19 2005 -0700"
      },
      "message": "[PATCH] Fix error recovery path for arch_setup_additional_pages\n\nIf arch_setup_additional_pages fails, the error path will do some double-frees.\nThis fixes it.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "547ee84cea37696d25c93306e909378a87db2f66",
      "tree": "e21a5ce886975623d07add60beb223e6f36bab80",
      "parents": [
        "fa89c5092eddcbcb425a1416f85906e3cc519793"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Apr 16 15:24:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:24:35 2005 -0700"
      },
      "message": "[PATCH] ppc64: Improve mapping of vDSO\n\nThis patch reworks the way the ppc64 is mapped in user memory by the kernel\nto make it more robust against possible collisions with executable\nsegments.  Instead of just whacking a VMA at 1Mb, I now use\nget_unmapped_area() with a hint, and I moved the mapping of the vDSO to\nafter the mapping of the various ELF segments and of the interpreter, so\nthat conflicts get caught properly (it still has to be before\ncreate_elf_tables since the later will fill the AT_SYSINFO_EHDR with the\nproper address).\n\nWhile I was at it, I also changed the 32 and 64 bits vDSO\u0027s to link at\ntheir \"natural\" address of 1Mb instead of 0.  This is the address where\nthey are normally mapped in absence of conflict.  By doing so, it should be\npossible to properly prelink one it\u0027s been verified to work on glibc.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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"
    }
  ]
}
