Subject: Re: Performance of SCSI writing.
To: None <mhitch@lightning.oscs.montana.edu>
From: Arne Henrik Juul <arnej@stud.math.ntnu.no>
List: port-pmax
Date: 06/28/1997 12:47:01
>   This is getting very, very strange.
> 
>   Compiling without DEBUG gives me the reduced writing rate, compiling with
> DEBUG triples the writing rate.  Further investigation showed that compiling
> only pmax/machdep.c with DEBUG results in the faster writing rate.  Going
> even  deeper, it looks like one small section of data makes the difference.
> Removing the "#ifdef DEBUG" around the signal debug data in machdep.c seems
> to make the difference.
> 
>   How and why including two initialized variables and a few #defines would
> make a difference in the writing speed is (at the moment) a big mystery to
> me.

Does anybody have any bright ideas on this?  I've done some empirical
testing by adding the following to machdep.c right before the signal
debug data:

#ifdef EXTRAHACKSPACE
int anyvar[EXTRAHACKSPACE] = { -1 } ;
#endif

(I tried with 0 first, and found that EXTRAHACKSPACE=0 or 1 gave
a low writing rate, 2 gave a high writing rate.)

Writing a script to recompile kernel, reboot, and run iozone
which I ran from rc.local I got the following results. This on
a DS5000/25 (asc on ioasic) in case it matters:

EXTRAHACKSPACE	writing rate
0		619524
1		619524
2		1210197
3		1247339
4		1255629
5		1251134
6		1206577
7		1187515
8		1285492
9		1225616
10		1242535
11		1206993
12		1205536
13		1217646
14		1235508
15		1237695
16		1215881
17		1227553
18		610684
19		616066
20		610329
21		610951
22		1211666
23		1223899
24		1254427
25		1240037
26		1256532
27		1163468
28		1162436
29		1150069
30		1250239
31		1143422
32		1113433
33		1195367
34		1236892
35		1138333
36		1221120
37		1256757
38		1274631
39		1262128
40		1186977
41		1268234
42		1234708
43		1214402
44		1220978
45		1271694
46		1247191
47		1250090
48		1145922
49		1260307
50		1265708
51		1271078
52		1249718
53		1226332
54		1258643
55		1185233
56		1241432
57		1258341
58		1223471
59		1216092
60		1207202
61		1270539
62		1115031
63		1252853
64		1187380
65		1279141
66		1225831
67		1144046
68		1251881
69		1238280
70		1214332
71		1276494
72		1224042
73		1165732
74		1241212
75		1221760
76		1219983
77		1231445
78		1224614
79		1200842
80		1205536
81		1277738
82		604436
83		623187
84		611842
85		617663
86		1216939
87		1236820
88		1196526
89		1204636
90		1258266
91		1196389
92		1272003
93		1185501
94		1225043
95		1245635
96		1194550
97		1179633
98		1254727
99		1219345

Ignoring the noise it's clear that some groups of 4 values
give the strange drop in writing speed.

The mystery deepens, I'd say...

  -  Arne H. J.