[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