Re: pcp updates: libpcp connection unsharing
"Frank Ch. Eigler" <[email protected]>
| Newsgroups | gmane.comp.sysutils.pcp |
|---|---|
| Message-ID | <[email protected]> |
Hi -
> Hmm - AFAICT there seems to be no evidence this change is actually
> fixing anything.
As the problems appear intermittent, and related to failures /
timeouts, evidence can only be circumstantial. Sure, I haven't seen
this particular problem reoccur over here, but that's not proof of a
complete workaround.
But that's the wrong standard anyway. Even if the particular libpcp
bugs are not fixed, other conditions -are- improved, for example
multithreading. And there, this patch produces definite improvements.
If you run the qa/4751 test case under valgrind/helgrind (like my
other posted patch does), one gets:
% valgrind --tool=helgrind src/multithread10 localhost localhost
==76747== ERROR SUMMARY: 6 errors from 4 contexts (suppressed: 35490 from 122)
before, versus
==27020== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 58443 from 53)
after.
> I'm all for code simplification, but the rationale here is not
> compelling (don't get me wrong - I wrote the comment in context.c ...)
>
> * It is the topic of some debate as to whether PMCD connection
> * sharing is of much value at all, especially considering the
> * number of subtle and nasty bugs it has caused over time. Do
> * not rely on this behaviour, it may well be removed someday.
> We need to properly understand the root cause of the problem;
Absolutely. And until this problem is diagnosed (who's going to work
on it?), let's improve upon the broken status quo. (A "too many fds"
objection is not really powerful. ulimit -n = 4000, and other things
will go bad before we reach that point anyway.)
> e.g. I wonder if its more pmwebds use of an async pmDestroyContext
> on a context that was recently timed out by libpcp (and hence
> experienced a "partial" context tear down in libpcp) [...]
What do you mean "async"? pmwebd shuts down contexts from its normal
main thread when it notices the context having gone unused for an
extended period. It does nothing unusual.
> the libpcp pmDestroyContext logic. It would not be the first time &
> that's a fairly rarely traveled code path.
It's apparently not so rare as to avoid occurrence.
> If it helps any, there is an undocumented hostspec flag
> ("exclusive") which can be used here [...]
It would need to be added to all the multiple-context pmapi clients,
including pmmgr, pmwebd, pmchart, pmie, and probably others.
- FChE
-=-=-=-=-=-=-=-=-=-=-=-
pcp mailing list
[email protected]
https://groups.io/g/pcp/messages
-=-=-
Groups.io Links:
You receive all messages sent to this group.
View/Reply Online (#14665): https://groups.io/g/pcp/message/14665
View All Messages In Topic (9): https://groups.io/g/pcp/topic/3038481
Mute This Topic: https://groups.io/mt/3038481?uid=174580
New Topic: https://groups.io/g/pcp/post
Change Your Subscription: https://groups.io/g/pcp/editsub?uid=174580
Group Home: https://groups.io/g/pcp
Contact Group Owner: [email protected]
Terms of Service: https://groups.io/static/tos
Unsubscribe: https://groups.io/g/pcp/leave/354243/563757577/xyzzy
-=-=-=-=-=-=-=-=-=-=-=-