[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
A few things ...
Hello all!
OK, I have made the following 3 changes, some are better than others.
filesys.c - changed DIRSEP so that a Unix slash is accepted by all file
systems except TOSFS (and maybe other NO_PARSE systems). This
has been well tested - it makes things easier with no side effects
that I can tell.
filesys.c, dosdir.c, file.h, and added a new flag to all file systems
included in the kernel except unifs and tosfs. These changes
are the file cookie cache. It speeds lookup operations to twice
the speed (on my system anyway). The flag mentioned above tells
the system not to cache the file cookies for that system (I found
that a background top could eat up lots of cookies in the proc
filesystem, so I decided not to cache /proc, /pipe, /dev, or
/shm). It doesn't cache NO_PARSE systems either. Everything for
this is ifdef'd. You must compile with -DFCOOKIE_CACHE to use
this code.
main.c, dos.c, new file cookie.c, and new cookie.h - added the s_cookie()
call for reading system cookie information. This is mainly the
cookie jar, but also the 200Hz timer, and possibly other info if
you decide to support it. This code is a bit buggy in that it
needs a proper sanity check (see code) and the jar resizing doesn't
work. The code worked with Malloc() before I put it in the kernel,
but I guess I'm not allocating the new memory region properly. Main.c
and cookie.h were changed for readability - no more treating cookie
tags as a string. Cookie.h lists the values for the cookies - and
could be expanded into a "master listing" of cookies.
I also added -mpcrel to the makefile, I changed mint.h so I wouldn't get
all the weird warnings about redefining DEBUG_INFO and such (you now must
specify MULTITOS, DEBUG_INFO, FCOOKIE_CACHE, and FASTTEXT separately). I
don't compile with FASTTEXT, so why stick it in? I also changed proto.h,
but just to add the new functions.
Hopefully, its not too late to get these into 1.11 since it seems 1.11 is
going to be a standard for awhile (first binary release since .95B! I
can't even use 1.09 cause its so buggy! I think 1.11 will really make
a few MiNT haters change tune!) The diffs follow in the next message.
I just stuck cookie.c (new file) and cookie.h (completely different from
original) into an archive with the diff and uuencoded it. Have fun, and
try and fix cookie.c for me!! <grin>
With my luck everyone will hate these changes and yell at me <grin> ;^}
Thanks (still laughing),
Evan K. Langlois
ekl@sdf.lonestar.org
evanlang@uss.lonestar.org
evanlang@freenet.scri.fsu.edu