- Jan 17, 2014
-
-
Pekka Enberg authored
Add 'struct file' to VOP_READ API. This is needed for procfs which generates file contents at open() time and read() must operate on it, not the vnode. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Currently, RLIMIT_STACK is 64 KB. This is too small for the JVM which limits stack size to RLIMIT_STACK if a VMA range that covers address found in '__libc_stack_end' in /proc/self/maps. In preparation for procfs support, switch to pthread_attr_getstacksize() for RLIMIT_STACK. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Add pthread_attr_getstacksize() in preparation for fixing RLIMIT_STACK. Reviewed-by:
Glauber Costa <glommer@cloudius-systems.com> Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Jan 16, 2014
-
-
Glauber Costa authored
As noted by many of you, we need a mechanism to control whether or not the balloon mechanism is enabled. A trivial way is to allow for a boot option that will control it, and that may (or may not) be the right route in the future. But (at least) right now the safest way to proceed is to view -Xmx as a declaration of intent. In that case, we disable the balloon, leaving it enabled only for people who didn't went through the trouble of calculating a value. Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
This code should not be here. I am 100 % positive that I removed it in my testings, but I must have forgotten to git add the remove before I sent out the patch and it ended up in tree. This is simply a test leftover, it will have the effect of having threads to loop forever and never waiting because the initial value won't be 0. Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Takuya ASADA authored
isa-serial.hh don't need to include vga.hh, but it's required on console.cc, so move it. Signed-off-by:
Takuya ASADA <syuu@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Remove the copyright statement from boot log but keep the OSv version banner there to tidy up boot. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
OpenJDK looks up "/dev/urandom" at startup but works just fine without it. There's no need to display an error message in OSv if that happens. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
OSv debugging and trace analysis are much better covered in the Wiki pages. Replace the text in README with links to the more up-to-date Wiki. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Take the latest mgmt.git which has fixes to make OSv boot less verbose. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
This reverts commit 4af010f1. This change causes OSv to abort when JVM is started with the following options: -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 Result: ERROR: transport error 202: setsockopt TCPNODELAY failed: Protocol not available ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:750] FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) Aborted I think it's best to revert it until the root cause is solved. See issue #167 Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
Since recently, debug() messages are by default not visible. This means they are not a good way to print error messages :-) This patch fixes two error messages from loader.cc, that were no longer visible. For example, "scripts/run.py -e xyz" completed without any message instead of telling the user that "xyz" doesn't exist. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
Output to stdout normally goes to file descriptor 1. However, during early boot, before the console is opened on file descriptor 1, we also want printf() to work. So this case is specially treated in libc/stdio/__stdout_write.cc, where in this early case, we used debug_write directly, instead of write to the file descriptor. However, recent patches changed debug_write to write to a memory buffer, instead of to screen (unless "--verbose" option is given to the loader). This made early printf() break too. This patch changes __stdout_write to use console::write(), not debug_write(). To use console::write(), I had to convert that source file to C++. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Add a 'trace extract' command that hides the gdb magic and is future-proof when we change the trace transport protocol. Reviewed-by:
Tomasz Grabiec <tgrabiec@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
This adds a '--graphics' option to run.py that enables QEMU's graphics mode using SDL. This is needed for testing OSv's VGA support. Requested-by:
Takuya ASADA <syuu@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Dor Laor authored
Drop echoing: "SCRIPT, tap0" Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Jan 15, 2014
-
-
Avi Kivity authored
The timeout test sets a 2 second timeout and a 1 second alarm, and expects the timeout to happen first. Change the timeout to 0.5 seconds. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
Microsecond values were passed as is instead of being scaled by hz. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Make the JVM heap autotuning message silent by default. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Eduardo Piva authored
Change some printf calls on boot messages, so it will call the apropriate debug function. This will enable OSv to operate on silent mode. Added debug.h header so we can link debug functions to C files. Fixes #118 Signed-off-by:
Eduardo Piva <efpiva@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Eduardo Piva authored
Add --verbose options to OSv, so it will flush buffer after handling the kernel option and set verbose boolean flag in debug code. Signed-off-by:
Eduardo Piva <efpiva@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Eduardo Piva authored
Create a circular buffer that stored all debug messages accordingly. If the debug buffer is full, reuse it. A method called flush_debug_buffer is added to enable printing all messages to console if verbose mode is configured. The global variable debug_buffer_full is used to track if, when flushing debug buffer to console, we need to flush both buffer sides. If verbose boolean variable is set, all messages are printed to the console after beeing stored in the buffer. The size of the buffer is 50Kb, defined in debug.hh. A function debugf that received a variable list of arguments is defined so we can change some printf from boot sequence to debugf call. A different name is used to prevent C overload. Signed-off-by:
Eduardo Piva <efpiva@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
Print the thread pointer, not the address of the thread pointer. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
Add a type-safe std::chrono interface to the wall-clock time. E.g., use use osv::clock::wall::now() to get an std::chrono::time_point instead of clock::get()->time() which returns an s64. This patch also changes clock_gettime(CLOCK_REALTIME) and gettimeofday() to use the new osv::clock::wall::now() interface. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
In <drivers/clock.hh> we had support for time literals looking like 100_ns, 100_us, 100_ms, 100_s. These simply translated to an integer number of nanoseconds. Added to <osv/clock.hh> similar literals, but using strongly-typed std::chrono::duration, so that 100_ms translates to std::chrono::milliseconds(100), and this is, as usual, automatically scaled by the compiler to other units when other units (e.g., nanoseconds) are required. Because the literals of <drivers/clock.hh> and <osv/clock.hh> have the same name, to use the latter you need to explicitly enable them in a scope using the statement using namespace osv::clock::literals; One the entire codebase is converted to use <osv/clock.hh> and std::chrono, the old literals from <drivers/clock.hh> should be removed. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
The timestamp typically will come from 'trace.py list' output. This change makes it easier to paste the timestamp. Listing prints the time with '.' separating seconds from nanoseconds. The options '--since' and '--until' accept timestamp in nanoseconds so the dot must have been removed. Now one only needs to append the 's' suffix which changes the unit to seconds. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
This: --since 10.0 --period 100ms is now equivalent to: --since 10.0 --until 10.1 This option makes it easier to slice the time based on the output of 'trace.py list-timed' which prints trace timestamp and duration. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Removing 'osv trace summary' and 'osv trace duration' commands from loader.py. The first is added as 'trace.py summary --timed', the second one is added as 'trace.py list-timed'. It was easier to move both in one commit as they are coupled with each other. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
The call-graph tree is already using call-sites, this makes also `trace.py list -b` also use it. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Prints output like this: Collected 36843 samples spanning 8.85 s Tracepoint statistics: name count ---- ----- sched_wait 18420 sched_wait_ret 18423 Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
When output is not fully consumed because of piping, eg to `head`, we get an ugly exception: Traceback (most recent call last): File "scripts/trace.py", line 274, in <module> args.func(args) File "scripts/trace.py", line 227, in list_timed bt_formatter(t.backtrace), IOError: [Errno 32] Broken pipe Let's ignore it, it's normal condition. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
- added command descriptions - improved clarity of options - extracted argument groups - changed command help to start with lower case letter Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
It's a left over which is not used any more. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-