[CI-NO-BUILD] [vioscsi] Programmatically determine max_segments #1306
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Refactors
VioScsiFindAdapter()
to:adaptExt->max_segments
to replaceadaptExt->max_physical_breaks
(also used in theVioScsiBuildIo()
andVioScsiReadExtendedData()
functions)max_segments
in neo value "MaxPhysicalSegments" or the legacy value "PhysicalBreaks". New value defined byREGISTRY_MAX_PH_SEGMENTS
.max_segments
fromadaptExt->scsi_config.seg_max
and from theadaptExt->scsi_config.max_sectors
valuePHYS_SEGMENTS_LIMIT
to replaceMAX_PHYS_SEGMENTS
VIRTIO_MAX_SG
to(PHYS_SEGMENTS_LIMIT + 1)
VIRTIO_SCSI_QUEUE_LAST
to(MAX_CPU - VIRTIO_SCSI_REQUEST_QUEUE_0)
max_segments
increment from calculation ofsgMaxElements
inVioScsiBuildIo()
Note: This commit enables the use of max_segments greater than
adaptExt->scsi_config.seg_max
(max = 254) up toPHYS_SEGMENTS_LIMIT
(presently 512). PR #1316 increases this value to 1,022.