Subject: Re: Very slow pipe/TCP connection in 1.6_BETA4
To: Andreas Wrede <andreas@planix.com>
From: Andrew Brown <atatat@atatdot.net>
List: current-users
Date: 07/09/2002 17:10:39
>The tcp connection is written to by gzip, which according to ktrace
>does write in 32kbyte blocks. However, I see each 32k write broken up
>into a number of 4088 byte 'GIO's, I am not sure what that means:
>
>  6380 gzip     0.198951 GIO   fd 1 wrote 4088 bytes
>  6380 gzip     0.000000 GIO   fd 1 wrote 4088 bytes
>  6380 gzip     0.000000 GIO   fd 1 wrote 4088 bytes
>  6380 gzip     0.000000 GIO   fd 1 wrote 4088 bytes
>  6380 gzip     0.000000 GIO   fd 1 wrote 4088 bytes
>  6380 gzip     0.000000 GIO   fd 1 wrote 4088 bytes
>  6380 gzip     0.000000 GIO   fd 1 wrote 4088 bytes
>  6380 gzip     0.000000 GIO   fd 1 wrote 4088 bytes
>  6380 gzip     0.000000 GIO   fd 1 wrote 64 bytes
>  6380 gzip     0.001002 RET   write 32768/0x8000

i believe you said this was netbsd/i386?  the page size on i386 is 4k,
so ktrace uses 4k chunks for writing trace records.  the 4088 is 4096
(one 4k page) minus enough space for the ktrace record header.
whenever the page of ktrace data fills, it gets pushed out to the
file.  note that write call itself returned 32k.

-- 
|-----< "CODE WARRIOR" >-----|
codewarrior@daemon.org             * "ah!  i see you have the internet
twofsonet@graffiti.com (Andrew Brown)                that goes *ping*!"
andrew@crossbar.com       * "information is power -- share the wealth."