From: Frediano Ziglio <freddy77@gmail.com>
To: Igor Kovalenko <igor.v.kovalenko@gmail.com>,
Anthony Liguori <anthony@codemonkey.ws>
Cc: Alexander Graf <agraf@suse.de>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] rewrote timer implementation for rtl8139.
Date: Sat, 20 Feb 2010 17:14:41 +0100 [thread overview]
Message-ID: <aa1b71111002200814t7d60e73ex3d9a8962b5b8f375@mail.gmail.com> (raw)
In-Reply-To: <b2fa41d61002192152p62810b8fu14f0ca2e07e8aa95@mail.gmail.com>
2010/2/20 Igor Kovalenko <igor.v.kovalenko@gmail.com>:
> On Sat, Feb 20, 2010 at 2:26 AM, Anthony Liguori <anthony@codemonkey.ws> wrote:
>> On 02/19/2010 04:22 PM, Alexander Graf wrote:
>>>
>>> On 19.02.2010, at 22:50, Anthony Liguori wrote:
>>>
>>>
>>>>
>>>> On 02/16/2010 02:35 AM, Frediano Ziglio wrote:
>>>>
>>>>>
>>>>> Add a QEMU timer only when needed (timeout status not set, timeout
>>>>> irq wanted and timer set).
>>>>>
>>>>> This patch is required for Darwin. Patch has been tested under
>>>>> FreeBSD, Darwin and Linux.
>>>>>
>>>>> Signed-off-by: Frediano Ziglio<freddy77@gmail.com>
>>>>>
>>>>>
>>>>
>>>> Alex, I know you've played with this feature for OS X in the past.
>>>>
>>>> Is this something we should be enabling unconditionally?
>>>>
>>>
>>> I've played with it and realized that
>>>
>>> 1) OSX's rtl8139 driver uses this timer instead of tx/rx interrupts to
>>> process the queue
>>> 2) it was broken
>>>
>>> I haven't gotten around to test if this patch makes it work, but I'd
>>> suppose so.
>>>
>>> So yes, I think it should be enabled by default. It's a feature real hw
>>> has, so we should emulate it.
>>>
>>
>> The thing that concerns me is why it was disabled by default. Igor, what
>> was the reasoning for disabling it if you recall?
>
> It was very inefficient pci timer implementation which fired callback
> frequently.
> Once it was found that (freebsd?) was relying on pci timer in realtek driver
> to communicate we just added missing piece.
>
> Now this patch fixes that inefficiency issue.
>
I'm not that use with this ML way... sorry if somebody will receive a
lot of SPAM...
I updated my patch with Anthony suggestions (just code style).
Previous code (current git) issue a timer every pci tick (about 33
millions per second!) in order to compute correctly TCTR. This patch
enable QEMU timers only when strictly needed (for interrupt purposes)
computing TCTR when needed (only on driver read).
I tested with patch under Linux, FreeBSD and Darwin (Mac OS X) and it
works correctly. I also bought a physical card to test the behaviour
with a small test program and test program work with emulated code too
(previously code does not). I sent the test program but I don't know
if is possible to integrate it into QEMU code (is a standalone test).
Frediano Ziglio
next prev parent reply other threads:[~2010-02-20 16:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-16 8:35 [Qemu-devel] [PATCH] rewrote timer implementation for rtl8139 Frediano Ziglio
2010-02-19 21:50 ` Anthony Liguori
2010-02-19 22:22 ` Alexander Graf
2010-02-19 23:26 ` Anthony Liguori
2010-02-20 5:52 ` Igor Kovalenko
2010-02-20 16:14 ` Frediano Ziglio [this message]
2010-02-20 16:06 ` Frediano Ziglio
2010-02-20 17:13 ` Anthony Liguori
2010-02-20 17:27 ` Frediano Ziglio
2010-02-25 14:24 ` Paul Brook
2010-02-20 17:50 ` Frediano Ziglio
2010-02-19 23:24 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aa1b71111002200814t7d60e73ex3d9a8962b5b8f375@mail.gmail.com \
--to=freddy77@gmail.com \
--cc=agraf@suse.de \
--cc=anthony@codemonkey.ws \
--cc=igor.v.kovalenko@gmail.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).