summaryrefslogtreecommitdiff
path: root/hurd.boot
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-30 01:10:05 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-05-05 17:30:59 +0200
commit261d957ebe4cf16aed76eed24b5bfd32f1f5a79a (patch)
treec6c458c63ba2bf393b653b107a62701c77842b28 /hurd.boot
parent3ad900b84497a2e619c30f76670e4757e8765f3e (diff)
fatfs: use two distinct pager buckets for the disk and file pager
fatfs has two kinds of pagers. One for the files, one for the disk. Previously, both were in the same port bucket. If a request for a file pager arrives, it most likely touches some metadata (like the superblock). This is in turn backed by the disk pager, so another request is generated for the disk pager. Seperate all pagers clearly by using two port buckets. This will enable us to use a single thread per port bucket in the future. * fatfs/pager.c (pager_bucket): Rename to... (disk_pager_bucket): ... this to make the change explicit at every occurrence. (file_pager_bucket): New variable. (service_paging_requests): New function. (create_fat_pager): Also create the file pager. (diskfs_get_filemap): Handout pagers from the file_pager_bucket. (diskfs_shutdown_pager): This is only concerned with the file pager. Simplify code accordingly. (diskfs_sync_everything): Likewise. (diskfs_pager_users): Likewise. (diskfs_max_user_pager_prot): Likewise. (disable_caching): Iterate over both buckets. (enable_caching): Likewise.
Diffstat (limited to 'hurd.boot')
0 files changed, 0 insertions, 0 deletions