All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Cam Macdonell <cam@cs.ualberta.ca>,
	kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: Re: [PATCH v3 1/1] Shared memory uio_pci driver
Date: Thu, 01 Apr 2010 14:27:02 +0300	[thread overview]
Message-ID: <4BB48306.7020604@redhat.com> (raw)
In-Reply-To: <20100401105929.GC3323@redhat.com>

On 04/01/2010 01:59 PM, Michael S. Tsirkin wrote:
> On Thu, Apr 01, 2010 at 11:58:29AM +0300, Avi Kivity wrote:
>    
>> On 03/31/2010 12:12 PM, Michael S. Tsirkin wrote:
>>      
>>>
>>>        
>>>>     $ echo 4>   /sys/.../msix/allocate
>>>>     $ # subdirectories 0 1 2 3 magically appear
>>>>     $ # bind fd 13 to msix
>>>>
>>>>          
>>> There's no way to know, when qemu starts, how many vectors will be used
>>> by driver.  So I think we can just go ahead and allocate as many vectors
>>> as supported by device at the moment when the first eventfd is bound.
>>>
>>>        
>> That will cause a huge amount of vectors to be allocated.  It's better
>> to do this dynamically in response to guest programming.
>>      
> guest unmasks vectors one by one.
> Linux does not have an API to allocate vectors one by one now.
>    

Well, maybe it should.  I'm worried that the guest could exhaust host 
irqs if we allocate the maximum amount.

>> What's irqcontrol?
>>      
> uio core accepts 32 bit writes and passes the value written
> as int to an irqcontrol callback in the device.
>    

I see.  In this case I withdraw my earlier objection about using write() 
to control eventfd binding, as it's clearly interrupt related.  I still 
prefer an explicit ioctl though.  I think you suggested to allow 
irqcontrol to support >4 byte writes, that should also work.


-- 
error compiling committee.c: too many arguments to function


WARNING: multiple messages have this Message-ID (diff)
From: Avi Kivity <avi@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Cam Macdonell <cam@cs.ualberta.ca>,
	qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: [Qemu-devel] Re: [PATCH v3 1/1] Shared memory uio_pci driver
Date: Thu, 01 Apr 2010 14:27:02 +0300	[thread overview]
Message-ID: <4BB48306.7020604@redhat.com> (raw)
In-Reply-To: <20100401105929.GC3323@redhat.com>

On 04/01/2010 01:59 PM, Michael S. Tsirkin wrote:
> On Thu, Apr 01, 2010 at 11:58:29AM +0300, Avi Kivity wrote:
>    
>> On 03/31/2010 12:12 PM, Michael S. Tsirkin wrote:
>>      
>>>
>>>        
>>>>     $ echo 4>   /sys/.../msix/allocate
>>>>     $ # subdirectories 0 1 2 3 magically appear
>>>>     $ # bind fd 13 to msix
>>>>
>>>>          
>>> There's no way to know, when qemu starts, how many vectors will be used
>>> by driver.  So I think we can just go ahead and allocate as many vectors
>>> as supported by device at the moment when the first eventfd is bound.
>>>
>>>        
>> That will cause a huge amount of vectors to be allocated.  It's better
>> to do this dynamically in response to guest programming.
>>      
> guest unmasks vectors one by one.
> Linux does not have an API to allocate vectors one by one now.
>    

Well, maybe it should.  I'm worried that the guest could exhaust host 
irqs if we allocate the maximum amount.

>> What's irqcontrol?
>>      
> uio core accepts 32 bit writes and passes the value written
> as int to an irqcontrol callback in the device.
>    

I see.  In this case I withdraw my earlier objection about using write() 
to control eventfd binding, as it's clearly interrupt related.  I still 
prefer an explicit ioctl though.  I think you suggested to allow 
irqcontrol to support >4 byte writes, that should also work.


