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 381 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 499 of file atomics.h.
References AssertPointerAlignment.
Referenced by EmitProcSignalBarrier(), and test_atomic_uint64().
|
inlinestatic |
Definition at line 204 of file atomics.h.
References pg_atomic_clear_flag_impl().
Referenced by do_autovacuum(), FreeWorkerInfo(), and test_atomic_flag().
|
inlinestatic |
Definition at line 306 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 UnpinBuffer().
|
inlinestatic |
Definition at line 451 of file atomics.h.
References AssertPointerAlignment, newval, and pg_atomic_compare_exchange_u64_impl().
Referenced by test_atomic_uint64().
|
inlinestatic |
Definition at line 287 of file atomics.h.
References AssertPointerAlignment, and newval.
Referenced by ProcArrayGroupClearXid(), ProcessProcSignalBarrier(), StrategySyncStart(), test_atomic_uint32(), and TransactionGroupUpdateXidStatus().
|
inlinestatic |
Definition at line 442 of file atomics.h.
References AssertPointerAlignment, and newval.
Referenced by LWLockReleaseClearVar(), LWLockUpdateVar(), and test_atomic_uint64().
|
inlinestatic |
Definition at line 323 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(), test_atomic_spin_nest(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 462 of file atomics.h.
References AssertPointerAlignment, and pg_atomic_fetch_add_u64_impl().
Referenced by pgstat_request_entry_refs_gc(), table_block_parallelscan_nextpage(), test_atomic_spin_nest(), and test_atomic_uint64().
|
inlinestatic |
Definition at line 353 of file atomics.h.
References AssertPointerAlignment.
Referenced by LWLockDequeueSelf(), LWLockWaitListUnlock(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 481 of file atomics.h.
References AssertPointerAlignment.
Referenced by test_atomic_uint64().
|
inlinestatic |
Definition at line 367 of file atomics.h.
References AssertPointerAlignment.
Referenced by EmitProcSignalBarrier(), LockBufHdr(), LWLockAcquire(), LWLockDequeueSelf(), LWLockQueueSelf(), LWLockWaitForVar(), LWLockWaitListLock(), ResetProcSignalBarrierBits(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 490 of file atomics.h.
References AssertPointerAlignment.
Referenced by test_atomic_uint64().
|
inlinestatic |
Definition at line 338 of file atomics.h.
References Assert(), and AssertPointerAlignment.
Referenced by LWLockAcquire(), LWLockAcquireOrWait(), LWLockDequeueSelf(), LWLockWaitForVar(), pgstat_release_entry_ref(), test_atomic_spin_nest(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 471 of file atomics.h.
References Assert(), AssertPointerAlignment, and PG_INT64_MIN.
Referenced by test_atomic_spin_nest(), and test_atomic_uint64().
|
inlinestatic |
Definition at line 167 of file atomics.h.
References pg_atomic_init_flag_impl().
Referenced by AutoVacuumShmemInit(), and test_atomic_flag().
|
inlinestatic |
Definition at line 218 of file atomics.h.
References AssertPointerAlignment, pg_atomic_init_u32_impl(), and val.
Referenced by AutoVacuumShmemInit(), ExecHashJoinInitializeDSM(), InitBufferPool(), InitProcGlobal(), LWLockInitialize(), pa_setup_dsm(), parallel_vacuum_init(), pgstat_init_entry(), ProcSignalShmemInit(), SharedRecordTypmodRegistryInit(), StrategyInitialize(), tbm_prepare_shared_iterate(), test_atomic_spin_nest(), and test_atomic_uint32().
|
inlinestatic |
Definition at line 410 of file atomics.h.
References AssertPointerAlignment, pg_atomic_init_u64_impl(), and val.
Referenced by InitProcGlobal(), MarkAsPreparingGuts(), ProcSignalShmemInit(), shm_mq_create(), StatsShmemInit(), table_block_parallelscan_initialize(), test_atomic_spin_nest(), test_atomic_uint64(), WalRcvShmemInit(), XLogPrefetchShmemInit(), and XLOGShmemInit().
|
inlinestatic |
Definition at line 236 of file atomics.h.
References AssertPointerAlignment, and pg_atomic_read_u32_impl().
Referenced by autovac_recalculate_workers_for_balance(), AutoVacuumUpdateCostLimit(), BufferIsPermanent(), BufferSync(), compute_parallel_delay(), DropRelationAllLocalBuffers(), DropRelationLocalBuffers(), ExtendBufferedRelLocal(), FlushRelationBuffers(), GetLocalVictimBuffer(), GetVictimBuffer(), InitProcess(), 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_get_entry_ref_cached(), pgstat_release_entry_ref(), pgstat_write_statsfile(), PinBuffer(), PinBuffer_Locked(), PinLocalBuffer(), PrintBufferLeakWarning(), ProcArrayGroupClearXid(), ReadBuffer_common(), ReadRecentBuffer(), StrategySyncStart(), test_atomic_spin_nest(), test_atomic_uint32(), TransactionGroupUpdateXidStatus(), UnpinBuffer(), and WaitBufHdrUnlocked().
|
inlinestatic |
Definition at line 424 of file atomics.h.
References AssertPointerAlignment, and pg_atomic_read_u64_impl().
Referenced by GetLockStatusData(), GetWalRcvWriteRecPtr(), 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(), test_atomic_spin_nest(), test_atomic_uint64(), WaitForProcSignalBarrier(), and XLogPrefetchIncrement().
|
inlinestatic |
Definition at line 396 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 508 of file atomics.h.
References Assert(), AssertPointerAlignment, and PG_INT64_MIN.
Referenced by test_atomic_uint64().
|
inlinestatic |
Definition at line 180 of file atomics.h.
References pg_atomic_test_set_flag_impl().
Referenced by do_autovacuum(), and test_atomic_flag().
|
inlinestatic |
Definition at line 193 of file atomics.h.
References pg_atomic_unlocked_test_flag_impl().
Referenced by autovac_recalculate_workers_for_balance(), AutoVacuumUpdateCostLimit(), test_atomic_flag(), and VacuumUpdateCosts().
|
inlinestatic |
Definition at line 272 of file atomics.h.
References AssertPointerAlignment, pg_atomic_unlocked_write_u32_impl(), and val.
Referenced by DropRelationAllLocalBuffers(), DropRelationLocalBuffers(), ExtendBufferedRelLocal(), FlushRelationBuffers(), GetLocalVictimBuffer(), LocalBufferAlloc(), MarkLocalBufferDirty(), PinLocalBuffer(), and ReadBuffer_common().
|
inlinestatic |
Definition at line 253 of file atomics.h.
References AssertPointerAlignment, pg_atomic_write_u32_impl(), and val.
Referenced by autovac_recalculate_workers_for_balance(), parallel_vacuum_process_all_indexes(), ProcArrayGroupClearXid(), ProcSignalInit(), test_atomic_uint32(), TransactionGroupUpdateXidStatus(), and UnlockBufHdr().
|
inlinestatic |
Definition at line 433 of file atomics.h.
References AssertPointerAlignment, pg_atomic_write_u64_impl(), and val.
Referenced by CleanupProcSignalState(), InitAuxiliaryProcess(), InitProcess(), ProcessProcSignalBarrier(), ProcSignalInit(), ProcSleep(), ProcWakeup(), ResolveRecoveryConflictWithLock(), shm_mq_inc_bytes_read(), shm_mq_inc_bytes_written(), table_block_parallelscan_reinitialize(), test_atomic_uint64(), WalReceiverMain(), XLogPrefetchIncrement(), XLogPrefetchResetStats(), and XLogWalRcvWrite().