All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Davide Libenzi <davidel-AhlLAIvw+VEjIGhXcJzhZg@public.gmane.org>
Cc: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH 5/9] KVM: Adds ability to signal userspace using a file-descriptor
Date: Wed, 16 May 2007 15:00:41 +0300	[thread overview]
Message-ID: <464AF269.7030402@qumranet.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0705151008400.30345-GPJ85BhbkB8RepQJljzAVbITYcZ0+W3JAL8bYrjMMd8@public.gmane.org>

Davide Libenzi wrote:
> On Tue, 15 May 2007, Christoph Hellwig wrote:
>
>   
>> On Tue, May 15, 2007 at 12:18:17PM -0400, Gregory Haskins wrote:
>>     
>>>>>> On Tue, May 15, 2007 at 11:40 AM, in message
>>>>>>             
>>> <Pine.LNX.4.64.0705150832130.30085-GPJ85BhbkB8RepQJljzAVbITYcZ0+W3JAL8bYrjMMd8@public.gmane.org>, Davide Libenzi
>>> <davidel-AhlLAIvw+VEjIGhXcJzhZg@public.gmane.org> wrote: 
>>>       
>>>> I don't know how critical is the path where you will be doing check. The 
>>>> eventfd_fget() is pretty fast, so if you're not looking at a performance 
>>>> critical path, I'd suggest that. Otherwise you can do an early 
>>>> eventfd_get, and keep the file*. If you have no the ways to know if the 
>>>> userspace disconnected, an atomic_read(&file- >f_count)==1 will tell you 
>>>> that you're the only owner of the file* (that is, userspace closed the 
>>>> eventfd descriptor). I'd give preference to the former option though.
>>>>         
>>> Thanks for the insight, Davide.  It sounds like we can probably stay with the way I have it for now, and keep the file->f_count idea in our back pocket should a performance problem arise.
>>>       
>> accessing file->f_count is not allowed for drivers.  It took us quite a
>> bit of effort to clean up all users a while ago, and it turned out most
>> of them were rather buggy.
>>     
>
> Right, you could use the file_count() macro :)
> Seriuosly, if this (doing an eventfd_fget+fput) becomes a problem, I can
> have the check done in eventfd_signal() and return a proper error code.
>
>   

IMO doing eventfd_fget() asap is best.  I much prefer refcounted 
pointers to handles in the kernel: it's easier to see what things point 
to, and there is to context needed for dereferencing.

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


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

  parent reply	other threads:[~2007-05-16 12:00 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-15  3:15 [PATCH 0/9] in-kernel APIC v4 (kernel side) Gregory Haskins
     [not found] ` <20070515031217.9382.44999.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-15  3:15   ` [PATCH 1/9] KVM: Adds support for in-kernel mmio handlers Gregory Haskins
2007-05-15  3:15   ` [PATCH 2/9] KVM: VMX - fix interrupt checking on light-exit Gregory Haskins
2007-05-15  3:15   ` [PATCH 3/9] KVM: Add irqdevice object Gregory Haskins
2007-05-15  3:15   ` [PATCH 4/9] KVM: Adds ability to preempt an executing VCPU Gregory Haskins
2007-05-15  3:15   ` [PATCH 5/9] KVM: Adds ability to signal userspace using a file-descriptor Gregory Haskins
     [not found]     ` <20070515031536.9382.16826.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-15  7:45       ` Avi Kivity
     [not found]         ` <4649650E.2070102-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-15 12:02           ` Gregory Haskins
     [not found]             ` <464968D6.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-15 15:40               ` Davide Libenzi
     [not found]                 ` <Pine.LNX.4.64.0705150832130.30085-GPJ85BhbkB8RepQJljzAVbITYcZ0+W3JAL8bYrjMMd8@public.gmane.org>
2007-05-15 16:18                   ` Gregory Haskins
     [not found]                     ` <4649A4E1.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-15 16:22                       ` Christoph Hellwig
     [not found]                         ` <20070515162249.GA19238-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2007-05-15 16:29                           ` Gregory Haskins
2007-05-15 17:16                           ` Davide Libenzi
     [not found]                             ` <Pine.LNX.4.64.0705151008400.30345-GPJ85BhbkB8RepQJljzAVbITYcZ0+W3JAL8bYrjMMd8@public.gmane.org>
2007-05-16 12:00                               ` Avi Kivity [this message]
     [not found]                                 ` <464AF269.7030402-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-16 19:59                                   ` Davide Libenzi
     [not found]                                     ` <Pine.LNX.4.64.0705161201410.12427-GPJ85BhbkB8RepQJljzAVbITYcZ0+W3JAL8bYrjMMd8@public.gmane.org>
2007-05-17 11:33                                       ` Avi Kivity
     [not found]                                         ` <464C3D93.5090605-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-17 19:11                                           ` Davide Libenzi
     [not found]                                             ` <Pine.LNX.4.64.0705171010570.31677-GPJ85BhbkB8RepQJljzAVbITYcZ0+W3JAL8bYrjMMd8@public.gmane.org>
2007-05-17 21:57                                               ` Davide Libenzi
2007-05-20  7:20                                               ` Avi Kivity
2007-05-16 10:09                   ` Avi Kivity
2007-05-16 10:07               ` Avi Kivity
2007-05-15  3:15   ` [PATCH 6/9] KVM: Add support for in-kernel LAPIC model Gregory Haskins
2007-05-15  3:15   ` [PATCH 7/9] KVM: Adds support for real NMI injection on VMX processors Gregory Haskins
2007-05-15  3:15   ` [PATCH 8/9] KVM: Adds basic plumbing to support TPR shadow features Gregory Haskins
2007-05-15  3:15   ` [PATCH 9/9] KVM: Add statistics from interrupt subsystem Gregory Haskins
  -- strict thread matches above, loose matches on Subject: below --
2007-05-15 14:57 [PATCH 0/9] in-kernel APIC v5 (kernel side) Gregory Haskins
     [not found] ` <20070515145404.15609.61552.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-15 14:57   ` [PATCH 5/9] KVM: Adds ability to signal userspace using a file-descriptor Gregory Haskins
     [not found]     ` <20070515145759.15609.34720.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-15 16:39       ` Anthony Liguori
     [not found]         ` <4649E22F.3090308-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-05-15 16:55           ` Gregory Haskins
     [not found]             ` <4649AD87.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-15 18:44               ` Anthony Liguori
     [not found]                 ` <4649FF7B.10107-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-05-16 11:56                   ` Avi Kivity
2007-05-09 15:18 [PATCH 0/9] in-kernel APIC v2 Gregory Haskins
     [not found] ` <20070509151238.8673.4818.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-09 15:19   ` [PATCH 5/9] KVM: Adds ability to signal userspace using a file-descriptor Gregory Haskins

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=464AF269.7030402@qumranet.com \
    --to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
    --cc=davidel-AhlLAIvw+VEjIGhXcJzhZg@public.gmane.org \
    --cc=hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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.