Commit graph

13 commits

Author SHA1 Message Date
cinap_lenrek
2bc9e8e5e3 kernel: make image cache not hold onto the channel, remove nocache flag
the image cache should not hold onto the text file channel
when not neccesary. now, the image keeps track of the number
of page cache references in Image.pgref. if the number of
page cache references and Image.ref are equal, this means
all the references to this image are from the page cache.
so no segments are using this image. in that case, we can
close the channel, but keep the Image in the hash table.

when attachimage() finds our image, it will check if Image.c
is nil and reattach the channel to the image before it is
used.

the Image.nocache flag isnt needed anymore.
2013-11-08 22:31:26 +01:00
cinap_lenrek
dfb0bf24b3 acid: fix dumptree() acid function to work in kernel debug, update malloc.acid and pool.acid files 2013-06-10 01:13:21 +02:00
cinap_lenrek
257c7e958e keep fpregs always in sse (FXSAVE) format, adapt libmach and acid files for new format
we now always use the new FXSAVE format in FPsave structure and fpregs
file, converting back and forth in fpx87save() and fpx87restore().

document that fprestore() is a destructive operation now.

change fp register definition in libmach and adapt fpr() acid funciton.

avoid unneccesary copy of fpstate and fpsave in sysfork(). functions
including syscalls do not preserve the fp registers and copying fpstate
from the current process would mean we had to fpsave(&up->fpsave); first.
simply not doing it, new process starts in FPinit state.
2013-05-26 22:41:40 +02:00
cinap_lenrek
1ee5cd7425 kernel: mnt cache rework
avoid double entries in the cache for copen() and properly handle
locking so we wont just give up if we cant lock the Mntcache entry,
but drop the cache lock, qlock the Mntcache entry, and then recheck
the cache.

general cleanup (cdev -> ccache, use eqchantdqid())
2012-10-17 15:48:30 +02:00
cinap_lenrek
14817c4991 /sys/lib/acid/kernel: fix imagecache() and procenv() 2012-10-09 03:52:18 +02:00
cinap_lenrek
eb13b7debc /sys/lib/acid/kernel: needacid("chan") 2012-10-09 03:22:28 +02:00
cinap_lenrek
54c5131529 /sys/lib/acid/kernel: fix intrcount() 2012-10-07 08:03:02 +02:00
cinap_lenrek
36f4f9fcd3 bring kernel acid library in sync (import from sources) 2012-09-18 18:11:16 +02:00
glenda
efcf574686 merge 2011-09-03 09:18:27 -04:00
aiju
70c4f8e14a fixed acid kernel 2011-08-21 13:52:50 +02:00
cinap_lenrek
1a5cf98c99 acid/pool: fix issue #61 2011-06-30 12:20:30 +02:00
Taru Karttunen
a9060cc06b Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
Taru Karttunen
e463eb4036 Import sources from 2011-03-30 iso image - sys/lib 2011-03-30 16:53:33 +03:00