-- 
error compiling committee.c: too many arguments to function

  reply	other threads:[~2010-04-01 11:27 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-25  6:09 [PATCH v3 1/1] Shared memory uio_pci driver Cam Macdonell
2010-03-25  6:09 ` [Qemu-devel] " Cam Macdonell
2010-03-25  9:05 ` Michael S. Tsirkin
2010-03-25  9:05   ` [Qemu-devel] " Michael S. Tsirkin
2010-03-25  9:47   ` Avi Kivity
2010-03-25  9:47     ` [Qemu-devel] " Avi Kivity
2010-03-25 16:30   ` Cam Macdonell
2010-03-25 16:30     ` [Qemu-devel] " Cam Macdonell
2010-03-25 16:34     ` Michael S. Tsirkin
2010-03-25 16:34       ` [Qemu-devel] " Michael S. Tsirkin
2010-03-25 17:07       ` Cam Macdonell
2010-03-25 17:07         ` [Qemu-devel] " Cam Macdonell
2010-03-25 16:36   ` Avi Kivity
2010-03-25 16:36     ` [Qemu-devel] " Avi Kivity
2010-03-25 16:37     ` Michael S. Tsirkin
2010-03-25 16:37       ` [Qemu-devel] " Michael S. Tsirkin
2010-03-25 16:51       ` Avi Kivity
2010-03-25 16:51         ` [Qemu-devel] " Avi Kivity
2010-03-25  9:15 ` Michael S. Tsirkin
2010-03-25  9:15   ` [Qemu-devel] " Michael S. Tsirkin
2010-03-25  9:40   ` Avi Kivity
2010-03-25  9:40     ` [Qemu-devel] " Avi Kivity
2010-03-25  9:44     ` Michael S. Tsirkin
2010-03-25  9:44     ` Michael S. Tsirkin
2010-03-25  9:44       ` [Qemu-devel] " Michael S. Tsirkin
2010-03-25  9:58       ` Avi Kivity
2010-03-25  9:58       ` Avi Kivity
2010-03-25  9:58         ` [Qemu-devel] " Avi Kivity
2010-03-25 10:07         ` Michael S. Tsirkin
2010-03-25 10:07           ` [Qemu-devel] " Michael S. Tsirkin
2010-03-25 10:07         ` Michael S. Tsirkin
2010-03-25  9:40   ` Avi Kivity
2010-03-25 16:18   ` Cam Macdonell
2010-03-25 16:18   ` Cam Macdonell
2010-03-25 16:18     ` [Qemu-devel] " Cam Macdonell
2010-03-25 16:23     ` Anthony Liguori
2010-03-25 16:23       ` [Qemu-devel] " Anthony Liguori
2010-03-25 16:32       ` Avi Kivity
2010-03-25 16:32       ` Avi Kivity
2010-03-25 16:32         ` [Qemu-devel] " Avi Kivity
2010-03-25 16:40         ` Michael S. Tsirkin
2010-03-25 16:40           ` [Qemu-devel] " Michael S. Tsirkin
2010-03-25 16:50           ` Avi Kivity
2010-03-25 16:50             ` [Qemu-devel] " Avi Kivity
2010-03-25 16:50           ` Avi Kivity
2010-03-25 16:40         ` Michael S. Tsirkin
2010-03-25 16:33       ` Michael S. Tsirkin
2010-03-25 16:33         ` [Qemu-devel] " Michael S. Tsirkin
2010-03-25 16:33       ` Michael S. Tsirkin
2010-03-25 16:23     ` Anthony Liguori
2010-03-25  9:15 ` Michael S. Tsirkin
2010-03-25  9:46 ` Avi Kivity
2010-03-25  9:46   ` [Qemu-devel] " Avi Kivity
2010-03-25 16:24   ` Cam Macdonell
2010-03-25 16:24     ` [Qemu-devel] " Cam Macdonell
2010-03-25 16:35     ` Avi Kivity
2010-03-25 16:35       ` [Qemu-devel] " Avi Kivity
2010-03-26 16:14       ` Cam Macdonell
2010-03-26 16:14         ` [Qemu-devel] " Cam Macdonell
2010-03-27 17:48         ` Avi Kivity
2010-03-27 17:48           ` [Qemu-devel] " Avi Kivity
2010-03-28  7:47           ` Michael S. Tsirkin
2010-03-28  7:47             ` [Qemu-devel] " Michael S. Tsirkin
2010-03-28  8:02             ` Avi Kivity
2010-03-28  8:02               ` [Qemu-devel] " Avi Kivity
2010-03-28  9:40               ` Michael S. Tsirkin
2010-03-28  9:40                 ` [Qemu-devel] " Michael S. Tsirkin
2010-03-28  9:45                 ` Avi Kivity
2010-03-28  9:45                   ` [Qemu-devel] " Avi Kivity
2010-03-28 10:31                   ` Michael S. Tsirkin
2010-03-28 10:31                     ` [Qemu-devel] " Michael S. Tsirkin
2010-03-28 11:12                     ` Avi Kivity
2010-03-28 11:12                       ` [Qemu-devel] " Avi Kivity
2010-03-28 13:28                       ` Jamie Lokier
2010-03-28 13:28                         ` Jamie Lokier
2010-03-28 13:47                         ` malc
2010-03-28 13:47                           ` malc
2010-03-28 19:48           ` Cam Macdonell
2010-03-28 19:48             ` [Qemu-devel] " Cam Macdonell
2010-03-29 20:59             ` Avi Kivity
2010-03-29 20:59               ` [Qemu-devel] " Avi Kivity
2010-03-30 14:52               ` Cam Macdonell
2010-03-30 14:52                 ` [Qemu-devel] " Cam Macdonell
2010-04-01  8:59                 ` Avi Kivity
2010-04-01  8:59                   ` [Qemu-devel] " Avi Kivity
2010-03-31  9:12               ` Michael S. Tsirkin
2010-03-31  9:12                 ` [Qemu-devel] " Michael S. Tsirkin
2010-04-01  8:58                 ` Avi Kivity
2010-04-01  8:58                   ` [Qemu-devel] " Avi Kivity
2010-04-01 10:59                   ` Michael S. Tsirkin
2010-04-01 10:59                     ` [Qemu-devel] " Michael S. Tsirkin
2010-04-01 11:27                     ` Avi Kivity [this message]
2010-04-01 11:27                       ` Avi Kivity
2010-03-25 16:42     ` Michael S. Tsirkin
2010-03-25 16:42       ` [Qemu-devel] " Michael S. Tsirkin

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=4BB48306.7020604@redhat.com \
    --to=avi@redhat.com \
    --cc=cam@cs.ualberta.ca \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.