- May 29, 2014
-
-
Nadav Har'El authored
Before commit 202b2ccc, cpu::reschedule_from_interrupt() needed to know whether we were called from an interrupt (preempt=true) or as an ordinary function (preempt=false), to know whether or not to save the FPU state. As we now save the FPU state at the interrupt code, reschedule_from_interrupt() no longer needs to deal with this, and so this patch removes the unneeded paramter "preempt" to that function. One thing we are losing in this patch is the "sched_preempt" tracepoint, which we previously had when an interrupt caused an actual context switch (not just a reschedule call, but actually switching to a different thread). We still have the "sched_switch" tracepoint which traces all the context switches, which is probably more interesting anyway. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Gleb Natapov authored
Signed-off-by:
Gleb Natapov <gleb@cloudius-systems.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Li Yu authored
bsd/sys/net/if_ethersubr.cc has an assert to check if incoming frame is a VLAN frame, if so kernel will abort there, just dropping it may be a bettter choice. Signed-off-by:
Li Yu <raise.sail@gmail.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- May 28, 2014
-
-
Pekka Enberg authored
Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
The "user.home" JVM system property, for example, uses getpwuid() so make sure it's returning proper values. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Move getpwuid() and getpwuid_r() to libc/user.cc where OSv user is defined. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
Waitqueues fullfil the same role as condition variables, but are much lighter since they rely on an external mutex, which is already provided by rwlock. Replacing condvars by waitqueues significantly reduces the size of an rwlock, and in addition reduces the number of atomic operations in contended cases significantly. Reviewed-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Gleb Natapov authored
Fix madvice(MADV_DONTNEED) to use correct page ops for a VMA. Don't try to use what we have today on mmaped files. Signed-off-by:
Gleb Natapov <gleb@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
This separates Capstan and VM image building into two scripts. This is needed to be able to drop useless VM images like "osv-base" or "osv-openjdk" that only make sense as Capstan base images, not standalone VM images that people boot to. Cc: Tzach Livyatan <tzach@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Raphael S. Carvalho authored
Signed-off-by:
Raphael S. Carvalho <raphaelsc@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pawel Dziepak authored
Signed-off-by:
Pawel Dziepak <pdziepak@quarnos.org> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pawel Dziepak authored
Reviewed-by:
Tomasz Grabiec <tgrabiec@gmail.com> Signed-off-by:
Pawel Dziepak <pdziepak@quarnos.org> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pawel Dziepak authored
Reviewed-by:
Tomasz Grabiec <tgrabiec@gmail.com> Signed-off-by:
Pawel Dziepak <pdziepak@quarnos.org> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pawel Dziepak authored
Reviewed-by:
Tomasz Grabiec <tgrabiec@gmail.com> Signed-off-by:
Pawel Dziepak <pdziepak@quarnos.org> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pawel Dziepak authored
Signed-off-by:
Pawel Dziepak <pdziepak@quarnos.org> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pawel Dziepak authored
Reviewed-by:
Tomasz Grabiec <tgrabiec@gmail.com> Signed-off-by:
Pawel Dziepak <pdziepak@quarnos.org> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Asias He authored
This is needed to run iperf3. https://github.com/cloudius-systems/osv/issues/305 Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Dmitry Fleytman authored
Avoid using X.509 keypair because it became deprecated and not generally available to person doing release. Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
This reverts commit f9311884. The fpu vulnerabilities have been fixed (202b2ccc, d9addd0b), so fpu-based memcpy should work now. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Vlad Zolotarov authored
Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Dmitry Fleytman authored
getpeername() is required by iperf in client mode without it iperf crashes as following: [/]% run /tools/iperf.so -c 10.0.0.144 Failed looking up symbol getpeername [backtrace] 0x00000000003326a2 <elf::object::resolve_pltgot(unsigned int)+82> 0x0000000000369b42 <__elf_resolve_pltgot+46> 0x0000100004207535 <Client::Client(thread_Settings*)+301> 0x0000100004208b44 <client_spawn+50> 0x000010000421323a <thread_stop+272> 0x0000000000412ca5 <sync+69> 0x00000000003b2eea <thread_main_c+26> 0x000000000036ae95 <thread_main+7> Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Vlad Zolotarov authored
try_xmit_one_locked(net_req*) doesn't return EINVAL anymore. The appropriate code has moved to xmit_prep(). Signed-off-by:
Vlad Zolotarov <vladz@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
Implement facades for rwlock so it can be used with WITH_LOCK, specifying whether we want a read lock or a write lock: rwlock my_rwlock; WITH_LOCK(my_rwlock.for_read()) { read stuff } WITH_LOCK(my_rwlock.for_write()) { write stuff } Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
elf_resolve_pltgot() can be called from anywhere, including with dirty fpu state. Ensure the fpu is not clobbered during its execution. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Since we cannot guarantee that the fpu will not be used in interrupts and exceptions, we must save it earlier rather than later. This was discovered with an fpu-based memcpy, but can be triggered in other ways. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Tomasz Grabiec authored
The summary will only include samples within the specified range. Timed samples will be trimmed to the given time range. Requested-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- May 27, 2014
-
-
Raphael S. Carvalho authored
When using 'zpool.so import' fdopendir symbol is missed. Code taken from musl libc. Additional details: fcntl(fd, F_SETFD, FD_CLOEXEC) call was removed as the close-on-exec flag is left unchanged on Linux (Glauber Costa). Also removing struct __DIR_s definition from fs/vfs/main.c, and referencing the new one added into libc/dirent/dirent.h. Reviewed-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Raphael S. Carvalho <raphaelsc@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
The code in <api/x86/reloc.h> is not used. Avi says it's dead code that originates fro Musl. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
https://github.com/gleb-cloudius/osvAvi Kivity authored
"Nothing spectacular here, just making msync() pagecache aware. Reduces code size a bit if nothing else" Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Pawel Dziepak authored
R_X86_64_DPTMOD64 may not be associated with any symbol (which is common when the linker uses local dynamic TLS mode) in which case it should be resovled to the index of the current module. Signed-off-by:
Pawel Dziepak <pdziepak@quarnos.org> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Gleb Natapov authored
Not all pages in the write page cache are dirty sync msync() may write some of them back. Check for that and do not write back clean pages needlessly. Signed-off-by:
Gleb Natapov <gleb@cloudius-systems.com>
-
Gleb Natapov authored
This will allow pagecache code to atomically clear pte and check for a dirty bit. Signed-off-by:
Gleb Natapov <gleb@cloudius-systems.com>
-
Gleb Natapov authored
Current msync implementation is scanning all pages in msync are via pagetables to find dirty pages, but pagecache already knows what pages are potentially dirty for given file/offsets, so it is can check if they are dirty via rmap. Signed-off-by:
Gleb Natapov <gleb@cloudius-systems.com>
-
Gleb Natapov authored
As Avi pointed ptep_flush and ptep_accessed classes can be replaced by general map-reduce mechanism with customizable map and reduce functions. The patch implements that. Signed-off-by:
Gleb Natapov <gleb@cloudius-systems.com>
-
Raphael S. Carvalho authored
The problem was the flag D_TTY, meaning that device is TTY, not being passed to device_create. Signed-off-by:
Raphael S. Carvalho <raphaelsc@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
This reverts commit 2da050a4 - apparently we're calling memcpy() in a non-safe path. Revert for now. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- May 26, 2014
-
-
Nadav Har'El authored
Fix a missing include to allow tst-mmap.cc to be compiled on Linux, and add in a comment the (far from obvious) command line needed to compile it. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
The man page for raise says: In a single-threaded program it is equivalent to kill(getpid(), sig); In a multithreaded program it is equivalent to pthread_kill(pthread_self(), sig); In our case we should mimic the second. It is a good question then whether this function should be in a more generic place or in pthread.cc itself, but I will argue for the second, since it will make it easier for people to notice that this is what our implementation does. Of course at this moment pthread_kill is stubbed and so is raise. But if we ever implement the first, we gain the later for free. Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
Code from musl. Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Glauber Costa authored
We already have the ffs function, ffsl and ffsll are easy from here. Theoretically, a_ctz_l should do the job here as well since we're 64 all over, but I found a_ctz_64 safer. Signed-off-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-