From: Alexander Duyck <alexander.duyck@gmail.com>
To: ethan zhao <ethan.zhao@oracle.com>,
Alex Williamson <alex.williamson@redhat.com>
Cc: bhelgaas@google.com, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org, gleb@kernel.org,
pbonzini@redhat.com, kvm@vger.kernel.org, konrad.wilk@oracle.com,
boris.ostrovsky@oracle.com, david.vrabel@citrix.com,
xen-devel@lists.xenproject.org, alexander.h.duyck@intel.com,
ethan.kernel@gmail.com
Subject: Re: [PATCH 1/4] PCI: introduce helper functions for device flag operation
Date: Mon, 28 Jul 2014 20:37:43 -0700 [thread overview]
Message-ID: <53D71707.6000200@gmail.com> (raw)
In-Reply-To: <53D70A55.20805@oracle.com>
On 07/28/2014 07:43 PM, ethan zhao wrote:
>
> On 2014/7/29 10:31, Alex Williamson wrote:
>> On Tue, 2014-07-29 at 09:53 +0800, ethan zhao wrote:
>>> On 2014/7/29 5:00, Alex Williamson wrote:
>>>> On Wed, 2014-07-23 at 00:19 +0800, Ethan Zhao wrote:
>>>>> This patch introduced three helper functions to hide direct
>>>>> device flag operation.
>>>>>
>>>>> void pci_set_dev_assigned(struct pci_dev *pdev);
>>>>> void pci_set_dev_deassigned(struct pci_dev *pdev);
>>>>> bool pci_is_dev_assigned(struct pci_dev *pdev);
>>>>>
>>>>> Signed-off-by: Ethan Zhao <ethan.zhao@oracle.com>
>>>>> ---
>>>>> include/linux/pci.h | 13 +++++++++++++
>>>>> 1 files changed, 13 insertions(+), 0 deletions(-)
>>>>>
>>>>> diff --git a/include/linux/pci.h b/include/linux/pci.h
>>>>> index aab57b4..5f6f8fa 100644
>>>>> --- a/include/linux/pci.h
>>>>> +++ b/include/linux/pci.h
>>>>> @@ -1129,6 +1129,19 @@ resource_size_t
>>>>> pcibios_window_alignment(struct pci_bus *bus,
>>>>> int pci_set_vga_state(struct pci_dev *pdev, bool decode,
>>>>> unsigned int command_bits, u32 flags);
>>>>> +/* helper functions for operation of device flag */
>>>>> +static inline void pci_set_dev_assigned(struct pci_dev *pdev)
>>>>> +{
>>>>> + pdev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
>>>>> +}
>>>>> +static inline void pci_set_dev_deassigned(struct pci_dev *pdev)
>>>>> +{
>>>>> + pdev->dev_flags &= ~PCI_DEV_FLAGS_ASSIGNED;
>>>>> +}
>>>> I think pci_clear_dev_assigned() would make more sense, we're not
>>>> setting a flag named DEASSIGNED.
>>> Though it is a flag operation now, may not later, we define it
>>> because we want to hide the internal operation.
>>> 'set' to 'deassigned' status is enough. So I would like keep it.
>> I disagree, the opposite of a 'set' is a 'clear', or at least an
>> 'unset'. Using bit-ops-like terminology doesn't lock us into an
>> implementation. As written, this could just as easily be setting two
>> different variables.
> So there are two pairs of opposite:
>
> set assigned ---> unset assigned
> set assigned ---> set deassigned
>
> Here you prefer the 'verb' set /unset, and I prefer the 'adj.' assigned
> / deassigned.
>
> Do they really have different meaning or make confusion ? I don't think
> so.
>
> Thanks,
> Ethan
>
I agree with Alex W. If you are going to use the "set" name you should
probably use "clear" for the operation that undoes it. Using the term
set implies that it is setting a bit and we currently don't have a
deassigned/unassigned bit.
If that doesn't work perhaps you could use something like
get/put_assigned_device or acquire/release_assigned_device. You just
need to describe what it is you are doing. You could even consider
adding some tests to return an error if you attempt to assign a device
that is already assigned.
Thanks,
Alex D
next prev parent reply other threads:[~2014-07-29 3:37 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-22 16:19 [PATCH 0/4] Introduce device assignment flag operation helper function Ethan Zhao
2014-07-22 16:19 ` [PATCH 1/4] PCI: introduce helper functions for device flag operation Ethan Zhao
2014-07-28 21:00 ` Alex Williamson
2014-07-29 1:53 ` ethan zhao
2014-07-29 2:31 ` Alex Williamson
2014-07-29 2:43 ` ethan zhao
2014-07-29 3:37 ` Alexander Duyck [this message]
2014-07-29 3:47 ` Ethan Zhao
2014-07-22 16:19 ` [PATCH 2/4] KVM: use pci device flag operation helper functions Ethan Zhao
2014-07-24 11:09 ` Paolo Bonzini
2014-07-22 16:19 ` [PATCH 3/4] xen-pciback: use pci device flag operation helper function Ethan Zhao
2014-07-22 17:34 ` Konrad Rzeszutek Wilk
2014-07-22 16:19 ` [PATCH 4/4] PCI: use device flag operation helper function in iov.c Ethan Zhao
-- strict thread matches above, loose matches on Subject: below --
2014-08-08 5:36 [PATCH v3 0/4 resend] Introduce device assignment flag operation helper function Ethan Zhao
2014-08-08 5:36 ` [PATCH 1/4] PCI: introduce helper functions for device flag operation Ethan Zhao
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=53D71707.6000200@gmail.com \
--to=alexander.duyck@gmail.com \
--cc=alex.williamson@redhat.com \
--cc=alexander.h.duyck@intel.com \
--cc=bhelgaas@google.com \
--cc=boris.ostrovsky@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=ethan.kernel@gmail.com \
--cc=ethan.zhao@oracle.com \
--cc=gleb@kernel.org \
--cc=konrad.wilk@oracle.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=xen-devel@lists.xenproject.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).