summaryrefslogtreecommitdiff
path: root/libports
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-26 19:48:18 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-05-05 17:29:19 +0200
commit8612278973d167a20f4d60d018f18c6975b37cca (patch)
tree83bde040513851893a1bbe8ed1545e6b924cb725 /libports
parent151133a33c18e9ba103cea77a269b56c6f5cf23a (diff)
ext2fs: use two distinct pager buckets for the disk and file pager
ext2fs 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. * ext2fs/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_disk_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 'libports')
0 files changed, 0 insertions, 0 deletions