<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 25 Sep 2018, at 11:27, Olivier Hanesse <<a href="mailto:olivier.hanesse@gmail.com" class="">olivier.hanesse@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hello Carlos, <div class=""><br class=""></div><div class="">Thanks for your answer. About thread contention during invalidation, can you be more specific ?</div><div class="">At what scale can we encounter such contentions ?</div><div class="">Hundreds of objects linked to a key ? or Thousand ? ten thousand ?</div></div></div></blockquote><div><br class=""></div></div><div class="">Hi Olivier,</div><div class=""><br class=""></div><div class="">Basically I'm talking about thread contention generated by this loop [1]: when a key is purged, if that key is linked to a huge amount of objects, the lock is going to be held during a noticeable amount of time. That will block other threads executing callbacks [2] in order to to add / remove object to / from the xkey state.</div><div class=""><br class=""></div><div class="">What would be too many objects linked to a single key? To be honest, I don't know. For an answer we'll need to invoke the VMOD authors :)</div><div class=""><br class=""></div><div class="">[1] <a href="https://github.com/varnish/varnish-modules/blob/0.15.0/src/vmod_xkey.c#L531-L579" class="">https://github.com/varnish/varnish-modules/blob/0.15.0/src/vmod_xkey.c#L531-L579</a></div><div class="">[2] <a href="https://github.com/varnish/varnish-modules/blob/0.15.0/src/vmod_xkey.c#L423-L465" class="">https://github.com/varnish/varnish-modules/blob/0.15.0/src/vmod_xkey.c#L423-L465</a></div><div class=""><br class=""></div><div class="">Best,</div><br class=""><div class="">
--<br class="">Carlos Abalde</div>
<br class=""></body></html>