)]}'
{
  "log": [
    {
      "commit": "22d5368a0838c00ed0e3ec20e7ff8c6e46ba99ef",
      "tree": "9692d1a53240795454d46e8cd7abbd0c7002dfa0",
      "parents": [
        "2d7d3eb2bad116e0d1b3b3930a923c55f6d0f70e"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Mon Oct 31 17:09:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:50 2011 -0700"
      },
      "message": "mm/thrash.c: quiet sparse noise\n\nQuiet the following sparse noise:\n\nwarning: symbol \u0027swap_token_memcg\u0027 was not declared. Should it be static?\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45ebb840257b060ec54416aebffd9747e210962c",
      "tree": "0236eba5f2f420dccae80f97a70192ef965d6f5f",
      "parents": [
        "53bb01f593d50188c8d638f89db96f9b6b042bcd"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Jul 25 17:12:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:08 2011 -0700"
      },
      "message": "mm: swap-token: add a comment for priority aging\n\nDocument some swap token aging design decisions.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53bb01f593d50188c8d638f89db96f9b6b042bcd",
      "tree": "b764d8becd99aee7b337a47fbd71032800831c6d",
      "parents": [
        "e21c7ffd6f7493aa01bccd17ebc13dbdfecce880"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Jul 25 17:12:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:08 2011 -0700"
      },
      "message": "mm: swap-token: makes global variables to function local\n\nglobal_faults and last_aging are only used in grab_swap_token().  Move\nthem into grab_swap_token().\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e21c7ffd6f7493aa01bccd17ebc13dbdfecce880",
      "tree": "e9854cb777d2b2f108c5131020db96c08e098fb4",
      "parents": [
        "080e2be7884322daffe75a831e879fbe7de383ab"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Jul 25 17:12:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:08 2011 -0700"
      },
      "message": "mm: swap-token: fix dead link\n\nhttp://www.cs.wm.edu/~sjiang/token.pdf is now dead.  Replace it with an\nalive alternative.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7911ef30cb7bec52234c2b7a5c275ac8f07905a",
      "tree": "c3d9dc8ffc5d9478da434faecc27759ee34edf83",
      "parents": [
        "83cd81a34357a632509f7491eec81e62e71d65f7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Jun 15 15:08:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:03:59 2011 -0700"
      },
      "message": "vmscan: implement swap token priority aging\n\nWhile testing for memcg aware swap token, I observed a swap token was\noften grabbed an intermittent running process (eg init, auditd) and they\nnever release a token.\n\nWhy?\n\nSome processes (eg init, auditd, audispd) wake up when a process exiting.\nAnd swap token can be get first page-in process when a process exiting\nmakes no swap token owner.  Thus such above intermittent running process\noften get a token.\n\nAnd currently, swap token priority is only decreased at page fault path.\nThen, if the process sleep immediately after to grab swap token, the swap\ntoken priority never be decreased.  That\u0027s obviously undesirable.\n\nThis patch implement very poor (and lightweight) priority aging.  It only\nbe affect to the above corner case and doesn\u0027t change swap tendency\nworkload performance (eg multi process qsbench load)\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83cd81a34357a632509f7491eec81e62e71d65f7",
      "tree": "cc96e65bd3000fd9090dacfabdd8810e9c66e0c9",
      "parents": [
        "a433658c30974fc87ba3ff52d7e4e6299762aa3d"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Jun 15 15:08:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:03:59 2011 -0700"
      },
      "message": "vmscan: implement swap token trace\n\nThis is useful for observing swap token activity.\n\nexample output:\n\n             zsh-1845  [000]   598.962716: update_swap_token_priority:\nmm\u003dffff88015eaf7700 old_prio\u003d1 new_prio\u003d0\n          memtoy-1830  [001]   602.033900: update_swap_token_priority:\nmm\u003dffff880037a45880 old_prio\u003d947 new_prio\u003d949\n          memtoy-1830  [000]   602.041509: update_swap_token_priority:\nmm\u003dffff880037a45880 old_prio\u003d949 new_prio\u003d951\n          memtoy-1830  [000]   602.051959: update_swap_token_priority:\nmm\u003dffff880037a45880 old_prio\u003d951 new_prio\u003d953\n          memtoy-1830  [000]   602.052188: update_swap_token_priority:\nmm\u003dffff880037a45880 old_prio\u003d953 new_prio\u003d955\n          memtoy-1830  [001]   602.427184: put_swap_token:\ntoken_mm\u003dffff880037a45880\n             zsh-1789  [000]   602.427281: replace_swap_token:\nold_token_mm\u003d          (null) old_prio\u003d0 new_token_mm\u003dffff88015eaf7018\nnew_prio\u003d2\n             zsh-1789  [001]   602.433456: update_swap_token_priority:\nmm\u003dffff88015eaf7018 old_prio\u003d2 new_prio\u003d4\n             zsh-1789  [000]   602.437613: update_swap_token_priority:\nmm\u003dffff88015eaf7018 old_prio\u003d4 new_prio\u003d6\n             zsh-1789  [000]   602.443924: update_swap_token_priority:\nmm\u003dffff88015eaf7018 old_prio\u003d6 new_prio\u003d8\n             zsh-1789  [000]   602.451873: update_swap_token_priority:\nmm\u003dffff88015eaf7018 old_prio\u003d8 new_prio\u003d10\n             zsh-1789  [001]   602.462639: update_swap_token_priority:\nmm\u003dffff88015eaf7018 old_prio\u003d10 new_prio\u003d12\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel\u003criel@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a433658c30974fc87ba3ff52d7e4e6299762aa3d",
      "tree": "8df65e22af520ca5c020281763e6874d0bb51bc5",
      "parents": [
        "e1bbd19bc4afef7adb80cca163800391c4f5773d"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Jun 15 15:08:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:03:59 2011 -0700"
      },
      "message": "vmscan,memcg: memcg aware swap token\n\nCurrently, memcg reclaim can disable swap token even if the swap token mm\ndoesn\u0027t belong in its memory cgroup.  It\u0027s slightly risky.  If an admin\ncreates very small mem-cgroup and silly guy runs contentious heavy memory\npressure workload, every tasks are going to lose swap token and then\nsystem may become unresponsive.  That\u0027s bad.\n\nThis patch adds \u0027memcg\u0027 parameter into disable_swap_token().  and if the\nparameter doesn\u0027t match swap token, VM doesn\u0027t disable it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel\u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5c9b696ec109bb54d547fdb437a7a0c2d514670",
      "tree": "c97533e38359a2e731bcc2c65f063a27f4f629e6",
      "parents": [
        "626f380d0b264a1e40237f5a2a3dffc5d14f256e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Tue Jun 23 12:36:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 23 12:50:05 2009 -0700"
      },
      "message": "mm: pass mm to grab_swap_token\n\nIf a kthread happens to use get_user_pages() on an mm (as KSM does),\nthere\u0027s a chance that it will end up trying to read in a swap page, then\noops in grab_swap_token() because the kthread has no mm: GUP passes down\nthe right mm, so grab_swap_token() ought to be using it.\n\nWe have not identified a stronger case than KSM\u0027s daemon (not yet in\nmainline), but the issue must have come up before, since RHEL has included\na fix for this for years (though a different fix, they just back out of\ngrab_swap_token if current-\u003emm is unset: which is what we first proposed,\nbut using the right mm here seems more correct).\n\nReported-by: Izik Eidus \u003cieidus@redhat.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7faaa5f0bf4db6ac4908038e2139adc46c165ff4",
      "tree": "e6efe930b1749b4f133945468dad807c43fe1732",
      "parents": [
        "069f11f9d66bc582fb40a37a7b92363f5d321969"
      ],
      "author": {
        "name": "Mika Kukkonen",
        "email": "mikukkon@miku.homelinux.net",
        "time": "Thu May 10 22:22:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:32 2007 -0700"
      },
      "message": "Bug in mm/thrash.c function grab_swap_token()\n\nFollowing bug was uncovered by compiling with \u0027-W\u0027 flag:\n\n  CC      mm/thrash.o\nmm/thrash.c: In function âgrab_swap_tokenâ:\nmm/thrash.c:52: warning: comparison of unsigned expression \u003c 0 is always false\n\nVariable token_priority is unsigned, so decrementing first and then\nchecking the result does not work; fixed by reversing the test, patch\nattached (compile tested only).\n\nI am not sure if likely() makes much sense in this new situation, but\nI\u0027ll let somebody else to make a decision on that.\n\nSigned-off-by: Mika Kukkonen \u003cmikukkon@iki.fi\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e30500557eca09ddd340806ce44abf84d9115ab1",
      "tree": "2745f903ea3a0f6f85d78a8f296fc4a22dcb5120",
      "parents": [
        "7c309a64d6afa90a0a07813c836ba480aeaeca8c"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:32:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] make mm/thrash.c:global_faults static\n\nThis patch makes the needlessly global \"global_faults\" static.\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": "7602bdf2fd14a40dd9b104e516fdc05e1bd17952",
      "tree": "5ca703b0a95f6f2e6d977c816532b9085f453974",
      "parents": [
        "098fe651f7e9d759d1117c78c1a642b9b3945922"
      ],
      "author": {
        "name": "Ashwin Chaugule",
        "email": "ashwin.chaugule@celunite.com",
        "time": "Wed Dec 06 20:31:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] new scheme to preempt swap token\n\nThe new swap token patches replace the current token traversal algo.  The old\nalgo had a crude timeout parameter that was used to handover the token from\none task to another.  This algo, transfers the token to the tasks that are in\nneed of the token.  The urgency for the token is based on the number of times\na task is required to swap-in pages.  Accordingly, the priority of a task is\nincremented if it has been badly affected due to swap-outs.  To ensure that\nthe token doesnt bounce around rapidly, the token holders are given a priority\nboost.  The priority of tasks is also decremented, if their rate of swap-in\u0027s\nkeeps reducing.  This way, the condition to check whether to pre-empt the swap\ntoken, is a matter of comparing two task\u0027s priority fields.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Ashwin Chaugule \u003cashwin.chaugule@celunite.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7b7fd8f3ebbb2810d6893295aa984acd0fd30db",
      "tree": "01afc1edafc50a3c65ec8576c05c60da53d8d242",
      "parents": [
        "a93a117eaa0bec426d4671a49bfa96a6fdcd2ac9"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Mon Nov 28 13:44:07 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:25 2005 -0800"
      },
      "message": "[PATCH] temporarily disable swap token on memory pressure\n\nSome users (hi Zwane) have seen a problem when running a workload that\neats nearly all of physical memory - th system does an OOM kill, even\nwhen there is still a lot of swap free.\n\nThe problem appears to be a very big task that is holding the swap\ntoken, and the VM has a very hard time finding any other page in the\nsystem that is swappable.\n\nInstead of ignoring the swap token when sc-\u003epriority reaches 0, we could\nsimply take the swap token away from the memory hog and make sure we\ndon\u0027t give it back to the memory hog for a few seconds.\n\nThis patch resolves the problem Zwane ran into.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fcdae29aa7a5c79f245110f6680afdc1858d3626",
      "tree": "09634921c68dd82a661c1ba389133e7f805e2d0f",
      "parents": [
        "eb92f4ef320b738e41ad43476a5d05c8a20d5cc7"
      ],
      "author": {
        "name": "Rik Van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 29 18:15:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:35 2005 -0700"
      },
      "message": "[PATCH] swaptoken tuning\n\nIt turns out that the original swap token implementation, by Song Jiang, only\nenforced the swap token while the task holding the token is handling a page\nfault.  This patch approximates that, without adding an additional flag to the\nmm_struct, by checking whether the mm-\u003emmap_sem is held for reading, like the\npage fault code does.\n\nThis patch has the effect of automatically, and gradually, disabling the\nenforcement of the swap token when there is little or no paging going on, and\n\"turning up\" the intensity of the swap token code the more the task holding\nthe token is thrashing.\n\nThanks to Song Jiang for pointing out this aspect of the token based thrashing\ncontrol concept.\n\nThe new code shows a slight degradation over the old swap token code, but\nstill a big win over running without the swap token.\n\n2.6.12+ swap token disabled\n\n$ for i in `seq 10` ; do /usr/bin/time ./qsbench -n 30000000 -p 3 ; done\n101.74user 23.13system 8:26.91elapsed 24%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (38597major+430315minor)pagefaults 0swaps\n101.98user 24.91system 8:03.06elapsed 26%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (33939major+430457minor)pagefaults 0swaps\n101.93user 22.12system 7:34.90elapsed 27%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (33166major+421267minor)pagefaults 0swaps\n101.82user 22.38system 8:31.40elapsed 24%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (39338major+433262minor)pagefaults 0swaps\n\n2.6.12+ swap token enabled, timeout 300 seconds\n\n$ for i in `seq 4` ; do /usr/bin/time ./qsbench -n 30000000 -p 3 ; done\n102.58user 16.08system 3:41.44elapsed 53%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (19707major+285786minor)pagefaults 0swaps\n102.07user 19.56system 4:00.64elapsed 50%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (19012major+299259minor)pagefaults 0swaps\n102.64user 18.25system 4:07.31elapsed 48%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (21990major+304831minor)pagefaults 0swaps\n101.39user 19.41system 5:15.81elapsed 38%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (24850major+323321minor)pagefaults 0swaps\n\n2.6.12+ with new swap token code, timeout 300 seconds\n\n$ for i in `seq 4` ; do /usr/bin/time ./qsbench -n 30000000 -p 3 ; done\n101.87user 24.66system 5:53.20elapsed 35%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (26848major+363497minor)pagefaults 0swaps\n102.83user 19.95system 4:17.25elapsed 47%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (19946major+305722minor)pagefaults 0swaps\n102.09user 19.46system 5:12.57elapsed 38%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (25461major+334994minor)pagefaults 0swaps\n101.67user 20.61system 4:52.97elapsed 41%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (22190major+329508minor)pagefaults 0swaps\n\nSigned-off-by: Rik Van Riel \u003criel@redhat.com\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"
    }
  ]
}
