scalability of print_queue_update

jra at dp.samba.org jra at dp.samba.org
Tue Mar 11 01:36:38 GMT 2003


On Tue, Mar 11, 2003 at 12:18:55PM +1100, Martin Pool wrote:
> 
> I observed that it spends a large fraction of its time in
> print_parse_jobid, called from traverse_fn_delete, called from
> print_queue_update.  This function is I think called O(n**2) times,
> because smbd compares every job in the tdb against every job in the
> print queue.  Parsing the string is not terribly expensive, but doing
> it so many times is.
> 
> It would be better to parse the jobids just once, when the lpq output
> is read, and store them in the print_queue_struct.  I was just trying
> to work out the right time to put them in there.

Doh ! Yeah, that's a really good idea. Wish I'd thought of it :-).

It would make the stress tests of a certain person in Roseville
much harder to destroy Samba :-).

Jeremy.


More information about the samba-technical mailing list