|
From: David W. <we...@cw...> - 2001-10-22 21:17:31
|
On Mon, Oct 22, 2001 at 08:59:45PM +0200, Hartmut Birr wrote:
> Hi,
>
> before we can implement a file cache like NT, we must solve some other
> problems:
> Some functions from device drivers and ntoskrnl.exe are pageable. But gcc
> and ld can't split code to different code sections and mark some as non
> or pageable.
>
This is possible, use __attribute((section("sectioname"))) to put a
function in a different section to the default.
> For implementation of the cache manager and some of the functions above,
> I have moved the code, which will access the cache segments, from vfatfs to
> some Cc-functions. Currently I work at point 4 and 5 and will correct some things
> in the page out and access violation functions for virtual memory.
>
I'm also working on the memory manager. I would like to agree a strategy
and a general division of labour among everyone working on this part of
the kernel before any further changes are made. The existing working set
code is from an experiment with paging from a long time ago; I propose
replacing it, with each page having an associated list of reverse mappings
(i.e. a structure giving the process and address where the page is
mapped) and a number of different queues of pages (mapped, unmapped dirty,
unmapped clean, etc) in pseudo-LRU order which are used to select pages to
be written out. Also the existing cache manager should be kept; I have
some changes to improve performance and to manage the amount of memory
used for caching. An interface compatible with NT can be exported if
desired but this will not, in my view, increase the chances of any NT
filesystems running. I would also like to export the previous interface
for native, high preformance filesystems.
====================================================
= To remove yourself from this mailing list, go to =
= http://www.reactos.com/home/mailing.html =
====================================================
|