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 |