- Mar 04, 2014
-
-
Nadav Har'El authored
Removed an unused declaration, which is unnecessary and causes a warning in Eclipse. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
Conflicts with Jenkins. Add an option instead. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Mar 03, 2014
-
-
Glauber Costa authored
No reason to expose it in the headers. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
I am currently being able to trigger this assert. It comes from the old days before we found the opportunistic copying bug. Right now, it *is* possible to have the balloons list to be empty, and still some old VMAs lying around. Just remove the assertion. Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
Running 'make check' after the fix: ... TEST tst-ring-spsc-wraparound.so OK (8.817 s) ... 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>
-
Vlad Zolotarov authored
- Fixed ring_spsc: "empty" check should be "_beg == _end" and not "_beg >= _end". - Deleted ring_mpsc since it's not currently used anywhere. Fixes #225. 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>
-
Vlad Zolotarov authored
We are about to kill ring_mpsc - delete the corresponding tests. 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>
-
Glauber Costa authored
Carl noticed that it is legal for a java program (think for instance, somebody using JNI), to move stuff manually from the middle of the balloon. In that case, we would have a move that is smaller than the size of the object. We haven't put much tought on how to handle this case - if at all. But it is certainly better to fault there than to have a silent weird behaviour. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
While the net channel poller list (a vector<pollreq>) is managed via rcu, do_poll() modifies the pollreq without protection when it clears pollreq::_poll_thread. This can cause net_channel::wake_pollers() to wake a null thread. Fix by converting pollreq::_poll_thread to a sched::thread_handle (which has internal rcu protection). Seen running wrk against a static tomcat page (the home page). Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Feb 25, 2014
-
-
Eduardo Piva authored
This isn't mandatory but increase code readability. Nadav writes: I can verify that this indeed clears the last false error message that eclipse sees in all OSv files. Amazing. I think we should commit this patch. Signed-off-by:
Eduardo Piva <efpiva@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
This patch adds two more load-balancing tests to tests/misc-loadbalance.cc: 1. Three threads on two cpus. If load-balancing is working correctly, this should slow down all threads x1.5 equally, and not get two x2 threads and one x1. Our performance on this test are fairly close to the expected. 2. Three threads on two cpus, but one thread has priority 0.5, meaning it should get twice the CPU time of the two other threads, so fair load balancing is to keep the priority-0.5 thread on its own CPU, and the two normal-priority threads together on the second CPU - so at the end the priority-0.5 thread will get twice the CPU time of the other threads. Unfortunately, this test now gets bad results (x0.93,x0.94,x1.14 instead of x1,x1,x1), because our load balancer currently doesn't take into account thread priorities: It thinks the CPU running the priority-0.5 thread has load 1, while it should be considered to have the load 2. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Feb 24, 2014
-
-
Claudio Fontana authored
they are not enabled yet in the build system. Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Module definition is enough. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
the rcx register holds the amount of bytes we need to copy during the copy operations. We will advance it by the fixup, which means that it should never, ever, go bellow 0. I saw that happening due to a bug, and took me some time to figure that out - the result is memory corruption, which can manifest in weird ways. Should that assert be in place, I would have noticed sooner Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Currently it would throw ArrayIndexOutOfBounds when 'java' is called without arguments. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Claudio Fontana authored
also updates the isa defs with some AArch64 values. Signed-off-by:
Claudio Fontana <claudio.fontana@huawei.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- Feb 23, 2014
-
-
Tomasz Grabiec authored
Useful in suppressing unimportant branches. Example: Using percentage: trace.py --min-hits 10% Using absolute count: trace.py --min-hits 3 Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
This option will allow to introduce more grouping criterias than just by thread. It replaces -m|--merge-threads option. Now by default there is no grouping. Samples can be grouped by thread by passing '-g thread'. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Feb 22, 2014
-
-
Tomasz Grabiec authored
This fixes openssl issue manifesting itself with inability to establish an SSL connection. Openssl refused to create new connection due to insufficient entropy to generate session id. There was no entropy because RAND_poll() didn't manage to read anything from any of the randomness sourcess, which by default are: /dev/urandom /dev/random /dev/srandom We do, however, have /dev/random on OSv. The problem was that when openssl tries different sources it skips the ones which it already tried by comparing stat.st_ino and stat.st_dev as returned by fstat(). Because devfs didn't implement getattr operation both these fields were always 0 so even though /dev/random was present it was not considered. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
It's needed by openssl. It supposed to return NULL if the environemnt is not trusted. Our implementation just delegates to getenv(). Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Feb 20, 2014
-
-
Nadav Har'El authored
Our README.md stated that gcc 4.7 is required (but 4.8 is recommended), but 4.7 will no longer work now that sched.hh uses, in class wait_object, constructor inheritence. That feature was only added in 4.8 (see http://gcc.gnu.org/gcc-4.8/changes.html ). So this patch fixes the README.md to say that gcc 4.8 is required. Gcc 4.8 is almost a year old, no reason why we shouldn't use it (and the C++11 features that were still missing in 4.7). Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Feb 19, 2014
-
-
Nadav Har'El authored
Until now, our manifest did not support an empty directory, so we resorted to uploading a file ".keep" inside the directory, which is kind of ugly (this file remains in the final image). Instead, in upload_manifest.py, if the given file is a directory (any directory...), put it in the cpio as a directory, which causes an empty directory to be created. So now our images will no longer have files like /tmp/.keep. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
Now that we can print formatted stuff into abort, printing the address of the fault can be helpful Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
Zero req->mhdr.num_buffers in Tx path when MRG_RXBUF is negotiated as virtio spec demands. Reviewed-by Zhi Yong Wu <zwu.kernel@gmail.com> Reviewed-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Add support for directories. Found by streaming openjdk rpm2cpio output to OSv. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Add symbolic link support to cpiod.so parser. As OSv does not yet support symlinks, the files are never created on the filesystem. This is needed for streaming rpm2cpio to OSv guest. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Make cpiod.so more robust by checking the file type explicitly. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Specify file type in the cpio header. This is needed to make cpiod.so more robust by explicitly checking file type. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Feb 18, 2014
-
-
Pekka Enberg authored
This reverts commit 860d6c53. It makes cpiod.so completely ignore zero-length files. This breaks 'make check' because the tmp directory is no longer created, for example. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
The serializer was reading from the destination buffer instead of the source string. As a result all string arguments appeard as empty strings in the trace. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Looks like an omission. You'd run into this if you had multiple mappings for the same file on the guest. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
It is really helpful to know who is who when you are printing a backtrace for all threads. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Feb 17, 2014
-
-
Pekka Enberg authored
If c_filesize is zero, bail out immediately from parse_one(). Otherwise the rdbuf()->pubsetbuf() call will wreak havoc on the stream position and cause the next header to have corrupt CPIO magic. Found by streaming openjdk rpm2cpio output to OSv. Reviewed-by:
Glauber Costa <glommer@cloudius-systems.com> Cc: Benoît Canet <benoit@irqsave.net> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Add CPIO header magic number checking to fail fast if there's something wrong with the CPIO format. Found by code inspection. Reviewed-by:
Glauber Costa <glommer@cloudius-systems.com> Cc: Benoît Canet <benoit@irqsave.net> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Eduardo Piva authored
I was setting up an OSv with network today, following README instructions and noticed that to run the test an invoke command is missing. Maybe it's a syntax change from older versions. Signed-off-by:
Eduardo Piva <efpiva@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Feb 14, 2014
-
-
Pekka Enberg authored
Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Feb 13, 2014
-
-
Avi Kivity authored
3c16063a forgot to make recv() as having C linkage. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-