Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
romandivacky:linuxolator-status [2006/06/06 15:59] – RomanDivackyromandivacky:linuxolator-status [2022/06/08 01:19] (current) – Move to personal namespace KubilayKocak
Line 10: Line 10:
  
 June 6th: June 6th:
-  * Commited the yesterday's syscall work+  * Commited yesterday's syscall work
   * Commited auditing bug found by rwatson   * Commited auditing bug found by rwatson
   * Investigation of why amd64 module doesnt load (WIP)   * Investigation of why amd64 module doesnt load (WIP)
 +
 +June 7th:
 +  * First attempt to run /bin/bash from the FC4 under 2.6.16 kernel I know whats the problem, I know whats necessary to do to solve the problem and I think I am approaching solution :) I am taking some time to think and leave this for tomorrow
 +  * Until someone responds to my mail to hackers@ about .kld vs .ko I am unable to finish the amd64 modulification
 +
 +June 8th:
 +  * I tried various attempts (2, 4, 5 params to clone and various combinations of using fork) to make clone() work  with child_stack=0 all ended with the same - strange setpgid() which doesnt work (because it has swapped params, ie. pgrp pid is not child of curproc).
 +  * The setpgid() case is very strange because I cannot imagine what makes the bash call the setpgid() twice with the second call with swapped params (the first one is ok and succeeds).
 +  * Many programs from fc4 with osrelease=2.6.16 work (but all with that annoying setpgid() warning at begining) some coredumps (ls coredumps, grep works), the coredump manifest itself even with "exec /bin/ls" which doesnt involve any clone() call so I think this is another issue
 +  * I observed many interesting things in the linux land - the clone() syscalls is called with mutually exclusive flags, the clone() man page obviously lies and there's more then one difference clone() prototype in the linux kernel ;(
 +
 +June 13th:
 +  * I commited Kostik Belousov patch + my own addition and we now have fully working amd64 module
 +  * I commited LINUXBASE path sysctl which lets you specify different LINUXBASE path, useful for debuging
 +  * I investigated the ls (and similar) coredump - its also related to the PGRP/PGID thing.. it coredumps while performing ioctl which tries to set the PGRP of the tty, something rotten is there ;(
 +
 +for the past few days I've been trying to understand how TLS is working in %%FreeBSD%% and in Linux. My summary is at:
 +http://www.stud.fit.vutbr.cz/~xdivac02/tls.txt
 +
 +Jun 30th:
 +  * I havent been updating this often but not much happened - I learned a lot about how TLS/GDT/LDT works, reviewed a lot of %%FreeBSD%% code and have some code implementing TLS which is currently being shaped to work. I hope that the TLS will be finished in a few days.
 +  * I found that %%NetBSD%% implementes TID processing (via ad-hoc structure) and futexes. This can be directly used in %%FreeBSD%%'s linuxolator
 +
 +July 2nd:
 +  * I commited the TLS code. It has some rough edges but I am able to pass testing cases. Unfortunately I used small piece of GPL code. I sent mail to Ingo Molnar (author of the code) asking him for permission to relicense that code under BSD license.
 +
 +July 3rd:
 +  * I rewrote the GPL code, making it BSDL
 +
 +July 19th:
 +  * We have working NPTL now. Testing is in progress.
 +  * I bumped osrelease from 2.4.2 to 2.6.16 sorry for being silent for such a long time but I was reading code/coding hard :)
 +
 +August 6th:
 +  * I've been hunting down some bugs and I think now I have it fully working
 +  * I am about to generate patch for public testing
 +  * the next focus is to port it to amd64 (which should be easy) and fix the bugs revealed in public testing
 +
 +August 9th:
 +  * I found some more bugs in futex implementation but I think we are really close to it working
 +  * once this is finished (and I hope it will be really soon now) I plan to introduce LINUX_NPTL ifdef and cleanup the code so netchild is able to commit
  
  • romandivacky/linuxolator-status.1149609559.txt.gz
  • Last modified: 2006/06/06 15:59
  • by RomanDivacky