Skip to content
Snippets Groups Projects
  1. Dec 12, 2019
    • Tomas Krizek's avatar
      lua: stop trying to tweak lua's GC · 9802f8c8
      Tomas Krizek authored and Petr Špaček's avatar Petr Špaček committed
      cherry-picked from f0ca89ac, original author Vlada Cunat
      
      TL;DR: I believe all lua_gc() calls stemmed from misunderstanding lua
      documentation, and the current settings seem potentially dangerous.
      
      First, let me rely on lua 5.1 docs, as luajit 2 is documented to have
      done only minor changes in the GC.
      http://www.lua.org/manual/5.1/manual.html#lua_gc
      http://wiki.luajit.org/New-Garbage-Collector#rationale
      
      Commit 5a709411 claims to have increased the speed of GC to 400 % of
      speed of allocation, but LUA_GCSETSTEPMUL is the parameter that
      controls that, and that one was lowered to 99 % and later in
      0ee2d1d7 even to 50 %.  Documentation explicitly says that setting
      the value under 100 % may cause problems.
      
      The default values seem perfectly sane to me and currently I can't see
      any particular reason to change them.  It's 200 % relative GC speed,
      and waiting for allocated size to double before starting another cycle.
      
      I assume the resulting possibility of GC being too slow caused the need
      to explicitly force a non-incremental GC cycle once in a while, but
      that seems not useful anymore and not good for latency.
      Verified
      9802f8c8
  2. Dec 11, 2019
  3. Dec 10, 2019
  4. Dec 04, 2019
  5. Dec 03, 2019
  6. Nov 28, 2019
  7. Nov 20, 2019
    • Lukas Jezek's avatar
      tests: packaging · e4196a56
      Lukas Jezek authored and Petr Špaček's avatar Petr Špaček committed
      Directory with subdirectory "packaging" is called "component".
      
      List all components: python3 tests/packaging-doc.py --list
      Run all tests/compoments: python3 tests/packaging-doc.py
      Run specific test/component: python3 tests/packaging-doc.py --test <component>
      
      The file structure for 1 component:
      	daemon - dependencies for 1 component "kresd daemon" (default component, must always be there)
      	scripts/distros - dependencies for 1 component for specific distro (must always be there)
      	scripts/dockerfile_gen.py - test Dockerfile generator, see below
      	tests/packaging.py - script to generate and build all combinations
      	                     of Docker files for all components
      	[component] - directory of component/test, see below
      		      (e.g. "client/packaging/", "modules/http/packaging/" etc.)
      
      The file structure of each component:
      [component]
      	<distro>/<version> - package names
      		- builddeps - list of build depedencies
      		- rundeps - list of runtime depedencies
      		- pre-build.sh - script called before build phase
      		- post-build.sh - script called after build phase
      		- pre-run.sh - script called before run phase
      		- post-run.sh - script called after run phase
      		- install.sh and build.sh script called during build phase
      	test.config or test.sh - kresd config test or shell script
      note: content of "scripts/distroos" is same as "<distro>/<version>" of component.
      
      There are "build" and "run" phases. "build" phase precedes "run" phase.
      All script are called in this order:
      	1. pre-<phase>.sh
      	2. install packages specifed in the file "<phase>deps"
      	3a. for "build" phase: run build.sh and install.sh
      	3b. for "run" phase: run 'kresd -c [component]/test.config' or config.sh
      	4. remove packages specified in the file "<phase>deps"
      	5. post-<phase>.sh
      
      Each step above is combines base components with a component under test.
      E.g. component "scripts/distros" always precedes component "daemon/packaging"
      and it precedes the tested component e.g. "modules/http".
      
      In long term we might migrate this to py.test or some other well known
      framework.
      Verified
      e4196a56
    • Petr Špaček's avatar
  8. Nov 19, 2019
  9. Oct 10, 2019
  10. Oct 08, 2019
  11. Oct 02, 2019
  12. Sep 20, 2019
  13. Aug 05, 2019
  14. Jul 24, 2019
  15. Jul 23, 2019
  16. Jul 22, 2019
  17. Jul 16, 2019
  18. Jul 12, 2019
  19. Jul 10, 2019
  20. Jul 09, 2019
  21. Jul 03, 2019