)]}'
{
  "log": [
    {
      "commit": "c59ede7b78db329949d9cdcd7064e22d357560ef",
      "tree": "f9dc9d464fdad5bfd464d983e77c1af031389dda",
      "parents": [
        "e16885c5ad624a6efe1b1bf764e075d75f65a788"
      ],
      "author": {
        "name": "Randy.Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] move capable() to capability.h\n\n- Move capable() from sched.h to capability.h;\n\n- Use \u003clinux/capability.h\u003e where capable() is used\n\t(in include/, block/, ipc/, kernel/, a few drivers/,\n\tmm/, security/, \u0026 sound/;\n\tmany more drivers/ to go)\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d7672b46244abffea1953e55688c0ea143dd617",
      "tree": "9f3bdf438bcb0d5f6e723665ced23308fffb8368",
      "parents": [
        "281ab031a8c9e5b593142eb4ec59a87faae8676a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Dec 16 10:21:23 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Dec 16 10:21:23 2005 -0800"
      },
      "message": "Make sure we copy pages inserted with \"vm_insert_page()\" on fork\n\nThe logic that decides that a fork() might be able to avoid copying a VM\narea when it can be re-created by page faults didn\u0027t know about the new\nvm_insert_page() case.\n\nAlso make some things a bit more anal wrt VM_PFNMAP.\n\nPointed out by Hugh Dickins \u003chugh@veritas.com\u003e\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c21e2f2441dc5fbb957b030333f5a3f2d02dea7",
      "tree": "1f76d33bb1d76221c6424bc5fed080a4f91349a6",
      "parents": [
        "b38c6845b695141259019e2b7c0fe6c32a6e720d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:42 2005 -0700"
      },
      "message": "[PATCH] mm: split page table lock\n\nChristoph Lameter demonstrated very poor scalability on the SGI 512-way, with\na many-threaded application which concurrently initializes different parts of\na large anonymous area.\n\nThis patch corrects that, by using a separate spinlock per page table page, to\nguard the page table entries in that page, instead of using the mm\u0027s single\npage_table_lock.  (But even then, page_table_lock is still used to guard page\ntable allocation, and anon_vma allocation.)\n\nIn this implementation, the spinlock is tucked inside the struct page of the\npage table page: with a BUILD_BUG_ON in case it overflows - which it would in\nthe case of 32-bit PA-RISC with spinlock debugging enabled.\n\nSplitting the lock is not quite for free: another cacheline access.  Ideally,\nI suppose we would use split ptlock only for multi-threaded processes on\nmulti-cpu machines; but deciding that dynamically would have its own costs.\nSo for now enable it by config, at some number of cpus - since the Kconfig\nlanguage doesn\u0027t support inequalities, let preprocessor compare that with\nNR_CPUS.  But I don\u0027t think it\u0027s worth being user-configurable: for good\ntesting of both split and unsplit configs, split now at 4 cpus, and perhaps\nchange that to 8 later.\n\nThere is a benefit even for singly threaded processes: kswapd can be attacking\none part of the mm while another part is busy faulting.\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": "c74df32c724a1652ad8399b4891bb02c9d43743a",
      "tree": "5a79d56fdcf7dc2053a277dbf6db7c3b339e9659",
      "parents": [
        "1bb3630e89cb8a7b3d3807629c20c5bad88290ff"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:40 2005 -0700"
      },
      "message": "[PATCH] mm: ptd_alloc take ptlock\n\nSecond step in pushing down the page_table_lock.  Remove the temporary\nbridging hack from __pud_alloc, __pmd_alloc, __pte_alloc: expect callers not\nto hold page_table_lock, whether it\u0027s on init_mm or a user mm; take\npage_table_lock internally to check if a racing task already allocated.\n\nConvert their callers from common code.  But avoid coming back to change them\nagain later: instead of moving the spin_lock(\u0026mm-\u003epage_table_lock) down,\nswitch over to new macros pte_alloc_map_lock and pte_unmap_unlock, which\nencapsulate the mapping+locking and unlocking+unmapping together, and in the\nend may use alternatives to the mm page_table_lock itself.\n\nThese callers all hold mmap_sem (some exclusively, some not), so at no level\ncan a page table be whipped away from beneath them; and pte_alloc uses the\n\"atomic\" pmd_present to test whether it needs to allocate.  It appears that on\nall arches we can safely descend without page_table_lock.\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": "1bb3630e89cb8a7b3d3807629c20c5bad88290ff",
      "tree": "3d1fd73487ca66f227701b9530f2c76fcc6f9da4",
      "parents": [
        "872fec16d9a0ed3b75b8893aa217e49cca575ee5"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:22 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:40 2005 -0700"
      },
      "message": "[PATCH] mm: ptd_alloc inline and out\n\nIt seems odd to me that, whereas pud_alloc and pmd_alloc test inline, only\ncalling out-of-line __pud_alloc __pmd_alloc if allocation needed,\npte_alloc_map and pte_alloc_kernel are entirely out-of-line.  Though it does\nadd a little to kernel size, change them to macros testing inline, calling\n__pte_alloc or __pte_alloc_kernel to allocate out-of-line.  Mark none of them\nas fastcalls, leave that to CONFIG_REGPARM or not.\n\nIt also seems more natural for the out-of-line functions to leave the offset\ncalculation and map to the inline, which has to do it anyway for the common\ncase.  At least mremap move wants __pte_alloc without _map.\n\nMacros rather than inline functions, certainly to avoid the header file issues\nwhich arise from CONFIG_HIGHPTE needing kmap_types.h, but also in case any\narchitectures I haven\u0027t built would have other such problems.\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": "365e9c87a982c03d0af3886e29d877f581b59611",
      "tree": "d06c1918ca9fe6677d7e4e869555e095004274f7",
      "parents": [
        "861f2fb8e796022b4928cab9c74fca6681a1c557"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:39 2005 -0700"
      },
      "message": "[PATCH] mm: update_hiwaters just in time\n\nupdate_mem_hiwater has attracted various criticisms, in particular from those\nconcerned with mm scalability.  Originally it was called whenever rss or\ntotal_vm got raised.  Then many of those callsites were replaced by a timer\ntick call from account_system_time.  Now Frank van Maarseveen reports that to\nbe found inadequate.  How about this?  Works for Frank.\n\nReplace update_mem_hiwater, a poor combination of two unrelated ops, by macros\nupdate_hiwater_rss and update_hiwater_vm.  Don\u0027t attempt to keep\nmm-\u003ehiwater_rss up to date at timer tick, nor every time we raise rss (usually\nby 1): those are hot paths.  Do the opposite, update only when about to lower\nrss (usually by many), or just before final accounting in do_exit.  Handle\nmm-\u003ehiwater_vm in the same way, though it\u0027s much less of an issue.  Demand\nthat whoever collects these hiwater statistics do the work of taking the\nmaximum with rss or total_vm.\n\nAnd there has been no collector of these hiwater statistics in the tree.  The\nnew convention needs an example, so match Frank\u0027s usage by adding a VmPeak\nline above VmSize to /proc/\u003cpid\u003e/status, and also a VmHWM line above VmRSS\n(High-Water-Mark or High-Water-Memory).\n\nThere was a particular anomaly during mremap move, that hiwater_vm might be\ncaptured too high.  A fleeting such anomaly remains, but it\u0027s quickly\ncorrected now, whereas before it would stick.\n\nWhat locking?  None: if the app is racy then these statistics will be racy,\nit\u0027s not worth any overhead to make them exact.  But whenever it suits,\nhiwater_vm is updated under exclusive mmap_sem, and hiwater_rss under\npage_table_lock (for now) or with preemption disabled (later on): without\ngoing to any trouble, minimize the time between reading current values and\nupdating, to minimize those occasions when a racing thread bumps a count up\nand back down in between.\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": "d0de32d9b71e11cc51618c2045086e9694093d01",
      "tree": "38b9d22e52f1c2e9d378e5c2cdd92904173134fd",
      "parents": [
        "9e9bef07ce5a342aa6246ebc5c20829d0d5d63d0"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:39 2005 -0700"
      },
      "message": "[PATCH] mm: do_mremap current mm\n\nCleanup: relieve do_mremap from its surfeit of current-\u003emms.\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": "7be7a546994f1222b2312fd348da14e16b6b7b42",
      "tree": "e1f8dae8783274372a0f136be6eb64102877e9f6",
      "parents": [
        "65500d234e74fc4e8f18e1a429bc24e51e75de4a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:37 2005 -0700"
      },
      "message": "[PATCH] mm: move_page_tables by extents\n\nSpeeding up mremap\u0027s moving of ptes has never been a priority, but the locking\nwill get more complicated shortly, and is already too baroque.\n\nScrap the current one-by-one moving, do an extent at a time: curtailed by end\nof src and dst pmds (have to use PMD_SIZE: the way pmd_addr_end gets elided\ndoesn\u0027t match this usage), and by latency considerations.\n\nOne nice property of the old method is lost: it never allocated a page table\nunless absolutely necessary, so you could free empty page tables by mremapping\nto and fro.  Whereas this way, it allocates a dst table wherever there was a\nsrc table.  I keep diving in to reinstate the old behaviour, then come out\npreferring not to clutter how it now is.\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": "ab50b8ed818016cfecd747d6d4bb9139986bc029",
      "tree": "33c666578c14dccce05b3f7a5538405098eebcc4",
      "parents": [
        "72866f6f277ec0ddd6df7a3b6ecdcf59a28de115"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:15:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:37 2005 -0700"
      },
      "message": "[PATCH] mm: vm_stat_account unshackled\n\nThe original vm_stat_account has fallen into disuse, with only one user, and\nonly one user of vm_stat_unaccount.  It\u0027s easier to keep track if we convert\nthem all to __vm_stat_account, then free it from its __shackles.\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": "8b1f3124618b54cf125dea3a074b9cf469117723",
      "tree": "19ef8a7fe9cc5b1c46dc973ea151edab4aba2b8a",
      "parents": [
        "95001ee9256df846e374f116c92ca8e0beec1527"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Tue Sep 27 21:45:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 28 07:46:40 2005 -0700"
      },
      "message": "[PATCH] mm: move_pte to remap ZERO_PAGE\n\nMove the ZERO_PAGE remapping complexity to the move_pte macro in\nasm-generic, have it conditionally depend on\n__HAVE_ARCH_MULTIPLE_ZERO_PAGE, which gets defined for MIPS.\n\nFor architectures without __HAVE_ARCH_MULTIPLE_ZERO_PAGE, move_pte becomes\na noop.\n\nFrom: Hugh Dickins \u003chugh@veritas.com\u003e\n\nFix nasty little bug we\u0027ve missed in Nick\u0027s mremap move ZERO_PAGE patch.\nThe \"pte\" at that point may be a swap entry or a pte_file entry: we must\ncheck pte_present before perhaps corrupting such an entry.\n\nPatch below against 2.6.14-rc2-mm1, but the same bug is in 2.6.14-rc2\u0027s\nmm/mremap.c, and more dangerous there since it\u0027s affecting all arches: I\nthink the safest course is to send Nick\u0027s patch and Yoichi\u0027s build fix and\nthis fix (build tested) on to Linus - so only MIPS can be affected.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\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"
    },
    {
      "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": "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": "7179906293ebdc333f14a03d3e58b03604848f3c",
      "tree": "48623522c6af985400e6181ce1b18d98b910c0fc",
      "parents": [
        "202d182a92c60416680e31baa697faa60b0882f5"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Mon May 16 21:53:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:12 2005 -0700"
      },
      "message": "[PATCH] mm acct accounting fix\n\nThis patch fixes mm-\u003etotal_vm and mm-\u003elocked_vm acctounting in case when\nmove_page_tables() fails inside move_vma().\n\nSigned-Off-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "119f657c72fc07d6fd28c61de59cfba1566970a9",
      "tree": "33c8070aa904c4919cf244cdcd7c01e54589bb9e",
      "parents": [
        "f021e9210185b46e41ec3a0e78ec1621e168eacb"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun May 01 08:58:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:35 2005 -0700"
      },
      "message": "[PATCH] RLIMIT_AS checking fix\n\nAddress bug #4508: there\u0027s potential for wraparound in the various places\nwhere we perform RLIMIT_AS checking.\n\n(I\u0027m a bit worried about acct_stack_growth().  Are we sure that vma-\u003evm_mm is\nalways equal to current-\u003emm?  If not, then we\u0027re comparing some other\nprocess\u0027s total_vm with the calling process\u0027s rlimits).\n\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"
    }
  ]
}
