Quoth Bakul Shah via 9fans <[email protected]>:
> 
> You have a (control) connection with the mmap device to
> set up mmap so might as well use it to convey errors!
> This device would be strictly local to where a program
> runs.

I'm not sure how this is supposed to work; I assume
you'd need to fork a proc to handle errors, since
you would need to block the faulting process while
figuring out how to re-map the page so that the
memory access could be handled?

If the flush was done in the background due to cache
pressure, the code that had done the failing I/O
operation may have very well moved on, so you you'd
need a complciated mechanism to know how long ago
your writes had failed coded into your software.

Memory isn't a good abstraction for failable i/o.
It looks simple, but makes error handling impossibly
hard.

I think the only time it's acceptably behaved is when
it's read-only, you're willing to treat i/o errors as
irrecoverable, and you don't care about random pauses
in your program's perforamce profile. I don't think
that situation is all so common.


------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Te8d7c6e48b5c075b-M3dc790fee41d21884de7bacd
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to