Changeset df908b3 in mainline for uspace/srv/vfs/vfs_lookup.c


Ignore:
Timestamp:
2010-08-27T17:04:29Z (14 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
3249673, ecd2775
Parents:
ddd7118
Message:

Use async relations introduced in the previous changeset to implement
vfs_grab_phone() and vfs_release_phone().

With this change, VFS will not be pointlessly connecting and disconnecting
phones on each VFS request.

Judging from the output of the top utility, this reduces the share of VFS on
kernel time by about 7% (from 25% down to 18%) and DEVFS kernel time by about 5%
(from 28% to 23%). This also makes CONSOLE the biggest consumer of kernel time,
while it used to be third after DEVFS and VFS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs_lookup.c

    rddd7118 rdf908b3  
    168168        ipcarg_t rc;
    169169        async_wait_for(req, &rc);
    170         vfs_release_phone(phone);
     170        vfs_release_phone(root->fs_handle, phone);
    171171       
    172172        fibril_mutex_lock(&plb_mutex);
     
    215215        ipcarg_t rc;
    216216        async_wait_for(req, &rc);
    217         vfs_release_phone(phone);
     217        vfs_release_phone(result->triplet.fs_handle, phone);
    218218       
    219219        if (rc == EOK) {
Note: See TracChangeset for help on using the changeset viewer.