ahrens commented on this pull request.


> @@ -1039,6 +1039,13 @@ metaslab_group_allocatable(metaslab_group_t *mg, 
> metaslab_group_t *rotor,
                if (mg->mg_no_free_space)
                        return (B_FALSE);
 
+               /*
+                * Relax allocation throttling for ditto blocks.  Due to
+                * random imbalances in allocation it tends to push copies
+                * to one vdev, that looks a bit better at the moment.
+                */
+               qmax = qmax * (4 + d) / 4;

I found this math a little hard to follow.  Maybe this would be more clear:
```
// increase qmax by 1/4 for the 2nd DVA, and by 1/2 for the 3rd dva
qmax += qmax * d / 4;
```
How did you decide on 1/4 (as opposed to 1/8, or 10, or unlimited)?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/688#pullrequestreview-150579732
------------------------------------------
openzfs: openzfs-developer
Permalink: 
https://openzfs.topicbox.com/groups/developer/T5b2a8092d211827d-Me4ce7dbc9e33148fafeac87a
Delivery options: https://openzfs.topicbox.com/groups/developer/subscription

Reply via email to