J?rgen Keil wrote:
> Hmm, when I did search bugs.opensolaris.org with "rootnex_dmahdl leak"
> earlier today, one of the bugs found was for a memory leak in the adpu320
> driver - but that leak is supposed to be fixed since build_68...
>
> Bug ID 6556848
> Synopsis Found memory leaks in
> adpu320_allocIOB/adpu320_IobSpecial/adpu320_cfginit
> http://bugs.opensolaris.org/view_bug.do?bug_id=6556848
>
>
Hmm. Maybe a regression, but why only with ZFS and not UFS?
> The kernel debugger has a built-in heap memory leak detection
> feature, maybe that finds something?
>
> To use it, boot the kernel with options "-kd"; and at the kmdb
> prompt enable heap memory checking with the commands
>
> kmem_flags/W f
> ::cont
>
>
> Later on, when it hangs during installation to the zfs filesystem,
> break into kmdb with the BREAK signal, and run
>
>
> ::findleaks
>
>
> (The enabled heap checking will use even more kernel heap memory,
> so I suspect that it will soon be hanging during installation)
>
>
You're right, it did hang sooner with the heap checking enabled... MUCH
sooner... It did'nt really even finish booting, or start the install:
Loading kmdb...
Welcome to kmdb
kmdb: unable to determine terminal type: assuming `vt100'
Loaded modules: [ unix krtld genunix ]
[0]> kmem_flags/W F
kmem_flags: 0 = 0xf
[0]> ::cont
SunOS Release 5.11 Version snv_91 32-bit
Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
WARNING: High-overhead kmem debugging features enabled (kmem_flags =
0xf). Performance degradation and large memory overhead possible. See
the Solaris Tunable Parameters Reference Manual.
WARNING: Last shutdown is later than time on time-of-day chip; check date.
Configuring /dev
/
1. Solaris Interactive (default)
2. Custom JumpStart
3. Solaris Interactive Text (Desktop session)
4. Solaris Interactive Text (Console session)
5. Apply driver updates
6. Single user shell
Enter the number of your choice.
Selected: 1
Solaris Interactive
WARNING: getmacaddr: dl_attach/bind(e1000g7) failed: 0
NOTICE: setting nrnode to max value of 4707
NOTICE: setting nrnode to max value of 3092
Loaded modules: [ scsi_vhci crypto uppc neti sd ptm ufs mpt zfs uhci
hook lofs
ip logindmux usba specfs pcplusmp nfs md random cpu.generic sctp arp ]
kmdb: target stopped at:
kmdb_enter+0xa: pushl %eax
[4]> ::ptree
fec1df50 sched
d5902398 fsflush
d5902c30 pageout
d59034c8 init
d5f198a8 dhcpagent
d5f1bb08 devfsadm
d5901b00 syseventd
d59009d0 dlmgmtd
d5900138 svc.configd
d5901268 svc.startd
d58ff008 install-discover
d5f1a9d8 atconfig
d6c74c48 sh
d58ff8a0 zpool
d6c7f4d8 sh
d5f1d4d0 dial
[4]> ::cont
kmdb: target stopped at:
kmdb_enter+0xa: pushl %eax
[4]> ::ptree
fec1df50 sched
d5902398 fsflush
d5902c30 pageout
d59034c8 init
d5f198a8 dhcpagent
d5f1bb08 devfsadm
d5901b00 syseventd
d59009d0 dlmgmtd
d5900138 svc.configd
d5901268 svc.startd
d58ff008 install-discover
d5f1a9d8 atconfig
d6c74c48 sh
d58ff8a0 zpool
d6c7f4d8 sh
d5f1d4d0 dial
[4]> ::findleaks
findleaks: no memory leaks detected
[4]>
And unfortunately it didn't find any leaks.
But I think you're on to something about the kernel heap memory though.
I remembered you saying the install runsin the 32bit kenrel and how the
kernel heap size is really limited on on 32bit. (These machiens all have
4GB BTW) So since they are IA32E processors, I tweaked the grub menu's
used by the net boot to load the amd64 kernel and miniroot.
The install is proceeding well past the point it used to hang, even with
ZFS enabled.
So, while this gets me moving forward again (a big thank you to you!)
I'm sure there's still something wrong in here somewhere.
-Kyle