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