Make kern.cam.nda.num_trim tunable to limit the number of BIO_DELETE
requests that we'll collapse into one DSM_TRIM. By default it is a 256, which is the max that will fit into a 4k page. Sponsored by: Netflix
This commit is contained in:
parent
fdfc0a83a3
commit
6f591d13fd
@ -167,10 +167,16 @@ static void ndasuspend(void *arg);
|
||||
#define NDA_MAX_TRIM_ENTRIES 256 /* Number of DSM trims to use, max 256 */
|
||||
#endif
|
||||
|
||||
static SYSCTL_NODE(_kern_cam, OID_AUTO, nda, CTLFLAG_RD, 0,
|
||||
"CAM Direct Access Disk driver");
|
||||
|
||||
//static int nda_retry_count = NDA_DEFAULT_RETRY;
|
||||
static int nda_send_ordered = NDA_DEFAULT_SEND_ORDERED;
|
||||
static int nda_default_timeout = NDA_DEFAULT_TIMEOUT;
|
||||
static int nda_max_trim_entries = NDA_MAX_TRIM_ENTRIES;
|
||||
SYSCTL_INT(_kern_cam_nda, OID_AUTO, max_trim, CTLFLAG_RDTUN,
|
||||
&nda_max_trim_entries, NDA_MAX_TRIM_ENTRIES,
|
||||
"Maximum number of BIO_DELETE to send down as a DSM TRIM.");
|
||||
|
||||
/*
|
||||
* All NVMe media is non-rotational, so all nvme device instances
|
||||
@ -178,9 +184,6 @@ static int nda_max_trim_entries = NDA_MAX_TRIM_ENTRIES;
|
||||
*/
|
||||
static int nda_rotating_media = 0;
|
||||
|
||||
static SYSCTL_NODE(_kern_cam, OID_AUTO, nda, CTLFLAG_RD, 0,
|
||||
"CAM Direct Access Disk driver");
|
||||
|
||||
static struct periph_driver ndadriver =
|
||||
{
|
||||
ndainit, "nda",
|
||||
|
Loading…
Reference in New Issue
Block a user