Messages in this thread | | | Date | Fri, 26 Jan 2007 14:51:26 -0500 | From | Kristian Høgsberg <> | 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@redhat.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |