Skip to content

[kernel] Don't disable interrupts in block device request queue unless async I/O enabled#2515

Merged
ghaerr merged 1 commit intomasterfrom
asyncio
Dec 10, 2025
Merged

[kernel] Don't disable interrupts in block device request queue unless async I/O enabled#2515
ghaerr merged 1 commit intomasterfrom
asyncio

Conversation

@ghaerr
Copy link
Copy Markdown
Owner

@ghaerr ghaerr commented Dec 10, 2025

Prompted from discussion in #2506 (comment).

Removes special handling of request queue lists when CONFIG_ASYNCIO is not configured. This allows execution of block driver read/writes with interrupts always enabled, which should allow for fast serial input during SD card I/O on systems without the direct floppy driver compiled in.

@swausd: Close inspection showed that the low level block device request queue management routines disabled interrupts while traversing the request queue. When CONFIG_ASYNCIO is not enabled (which is only required by the direct floppy driver when compiled in), the request queue size is 1, and thus no special handling is required.

Tested on IBM PC direct floppy on QEMU, and ROMFS build on emu86.

@ghaerr ghaerr merged commit 62beca6 into master Dec 10, 2025
1 check passed
@ghaerr ghaerr deleted the asyncio branch December 10, 2025 23:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant