diff options
| author | Corvin Köhne <corvink@FreeBSD.org> | 2026-03-30 09:33:20 +0000 |
|---|---|---|
| committer | Corvin Köhne <corvink@FreeBSD.org> | 2026-04-30 09:15:18 +0000 |
| commit | 226b37dc3ad5641c18f8542c18baea3ea641c5af (patch) | |
| tree | 1593be4ede24e3fc4d45843c24ef46a3e5f4e776 /sys/contrib/openzfs/module/zfs/vdev_raidz_math.c | |
| parent | 75909086a45da3c5aeaff8152728111cf798c6bc (diff) | |
In order to improve the efficiency of block read/write calls, Intel has
introduced a block buffer. Instead of generating an interrupt after
receiving/sending a single byte, the data is buffered in the block buffer. It
allows the SMBus controller to generate a single interrupt for the whole
transfer. At the moment, we don't support that and don't expect the SMBus
controller to behave in that way. Unfortunately, BIOS code can also access the
SMBus controller and may enable the block buffer. Poorly written BIOS code may
also keep the block buffer enabled breaking our driver. Therefore, we should
check if the device supports a block buffer and disable it for every request
because we don't know if some BIOS code has reconfigured the SMBus controller
in between.
Reviewed by: emaste
MFC after: 1 week
Sponsored by: Beckhoff Automation GmbH & Co. KG
Pull Request: https://github.com/freebsd/freebsd-src/pull/2161
Diffstat (limited to 'sys/contrib/openzfs/module/zfs/vdev_raidz_math.c')
0 files changed, 0 insertions, 0 deletions
