[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] Add AT24Cxx I2C EEPROM device model
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] Add AT24Cxx I2C EEPROM device model |
Date: |
Tue, 20 Nov 2012 14:37:07 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2012-11-20 14:27, Stefan Hajnoczi wrote:
> On Mon, Nov 19, 2012 at 03:24:39PM +0100, Jan Kiszka wrote:
>> +static void at24_flush_transfer_buffer(AT24State *s)
>> +{
>> + if (s->cached_sector < 0 || !s->cache_dirty) {
>> + return;
>> + }
>> + bdrv_write(s->bs, s->cached_sector, s->sector_buffer, 1);
> [...]
>> +static int at24_cache_sector(AT24State *s, int sector)
>> +{
>> + int ret;
>> +
>> + if (s->cached_sector == sector) {
>> + return 0;
>> + }
>> + ret = bdrv_read(s->bs, sector, s->sector_buffer, 1);
>
> Can you use bdrv_aio_writev()/bdrv_aio_readv()? We should avoid adding
> new synchronous block I/O. Because it forces us to run a nested event
> loop that blocks the guest until I/O completes.
The call is synchronous as the I2C bus model is as well. How do I model
this with bdrv_aio_*?
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux
Re: [Qemu-devel] [PATCH 0/2] i2c: Add AT24Cxx EEPROM model, Stefan Weil, 2012/11/19