All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Gregory Haskins <ghaskins@novell.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	davidel@xmailserver.org, mtosatti@redhat.com,
	paulmck@linux.vnet.ibm.com, markmc@redhat.com
Subject: Re: [KVM PATCH v7 2/2] KVM: add iosignalfd support
Date: Sun, 21 Jun 2009 16:55:19 +0300	[thread overview]
Message-ID: <4A3E3BC7.8040707@redhat.com> (raw)
In-Reply-To: <4A3A4A7D.8050406@novell.com>

On 06/18/2009 05:09 PM, Gregory Haskins wrote:
> Avi Kivity wrote:
>    
>> On 06/18/2009 03:09 PM, Gregory Haskins wrote:
>>      
>>>>> +config KVM_MAX_IOSIGNALFD_ITEMS
>>>>> +    int "Maximum IOSIGNALFD items per address"
>>>>> +    depends on KVM
>>>>> +    default "32"
>>>>> +    ---help---
>>>>> +      This option influences the maximum number of fd's per PIO/MMIO
>>>>> +      address that are allowed to register
>>>>> +
>>>>>
>>>>>
>>>>>            
>>>> Is there a per-vm limit on iosignalfds?  if not, userspace can exhaust
>>>> kernel memory in that way.
>>>>
>>>>          
>>> Yeah, its already naturally limited by the maximum number of MMIO/PIO
>>> devices we can register (today this is 6 per VM).  I should have
>>> documented that fact somewhere, tho.
>>>
>>>        
>> We need to raise this limit drastically and to expose it.
>>      
>
> Any suggestions on a target #?  512?
>    

Let's say 20 devices with 16 queues each.  That gives 320 fds.  So 512 
seems like a good choice for now.

But don't make it Kconfigurable, there's no way the user will know what 
to put there.
>> No, a u16 will naturally expand to a u64, and the emulator will
>> generate the correct value.
>>      
>
> Right, I understand that part.  What I mean specifically is at run-time
> when the IO comes in.  I was thinking I would need to do a memcmp
> against the u64 and the data-register and it was hurting my head trying
> to figure out what pointer to pass to memcmp.
>
> <lightbulb turns on>
>
> Duh, I can just load the data-register into a u64 and check equality.
> Nevermind, I am a dumbass ;)
>    

I see on your v8 what the load means.  It's not so pretty.  But we can 
have generic code do the load and pass a u64 instead of a pointer.

But please, only after this goes in.

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


      reply	other threads:[~2009-06-21 13:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-16 13:42 [KVM PATCH v7 0/2] iosignalfd Gregory Haskins
2009-06-16 13:42 ` [KVM PATCH v7 1/2] KVM: make io_bus interface more robust Gregory Haskins
2009-06-18 11:35   ` Avi Kivity
2009-06-18 11:46     ` Gregory Haskins
2009-06-16 13:42 ` [KVM PATCH v7 2/2] KVM: add iosignalfd support Gregory Haskins
2009-06-18 11:45   ` Avi Kivity
2009-06-18 12:09     ` Gregory Haskins
2009-06-18 12:21       ` Avi Kivity
2009-06-18 14:09         ` Gregory Haskins
2009-06-21 13:55           ` Avi Kivity [this message]

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=4A3E3BC7.8040707@redhat.com \
    --to=avi@redhat.com \
    --cc=davidel@xmailserver.org \
    --cc=ghaskins@novell.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markmc@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=paulmck@linux.vnet.ibm.com \
    /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.