- Mar 19, 2013
-
-
Avi Kivity authored
-
Avi Kivity authored
-
Guy Zana authored
-
Avi Kivity authored
fpu preemption
-
Avi Kivity authored
-
Avi Kivity authored
Test that preemption does not corrupt fpu registers.
-
Avi Kivity authored
-
Avi Kivity authored
Normal scheduling does not need to save or restore the fpu when switching threads, since all fpu registers are caller-saved (so calling schedule()) may clobber the fpu). However this does not hold on preemption, so we need to save and restore the fpu state explicitly.
-
Avi Kivity authored
-
Avi Kivity authored
Parse cpuid flag bits relevant to osv.
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
- Mar 18, 2013
-
-
Nadav Har'El authored
-
Nadav Har'El authored
is not currently supported, and PROT_READ is used instead (i.e., instead of inaccessible memory, one gets read-only memory). Inaccessible memory complicates the code because it means using the non-present bit on still-allocated pages, and then unpopulate() can't use the present bit to decide which pages are allocated and need to be freed. To fix this, I'll need to: 1. unpopulate_page() and unpopulate_huge_page() should assume it is only ever called on allocated pages (evacute() actually ensures that!), and not return on non-present ptes. 2. change_perm() should use the read_perm to set the present bit. 3. protect() shouldn't rely on present bit to know when to return 0 or 1, rather it must be wrapped in something like evacute() which knows to find mapped ranges, and only call protect() for actually mapped ranges. I'll try this tomorrow.
-
Nadav Har'El authored
the version at the time of commit. Git is overrated :(
-
Nadav Har'El authored
implementation of both was completely broken - not only did evacuate() never free the physical memory backing the removed mapping, it was sometimes even called with wrong parameters ;-) Added tests to check that some of the mmap/munmap combinations no longer leak memory.
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
The JVM calls these when running Volanomark. Also improve debugging of unhandled getrlimit cases.
-
Christoph Hellwig authored
just like most libc implementations.
-
Christoph Hellwig authored
-
Christoph Hellwig authored
We don't use syscall except for gettid which is called directly by java. If we are going to implement these they should be direct API functions.
-
Avi Kivity authored
Noticed by Nadav.
-
- Mar 17, 2013
-
-
Nadav Har'El authored
and instructions on how to run bench.jar
-
- Mar 13, 2013
-
-
Nadav Har'El authored
and also to the "osv thread ..." command, you can now use in addition to the thread's address, also its id - e.g., "osv thread 44" will go to the thread with id()==44.
-
- Mar 12, 2013
-
-
Nadav Har'El authored
paper...) but leaving necessary discussion not present in the paper. And also fix various errors.
-
- Mar 11, 2013
-
-
Nadav Har'El authored
-
Nadav Har'El authored
embarrassing errors ;-)
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
This allows taking BIO_ERROR into the block layer core and remove unsafe bio_flags manipulations in the virtio-blk driver.
-
Nadav Har'El authored
1. A lock-free multiple-producer, single-consider, queue 2. A lock-free mutex using the above queue. In a new directory include/lockfree/. The lock-free mutex is based on a technique called "responsibility hand-off" published by Anders Gidenstam and Marina Papatriantafilou in 2007, and while I spent the last two days thinking (and nearly losing my mind ;-)) of all the weird corner cases that happen in this algorithm, I haven't actually tested this implementation, which I need to do next. The code is also still very messy - everything is in the .hh (some should move to a .cc), it's C++ with no C interface, and the comments are various thoughts I had trying to convince myself that this algorithm is correct. So I need to write tests and clean up this code.
-
- Mar 08, 2013
-
-
Christoph Hellwig authored
-
- Mar 07, 2013
-
-
Dor Laor authored
* 'master' of github.com:cloudius-systems/osv: sched: copy the tls image to a new thread, instead of zeroing it
-
Dor Laor authored
-
Avi Kivity authored
With the current memset(), every thread starts out with zero-initialized tls variables. Switch to memcpy(), so it gets the proper static initializer. Fixes conf-preempt=0.
-