Page MenuHomeFreeBSD

New I/O scheduler for FreeBSD
ClosedPublic

Authored by imp on Dec 18 2015, 4:43 AM.

Details

Summary

Plus a lot of other things.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

imp updated this revision to Diff 11406.Dec 18 2015, 4:43 AM
imp retitled this revision from to New I/O scheduler for FreeBSD.
imp updated this object.
imp edited the test plan for this revision. (Show Details)
emaste added a subscriber: emaste.Dec 18 2015, 1:39 PM
op added a subscriber: op.Feb 2 2016, 9:43 PM
This revision was automatically updated to reflect the committed changes.
ngie added a subscriber: ngie.Apr 14 2016, 10:01 PM
ngie added inline comments.
head/sys/cam/ata/ata_da.c
923
  • Why 5?
  • Why get rid of the parameter?
1300

Why 16?

head/sys/cam/cam_ccb.h
584

Why isn't this list sorted?

head/sys/cam/scsi/scsi_da.c
2817

XXX comment?

2906

XXX comment in C++?

head/sys/conf/options
332

Why is this in FreeBSD (a specific NETFLIX constant?)

head/sys/dev/ahci/ahci.c
2420

Could this be done better (even if it breaks KBI), and if so, is there a plan to do this?

imp added inline comments.Apr 14 2016, 10:09 PM
head/sys/cam/ata/ata_da.c
923

That's a regression. It used to be 5 seconds :)

1300

Because it's long enough and doesn't warrant its own #define.

head/sys/cam/cam_ccb.h
584

Because ABI breakage.

head/sys/conf/options
332

Because it is the Netflix scheduler, as opposed to the default scheduler. That's its name, not a Netflix, Inc specific define.

head/sys/dev/ahci/ahci.c
2420

Can't be done w/o breaking the KBI between CAM and userland. Ken Merry, Scott Long and I have been working on a more general solution because the Auxiliary register is used in a lot of the SMR commands, and it needs to have values other than 1 or 0. Since I did most of this work in 10.x, I didn't want to break the KBI. So we have this ugly kludge until the more general work is completed.