In de repository die ontwikkelingen in Btrfs voor toekomstige Linux-kernelversies bevordert, is een reeks patches geaccepteerd met de implementatie van een cyclisch balansbeleid voor leesbewerkingen in RAID1, dat het "Round-robin"-algoritme gebruikt. Om de distributie van leesbewerkingen in een rond cyclus in "/sys/fs/btrfs//read_policy" in te schakelen, moet de waarde "round-robin:[min_contiguous_read]" worden ingesteld, waarbij de optionele parameter "min_contiguous_read" de minimale grootte van verzoeken bepaalt die tussen de spiegels in balans moeten worden gebracht (standaardwaarde is 256 KiB).
Oorspronkelijk werd de belastingverdeling in RAID1 in Btrfs gedaan op basis van de PID van het proces dat invoer/uitvoer aanvroeg. Dit systeem werkte redelijk goed in omgevingen waar de belasting door vele verschillende processen werd veroorzaakt, maar stelde niet in staat om maximale prestaties te behalen bij een eentalige belasting. In uitgevoerde tests reduceerde bijvoorbeeld het inschakelen van de "round-robin"-policy de uitvoeringstijd van het defragmentatieproces van 18 naar 8,8 seconden.
Daarnaast is er een wijziging toegevoegd die de parameter "devid:" in "/sys/fs/btrfs//read_policy" implementeert. Deze parameter schakelt de balansregeling uit en geeft opdracht om leesbewerkingen uitsluitend vanaf de opgegeven schijf uit te voeren.
Bron: opennet.ru
