[PATCH 0/7] printing: improve printcap update CPU usage

Andreas Schneider asn at samba.org
Wed Aug 6 03:32:32 MDT 2014

On Monday 04 August 2014 15:58:00 David Disseldorp wrote:
> This patch-set attempts to address bug 10652: Samba consumes a lot of
> CPU when re-reading printcap info.
> It does so with the following changes to the printcap update procedure:
> - Use traverse_read for printer list share updates, instead of exclusive
>   (write locked) traversals. This significantly reduces printer_list.tdb
>   lock contention.
> - As suggested by Volker, reload per-client smbd printer share
>   inventories on client enumeration, rather than immediately after every
>   printer list update.
>   - If enumeration is requested but the printer list has not changed,
>     then skip the printer share inventory update.
> - Split delete_and_reload_printers() functionality into two functions
>   such that per-client smbd processes do not perform registry.tdb
>   updates or printer unpublishing. This is now only performed by the
>   single process that performs the printer list update.
> Feedback appreciated.

FYI. I've reviewed it and provided feedback via a private chat. 

printing: only reload printer shares on client enum

This misses a few spots and David also found an issue so we have a NAK on this 
patchset and David is preparing another round.

	-- andreas

Andreas Schneider                   GPG-ID: CC014E3D
Samba Team                             asn at samba.org

More information about the samba-technical mailing list