Project

General

Profile

Feature #11032

Time spent sharing SMB filesystems could be reduced by optimizing smb_getdataset for default mount points

Added by Gordon Ross 8 days ago. Updated 3 days ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
-
Start date:
2019-05-15
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

When sharing a dataset over SMB, smbd needs to look up the dataset from the mount path and does this by searching mnttab. Similar to DLPX-45572, this could be optimized by first trying the assumption that the mount point is the default one and testing.
On import of a pool with 3000 datasets shared over SMB, mounted at default mount points, this can save 10-15s (in my test environment). The saving grows exponentially with number of SMB shared datasets.

This is only a benefit when using default mount point path.

History

#1

Updated by Gordon Ross 3 days ago

  • Status changed from New to In Progress
  • Description updated (diff)

From Joyce McIntosh

I ran VSS testing using dtrace on smbd to capture the time spent in smb_getdataset().
With 3000 mnttab entries the avg smb_getdataset() call takes about 1/10th of the time it did pre-change.
In the pool import testing smb_getdataset() is called for every entry in mnttab.

Also available in: Atom PDF