On 06/08/2011 09:15 PM, Donald Stahl wrote:
"metaslab_min_alloc_size" is not in use when block allocator isDynamic block
allocator[1].
So it is not tunable parameter in my case.
May I ask where it says this is not a tunable in that case? I've read
through the code and I don't see what you are talking about.

The problem you are describing- including the "long time in function
metaslab_block_picker" exactly matches the block picker trying to find
a large enough block and failing.

What value do you get when you run:
echo "metaslab_min_alloc_size/K" | mdb -kw
?

You can always try setting it via:
echo "metaslab_min_alloc_size/Z 1000" | mdb -kw

and if that doesn't work set it right back.

I'm not familiar with the specifics of Solaris 10u8 so perhaps this is
not a tunable in that version but if it is- I would suggest you try
changing it. If your performance is as bad as you say then it can't
hurt to try it.

-Don

Thanks very much, Don.

In Solaris 10u8:
root@nas-hz-01:~# uname -a
SunOS nas-hz-01 5.10 Generic_141445-09 i86pc i386 i86pc
root@nas-hz-01:~# echo "metaslab_min_alloc_size/K" | mdb -kw
mdb: failed to dereference symbol: unknown symbol name
root@nas-hz-01:~#

The pool version is 15 and zfs version is 4.

And this parameter is valid in my openindiana build 148, it's zpool version is 28 and zfs version is 5.
ops@oi:~$ echo "metaslab_min_alloc_size/Z 1000" | pfexec mdb -kw
metaslab_min_alloc_size:        0x1000                  =       0x1000
ops@oi:~$

I'm not sure which version introduce the parameter.

Should I run this openindiana? Any suggestions?

Regards,
Ding
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to