From: Martyn Welch <martyn.welch@ge.com>
To: "Emilio G. Cota" <cota@braap.org>
Cc: "devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
Greg KH <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 5/8] staging: vme: add functions for bridge module refcounting
Date: Wed, 10 Aug 2011 08:39:07 +0100 [thread overview]
Message-ID: <4E42359B.2050105@ge.com> (raw)
In-Reply-To: <20110809191915.GB28746@flamenco.cs.columbia.edu>
On 09/08/11 20:19, Emilio G. Cota wrote:
> On Tue, Aug 09, 2011 at 10:00:09 +0100, Martyn Welch wrote:
>> So, out of the 3 bus types you have used to demonstrate that refcounts should
>> always be handled explicitly, 2 of the 3 (at least to me) appear to implicitly
>> handling refcounting.
> (snip)
>> It appears to me that both PCI and RapidIO (both buses that you have tried to
>> use to defend your position) don't seem to me to by-and-large expect drivers
>> to explicitly manage refcounting.
>
> Well if that's the impression you get, perhaps you need to
> actually read the code:
>
> In drivers/rapidio/rio-driver.c:
>
> /**
> * rio_dev_get - Increments the reference count of the RIO device structure
> *
> * @rdev: RIO device being referenced
> *
> * Each live reference to a device should be refcounted.
> *
> * Drivers for RIO devices should normally record such references in
> * their probe() methods, when they bind to a device, and release
> * them by calling rio_dev_put(), in their disconnect() methods.
> */
> struct rio_dev *rio_dev_get(struct rio_dev *rdev)
> {
> if (rdev)
> get_device(&rdev->dev);
>
> return rdev;
> }
>
> You can find a similar function (with almost the very same description)
> for usb and pci.
>
And I think you need to go and do a grep of the code and find out where those
functions are actually used, rather than blindly relying on the comment.
>> That leaves USB, which I'd argue is a very different bus to VME.
>
> From the device model's viewpoint, VME is not special in any way,
> something you don't seem to understand.
>
>>> I'm tired of your non-arguments. I'm just trying to persuade you
>>> to do what everyone else is doing, with technical reasons. To me
>>> (and to everybody else in this list, I'd imagine) refcounting
>>> should be explicit. You're going against what I perceive are
>>> well-established pratices in the kernel. I can't understand it.
>>
>> Which I have yet to see you convincingly backup. I see a
>> large amount of bluff about oppses and how buses apparently
>> deal with refcounting. I also know I have had a number of
>> commits to the VME code by a number of others (which is a
>> matter of public record, you can look at the commits in git)
>> that haven't complained about how the bus code is structured.
>
> You're in denial. Manohar's patch fixes a very obvious bug,
> which is fixed in the same way other buses deal with this.
>
Go grep the code.
>> I also know I have had a number of commits to the VME code
>> by a number of others (which is a matter of public record,
>> you can look at the commits in git) that haven't complained
>> about how the bus code is structured.
>
> The fact that other people didn't notice this bug is irrelevant.
>
Suitable bug fixes are welcome.
>> You have proposed a completely different structure. Manohar has proposed some
>> changes and I am trying to work with him to find a solution that satisfies
>> both of us.
>
> ??? I just want you to ack Manohar's patch.
>
I won't be in it's current form. I'm looking forward to seeing Manohar's
revised patch series.
Martyn
--
Martyn Welch (Principal Software Engineer) | Registered in England and
GE Intelligent Platforms | Wales (3828642) at 100
T +44(0)127322748 | Barbirolli Square, Manchester,
E martyn.welch@ge.com | M2 3AB VAT:GB 927559189
next prev parent reply other threads:[~2011-08-10 7:39 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-01 10:20 [PATCH 0/8] VME Driver Fixes Manohar Vanga
2011-08-01 10:20 ` [PATCH 1/8] staging: vme_user: change kmalloc+memset to kzalloc Manohar Vanga
2011-08-01 10:52 ` Martyn Welch
2011-08-10 7:44 ` Martyn Welch
2011-08-01 10:20 ` [PATCH 2/8] staging: vme: allow explicit assignment of bus numbers Manohar Vanga
2011-08-01 11:10 ` Dan Carpenter
2011-08-01 12:12 ` Manohar Vanga
2011-08-01 13:06 ` Martyn Welch
2011-08-01 14:31 ` Manohar Vanga
2011-08-01 15:50 ` Martyn Welch
2011-08-02 11:54 ` Manohar Vanga
2011-08-02 14:57 ` Martyn Welch
2011-08-03 8:54 ` Martyn Welch
2011-08-04 9:16 ` Manohar Vanga
2011-08-01 10:20 ` [PATCH 3/8] staging: vme: make [alloc|free]_consistent bridge specific Manohar Vanga
2011-08-01 11:10 ` Dan Carpenter
2011-08-01 12:24 ` Manohar Vanga
2011-08-01 13:41 ` Martyn Welch
2011-08-01 13:40 ` Manohar Vanga
2011-08-01 14:00 ` Manohar Vanga
2011-08-01 14:05 ` Martyn Welch
2011-08-01 10:20 ` [PATCH 4/8] staging: vme: keep track of registered buses Manohar Vanga
2011-08-01 10:20 ` [PATCH 5/8] staging: vme: add functions for bridge module refcounting Manohar Vanga
2011-08-03 14:04 ` Martyn Welch
2011-08-03 14:06 ` Manohar Vanga
2011-08-03 15:23 ` Emilio G. Cota
2011-08-04 7:23 ` Martyn Welch
2011-08-04 16:34 ` Emilio G. Cota
2011-08-05 7:45 ` Martyn Welch
2011-08-05 9:04 ` Manohar Vanga
2011-08-05 9:24 ` Martyn Welch
2011-08-05 17:47 ` Emilio G. Cota
2011-08-08 8:01 ` Martyn Welch
2011-08-08 9:14 ` Emilio G. Cota
2011-08-08 9:42 ` Martyn Welch
[not found] ` <4E3FABDA.8080204@ge.com>
[not found] ` <20110808101140.GA21300@flamenco.cs.columbia.edu>
2011-08-08 11:06 ` Martyn Welch
2011-08-08 17:22 ` Emilio G. Cota
2011-08-08 18:04 ` Greg KH
2011-08-09 9:00 ` Martyn Welch
2011-08-09 19:19 ` Emilio G. Cota
2011-08-10 7:39 ` Martyn Welch [this message]
2011-08-10 9:15 ` Emilio G. Cota
2011-08-10 9:50 ` Martyn Welch
2011-08-10 18:35 ` Emilio G. Cota
2011-08-09 13:24 ` Manohar Vanga
2011-08-09 14:26 ` Martyn Welch
2011-08-09 14:35 ` Manohar Vanga
2011-08-09 15:05 ` Martyn Welch
2011-08-09 18:49 ` Emilio G. Cota
2011-08-10 6:52 ` Manohar Vanga
2011-08-01 10:20 ` [PATCH 6/8] staging: vme: rename *_slot_get to *_get_slot Manohar Vanga
2011-08-01 12:29 ` Martyn Welch
2011-08-01 12:31 ` Manohar Vanga
2011-08-09 15:18 ` Martyn Welch
2011-08-09 15:25 ` Greg KH
2011-08-09 15:32 ` Manohar Vanga
2011-08-01 10:20 ` [PATCH 7/8] staging: vme: add struct vme_dev for VME devices Manohar Vanga
2011-08-09 15:19 ` Martyn Welch
2011-08-01 10:20 ` [PATCH 8/8] staging: vme: make match() driver specific to improve non-VME64x support Manohar Vanga
2011-08-03 9:16 ` Martyn Welch
2011-08-03 12:18 ` Manohar Vanga
2011-08-01 14:29 ` [PATCH 0/8] VME Driver Fixes Martyn Welch
2011-08-01 14:32 ` Manohar Vanga
2011-08-23 22:07 ` Greg KH
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=4E42359B.2050105@ge.com \
--to=martyn.welch@ge.com \
--cc=cota@braap.org \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.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