Skip to content
Snippets Groups Projects
  1. May 14, 2014
  2. May 13, 2014
    • Glauber Costa's avatar
      netchannels: specialize new and delete operators · 8e087635
      Glauber Costa authored
      
      While running one of the redis benchmarks, I saw around 23k calls to
      malloc_large.  Among those, ~10 - 11k were 2-page sized. I managed to track it
      down to the creation of net channels. The problem here is that the net channel
      structure is slightly larger than half a page - the maximum size for small
      object pools. That will throw all allocations into malloc_large. Besides being
      slow, it also wastes a page for every net channel created, since malloc_large
      will include an extra page in the beginning of each allocation.
      
      This patch fixes this by overloading the operators new and delete for the
      netchannel structure so that we use the more efficient and less wasteful
      alloc_page.
      
      Reviewed-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      Signed-off-by: default avatarGlauber Costa <glommer@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      8e087635
  3. May 12, 2014
  4. May 09, 2014
    • Tomasz Grabiec's avatar
      trace: fix default backtrace formatter construction · 7166013b
      Tomasz Grabiec authored
      
      That formatter is used for ad-hoc printing of samples, eg.
      in error messages.
      
      This fixes the following error message:
      
      Traceback (most recent call last):
        File "scripts/trace.py", line 576, in <module>
          args.func(args)
        File "scripts/trace.py", line 244, in prof_lock
          show_profile(args, get_profile)
        File "scripts/trace.py", line 208, in show_profile
          max_levels=args.max_levels)
        File "/home/tgrabiec/src/osv/scripts/osv/prof.py", line 170, in print_profile
          for sample in samples:
        File "/home/tgrabiec/src/osv/scripts/osv/prof.py", line 108, in get_duration_profile
          raise Exception('Double entry:\n%s\n%s\n' % (str(old), str(trace)))
        File "/home/tgrabiec/src/osv/scripts/osv/trace.py", line 125, in __str__
          return self.format()
        File "/home/tgrabiec/src/osv/scripts/osv/trace.py", line 122, in format
          bt_formatter(self.backtrace))
        File "/home/tgrabiec/src/osv/scripts/osv/trace.py", line 32, in __call__
          frames = list(debug.resolve_all(self.resolver, (x - 1 for x in backtrace if x)))
        File "/home/tgrabiec/src/osv/scripts/osv/debug.py", line 107, in resolve_all
          return itertools.chain.from_iterable(map(resolver, raw_addresses))
      TypeError: __init__() takes exactly 1 argument (2 given)
      
      When this should actually be printed:
      
      Traceback (most recent call last):
        File "scripts/trace.py", line 576, in <module>
          args.func(args)
        File "scripts/trace.py", line 244, in prof_lock
          show_profile(args, get_profile)
        File "scripts/trace.py", line 208, in show_profile
          max_levels=args.max_levels)
        File "/data/tgrabiec/osv/scripts/osv/prof.py", line 170, in print_profile
          for sample in samples:
        File "/data/tgrabiec/osv/scripts/osv/prof.py", line 108, in get_duration_profile
          raise Exception('Double entry:\n%s\n%s\n' % (str(old), str(trace)))
      Exception: Double entry:
      0xffffc00017668010                  3 1399542568.505835772 mutex_lock_wait (...)
      0xffffc00017668010                  1 1399542574.668642044 mutex_lock_wait (...)
      
      Signed-off-by: default avatarTomasz Grabiec <tgrabiec@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      7166013b
    • Pekka Enberg's avatar
      mgmt: update to latest · 86dfdca8
      Pekka Enberg authored
      
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      86dfdca8
    • Jaspal Singh Dhillon's avatar
      loader: poweroff() if cpus.size()>max_cpus · 0dfc7a8b
      Jaspal Singh Dhillon authored
      
      This patch fixes the case of silently hanging of OSv when >64 cpus are
      provided.
      
      Signed-off-by: default avatarJaspal Singh Dhillon <jaspal.iiith@gmail.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      0dfc7a8b
  5. May 08, 2014
  6. May 07, 2014
Loading