[PATCH 0/7] printing: improve printcap update CPU usage
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 Schneider GPG-ID: CC014E3D
Samba Team asn at samba.org
More information about the samba-technical