- May 16, 2014
-
-
Claudio Fontana authored
allow execution to flow until main_cont so we can reach the backtrace. Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Claudio Fontana authored
we need to move one instruction back from the return address to get the address we want to show. Also format the pointers as long. Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Jani Kokkonen authored
Signed-off-by:
Jani Kokkonen <jani.kokkonen@huawei.com> [claudio: renamed fixup.hh to fault-fixup.hh] Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Jani Kokkonen authored
implement fixup fault and the backtrace functionality which is its first simple user. Signed-off-by:
Jani Kokkonen <jani.kokkonen@huawei.com> [claudio: added elf changes to allow lookup and demangling to work] Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Jani Kokkonen authored
Signed-off-by:
Jani Kokkonen <jani.kokkonen@huawei.com> Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Claudio Fontana authored
Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Jani Kokkonen authored
generate exception frame Signed-off-by:
Jani Kokkonen <jani.kokkonen@huawei.com> Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Claudio Fontana authored
Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Claudio Fontana authored
Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Claudio Fontana authored
arch::init_on_cpu should initialize the gic cpu interface, but not for the boot CPU, for which this has already been done. Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Claudio Fontana authored
we need to do that because load/store instructions behave differently with Device-nGnRnE memory. Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Claudio Fontana authored
Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Claudio Fontana authored
Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com>
-
Takuya ASADA authored
Add qemu command path argument to test different versions of qemu. Signed-off-by:
Takuya ASADA <syuu@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
thread::current()->thread_clock() returns the CPU time consumed by this thread. A thread that wishes to measure the amount of CPU time consumed by some short section of code will want this clock to have high resolution, but in the existing code it was only updated on context switches, so shorter durations could not be measured with it. This patch fixes thread_clock() to also add the time that passed since the the time slice started. When running thread_clock() on *another* thread (not thread::current()), we still return a cpu time snapshot from the last context switch - even if the thread happens to be running now (on another CPU). Fixing that case is quite difficult (and will probably require additional memory-ordering guarantees), and anyway not very important: Usually we don't need a high-resolution estimate of a different thread's cpu time. Fixes #302. Reviewed-by:
Gleb Natapov <gleb@cloudius-systems.com> Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
Again, we are currently calling a function everytime we disable/enable preemption (actually a pair of functions), where simple mov instructions would do. Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
We are heavily using this function to grab the address of the current thread. That means a function call will be issued every time that is done, where a simple mov instruction would do. For objects outside the main ELF, we don't want that to be inlined, since that would mean the resolution would have to go through an expensive __tls_get_addr. So what we do is that we don't present the symbol as inline for them, and make sure the symbol is always generated. Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
It is sometimes useful to programatically learn if something will end up in the main ELF or in a shared library. This is the function usually performed by _KERNEL. However, using that proved quite difficult when Asias was trying to conditionally compile some zfs tools. This is because a lot of our headers expect _KERNEL to be defined and they are also included in the tools build. Too messy, unfortunately. Because of that, I am defining a new constant that will be available for every object that will end up in the main ELF, but won't be defined otherwise. Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Jaspal Singh Dhillon authored
Remove the unnecessary default vnc :1 argument during make. It also does not allow make to proceed if another vm is already using :1 Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Jaspal Singh Dhillon <jaspal.iiith@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Asias He authored
$ ./scripts/run.py -e 'zpool.so list' OSv v0.08-81-gc3422a7 eth0: 192.168.122.15 NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT osv 9.94G 148M 9.79G 1% 1.00x ONLINE - $ ./scripts/run.py -e 'zfs.so list' OSv v0.08-81-gc3422a7 eth0: 192.168.122.15 NAME USED AVAIL REFER MOUNTPOINT osv 148M 9.64G 32K / osv/zfs 148M 9.64G 148M /zfs Enable it by compiling the missing functions. Reviewed-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
KANATSU Minoru authored
Signed-off-by:
KANATSU Minoru <icc.pot.tyew272@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
KANATSU Minoru authored
add symbol for porting CRuby this function is depend on execv() Signed-off-by:
KANATSU Minoru <icc.pot.tyew272@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
KANATSU Minoru authored
add symbol for porting CRuby Signed-off-by:
KANATSU Minoru <icc.pot.tyew272@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- May 15, 2014
-
-
Tomasz Grabiec authored
The version built on muninn does not have the leading 'tracepoint_base::log_backtrace(trace_record*, unsigned char*&)' frame. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
They are important in some cases so we should not hide them. Lambda functions are reported like that. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
Our "Makefile" runs build.mk with "make -r", to disable all the default rules. This flag is saved by make in the MAKEFLAGS variable, which is passed on to child processes. Unfortunately, it is also passed to the makefiles of individual modules (apps/*) when we build specific modules. These makefiles are completely stand-alone, and are normally written to assume that the default rules (e.g., .c->.o) do exist. They will fail when run with MAKEFLAGS=r. We recently noticed both redis-memonly and memcached to exhibit this problem and committed workarounds (see 914bef6f75d9f3e7f268aecdb00a023b86439b85 and e2f7ba1b1d80bb5e89d7fca71b4994c7de15ed4e in apps.git). However, the right fix is for our build.mk to acknowledge that the modules' makefiles are stand-alone, and must not inherit our prefered flags like "-r". So this patch clears the MAKEFLAGS variable when calling module.py (module.py will later invoke "make module" in the module's directory). Reviewed-by:
Tomasz Grabiec <tgrabiec@gmail.com> Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Takuya ASADA authored
Signed-off-by:
Takuya ASADA <syuu@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Dmitry Fleytman authored
RX descriptor length is 14 bit field, we overflow it by allocating 16K buffers and device treats RX descriptor buffer length as zero. Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Dmitry Fleytman authored
Packet discard logic on RX path is incorrect because it doesn't take into account that incoming packet may be spread over a few rings. At the same time discard logic is called in case of newbuf() failure only and our newbuf() never fails since we have no memory allocation errors, so discard logic may be safely dropped and this is an excellent fix for the original problem. Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Dmitry Fleytman authored
Function vmxnet3::rxq_eof() may exit in the middle of multi-descriptor RX packet processing. In this case it is expected to resume processing of the same packet on next invocation. Fixed by making corresponding pointers vmxnet3_rxqueue class members instead of stack variables. Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Dmitry Fleytman authored
2nd ring of RX queue was filled with descriptors and immediately cleared. This lead to inability of driver to receive packets loger than 16K. Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
This involves the introduction of an xmit iterator and a worker thread. Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
This class is a heart of a per-CPU Tx framework. Except for a constructor it has two public methods: - xmit(buff): push the packet descriptor downstream either to the HW or into the per-CPU queue if there is a contention. - poll_until(cond): this is a main function of a worker thread that will consume packet descriptors from the per-CPU queue(s) and send them to the output iterator (which is responsible to ensure their successful sending to the HW channel). Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
This class will represent a single per-CPU Tx queue. These queues will be subject to the merging by the nway_merger class in order to address the reordering issue. Therefore this class will implement the following methods/classes: - push(val) - empty() - front(), which will return the iterator that implements: - operator *() to access the underlying value - erase(it), which would pop the front element. If the producer fails to push a new element into the queue (the queue is full) then it may start "waiting for the queue": request to be woken when the queue is not full anymore (when the consumer frees some some entries from the queue): - push_new_waiter() method. Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
This class allows efficiently merge n sorted containers. It allows both a single-call merging with a merge() method and the iterator-like semantincs with a pop() method. In both cases the merged stream/next element are streamed to the output iterator. Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-