All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: Sheng Yang <sheng@linux.intel.com>
Cc: Avi Kivity <avi@redhat.com>, kvm@vger.kernel.org
Subject: Re: [PATCH 4/8] KVM: Add a route layer to convert MSI message to GSI
Date: Sat, 27 Dec 2008 17:27:25 -0200	[thread overview]
Message-ID: <20081227192725.GB3715@amt.cnet> (raw)
In-Reply-To: <200812250959.46479.sheng@linux.intel.com>

On Thu, Dec 25, 2008 at 09:59:45AM +0800, Sheng Yang wrote:
> > > > +	found_msg = kvm_find_gsi_msg(kvm, gsi_msg->gsi);
> > > > +	if (found_msg)
> > > > +		*found_msg = *gsi_msg;
> > > > +	else {
> > > > +		gsi = find_first_zero_bit(kvm->gsi_msg_bitmap, KVM_NR_GSI_MSG);
> > > > +		if (gsi >= KVM_NR_GSI_MSG) {
> > > > +			r = -EFAULT;
> > >
> > > ENOSPC?
> >
> > OK. (Though I am confusing with all kinds of ERR all the time, ENOSPC show
> > "No space left in the device"... And last time somebody told me "ENOTTY"
> > means something is not available...)

Not sure what the most appropriate error is here.

> >
> > > > +static int kvm_vm_ioctl_request_gsi_msg(struct kvm *kvm,
> > > > +					struct kvm_assigned_gsi_msg *agsi_msg)
> > > > +{
> > > > +	struct kvm_gsi_msg gsi_msg;
> > > > +	int r;
> > > > +
> > > > +	gsi_msg.gsi = agsi_msg->gsi;
> > > > +	gsi_msg.msg.address_lo = agsi_msg->msg.addr_lo;
> > > > +	gsi_msg.msg.address_hi = agsi_msg->msg.addr_hi;
> > > > +	gsi_msg.msg.data = agsi_msg->msg.data;
> > > > +
> > > > +	r = kvm_update_gsi_msg(kvm, &gsi_msg);
> > > > +	if (r == 0)
> > > > +		agsi_msg->gsi = gsi_msg.gsi;
> > > > +	return r;
> > > > +}
> > >
> > > Can't see the purpose of this function. Why preserve the user-passed GSI
> > > value in case of failure? It will return an error anyway...
> >
> Oh, we preserved the user-passed GSI in case of userspace want to update one 
> entry. :)

The structure is not copied back to userspace in case of failure anyway:

+           r = kvm_vm_ioctl_request_gsi_msg(kvm, &agsi_msg);
+               if (r)
+                       goto out;
+               r = -EFAULT;
+           if (copy_to_user(argp, &agsi_msg, sizeof agsi_msg))
+                   goto out;

So I don't see the point of doing this?


  reply	other threads:[~2008-12-27 19:27 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-23  8:00 [PATCH 0/8] MSI enhancement Sheng Yang
2008-12-23  8:00 ` [PATCH 1/8] KVM: Add MSI_ACTION flag for assigned irq Sheng Yang
2008-12-23 17:32   ` Marcelo Tosatti
2008-12-24  2:24     ` Sheng Yang
2008-12-27 19:24       ` Marcelo Tosatti
2008-12-23  8:00 ` [PATCH 2/8] KVM: Use kvm_free_assigned_irq() for free irq Sheng Yang
2008-12-23 15:18   ` Marcelo Tosatti
2008-12-25  8:42     ` Sheng Yang
2008-12-23  8:00 ` [PATCH 3/8] KVM: Add support to disable MSI for assigned device Sheng Yang
2008-12-23  8:00 ` [PATCH 4/8] KVM: Add a route layer to convert MSI message to GSI Sheng Yang
2008-12-23 17:55   ` Marcelo Tosatti
2008-12-24  2:31     ` Sheng Yang
2008-12-25  1:59       ` Sheng Yang
2008-12-27 19:27         ` Marcelo Tosatti [this message]
2008-12-28 11:14           ` Sheng Yang
2008-12-23  8:00 ` [PATCH 5/8] KVM: Using gsi_msg mapping for MSI device assignment Sheng Yang
2008-12-23 18:05   ` Marcelo Tosatti
2008-12-24  2:41     ` Sheng Yang
2008-12-23  8:00 ` [PATCH 6/8] KVM: Improve MSI dispatch function Sheng Yang
2008-12-23  8:00 ` [PATCH 7/8] KVM: Using ioapic_irqchip() macro for kvm_set_irq Sheng Yang
2008-12-23  8:00 ` [PATCH 8/8] KVM: Merge MSI handling to kvm_set_irq Sheng Yang
2008-12-23 18:10   ` Marcelo Tosatti
2008-12-24  2:44     ` Sheng Yang

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=20081227192725.GB3715@amt.cnet \
    --to=mtosatti@redhat.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=sheng@linux.intel.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.