- Jul 29, 2013
-
-
Glauber Costa authored
Here are some compile-time definitions that will make importing of BSD code easier. They should be straightforward and trivially true for our current setup: x86_64 is our current arch (and when we support others we can just replace the static -D__x86_64__ with a test that goes precisely here, it makes no sense to support code that is not SMP, and the id string is included by pretty much every BSD file - and I believe we have no interest in that.
-
Glauber Costa authored
Xen BSD code will attempt to create processes to serve as deamons for xenstore. We can basically emulate this by creating threads. The only thing I am doing differently from the already existent thread creation layer that we have, is that callers will expect a struct proc to be returned. We had this as a stub, now I am creating a small struct with just the PID to serve as a return placeholder. The listener processes in xenstore never dies, so I am not implementing a deallocate routine for them
-
Glauber Costa authored
bio queue is the name used by BSD. Since it is just a name difference, I would better change our code, since there are few users (only ramdisk), than to patch all code I am importing from BSD that uses it.
-
Glauber Costa authored
We take the write version instead of the read version when locking. Unlocking is fine
-
Avi Kivity authored
__attribute__((cold)) on labels isn't supported by gcc 4.7. Detect support for the feature and enable it conditionally.
-
Dor Laor authored
When netperf is executed, there is high demand for pages. Here is a table of values for the max constant and the matching netperf results: buf size Throughput Mbps 1024 16700 512 16800 256 15500 128 14500 64 13680
-
Avi Kivity authored
kvm pveoi support
-
Avi Kivity authored
The feature allowing reuse of an inherited constructor is not available on in gcc 4.7.
-
Avi Kivity authored
kvm provides a way to EOI without exiting; detect its availability and use it.
-
Avi Kivity authored
Works with xapic, and allows us to hook eoi().
-
Avi Kivity authored
-
Avi Kivity authored
kvm's pv_eoi functionality fails if any vmexits are taken before the EOI (likely due to a bug). Work around this by deferring the handler until after the interrupt has been EOIed. Since level-triggered interrupts must be acked at the device level prior to the EOI, add an additional handler to be called prior to the EOI.
-
Avi Kivity authored
Make sure percpu data is aligned correctly as some hardware features expect it.
-
Nadav Har'El authored
RhinoCLI relied on a bunch of global Java variables such as _cx and _args. This was not only ugly, it also prevents us from running multiple instances of the CLI on the same JVM - e.g., to support multiple telnet connections. There isn't actually a need for these JVM-wide global variables. At most, we need to global use variables in the Javascript interpreter (so each instance of the interpreter would have its own copy). This patch puts main's arguments in a new global-per-javascript-interpreter variable "mainargs" instead of the global-for-entire-JVM _args. "_cx" isn't needed at all: one of uses was to for Java to convert a String[] into the equivalent Javascript alternative - but Java should just return String[] and let Javascript worry about handling that (it seems to work just fine without change). A second use was for returning an exit code, but a more appropriate methods to do the same thing without global variables exist.
-
- Jul 28, 2013
-
-
Dor Laor authored
Based on FreeBSD virtio code Provides a x7 boost for rx netperf
-
Dor Laor authored
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
allows the dhcp worker to see incoming dhcp packets using a simple hook. no reason to make this kind of hook generic (a BPF alternative) as there are already many protocol specific hooks in the networking stack. if we ever need to do more hooking, the pfil interface may be used or we can implement a generic solution, but it's not reasonable to do so for a single user (dhcp).
-
Guy Zana authored
Use DHCP to discover an IP address per each interface, DHCP packets are being hooked in the networking stack in ip_input and queued for deffered processing using a dhcp worker thread. Sending dhcp packet is done directly over ethrernet (building IP and UDP). There's still alot to be done: setting up lease time, timeouts, more error handling but it's possible to implement these later on.
-
Guy Zana authored
-
Guy Zana authored
-
Guy Zana authored
-
Avi Kivity authored
Facilities for capturing call stack on arbitrary tracepoints. New command: 'perf callstack <tracepoint>'
-
Glauber Costa authored
Although we are not expecting to have many interfaces, it is still useful to print the interface name when we fail to set its parameters. (For starters, we may very well have plenty, and it is also good for debugging)
-
Avi Kivity authored
Replace the lambda-based with_lock API with a block-based API.
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
The current with_lock() has the downside of using relatively large lambdas. Lambdas need extra syntax (and thought) to capture variables, and change the meaning of 'return', 'break', and 'continue'. The new with_lock (named WITH_LOCK, since it's a macro) accepts a statement instead of a lambda: WITH_LOCK(mtx) { do_something(); WITH_LOCK(preempt_lock) { do_something_else(); } } In a WITH_LOCK context, any return, break, continue, or exception which exits the block will cause the lock's unlock() method to be called.
-
Avi Kivity authored
sprintf(fmt, ...) - returns a std::stream fprintf(os, fmt, ...) - prints to a std::ostream& Easier than the usualy method of constructing a temporary ostringstream and formatting into that.
-