Subject: Re: pool_get()/pool_put() or malloc()/free()
To: None <tech-kern@netbsd.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: tech-kern
Date: 11/04/2000 21:39:45
In <200011031305.eA3D5Z313249@mirage.ceres.dti.ne.jp>
I wrote:

> In <20001103124642.0DE9C1FF84@thoreau.thistledown.com.au>
> simonb@wasabisystems.com wrote:
> 
> > Using Izumi's patches on a 60MHz R4400 (DECstation 5000/260) I saw a
> > slight _decrease_ in a single kernel build benchmark (building a pmax
> > almost-GENERIC kernel):

> > This was done in single user using the same sequence of commands each
> > time (mount needed filesystems, cd, make).  I'll run the same thing
> > again to see if there is any difference a second time around.
> 
> I'll test again with the simular sequence on my newsmips (R3000/25MHz).

Now I've done some more tests. All of them are done in single user.
(just mount ufs, cd and make; config and creating build directory are
 done before boot)

The test machine is:
---
total memory = 65504 KB
avail memory = 58360 KB
using 844 buffers containing 3376 KB of memory
SONY NET WORK STATION, Model NWS-3470D, Machine ID #10071
mainbus0 (root)
cpu0 at mainbus0: MIPS R3000 CPU (0x220) Rev. 2.0 with MIPS R3010 FPC Rev. 2.0
cpu0: 64KB Instruction, 64KB Data, direct mapped cache
[...]
sd0 at scsibus0 target 0 lun 0: <QUANTUM, FIREBALL1080S, 1Q09> SCSI2 \
0/direct fixed
sd0: 1042 MB, 3835 cyl, 4 head, 139 sec, 512 bytes/sect x 2134305 sectors
---

The results of normal ``make'' are:

---
malloc: 10326.5u 1142.6s 3:13:54.67 98.5% 0+0k 6468+18102io 1327pf+0w
pool:   10365.8u 1136.1s 3:14:34.64 98.5% 0+0k 6482+18178io 1329pf+0w
---

The results of ``make -j10'' are:

---
malloc: 10555.4u 1208.2s 3:17:34.85 99.2% 0+0k 8460+20677io 1343pf+0w
pool:   10489.9u 1200.7s 3:16:26.71 99.1% 0+0k 8458+20671io 1353pf+0w
---

Then, it _seems_ CPU time in kernel mode is always reduced by pool,
but the difference of CPU time in user mode depends on its load.
(the differences are ~0.5% anyway)
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp