Next: About this document ...
Up: Obsługa nagłówków wolnych buforów
Previous: Nagłówek bufora
Funkcja ta stara się zlecić zapis pewnej liczby buforów dla
zadanego urządzenia. Robi to nastąpująco:
Dla kolejnych elemętów lru_list[BUF_DIRTY]
- sprawdzam czy bufor jest z zadanego użądzenia
jak nie do wykonuję pętle dla kolejnego elemętu.
- Jeśli bufor jest zablokowany to przchodze do następnego
elemętu.
- blokuje bufor.
- przekładam go do nowej kolejki. i zwiększam licznik.
- jeśli licznik przekroczył pewną ustaloną wartość to:
- odblokowywuję liste buforów
- wołam write_locked_buffers
Funkcja ta jak widać zleca zapisanie pewnej
liczby ``brudnych'' buforów zaczynając od tych które są
w tej kolejce najdłużej. Teraz po skończonym zapisie bufory te
przejdą do kolejki czystych. W tej kolejce kolejność ma znaczenie
np. podczas odzyskiwania pamieci (try_to_free_pages).
admin
2001-12-18