< 10 hour makehistory.

Miquel van Smoorenburg list-inn-workers at news.cistron.nl
Thu Aug 17 18:12:59 UTC 2000


In article >20000808171501I.kondou at inn.do.mms.mt.nec.co.jp>,
Katsuhiro Kondou  <kondou at nec.co.jp> wrote:
>
>In article <200008080643.e786hcC18395 at vulpine.ao.net>,
>	Dan Merillat <harik at chaos.ao.net> wrote;
>
>} One of my thoughts in private email was to 'fork' makehistory so spool reads
>} and overview writes were in seperate processes,   That would keep diskwait
>} on either side from stopping the other.  (Keep them drives busy!)
>
>Just written.  Could you try?

I see that this has been added to the BETA version now. I am also
rebuilding my overview at the moment, and it has been running for
6 hours now.

A strace on the write-process reveals:

lseek(50, 0, SEEK_CUR)                  = 115697614
pwrite(51, "\361f\345\6\335\0\0\0006\10\2139\0\0\0\0\3\3sdd5\0\0\0"..., 36, 13780692) = 36
fcntl(36, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=887752, len=64}) = 0
time(NULL)                              = 966534982
fcntl(36, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=887752, len=64}) = 0
write(50, "61560950\tcmsg cancel <398b0760.1"..., 221) = 221
lseek(50, 0, SEEK_CUR)                  = 115697835
pwrite(51, "\316g\345\6\335\0\0\0006\10\2139\0\0\0\0\3\3sdd5\0\0\0"..., 36, 13780836) = 36
fcntl(36, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=887752, len=64}) = 0
time(NULL)                              = 966534982
fcntl(36, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=887752, len=64}) = 0
write(50, "61560959\tcmsg cancel <398be6fe$1"..., 221) = 221
lseek(50, 0, SEEK_CUR)                  = 115698056
pwrite(51, "\253h\345\6\335\0\0\0:\10\2139\0\0\0\0\3\3sdd5\0\0\0\0"..., 36, 13781160) = 36
fcntl(36, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=887752, len=64}) = 0
time(NULL)                              = 966534983
fcntl(36, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=887752, len=64}) = 0
write(50, "61560973\tcmsg cancel <8BDi5.3054"..., 239) = 239
lseek(50, 0, SEEK_CUR)                  = 115698295

All the lseek(50, 0, SEEK_CUR) calls could and should be dropped-
they don't do anything. The fcntl(36, F_SETLKW, ...) stuff can be
dropped as well - when we are rebuilding, no innd should be writing
to the overview files, or can you run innd during an overview rebuild ?

strace -r shows that a considerable amount of time is spent
in the lseek() and fcntl() calls.

Mike.
-- 
The From: and Reply-To: addresses are internal news2mail gateway addresses.
Reply to the list or to miquels at cistron.nl (Miquel van Smoorenburg)



More information about the inn-workers mailing list