- May 26, 2013
-
-
Guy Zana authored
now it downloads a ~200MB file and validating md5 on it.
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
the old implementation used threads for dispatching callouts, each callout owned a thread and it suffered from a race where a callout structure could have been deleted before the callout thread even begun. the current implementation is dispatching all callouts in a single callout dispatcher thread, it maintains an ordered list of callouts to achieve that. this patch solve a crash with the TCPDownloadFile test, that now proceeds.
-
Guy Zana authored
-
Guy Zana authored
the mbuf ext buffer is freed in the dtor, so it should be called before finit. this is fixing a crash that surfaced by using the conf-memory-debug=1
-
Guy Zana authored
this haven't caused a real bug, I just noticed it while tracing. it may be dangerous if in some flow, the stack will not be zeroed
-
Guy Zana authored
-
Guy Zana authored
strerror_r is needed by the JVM in order to print errors correctly.
-
- May 25, 2013
-
-
Nadav Har'El authored
A todo item to avoid unnecessary fpu state saving
-
Nadav Har'El authored
Things we still need to do to use the lockfree mutex
-
- May 24, 2013
-
-
Nadav Har'El authored
Following an idea raised during our last discussion on TODOs, I committed a new directory "todo/", and one file in it, todo/mm, with TODOs and ideas for memory management. I suggest that we allow free commits to this directory - with no overhead of "review" of these informal todo items. If we decide we don't like this format, we can easily move the content of these files to some other tool or database or whatever.
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
- May 23, 2013
-
-
Nadav Har'El authored
Oops, forgot to commit the removal of this redundant line (thanks Dor for spotting it).
-
Nadav Har'El authored
README's instructions on leak detection were out-of-date in several points, so corrected it.
-
Nadav Har'El authored
Fix two errors in IsaSerialConsole::reset(). The visible effect of these errors was a spurious \001 (^A) character which always appeared at the beginning of every OSV's run output. The two errors were: 1. The DLAB bit on the LCR was incorrectly set (a spurious "& LCR_DIVISOR_LATCH_ACCESS_BIT" appeared in the code), causing the next outb(1) to go to the output register (and output a "1" character) instead of setting the baud rate. 2. When writing the FCR register, the "ioport + " base forgotten. I took the opportunity and added better names for the constants, removed a couple of duplicate constants, and added comments.
-
Avi Kivity authored
-
Nadav Har'El authored
Added a "--noshutdown" option to loader which prevents a shutdown (and a poweroff), after main() returns. Note that this doesn't just replace poweroff() by halt() - with this option, the system *isn't* halted after main() returns, but rather continues as usual - possibly still running other threads that main() didn't wait for, running various system threads and services, and so on.
-
Avi Kivity authored
-
Avi Kivity authored
Context switch tests and related optimizations. Conflicts: bootfs.manifest build.mak
-
Avi Kivity authored
kvmclock changes always come from the same cpu, so a real memory barrier is not needed. Replace with a compiler barrier.
-
Avi Kivity authored
-
Avi Kivity authored
If there's nothing in the cpu_set (which is fairly common), there's no need to use an atomic operation.
-
Avi Kivity authored
Builds on osv an Linux. Tests context switch performance: - between threads co-located on the same cpu - between threads on different cpus - between threads placed by the scheduler policy
-
Nadav Har'El authored
Avi recently added extern "C" to pwrite64 (after the header change apparently removed this declaration from the header file). Also do this to pread64 - otherwise the "derby" benchmark (from SPECjvm2008) cannot run.
-
- May 22, 2013
-
-
Nadav Har'El authored
The following test currently frequently crashes - with an abort or assertion failure. It's a very simple test, where 10 threads do an endless yield() loop. While yield() itself is not very important - and doesn't even implement the promise of sched_yield(2) to move the thread to the end of the run queue - this test failure may be the sign of a scheduler bug that needs to be fixed.
-
Avi Kivity authored
Allows cross-platform code where the APIs aren't the same.
-
Nadav Har'El authored
Call the new poweroff() function after the payload finishes running. Makes sense on a cloud (why would you want to pay the provider after your workload is done?) as well as for our benchmarking, where we want qemu to exit after running the benchmark. When the "--leak" option is used, instead of calling poweroff(), we call hang(), so that QEMU continues to run and we can attach the debugger to run "osv leak show". Note that before this patch, if the payload spawned threads, they could continue running after the payload's main() return. This is no longer the case - after main() returns, the entire virtual machine is shut down (or just hung). This is reasonable behavior, though: If the payload needs some threads to continue running, it should join() them before returning. The behavior on Linux (and Posix threads in general) is identical to our new behavior: When main() of a multithreaded program returns, all threads are killed.
-
Nadav Har'El authored
abort() did the same thing as the new osv::hang(), so let's just use osv::hang(). Note that it's important that osv::hang() doesn't print anything - abort() does, but avoids infinite recursion that can happen when abort()'s printing itself causes a crash, and another abort().
-