On 20/04/21 15:25 +0100, Jonathan Wakely wrote:
On 20/04/21 12:41 +0100, Jonathan Wakely wrote:
On 20/04/21 12:04 +0100, Jonathan Wakely wrote:
On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
From: Thomas Rodgers
This patch address jwakely's feedback from 2021-04-15.
This is a substantial re
On 20/04/21 12:41 +0100, Jonathan Wakely wrote:
On 20/04/21 12:04 +0100, Jonathan Wakely wrote:
On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
From: Thomas Rodgers
This patch address jwakely's feedback from 2021-04-15.
This is a substantial rewrite of the atomic wait/notify (and timed wait
c
On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
+#if __cpp_lib_atomic_wait
+ struct __atomic_semaphore
+ {
+static constexpr ptrdiff_t _S_max = __gnu_cxx::__int_traits::__max;
+explicit __atomic_semaphore(__detail::__platform_wait_t __count) noexcept
+ : _M_counter(__count)
{
-
On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
+struct __timed_backoff_spin_policy
+{
+ __wait_clock_t::time_point _M_deadline;
+ __wait_clock_t::time_point _M_t0;
+
+ template
+ __timed_backoff_spin_policy(chrono::time_point<_Clock, _Dur>
+
On 20/04/21 14:20 +0100, Jonathan Wakely wrote:
On 20/04/21 13:02 +0100, Jonathan Wakely wrote:
On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
+ template
+ static bool
+ _S_do_spin_v(__platform_wait_t* __addr,
+ const _Up& __old, _ValFn __vfn,
+
On 20/04/21 13:02 +0100, Jonathan Wakely wrote:
On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
+ template
+ static bool
+ _S_do_spin_v(__platform_wait_t* __addr,
+ const _Up& __old, _ValFn __vfn,
+ __platform_wait_t& __val,
+
On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
+ template
+ static bool
+ _S_do_spin_v(__platform_wait_t* __addr,
+ const _Up& __old, _ValFn __vfn,
+ __platform_wait_t& __val,
+ _Spin __spin = _Spin{ })
+
On 20/04/21 12:04 +0100, Jonathan Wakely wrote:
On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
From: Thomas Rodgers
This patch address jwakely's feedback from 2021-04-15.
This is a substantial rewrite of the atomic wait/notify (and timed wait
counterparts) implementation.
The previous __plat
On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
From: Thomas Rodgers
This patch address jwakely's feedback from 2021-04-15.
This is a substantial rewrite of the atomic wait/notify (and timed wait
counterparts) implementation.
The previous __platform_wait looped on EINTR however this behavior i
On 19/04/21 12:23 -0700, Thomas Rodgers wrote:
namespace __detail
{
-using __platform_wait_t = int;
-
-constexpr auto __atomic_spin_count_1 = 16;
-constexpr auto __atomic_spin_count_2 = 12;
-
-template
- inline constexpr bool __platform_wait_uses_type
#ifdef _GLIBCXX_HAVE
From: Thomas Rodgers
This patch address jwakely's feedback from 2021-04-15.
This is a substantial rewrite of the atomic wait/notify (and timed wait
counterparts) implementation.
The previous __platform_wait looped on EINTR however this behavior is
not required by the standard. A new _GLIBCXX_HA
On 23/03/21 12:00 -0700, Thomas Rodgers wrote:
From: Thomas Rodgers
* This patch addresses jwakely's previous feedback.
* This patch also subsumes thiago.macie...@intel.com 's 'Uncontroversial
If this part is intended as part of the commit msg let's put Thiago's
name rather than email address
From: Thomas Rodgers
* This patch addresses jwakely's previous feedback.
* This patch also subsumes thiago.macie...@intel.com 's 'Uncontroversial
improvements to C++20 wait-related implementation'.
* This patch also changes the atomic semaphore implementation to avoid
checking for any waiters
On 23/02/21 13:57 -0800, Thomas Rodgers wrote:
From: Thomas Rodgers
* This revises the previous version to fix std::__condvar::wait_until() usage.
This is a substantial rewrite of the atomic wait/notify (and timed wait
counterparts) implementation.
The previous __platform_wait looped on EINTR
On 23/02/21 13:57 -0800, Thomas Rodgers wrote:
diff --git a/libstdc++-v3/include/bits/atomic_wait.h
b/libstdc++-v3/include/bits/atomic_wait.h
index 1a0f0943ebd..fa83ef6c231 100644
--- a/libstdc++-v3/include/bits/atomic_wait.h
+++ b/libstdc++-v3/include/bits/atomic_wait.h
@@ -39,17 +39,16 @@
#inc
From: Thomas Rodgers
* This revises the previous version to fix std::__condvar::wait_until() usage.
This is a substantial rewrite of the atomic wait/notify (and timed wait
counterparts) implementation.
The previous __platform_wait looped on EINTR however this behavior is
not required by the sta
From: Thomas Rodgers
This is a substantial rewrite of the atomic wait/notify (and timed wait
counterparts) implementation.
The previous __platform_wait looped on EINTR however this behavior is
not required by the standard. A new _GLIBCXX_HAVE_PLATFORM_WAIT macro
now controls whether wait/notify
17 matches
Mail list logo