[PATCH] Trim down remove_child_pid()

Ralph Boehme rb at sernet.de
Wed Nov 11 12:15:53 UTC 2015


On Wed, Nov 11, 2015 at 08:37:52AM +0100, Volker Lendecke wrote:
> On Tue, Nov 10, 2015 at 07:00:34PM +0100, Ralph Boehme wrote:
> > message_send_all() in cleanupd may be more expensive then
> > messaging_send_to_children() in the parent, but the latter is possibly
> > still significant work while the former takes place in a mostly idle
> > process.
> 
> A longer-term goal of mine is to get rid of message_send_all(). That
> call is the only reason why we still have serverid.tdb, which had been
> a major performance bottleneck in the past. And without message_send_all
> callers we can get rid of serverid.tdb completely.
> 
> The other option I thought of is to assemble the list of children in the
> parent and forward that to the cleanupd. For that, it might be worthwhile
> to change the children linked list into an array that we can send in
> one chunk down.

thanks for explaining!

As discussed on the phone, there's another issue: message_send_all()
goes to all smbd processes in a cluster, while
messaging_send_to_children() is local only.

We could use ctdbd_messaging_send_iov() with CTDB_BROADCAST_VNNMAP and
MSG_SRVID_SAMBA instead.

-Ralph

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de,mailto:kontakt@sernet.de



More information about the samba-technical mailing list