HomeFreeBSD

MFprojects/camlock r249505:
rS253958Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

MFprojects/camlock r249505:
Change CCB queue resize logic to be able safely handle overallocations:

  • (re)allocate queue space in power of 2 chunks with 64 elements minimum

and never shrink it; with only 4/8 bytes per element size is insignificant.

  • automatically reallocate the queue to double size if it is overflowed.
  • if queue reallocation failed, store extra CCBs in unsorted TAILQ,

fetching them back as soon as some queue element is freed.

To free space in CCB for TAILQ linking, change highpowerq from keeping
high-power CCBs to keeping devices frozen due to high-power CCBs.

This encloses all pieces of queue resize logic inside of cam_queue.[ch],
removing some not obvious duties from xpt_release_ccb().

Details

Provenance
mavAuthored on
Parents
rS253957: Note NULL encryption method for GELI
Branches
Unknown
Tags
Unknown

Event Timeline