This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] libstdc++/24469


On 3/16/06, Paolo Carlini <pcarlini@suse.de> wrote:
> Richard Guenther wrote:
>
> >>I have also to study again this long standing issue vs the brancd new
> >>performance improvements contributed by Boreham and Bridges, but in
> >>fact, in the ""old"" code the issue was rather simple: _M_used, and only _M_used, could be changed simultaneously by different threads. Thus, a possible fix could involve using __exchange_and_add/__atomic_add on _M_used.
> >>
> >>
> >I do not see this concurrent updating of _M_used.
> >
> Did you study the PR? Sorry, Richard, but this "assault" of yours in the
> occasion of the patch, with no previous discussions and participation to
> the development of the code, in some areas definitely rather subtle,
> seems to me rather weird and naive.

Sorry - I just wondered about the code in question seeing the patch
from Benjamin,
seeing volatile qualifiers and adjacant atomic counter
increments/decrements.  Also,
yes, I did study the PR in question (24469), but even from reading
http://gcc.gnu.org/ml/libstdc++/2004-07/msg00095.html I cannot reproduce the
failure in question by examining the source (I cannot find users of _M_thread_id
in either mt_allocator.cc or mt_allocator.h apart from two setters on
the v7 branch).

Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]