[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 0/2] macio: split out unaligned DMA access into se
From: |
John Snow |
Subject: |
Re: [Qemu-devel] [RFC 0/2] macio: split out unaligned DMA access into separate functions |
Date: |
Mon, 01 Jun 2015 11:57:29 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 |
On 05/31/2015 03:54 PM, Mark Cave-Ayland wrote:
> On 22/05/15 19:20, John Snow wrote:
>
>> As a post-script, can Darwin/PPC use a different mechanism for ATA at
>> all, or is macio the sole ATA interface we support here?
>>
>> I want to see if I can pinpoint when a "good" bath and when a bad path
>> diverges with respect to the disk contents ...
>>
>> Or if you have other ideas on how to identify the transfer that causes
>> the issue, I'm all ears.
>
> After a fairly involved weekend, I've managed to track this one down. It
> was an actually an issue with the chaining of write requests with
> unaligned accesses, whereby alternating patterns of head, head/tail and
> tail would end up overwriting the common remainder section and so copy
> the wrong sector back to the disk.
>
Great!
> The bad news is that this has definitely been broken since QEMU 2.1+ so
> anyone using a Darwin/OS X PPC image is very likely to have an
> installation that won't boot, or corruption in an image if it was
> originally installed on an older QEMU version :(
>
Bummer. On the other hand, the number of complaints I have seen is...
zero. So here's hoping it isn't the apocalypse.
> Note that as I figured out what was happening my code was morphing into
> a very similar pattern to that of
> bdrv_co_do_preadv()/bdrv_co_do_pwritev() (except mine still calculated
> with sectors) and so I bit the bullet and moved them over to match the
> existing style. This has the advantage that the algorithm is similar to
> an existing one, plus if unaligned block APIs become available in the
> future then switching them over should be fairly trivial.
>
> I'll post an updated patchset shortly. John, if you could confirm it
> fixes the issue on your side that would be great.
>
>
> ATB,
>
> Mark.
>
Sure thing. Had unexpected PTO last week, so give me a pinch to clear
the todo list and I'll get to testing the patchset.
--js
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [RFC 0/2] macio: split out unaligned DMA access into separate functions,
John Snow <=