HomeFreeBSD

Fix few issues in ioat(4) driver.

Description

Fix few issues in ioat(4) driver.

  • Do not explicitly count active descriptors. It allows hardware reset

to happen while device is still referenced, plus simplifies locking.

  • Do not stop/start callout each time the queue becomes empty. Let it

run to completion and rearm if needed, that is much cheaper then to touch
it every time, plus also simplifies locking.

  • Decouple submit and cleanup locks, making driver reentrant.
  • Avoid memory mapped status register read on every interrupt.
  • Improve locking during device attach/detach.
  • Remove some no longer used variables.

Reviewed by: cem
MFC after: 1 week
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D19231

Details

Provenance
mavAuthored on Feb 21 2019, 4:47 PM
Parents
rG46e39081f494: Clear pointers to indicate that the respective locks are released.
Branches
Unknown
Tags
Unknown

Event Timeline