Re: The anchor patch critique

Oliver Neukum <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
Am Samstag, 9. Juni 2007 schrieb Pete Zaitcev:
> There's something you said in this thread which I would like to address.
> 
> > > So, you add 24 bytes to all URBs, which are... not very thin, to be sure.
> > > Last time I counted they were 152 bytes apiece. Still, a 15% increase.
> > > I know you're a good algorithmist, are you sure you don't have any ideas?
> > 
> > I figured the URB will end up in the same buckets for SLAB anyway due to
> > granularity.
> 
> This is true, except for legacy cases (such as ub), where URBs are
> embedded into other objects. This relies on them not being ISO and
> thus being embeddable. But majority is allocated dynamically and all
> of them will be eventually. So, what do you think about moving the
> ISO descriptors out of line, and then allocating URBs out of a slab?
> Such a move would save tons on external fragmentation, enough for
> anchors and more.

I consider that premature. Currently we are allocating the structures
private to the HCDs in usb_submit_urb(). That's wrong. Changing that
is incompatible with allocating all URBs from the same slab. It would have
to be specific to the HCD or even several pools per HCD.

> > Why do you care that much about the size of struct urb? There are a few
> > hundred of these structures at most at any given time. I think we gain more
> > in memory usage if we make using URBs easier, shrinking drivers' code.
> 
> Firstly, we certainly are reasoning without data here. Your hunch that
> we'll win anything in driver code is not any better substantiated than

Marcel is rewriting hci_usb. We'll learn from that.

> my hunch that URBs are too big and cause memory pressure in unfortunate
> moments (otherwise, why does usb-storage continue to lock up with
> write throttling issues, but ub works in same tests).

Why would the size of the URB matter? If we overflow the slab bucket, at
least a page will be allocated in any case.

> So, another reason why I like the slab is because it tells us how many
> are around.

True, but also available with an atomic counter exported through sysfs,
if you need it for debugging.

	Regards
		Oliver

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.