)]}'
{
  "log": [
    {
      "commit": "c6ccc30fd7870879981de03feeec61029754b0ea",
      "tree": "0d89b1fd6a862140d9dd9e10def9e9d6687bef89",
      "parents": [
        "4280eae0990190d190dfa7dab9bca480215d5b19"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 14 11:44:20 2010 +0800"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Wed Apr 14 15:34:18 2010 +0200"
      },
      "message": "kconfig: fix zconfdump()\n\nzconfdump(), which is used for debugging, can\u0027t recognize P_SELECT,\nP_RANGE and P_MENU (if associated with a symbol, aka \"menuconfig\"),\nand output something like this:\n\nconfig X86\n  boolean\n  default y\n  unknown prop 6!\n  unknown prop 6!\n  unknown prop 6!\n  ...\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "e66f25d7d1be19e177cf55126a40799757efae89",
      "tree": "c60ae380f0ee00ab56dc821dcff56037980a38fd",
      "parents": [
        "62718979780720e526a411dc66e810288aaa7bf6"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Jan 13 17:02:44 2010 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Tue Feb 02 14:33:55 2010 +0100"
      },
      "message": "Improve kconfig symbol hashing\n\nWhile looking for something else I noticed that the symbol\nhash function used by kconfig is quite poor. It doesn\u0027t\nuse any of the standard hash techniques but simply\nadds up the string and then uses power of two masking,\nwhich is both known to perform poorly.\n\nThe current x86 kconfig has over 7000 symbols.\n\nWhen I instrumented it showed that the minimum hash chain\nlength was 16 and a significant number of them was over\n30.\n\nIt didn\u0027t help that the hash table size was only 256 buckets.\n\nThis patch increases the hash table size to a larger prime\nand switches to a FNV32 hash. I played around with a couple of hash\nfunctions, but that one seemed to perform best with reasonable\nhash table sizes.\n\nIncreasing the hash table size even further didn\u0027t\nseem like a good idea, because there are a couple of global\nwalks which walk the complete hash table.\n\nI also moved the unnamed bucket to 0. It\u0027s still the longest\nof all the buckets (44 entries), but hopefully it\u0027s not\noften hit except for the global walk which doesn\u0027t care.\n\nThe result is a much nicer distribution:\n(first column bucket length, second number of buckets with that length)\n\n1: 3505\n2: 1236\n3: 294\n4: 52\n5: 3\n47: 1\t\t\u003c--- this is the unnamed symbols bucket\n\nThere are still some 5+ buckets, but increasing the hash table\neven more would be likely not worth it.\n\nThis also cleans up the code slightly by removing hard coded\nmagic numbers.\n\nI didn\u0027t notice a big performance difference either way\non my Nehalem system, but I presume it\u0027ll help somewhat\non slower systems.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "692d97c380c6dce2c35a04c5dcbce4e831a42fa0",
      "tree": "eff5fc88659da67cce720dd643f50137ef5b906a",
      "parents": [
        "c64152bfd0106807c8d3ddbe6d0928e14a64f7bb"
      ],
      "author": {
        "name": "nir.tzachar@gmail.com",
        "email": "nir.tzachar@gmail.com",
        "time": "Wed Nov 25 12:28:43 2009 +0200"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Tue Feb 02 14:33:55 2010 +0100"
      },
      "message": "kconfig: new configuration interface (nconfig)\n\nThis patch was inspired by the kernel projects page, where an ncurses\nreplacement for menuconfig was mentioned (by Sam Ravnborg).\n\nBuilding on menuconfig, this patch implements a more modern look\ninterface using ncurses and ncurses\u0027 satellite libraries (menu, panel,\nform). The implementation does not depend on lxdialog, which is\ncurrently distributed with the kernel.\n\nSigned-off-by: Nir Tzachar \u003cnir.tzachar@gmail.com\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "65166571800af0f63f21e5576d7db12d2bf73790",
      "tree": "42bae137b3966ff60c28619cd22c84cf20ec1c79",
      "parents": [
        "1456edbb1476db735715ddcc7ac306de587024eb"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Oct 15 12:13:36 2009 -0700"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Sun Nov 15 15:00:16 2009 -0800"
      },
      "message": "kconfig: Mark various internal functions static\n\nkconfig\u0027s keyword hash, lexer, and parser define various functions used\nonly locally.  Declare these functions as static, and regenerate the\ncorresponding generated files.\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "1456edbb1476db735715ddcc7ac306de587024eb",
      "tree": "569701addf41a0e5ae68d78e1fd47e7ec6865575",
      "parents": [
        "a3ccf63ee643ef243cbf8918da8b3f9238f10029"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Oct 15 11:03:20 2009 -0700"
      },
      "committer": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Thu Oct 15 11:10:12 2009 -0700"
      },
      "message": "kconfig: Make zconf.y work with current bison\n\nzconf.y includes zconf.hash.c from the initial code section.\nzconf.hash.c references the token constants from zconf.y.  However,\ncurrent bison defines the token constants after the initial code\nsection, making zconf.hash.c fail to compile.  Move the include of\nzconf.hash.c later in zconf.y, so bison puts it after the token\nconstants.\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "5a1aa8a1aff6191ecc55f21d8b5f0e47108ed91b",
      "tree": "3e812a8027332c872f3ae3afb39212f4f9639361",
      "parents": [
        "48981178869bf7d9770f11fc361996ad11217a75"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Fri Feb 29 05:11:50 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@uranus.ravnborg.org",
        "time": "Mon Apr 28 23:05:48 2008 +0200"
      },
      "message": "kconfig: add named choice group\n\nAs choice dependency are now fully checked, it\u0027s quite easy to add support\nfor named choices. This lifts the restriction that a choice value can only\nappear once, although it still has to be within the same group,\nbut multiple choices can be joined by giving them a name.\nWhile at it I cleaned up a little the choice type logic to simplify it a\nbit.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "247537b9a270b52cc0375adcb0fb2605a160cba5",
      "tree": "cb5b734cff9c41a138f85dd69305289f0a8ec5b5",
      "parents": [
        "4f1127e204377cbd2a56d112d323466f668e8334"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Sep 26 20:02:52 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@neptun.(none)",
        "time": "Fri Oct 12 21:20:32 2007 +0200"
      },
      "message": "kconfig: syntax cleanup - drop support for \"depends/requires/def_boolean\"\n\nRemove the following redundant and never or rarely used kconfig syntax:\n\n- \"def_boolean\" (same as \"def_bool\")\n- \"requires\" (same as \"depends on\")\n- \"depends\" (same as \"depends on\")\n\nThis patch contains the code changes and Kconfig updates.\nThe shipped files are in next patch to let actual codechange stand out.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "03d29122738f0bd81afd44b1f566e64ebf8d06fe",
      "tree": "10038c037b7b82577fec387fa6cd8042fc8633e7",
      "parents": [
        "4a645d5ea65baaa5736bcb566673bf4a351b2ad8"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat Jul 21 00:00:36 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jul 25 21:14:26 2007 +0200"
      },
      "message": "kconfig: attach help text to menus\n\nRoman Zippel wrote:\n\u003e A simple example would be\n\u003e help texts, right now they are per symbol, but they should really be per\n\u003e menu, so archs can provide different help texts for something.\n\nThis patch does this and at the same time introduce a few API\nfuntions used to access the help text.\n\nThe relevant api functions are introduced in the various frontends.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\n"
    },
    {
      "commit": "5447d34b080a1e3e312b05a91e87eff4710a1152",
      "tree": "0e232d4f5fa7116fb48ca39ce1dc8dcbdeec0187",
      "parents": [
        "04c58f8196b386948abf68128605de3d2db3c6ba"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun May 06 09:20:10 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun May 06 09:20:10 2007 +0200"
      },
      "message": "kconfig: error out if recursive dependencies are found\n\nSample:\nconfig FOO\n\tbool \"This is foo\"\n\tdepends on BAR\n\nconfig BAR\n\tbool \"This is bar\"\n\tdepends on FOO\n\nThis will result in following error message:\nerror: found recursive dependency: FOO -\u003e BAR -\u003e FOO\n\nAnd will then exit with exit code equal 1 so make will stop.\nInspired by patch from: Adrian Bunk \u003cbunk@stusta.de\u003e\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\n"
    },
    {
      "commit": "bfc10001b11e51b59ac901d17c5f05361bd2351d",
      "tree": "eee8c1ed8f7ec7389656ee5bedd087b3ccee2b9a",
      "parents": [
        "b321429325e4c911c379a5bf4156c9fc9713e425"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "annabellesgarden@yahoo.de",
        "time": "Wed Dec 13 00:34:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:48 2006 -0800"
      },
      "message": "[PATCH] kconfig: make sym_change_count static, let it be altered by 2 functions only\n\nThose two functions are\n\tvoid sym_set_change_count(int count)\nand\n\tvoid sym_add_change_count(int count)\n\nAll write accesses to sym_change_count are replaced by calls to above\nfunctions.\n\nVariable and changer-functions are moved to confdata.c.  IMO thats ok, as\nsym_change_count is an attribute of the .config\u0027s change state.\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "face4374e288372fba67c865eb0c92337f50d5a4",
      "tree": "81a9535cc6af701a9fd1d23338449268498447ed",
      "parents": [
        "f6a88aa86027bdecfc74ef7c6bf6c68233e86bb3"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu Jun 08 22:12:45 2006 -0700"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jun 09 07:31:30 2006 +0200"
      },
      "message": "kconfig: add defconfig_list/module option\n\nThis makes it possible to change two options which were hardcoded sofar.\n1. Any symbol can now take the role of CONFIG_MODULES\n2. The more useful option is to change the list of default file names,\n   which kconfig uses to load the base configuration if .config isn\u0027t\n   available.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "f6a88aa86027bdecfc74ef7c6bf6c68233e86bb3",
      "tree": "524a366add362ffae3fa550fd822293ffd84984e",
      "parents": [
        "f1d28fb043b325dad8944647a52b20287e59d8a1"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu Jun 08 22:12:44 2006 -0700"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jun 09 07:31:30 2006 +0200"
      },
      "message": "kconfig: add symbol option config syntax\n\nThis adds the general framework to the parser to define options for config\nsymbols with a syntax like:\n\nconfig FOO\n\toption bar[\u003d\"arg\"]\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "a02f0570ae201c495ee991b959bb974af18f35cc",
      "tree": "363e06307b7355caa2435a006c5385a1149bb7cc",
      "parents": [
        "3370f9f0d9c7d14bf71aab27fa45c0537f130614"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Nov 08 21:34:53 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:55:54 2005 -0800"
      },
      "message": "[PATCH] kconfig: improve error handling in the parser\n\nAdd a few error tokens to the parser to catch common errors and print more\ndescriptive error messages.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3370f9f0d9c7d14bf71aab27fa45c0537f130614",
      "tree": "d1fb9b98aabf5fb6dd4e68c1dc69eb345f0c7f60",
      "parents": [
        "7a88488bbc231e48a4a88ee2569bc0cc5d706f0a"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Nov 08 21:34:52 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:55:54 2005 -0800"
      },
      "message": "[PATCH] kconfig: simplify symbol type parsing\n\nThis simplifies the parser a bit by merging the various symbol types into a\nsingle token and adds the type to the keyword hash.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a88488bbc231e48a4a88ee2569bc0cc5d706f0a",
      "tree": "2fd6b51b5cf76dd37a2a369a29c50b5121c12a92",
      "parents": [
        "491d711035dc08071ed58cf470f15efadb67cb1c"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Nov 08 21:34:51 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:55:53 2005 -0800"
      },
      "message": "[PATCH] kconfig: use gperf for kconfig keywords\n\nUse gperf to generate a hash for the kconfig keywords.  This greatly reduces\nthe size of the generated scanner and makes it easier to extend kconfig.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3f04e7ddf47a1c821dfaa886161d94774af583fa",
      "tree": "dbe112747d7096ae0b8cbe900e2d19529970001e",
      "parents": [
        "cecd1ca0cbd6fc5873e9bb110dacb8411be72928"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Nov 08 21:34:46 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:55:53 2005 -0800"
      },
      "message": "[PATCH] kconfig: Fix Kconfig performance bug\n\nWhen doing its recursive dependency check, scripts/kconfig/conf uses the flag\nSYMBOL_CHECK_DONE to avoid rechecking a symbol it has already checked.\nHowever, that flag is only set at the top level, so if a symbol is first\nencountered as a dependency of another symbol it will be rechecked every time\nit is encountered until it\u0027s encountered at the top level.\n\nThis patch adjusts the flag setting so that each symbol will only be checked\nonce, regardless of whether it is first encountered at the top level, or while\nrecursing down from another symbol.  On complex configurations, this vastly\nspeeds up scripts/kconfig/conf.  The config in the powerpc merge tree is\nparticularly bad: this patch reduces the time for \u0027scripts/kconfig/conf -o\narch/powerpc/Kconfig\u0027 by a factor of 40 on a G5.  That\u0027s even including the\ntime to print the config, so the speedup in the actual checking is more likely\n2 or 3 orders of magnitude.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb7f6ff614f3ead2ca41bb4a348b9ea431d95176",
      "tree": "4f5b3edca352f764e119b1ec57f5c76f181bb05d",
      "parents": [
        "66d609ec8a4464b5fbe7a0723e3958b98c95991a"
      ],
      "author": {
        "name": "blaisorblade@yahoo.it",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu Jul 28 17:56:25 2005 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.(none)",
        "time": "Thu Jul 28 23:19:01 2005 +0200"
      },
      "message": "[PATCH] kconfig: trivial cleanup\n\nReplace all menu_add_prop mimicking menu_add_prompt with the latter func. I\u0027ve\nhad to add a return value to menu_add_prompt for one usage.\n\nI\u0027ve rebuilt scripts/kconfig/zconf.tab.c_shipped by hand to reflect changes\nin the source (I\u0027ve not the same Bison version so regenerating it wouldn\u0027t\nhave been not a good idea), and compared it with what Roman itself did some\ntime ago, and it\u0027s the same.\n\nSo I guess this can be finally merged.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.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"
    }
  ]
}
