[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45BA5BBE.7060709@redhat.com>
Date: Fri, 26 Jan 2007 14:51:26 -0500
From: Kristian Høgsberg <krh@...hat.com>
To: Greg KH <greg@...ah.com>
CC: Pete Zaitcev <zaitcev@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: Juju
Greg KH wrote:
> On Thu, Jan 25, 2007 at 03:38:24PM -0800, Pete Zaitcev wrote:
>> On Thu, 25 Jan 2007 16:18:35 -0500, Kristian H??gsberg <krh@...hat.com> wrote:
>>
>>>> I see that ORBs are always allocated with a call (like SKB) and not
>>>> embedded into drivers (like URBs). It's great, keep it up. Also,
>>>> never allow drivers to pass DMA-mapped buffers into fw_send_request
>>>> and friends. We made both of these mistakes in USB, and it hurts.
>>> Oh, the ORBs are SBP-2 specific data structures, struct fw_transaction is
>>> probably what corresponds to USB URBs. This struct is defined in
>>> fw-transaction.h and is available for embedding into other structs, such as
>>> struct sbp2_orb in fw-sbp2. Is that what you're suggesting against, and what
>>> are the problems with this approach?
>> Fortunately we do not care about out-of-tree drivers, which are most
>> affected, you may even call it a feature ^_^. My main problem is,
>> we can't refcount URBs, so usbmon can't tap them and must copy.
>
> urbs are reference counted, it's just that not all drivers who create
> them use them that way :(
>
> Perhaps you can inforce this in the new codebase...
It's a small change to make the fw_transaction struct opaque and ref-counted,
and it's definitely still doable. But the nice thing about embedding the
struct is that you have one memory allocation failure path less to worry
about. And I haven't yet, and don't expect to see a use case that will need
ref-counted struct fw_transaction, the ownership is always clearly defined.
But I can go either way on this and if there is a good reason to ref count
them it's a pretty small change.
cheers,
Kristian
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists