PostgreSQL Source Code git master
|
Go to the source code of this file.
Macros | |
#define | INSIDE_ATOMICS_H |
#define | pg_compiler_barrier() pg_compiler_barrier_impl() |
#define | pg_memory_barrier() pg_memory_barrier_impl() |
#define | pg_read_barrier() pg_read_barrier_impl() |
#define | pg_write_barrier() pg_write_barrier_impl() |
#define | pg_spin_delay() pg_spin_delay_impl() |
#define pg_compiler_barrier | ( | ) | pg_compiler_barrier_impl() |
#define pg_memory_barrier | ( | ) | pg_memory_barrier_impl() |
#define pg_read_barrier | ( | ) | pg_read_barrier_impl() |
#define pg_spin_delay | ( | ) | pg_spin_delay_impl() |
#define pg_write_barrier | ( | ) | pg_write_barrier_impl() |
|
inlinestatic |
Definition at line 424 of file atomics.h.
References AssertPointerAlignment.
Referenced by apply_handle_stream_abort(), apply_handle_stream_start(), compute_parallel_delay(), parallel_vacuum_process_safe_indexes(), parallel_vacuum_process_unsafe_indexes(), tbm_prepare_shared_iterate(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 559 of file atomics.h.
References AssertPointerAlignment.
Referenced by EmitProcSignalBarrier(), and test_atomic_uint64().
|
inlinestatic |
Definition at line 207 of file atomics.h.
Referenced by do_autovacuum(), FreeWorkerInfo(), and test_atomic_flag().
|
inlinestatic |
Definition at line 349 of file atomics.h.
References AssertPointerAlignment, newval, and pg_atomic_compare_exchange_u32_impl().
Referenced by ClockSweepTick(), LWLockAttemptLock(), LWLockWakeup(), MarkBufferDirty(), PinBuffer(), ProcArrayGroupClearXid(), test_atomic_uint32(), TransactionGroupUpdateXidStatus(), and UnpinBufferNoOwner().
|
inlinestatic |
Definition at line 512 of file atomics.h.
References AssertPointerAlignment, newval, and pg_atomic_compare_exchange_u64_impl().
Referenced by pg_atomic_monotonic_advance_u64(), and test_atomic_uint64().
|
inlinestatic |
Definition at line 330 of file atomics.h.
References AssertPointerAlignment, newval, and pg_atomic_exchange_u32_impl().
Referenced by pgarch_readyXlog(), ProcArrayGroupClearXid(), ProcessProcSignalBarrier(), StrategySyncStart(), test_atomic_uint32(), and TransactionGroupUpdateXidStatus().
|
inlinestatic |
Definition at line 503 of file atomics.h.
References AssertPointerAlignment, and newval.
Referenced by LWLockReleaseClearVar(), LWLockUpdateVar(), and test_atomic_uint64().
|
inlinestatic |
Definition at line 366 of file atomics.h.
References AssertPointerAlignment, and pg_atomic_fetch_add_u32_impl().
Referenced by ClockSweepTick(), ExecParallelHashJoinNewBatch(), find_or_make_matching_shared_tupledesc(), LWLockQueueSelf(), parallel_vacuum_process_safe_indexes(), pgstat_acquire_entry_ref(), pgstat_reinit_entry(), StrategyGetBuffer(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 522 of file atomics.h.
References AssertPointerAlignment, and pg_atomic_fetch_add_u64_impl().
Referenced by GetFakeLSNForUnloggedRel(), pgstat_request_entry_refs_gc(), table_block_parallelscan_nextpage(), and test_atomic_uint64().
|
inlinestatic |
Definition at line 396 of file atomics.h.
References AssertPointerAlignment.
Referenced by LWLockDequeueSelf(), LWLockWaitListUnlock(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 541 of file atomics.h.
References AssertPointerAlignment.
Referenced by test_atomic_uint64().
|
inlinestatic |
Definition at line 410 of file atomics.h.
References AssertPointerAlignment.
Referenced by EmitProcSignalBarrier(), LockBufHdr(), LWLockAcquire(), LWLockDequeueSelf(), LWLockQueueSelf(), LWLockWaitForVar(), LWLockWaitListLock(), ResetProcSignalBarrierBits(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 550 of file atomics.h.
References AssertPointerAlignment.
Referenced by test_atomic_uint64().
|
inlinestatic |
Definition at line 381 of file atomics.h.
References Assert, and AssertPointerAlignment.
Referenced by LWLockAcquire(), LWLockAcquireOrWait(), LWLockDequeueSelf(), LWLockWaitForVar(), pgstat_release_entry_ref(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 531 of file atomics.h.
References Assert, AssertPointerAlignment, and PG_INT64_MIN.
Referenced by test_atomic_uint64().
|
inlinestatic |
Definition at line 170 of file atomics.h.
Referenced by AutoVacuumShmemInit(), and test_atomic_flag().
|
inlinestatic |
Definition at line 221 of file atomics.h.
References AssertPointerAlignment, pg_atomic_init_u32_impl(), and val.
Referenced by AutoVacuumShmemInit(), BufferManagerShmemInit(), ExecHashJoinInitializeDSM(), InitProcGlobal(), InjectionPointShmemInit(), LWLockInitialize(), pa_setup_dsm(), parallel_vacuum_init(), PgArchShmemInit(), pgstat_init_entry(), ProcSignalShmemInit(), SharedRecordTypmodRegistryInit(), StrategyInitialize(), tbm_prepare_shared_iterate(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 453 of file atomics.h.
References AssertPointerAlignment, pg_atomic_init_u64_impl(), and val.
Referenced by InitProcGlobal(), InjectionPointShmemInit(), MarkAsPreparingGuts(), ProcSignalShmemInit(), shm_mq_create(), SimpleLruInit(), StatsShmemInit(), table_block_parallelscan_initialize(), test_atomic_uint64(), WalRcvShmemInit(), XLogPrefetchShmemInit(), and XLOGShmemInit().
|
inlinestatic |
Definition at line 585 of file atomics.h.
References AssertPointerAlignment, pg_atomic_compare_exchange_u64(), pg_atomic_read_u64_impl(), and pg_memory_barrier.
Referenced by WaitXLogInsertionsToFinish().
|
inlinestatic |
Definition at line 258 of file atomics.h.
References AssertPointerAlignment.
|
inlinestatic |
Definition at line 476 of file atomics.h.
References AssertPointerAlignment.
Referenced by CreateCheckPoint(), and WaitXLogInsertionsToFinish().
|
inlinestatic |
Definition at line 239 of file atomics.h.
References AssertPointerAlignment, and pg_atomic_read_u32_impl().
Referenced by autovac_recalculate_workers_for_balance(), AutoVacuumUpdateCostLimit(), BufferIsDirty(), BufferIsPermanent(), BufferSync(), CleanupProcSignalState(), compute_parallel_delay(), DebugPrintBufferRefcount(), DropRelationAllLocalBuffers(), DropRelationLocalBuffers(), EmitProcSignalBarrier(), ExtendBufferedRelLocal(), FlushRelationBuffers(), GetLocalVictimBuffer(), GetVictimBuffer(), InitProcess(), InjectionPointAttach(), InjectionPointDetach(), InvalidateBuffer(), InvalidateVictimBuffer(), LocalBufferAlloc(), LWLockAttemptLock(), LWLockConflictsWithVar(), LWLockDequeueSelf(), LWLockUpdateVar(), LWLockWaitListLock(), LWLockWakeup(), MarkBufferDirty(), MarkBufferDirtyHint(), MarkLocalBufferDirty(), pa_decr_and_wait_stream_block(), parallel_vacuum_process_all_indexes(), pg_buffercache_summary(), pgstat_acquire_entry_ref(), pgstat_build_snapshot(), pgstat_drop_entry_internal(), pgstat_gc_entry_refs(), pgstat_get_entry_ref_cached(), pgstat_release_entry_ref(), pgstat_write_statsfile(), PinBuffer(), PinBuffer_Locked(), PinLocalBuffer(), ProcArrayGroupClearXid(), ProcSignalInit(), ReadRecentBuffer(), SendCancelRequest(), SendProcSignal(), StrategySyncStart(), test_atomic_uint32(), TransactionGroupUpdateXidStatus(), UnpinBufferNoOwner(), WaitBufHdrUnlocked(), WaitForProcSignalBarrier(), WaitReadBuffers(), WaitReadBuffersCanStartIO(), and ZeroAndLockBuffer().
|
inlinestatic |
Definition at line 467 of file atomics.h.
References AssertPointerAlignment, and pg_atomic_read_u64_impl().
Referenced by AdvanceXLInsertBuffer(), GetLockStatusData(), GetWalRcvWriteRecPtr(), GetXLogBuffer(), InjectionPointAttach(), InjectionPointDetach(), LWLockConflictsWithVar(), pg_stat_get_recovery_prefetch(), pg_stat_get_wal_receiver(), pgstat_gc_entry_refs(), pgstat_need_entry_refs_gc(), pgstat_setup_shared_refs(), ProcessProcSignalBarrier(), ProcSignalInit(), ResolveRecoveryConflictWithLock(), shm_mq_inc_bytes_read(), shm_mq_inc_bytes_written(), shm_mq_receive_bytes(), shm_mq_send_bytes(), SimpleLruTruncate(), SlruSelectLRUPage(), test_atomic_uint64(), WaitForProcSignalBarrier(), WALReadFromBuffers(), XLogPrefetchIncrement(), and XLogWrite().
|
inlinestatic |
Definition at line 439 of file atomics.h.
References Assert, and AssertPointerAlignment.
Referenced by compute_parallel_delay(), LWLockRelease(), pa_decr_and_wait_stream_block(), parallel_vacuum_process_safe_indexes(), parallel_vacuum_process_unsafe_indexes(), pgstat_drop_entry_internal(), tbm_free_shared_area(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 568 of file atomics.h.
References Assert, AssertPointerAlignment, and PG_INT64_MIN.
Referenced by test_atomic_uint64().
|
inlinestatic |
Definition at line 183 of file atomics.h.
Referenced by do_autovacuum(), and test_atomic_flag().
|
inlinestatic |
Definition at line 196 of file atomics.h.
Referenced by autovac_recalculate_workers_for_balance(), AutoVacuumUpdateCostLimit(), test_atomic_flag(), and VacuumUpdateCosts().
|
inlinestatic |
Definition at line 295 of file atomics.h.
References AssertPointerAlignment, pg_atomic_unlocked_write_u32_impl(), and val.
Referenced by DropRelationAllLocalBuffers(), DropRelationLocalBuffers(), ExtendBufferedRelLocal(), FlushRelationBuffers(), GetLocalVictimBuffer(), LocalBufferAlloc(), MarkLocalBufferDirty(), PinLocalBuffer(), WaitReadBuffers(), and ZeroAndLockBuffer().
|
inlinestatic |
Definition at line 315 of file atomics.h.
References AssertPointerAlignment, and val.
Referenced by PgArchForceDirScan().
|
inlinestatic |
Definition at line 494 of file atomics.h.
References AssertPointerAlignment, and val.
Referenced by StartupXLOG().
|
inlinestatic |
Definition at line 276 of file atomics.h.
References AssertPointerAlignment, pg_atomic_write_u32_impl(), and val.
Referenced by autovac_recalculate_workers_for_balance(), CleanupProcSignalState(), InjectionPointAttach(), InjectionPointDetach(), parallel_vacuum_process_all_indexes(), ProcArrayGroupClearXid(), ProcSignalInit(), test_atomic_uint32(), TransactionGroupUpdateXidStatus(), and UnlockBufHdr().
|
inlinestatic |
Definition at line 485 of file atomics.h.
References AssertPointerAlignment, pg_atomic_write_u64_impl(), and val.
Referenced by ActivateCommitTs(), AdvanceXLInsertBuffer(), CleanupProcSignalState(), commit_ts_redo(), InitAuxiliaryProcess(), InitProcess(), InjectionPointAttach(), InjectionPointDetach(), multixact_redo(), ProcessProcSignalBarrier(), ProcSignalInit(), ProcSleep(), ProcWakeup(), ResolveRecoveryConflictWithLock(), shm_mq_inc_bytes_read(), shm_mq_inc_bytes_written(), SimpleLruZeroPage(), StartupCLOG(), StartupMultiXact(), StartupXLOG(), table_block_parallelscan_reinitialize(), test_atomic_uint64(), TrimMultiXact(), WalReceiverMain(), XLogPrefetchIncrement(), XLogPrefetchResetStats(), XLogWalRcvWrite(), and XLogWrite().