A developer here complained to me this afternoon that his compilation
jobs were too slow. Since it's impossible for me to find a faster
machine for him right now, so this evening, I hooked up a spare
7200 RPM external HD to his SS5. The machine has 256MB RAM, two internal
1G 5400 HDs, on a switched local network, and runs Solaris 7 5/99.
The compiler is EGCS 1.1.2.
I attempted to improve the IO with Casper Dik's fastfs. However,
when I attempt to do the following
fastfs /work fast
I kept getting:
/src/system/fastfs /work fast
FAILED: /work is now slow
Feeling curious, I compiled fastfs.c using -g version, and traced the
entire execution in gdb. As it turns out, it failed in the following
section (line numbers included):
140 if (ioctl(fd, FIODIOS, &newflag) == -1) {
141 perror("status ioctl");
142 errors ++;
143 } else {
144 if (cmd != CMD_STATUS && flag != newflag)
145 printf("FAILED: ");
146 if (cmd != CMD_STATUS)
147 how = nochange ? "already " : "now ";
148 printf("%s\tis %s%s\n", path, how, cmds[newflag]);
149 }
I looked at this section of code for a while, but so far I haven't
figured out what's wrong. Perhaps it's late for me. In anycase,
if anyone has any ideas and is willing to share, I would be quite
appreciative.
Regards,
Chin Fang