Hi!

I don’t really have an answer for your question, but POSIX.4 (real time) 
suggests to lock memory that is involved in time-critical processes, or the 
other way round: It makes little sense to use real-time scheduling when the 
process to schedule may be paged out.
Also I think that Linux does not page out shared memory early, so you may have 
some memory pressure on your system.
Several years ago I played with cgroups and restricting the RAM a process may 
use, and it worked. Maybe postgres can be restricted in RAM use also (if that 
causes the problem).
For RAIDs: We were using FibreChannel based MD-RAID1, using disks located in 
two buildings, and the MD-RAID preferred reading the closer disk, even though 
the difference in delay was tiny (a few microseconds). So I’m kind of surprised 
that your RAID delays reads; are you sure that aren’t writes?

Kind regards,
Ulrich

From: Users <[email protected]> On Behalf Of Brian Cosgrove
Sent: Monday, August 10, 2026 10:03 PM
To: [email protected]
Subject: [EXT] [EXT] [ClusterLabs] Can stalled libqb SHM I/O delay Pacemaker's 
operation timer?


Sicherheits-Hinweis: Diese E-Mail wurde von einer Person außerhalb des UKR 
gesendet. Seien Sie vorsichtig vor gefälschten Absendern, wenn Sie auf Links 
klicken, Anhänge öffnen oder weitere Aktionen ausführen, bevor Sie die Echtheit 
überprüft haben.
Could Pacemaker’s controller block on a stalled block-device read while 
faulting in a swapped-
out libqb SHM page, before it receives the executor reply and starts the 
operation timer?

Would that behavior be expected?

I'm investigating a lockup where the PostgreSQL primary and Pacemaker DC were 
on the same node when a degraded RAID array caused reads to appear unbounded 
without returning errors. Pacemaker did not stop the PostgreSQL resource or 
promote a standby. crm_mon showed the DC as standby (with active resources).

Testing that simulates the incident reproduces that production Pacemaker 
behavior. In that setup a libqb SHM page is swapped out and controller blocks 
in shmem_fault() before the executor reply and operation timer. The surviving 
production logs (such as the crm_mon output) match. Corosync membership 
remained intact in both the incident and the test.


--
Brian Cosgrove

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/

Reply via email to