Just an update, We have managed to make some progress with performance, and
reached a level where it is not quite as urgent to squeeze more out of it.
(There is so much else to do after all)

Some quick checks we did can be found here:

https://openzfsonosx.org/wiki/Performance

We don't get close to the real champions IllumOS and FreeBSD, but we are at
least in the mix.

Lund


Some changes include;

* OSX kernel allocator is limited to 25% of total memory, and panics if you
go over it. This mean we had to limit ARC to 6% of memory.
We abuse the page_allocator (slow) instead, put a slice-allocator in front
of it (for allocations < PAGE_SIZE) and a SLAB for re-use of allocations.
Now we can allocate about 80% of system memory, move ARC back to 25% or so.
This gave us the best speed increase.

* merged with upstream ZOL for some performance gain they had managed to do.

* Some time back, TASKQ_THREADS_CPU_PCT was added to taskqs, and we missed
it. So instead of 75% * num_cpus number of threads, we allocated literal 75
threads per dataset. Oops.



-- 
Jorgen Lundman       | <[email protected]>
Unix Administrator   | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo    | +81 (0)90-5578-8500          (cell)
Japan                | +81 (0)3 -3375-1767          (home)
_______________________________________________
developer mailing list
[email protected]
http://lists.open-zfs.org/mailman/listinfo/developer

Reply via email to