- May 26, 2013
-
-
Avi Kivity authored
Faster way to write fsbase on newer processors.
-
Avi Kivity authored
This are used to support ifunc functions, which are resolved at load-time based on cpu features, rather than at link time.
-
Avi Kivity authored
-
Avi Kivity authored
If interrupts are disabled, we must not call schedule() even if the preemption counter says we need to, as the context is not preemption safe. This manifested itself in a wake() within a timer causing a schedule(), which re-enabled interrupts, which caused further manipulation of the timer list to occur concurrently with the next interrupt, resulting in corruption. Fixes timer stress test failure.
-
Guy Zana authored
noticed an assert in the download file test that was related to timers, this test reproduce the same bug.
-
Nadav Har'El authored
This patch adds missing FPU-state saving when calling signal handlers. The state is saved on the stack, to allow nesting of signal handling (delivery of a second signal while a first signal's handler is running). In Linux calling conventions, the FPU state is caller-saved, i.e., a called function can use FPU at will because the caller is assumed to have saved it if needed. However, signal handlers are called asynchronously, possibly in the middle of some FPU computation without that computation getting a chance to save its state. So we must save this state before calling the signal handling function. Without this fix, we had problems even if the signal handlers themselves did not use the FPU. A typical scenario - which we encountered in the "sunflow" benchmark - is that the signal handler does something which uses a mutex (e.g., malloc()) and causes a reschedule. The reschedule, not a preempt(), thinks it does not need to save the FPU state, and the thread we switch to clobbers this state.
-
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.
-