- Oct 16, 2013
-
-
Avi Kivity authored
Not supported by older qemus. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Drop sudo and global /zfs temporary directory. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
This drops the superuser requirement from the build process, and reduces the build prerequisite list. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
This allows using the boost libraries in shared objects. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Pekka Enberg authored
Dump registers on general protection fault for debugging purposes. Even if you have gdb available, getting to the exception frame is not always possible after OSv has crashed. Example output looks as follows: registers: RIP: 0x0000100000b7e913 RFL: 0x0000000000010202 CS: 0x0000000000000008 SS: 0x0000000000000010 RAX: 0xffffc000418ed278 RBX: 0xffffc00041b2c050 RCX: 0x0000000000000004 RDX: 0x0000000000000000 RSI: 0x0000000000000001 RDI: 0x43e0000000000000 RBP: 0x0000200008548d10 R8: 0xffffc000426e3010 R9: 0x0000000000000004 R10: 0x43e0000000000000 R11: 0xffffc00041b2c050 R12: 0xffffc000418ed1e8 R13: 0x0000000000000004 R14: 0x43e0000000000000 R15: 0xffffc00041b2c050 RSP: 0x0000200008548aa0 general protection fault Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
Create a file system on top of the pool. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
For the moment, it only creates a zpool, not a filesystem. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- Oct 15, 2013
-
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Tomasz Grabiec authored
Related changes previously made in java/build.xml were reverted and moved to java/runjava/build.xml Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
Building with ant requires no changes in the build scripts when new classes are added. It is a standrd tool to build java programs. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
- Oct 14, 2013
-
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
We don't want it in /usr, because it won't have been created yet. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- Oct 13, 2013
-
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- Oct 11, 2013
-
-
Tomasz Grabiec authored
This also requires fixing paths to mgmt jars in build.mk and usr.manifest as the version scheme has changed. git log --format=short 7a4db4e759b..54f4810a7: commit 54f4810a76fabf955aeea34baefa336abf8b8467 Author: Tomasz Grabiec <tgrabiec@cloudius-systems.com> Revert "supporting artifactory publish" commit 4abf771d146d6cde66f330e6b6ab6ececffb4cdd Author: Tomasz Grabiec <tgrabiec@cloudius-systems.com> mgmt/web: ditch jline-2.7 pulled by jruby-core commit 3863a3b58b661cd751314966cccb0f6c9835ed4a Author: Nadav Har'El <nyh@cloudius-systems.com> Moved RunJava to io.osv namespace commit be0717595f45d647062e7a41cc8dd38393c96547 Author: Ronen Narkis <narkisr@gmail.com> supporting testing (jruby rake test does not work no matter what) commit 46e74f6bb886a0c62b06f08559fe2e44efdb8900 Author: Ronen Narkis <narkisr@gmail.com> ignoring build commit 95ff3b70bae877d5d8cf0144853d1a201a0be333 Author: Ronen Narkis <narkisr@gmail.com> verfying json existence and giving meaning full error commit 8b60c4a40aa4bcb7ce08bba600fd9cd6d63e1073 Author: Ronen Narkis <narkisr@gmail.com> moving to three digit versioning in order to have a finer grained control on rel commit ffa7646388cec8d5b138ff4fc28a985c6344824c Author: Ronen Narkis <narkisr@gmail.com> supporting artifactory publish commit 8855112e2c867b4f855ed28ad9d9982c26bc56a3 Author: Ronen Narkis <narkisr@gmail.com> clearing unused repo commit 3be79eb18b2be7bf1f28aaebd9905ac77945e4e4 Author: Or Cohen <orc@fewbytes.com> Migrated ifconfig from previous JS console commit 287b014cf709e9c46692c59f87b70ebf056114b5 Author: Or Cohen <orc@fewbytes.com> Migrated run command from previous CLI commit 0ffe064d30c1a812d7e853ee568ce45bfc16ed42 Author: Or Cohen <orc@fewbytes.com> Added daemonizeIfNeeded helper method for commands commit 36951a86493c954a2e939648b5060260fac5b539 Author: Or Cohen <orc@fewbytes.com> Moved ELFLoader from cloudius.cli to cloudius.util
-
- Oct 10, 2013
-
-
Avi Kivity authored
We want to tweak the include order for solaris (solaris -> bsd -> osv) compared to osv (osv -> bsd) or bsd (bsd -> osv), so put these includes in their own variable which can be nulled out. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
We have _KERNEL defines scattered throughout the code, which makes understanding it difficult. Define it just once, and adjust the source to build. We define it in an overridable variable, so that non-kernel imported code can undo it.
-
- Oct 06, 2013
-
-
Nadav Har'El authored
We use the RunJava Java class to run Java applications (both java.so and the "java" CLI command use it). We used to have RunJava.class uncompressed, in the /java directory, but this caused two problems: 1. Or noticed that having a directory (/java) on the classpath causes thousands of stat() calls when Java tries to look for all classes in this directory. With a jar, its contents are read only once. 2. The "java" CLI command (java.groovy) didn't work because apparently Groovy cannot deal with classes being in the top-level package. So this patch moves RunJava into the io.osv package, and put it into a jar /java/runjava.jar. Note that java.groovy is changed in a separate patch (because it's in a different sub-repository....) Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
- Oct 03, 2013
-
-
Benoît Canet authored
This patch uses boost::asio::ip::address* to cleanup the core dhcp code. Signed-off-by:
Benoit Canet <benoit@irqsave.net> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- Oct 01, 2013
-
-
Avi Kivity authored
Removing loader.img causes a null build to rebuild it and usr.img. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- Sep 29, 2013
-
-
Nadav Har'El authored
This patch adds support for the Linux kill(2) function. The next patch will add alarm(2) support, which uses kill(2). To be honest, we sort-of implement kill(). This implementation is compatible with the API, but the semantics are somewhat different: While in Linux kill() causes the signal handler to run on one of the existing threads, in this implementation, the signal handler is run in a *new* thread. Implementing the exact Linux semantics in OSv would require tracking when OSv runs kernel code (i.e., code in the main executable, not a shared object) so we can delay running the signal handler until returning to the user code. Moreover, we'll need to be able to interrupt sleeping kernel code. This is complicated and adds overhead even if signals aren't used (and they aren't used in most modern code). I expect that this code will be "good enough" in many use cases. This code will *not* be good in enough in programs that expect one of the following: 1. A program that by using Posix Thread's "signal masks" tried to ensure that the signal is delivered to one specific thread, and not to an arbitrary thread. 2. A program that used kill() or alarm() not intending to run a signal handler, but rather intending to interrupt a sleeping system call like sleep() or read(). Our kill() does not interrupt sleeping OSv function calls, which will continue to sleep on the thread they run on. The support in this patch (and see next patch, for alarm()) is good enough for netperf's use of alarm(). P.S. kill() can be used only to send a signal to the current process, the only process we have in OSv (you can also use pid=0 and pid=-1 to achieve the same results). This patch also adds a test for kill() and alarm(). The alarm() test will fail until the next patch :-) Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
- Sep 26, 2013
-
-
Pekka Enberg authored
Add a basic test case for filesystem hard link support. You can run it as follows: ./scripts/run.py -e "tests/tst-fs-link.so" Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Sep 20, 2013
-
-
Nadav Har'El authored
Add a trivial sleep() test, which sleep()s for 2 seconds, and verifies that this finishes and has slept for roughly 2 seconds. I used this for debugging issue #26 - the attempts there ruined timers, and in particular this trivial test hangs, as sleep() never returns. (A note to our future automatic testing implementor: We need to allow for the possibility that a test doesn't cleanly fail, but rather hangs, and consider this a failure too). Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
- Sep 19, 2013
-
-
Benoît Canet authored
This regression test trigger issue #8 "Make Java InetAddress.getHostName() work" by exercising the DNS resolver on localhost and a dns root server. The test takes care of specifying NI_NOFQDN to resolve only the hostname part of localhost ip. It appears that the DNS ip is not communicated to the libc by core/dhcp.cci: /etc/resolv.conf is not filled. Test contributed while waiting for an fix idea to implement. Signed-off-by:
Benoit Canet <benoit@irqsave.net> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Sep 12, 2013
-
-
Nadav Har'El authored
This is a test for the effectiveness of our scheduler's load balancing while running several threads on several cpus. A full description of the test and its expected results is included in comments in the beginning of the code. but briefly, the test runs multiple concurrent busy-loop threads, and an additional "intermittent" thread (one that busy-loops for a short duration, and then sleeps), and expects that all busy threads will get their fair share of the CPU, and the intermittent thread won't bother them too much. Testing the current code, this tests demonstrates the following problems we have: 1. Two busy-loop threads on 2 cpus are 5%-10% slower than just one. This is not kernel overhead (profiling show 100% of the time in the test's inner loop), and I see exactly the slowdown when running this test on the Linux host, so it might be related to the host's multitasking? For now, let's not worry about that. 2. Much more worrying is that the intermittent thread sometimes (in about half the tests) causes us to only fully use one CPU, and of course get bad performance. 3. In many of the tests involving more than 2 threads (2 threads + intermittent, or 4 threads) load balancing wasn't fair and some threads got more CPU than the others. Later I'll send patches to fix issues 2 and 3, which appear to happen because the load balancer thread doesn't run as often as it should, because of vruntime problems.
-
- Sep 11, 2013
-
-
Nadav Har'El authored
Added a new function, osv::reboot() (declared in <osv/power.hh>) for rebooting the VM. Also added a Java interface - com.cloudius.util.Power.reboot(). NOTE: Power.java and/or jni/power.cc also need to be copied into the mgmt submodule.
-
narkisr authored
-
- Sep 08, 2013
-
-
Guy Zana authored
-
Guy Zana authored
a test where the guest connects to the host and sends a small packet of data. used to verify that retransmits is working in Van Jacobson and the TCP stack in general.
-
Avi Kivity authored
The shell call to stat(1) is evaluted when the rule to build the image is triggered, at which point loader-stripped.elf does not exist yet. This causes stat to fail and the build to break. Fix by moving the creation of loader-stripped.elf to its own target, so that by the time the recipe is evaluated, the file is known to exist.
-
- Sep 06, 2013
-
-
Or Cohen authored
Changed "$[]" to "$(())" when calculating zfs start/size
-
- Sep 05, 2013
-
-
Glauber Costa authored
-
Glauber Costa authored
This is the size that goes in our bootloader count32. But since we will be copying over the stripped binary anyway, we are probably reading too much data, for no reason. That should increase boot time a bit.
-
Glauber Costa authored
This patch implement the HPET clock driver, that should work as a fallback for both Xen and KVM, in case the paravirtual clock is not present. This is unfortunately the situation for all HVM guests running on EC2, so support for this is paramount. I have tested on KVM forcing the kvmclock to disappear, and it seems to work all right.
-
- Sep 02, 2013
-
-
Pekka Enberg authored
Add simple tests for munmap() for file-backed memory maps. This exposes a limitation in munmap() not writing out MAP_SHARED mappings.
-