#
4732e446 |
| 13-May-2008 |
Roman Divacky <rdivacky@FreeBSD.org> |
Implement robust futexes. Most of the code is modelled after what Linux does. This is because robust futexes are mostly userspace thing which we cannot alter. Two syscalls maintain pointer to userspa
Implement robust futexes. Most of the code is modelled after what Linux does. This is because robust futexes are mostly userspace thing which we cannot alter. Two syscalls maintain pointer to userspace list and when process exits a routine walks this list waking up processes sleeping on futexes from that list.
Reviewed by: kib (mentor) MFC after: 1 month
show more ...
|
Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0 |
|
#
357afa71 |
| 02-Apr-2007 |
Jung-uk Kim <jkim@FreeBSD.org> |
MFP4: Turn emul_lock into a mutex.
Submitted by: rdivacky
|
#
a4e3bad7 |
| 02-Mar-2007 |
Jung-uk Kim <jkim@FreeBSD.org> |
MFP4: 115220, 115222
- Fix style(9) and reduce diff between amd64 and i386. - Prefix Linuxulator macros with LINUX_ to prevent future collision.
|
#
802e08a3 |
| 24-Feb-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
Partial MFp4 of 114977: Whitespace commit: Fix grammar, spelling and punctuation.
Submitted by: "Scot Hetzel" <swhetzel@gmail.com>
|
#
1a26db0a |
| 23-Feb-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFp4 (114193 (i386 part), 114194, 114195, 114200): - Dont "return" in linux_clone() after we forked the new process in a case of problems. - Move the copyout of p2->p_pid outside the emul_lock c
MFp4 (114193 (i386 part), 114194, 114195, 114200): - Dont "return" in linux_clone() after we forked the new process in a case of problems. - Move the copyout of p2->p_pid outside the emul_lock coverage in linux_clone(). - Cache the em->pdeath_signal in a local variable and move the copyout out of the emul_lock coverage. - Move the free() out of the emul_shared_lock coverage in a preparation to switch emul_lock to non-sleepable lock (mutex).
Submitted by: rdivacky
show more ...
|
#
e8b8b834 |
| 23-Feb-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFp4 (part of 114132): - Fix a LOR caused by holding emul_lock and proctree_lock at once.
Submitted by: rdivacky
|
#
b4bb5154 |
| 02-Feb-2007 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove extern int hz; use proper include file instead.
|
#
25954d74 |
| 01-Feb-2007 |
Konstantin Belousov <kib@FreeBSD.org> |
No need to synchronize linux_schedtail with linux_proc_init. p->p_emuldata is properly initialized in the time when the child can run.
Do not set p->p_emuldata to NULL when the process is exiting. I
No need to synchronize linux_schedtail with linux_proc_init. p->p_emuldata is properly initialized in the time when the child can run.
Do not set p->p_emuldata to NULL when the process is exiting. It does not make any sense and only costs 2 mutex operations.
Do not lock emul_data to unlock it on the very next line. Comment on possible race while there.
Reparent all procs that are part of a threading group but not its leaders to init and SIGCHLD init to finish the zombies off. This fixes zombies left after opera's exit. [1]
There is no need to lock p_em in the linux_proc_init CLONE_THREAD case because the process cannot change the address of the p_em->shared because its currently running this code path. Move assigning of em->shared outside emul_shared_lock.
Noticed by: Scott Robbins <scottro@nyc.rr.com> [1] Submitted by: rdivacky
show more ...
|
#
d071f504 |
| 20-Jan-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFp4 (113077, 113083, 113103, 113124, 113097):
Dont expose em->shared to the outside world before its properly initialized. Might not affect anything but its at least a better coding style.
Don
MFp4 (113077, 113083, 113103, 113124, 113097):
Dont expose em->shared to the outside world before its properly initialized. Might not affect anything but its at least a better coding style.
Dont expose em via p->p_emuldata until its properly initialized. This also enables us to get rid of some locking and simplify the code because we are workin on a local copy.
In linux_fork and linux_vfork create the process in stopped state to be sure that the new process runs with fully initialized emuldata structure [1]. Also fix the vfork (both in linux_clone and linux_vfork) race that could result in never woken up process [2].
Reported by: Scot Hetzel [1] Suggested by: jhb [2] Reviewed by: jhb (at least some important parts) Submitted by: rdivacky Tested by: Scot Hetzel (on amd64)
Change 2 comments (in the new code) to comply to style(9).
Suggested by: jhb
show more ...
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
291081ce |
| 07-Jan-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFp4 (112499): Protect em->shared with the lock in case of CLONE_THREAD.
Submitted by: rdivacky
|
#
1c65504c |
| 07-Jan-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFp4 (112498): Rename the locking flags to EMUL_DOLOCK and EMUL_DONTLOCK to prevent confusion.
Submitted by: rdivacky
|
#
a628609e |
| 31-Dec-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFp4: - semi-automatic style fixes
|
#
292a85f4 |
| 15-Nov-2006 |
Konstantin Belousov <kib@FreeBSD.org> |
Group pid and parent are shared in a case of CLONE_THREAD not CLONE_VM. This fix lets clone02 LTP test pass with 2.6 emulation. In reality 99% of the cases are that CLONE_VM and CLONE_THREAD are both
Group pid and parent are shared in a case of CLONE_THREAD not CLONE_VM. This fix lets clone02 LTP test pass with 2.6 emulation. In reality 99% of the cases are that CLONE_VM and CLONE_THREAD are both set so it seemed to work.
Submitted by: rdivacky
show more ...
|
#
955d762a |
| 28-Oct-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFP4: Implement prctl().
Submitted by: rdivacky Tested with: LTP
|
#
28638377 |
| 08-Oct-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
- change if (cond) panic() to KASSERT. - Dont forget to free em in a case of error.
Suggested by: ssouhlal Submitted by: rdivacky Tested with: LTP
|
#
8618fd85 |
| 09-Sep-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
- Extend the coverage of PROC_LOCK to cover wakeup(&p->p_emuldata); - Lock the emuldata in a case when we just created it.
Sponsored by: Google SoC 2006 Submitted by: rdivacky Suggested by: jhb
|
#
c67e0cc9 |
| 28-Aug-2006 |
Suleiman Souhlal <ssouhlal@FreeBSD.org> |
FREE -> free
Submitted by: rdivacky
|
#
5342db08 |
| 19-Aug-2006 |
Suleiman Souhlal <ssouhlal@FreeBSD.org> |
MALLOC -> malloc and FREE -> free
Submitted by: rdivacky Pointed out by: jhb
|
#
9b0bcbfb |
| 17-Aug-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Fix the DEBUG build: - linux_emul.c [1] - linux_futex.c [2]
Sponsored by: Google SoC 2006 [1] Submitted by: rdivacky [1] netchild [2]
|
#
0eef2f8a |
| 16-Aug-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Style fixes to comments.
Sponsored by: Google SoC 2006 Submitted by: rdivacky Noticed by: jhb, ssouhlal
|
#
ad2056f2 |
| 15-Aug-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Add some new files needed for linux 2.6.x compatibility.
Please don't style(9) the NetBSD code, we want to stay in sync. Not imported on a vendor branch since we need local changes.
Sponsored by: G
Add some new files needed for linux 2.6.x compatibility.
Please don't style(9) the NetBSD code, we want to stay in sync. Not imported on a vendor branch since we need local changes.
Sponsored by: Google SoC 2006 Submitted by: rdivacky With help from: manu@NetBSD.org Obtained from: NetBSD (linux_{futex,time}.*)
show more ...
|