|
From: Jake H. <jh...@po...> - 2005-02-08 19:50:49
|
Daniel Gryniewicz wrote:
>
> I wrote truncate() support at one point for the VFS and for AFS. I can
> dig out the patches and send them along. I don't think either has
> changed since.
Yeah, Vanders mentioned that you had written some patches. Please send
them along if you can find them.
Finishing up my list of notes:
* One big concern I have is that the amount of CPU time that is being
consumed by daemon threads is far too much. The biggest culprits are
media_server_flush, ata kernel threads, and dbterm. cpumon reports as
much as 10% CPU usage on a 3.0GHz P4 system just idling! It should be
less than 1%.
* The kernel now (as of Build 0006 in CVS) has a microsecond-accurate
get_real_time() capability which translates into usec-accurate
gettimeofday() from either version of glibc. Great for benchmarking.
It uses no additional resources and works by adding the fraction of the
PIT timer that has elapsed since the last interrupt to the current time
counter. Now, esp. after we take care of the time-wasting daemon
threads), we'll be able to take lmbench results before and after
experimenting with different optimizations.
* The kernel now builds w/o errors on GCC 3.4.3. Rather than switching
immediately to C++ for the kernel, which would be more confusing than
helpful to us, I propose that we start building the kernel with
"-std=gnu99", which is C99 + GNU extensions, and is the flag used for
building glibc. The most convenient new C99 feature is probably being
able to declare new variables anywhere in a function, so you can write
the C++ style:
for (int i=0; i<99; ++i) { }
instead of having to declare "i" at the top of the function.
-Jake
|