PostgreSQL Source Code git master
|
#include "postgres.h"
#include "miscadmin.h"
#include "storage/aio.h"
#include "storage/aio_internal.h"
#include "storage/aio_subsys.h"
#include "storage/bufmgr.h"
#include "storage/io_worker.h"
#include "storage/ipc.h"
#include "storage/proc.h"
#include "storage/shmem.h"
#include "utils/guc.h"
Go to the source code of this file.
Functions | |
static Size | AioCtlShmemSize (void) |
static uint32 | AioProcs (void) |
static Size | AioBackendShmemSize (void) |
static Size | AioHandleShmemSize (void) |
static Size | AioHandleIOVShmemSize (void) |
static Size | AioHandleDataShmemSize (void) |
static int | AioChooseMaxConcurrency (void) |
Size | AioShmemSize (void) |
void | AioShmemInit (void) |
void | pgaio_init_backend (void) |
|
static |
Definition at line 53 of file aio_init.c.
References AioProcs(), and mul_size().
Referenced by AioShmemInit(), and AioShmemSize().
|
static |
Definition at line 101 of file aio_init.c.
References Max, MaxBackends, Min, NBuffers, and NUM_AUXILIARY_PROCS.
Referenced by AioShmemSize().
|
static |
Definition at line 31 of file aio_init.c.
Referenced by AioShmemInit(), and AioShmemSize().
|
static |
Definition at line 83 of file aio_init.c.
References AioProcs(), io_max_combine_limit, io_max_concurrency, and mul_size().
Referenced by AioShmemInit(), and AioShmemSize().
|
static |
Definition at line 74 of file aio_init.c.
References AioProcs(), io_max_combine_limit, io_max_concurrency, and mul_size().
Referenced by AioShmemInit(), and AioShmemSize().
|
static |
Definition at line 59 of file aio_init.c.
References AioProcs(), Assert(), io_max_concurrency, and mul_size().
Referenced by AioShmemInit(), and AioShmemSize().
|
static |
Definition at line 42 of file aio_init.c.
References MaxBackends, and NUM_AUXILIARY_PROCS.
Referenced by AioBackendShmemSize(), AioHandleDataShmemSize(), AioHandleIOVShmemSize(), AioHandleShmemSize(), AioShmemInit(), and pgaio_init_backend().
void AioShmemInit | ( | void | ) |
Definition at line 153 of file aio_init.c.
References AioBackendShmemSize(), AioCtlShmemSize(), AioHandleDataShmemSize(), AioHandleIOVShmemSize(), AioHandleShmemSize(), AioProcs(), PgAioCtl::backend_state, ConditionVariableInit(), PgAioHandle::cv, dclist_init(), dclist_push_tail(), PgAioHandle::distilled_result, PgAioHandle::flags, PgAioHandle::generation, PgAioCtl::handle_data, PgAioHandle::handle_data_len, i, PgAioBackend::idle_ios, PgAioBackend::in_flight_ios, PgAioCtl::io_handle_count, PgAioBackend::io_handle_off, PgAioCtl::io_handles, io_max_combine_limit, io_max_concurrency, PgAioCtl::iovec_count, PgAioHandle::iovec_off, PgAioCtl::iovecs, PgAioHandle::node, PgAioHandle::num_callbacks, PgAioHandle::owner_procno, pgaio_ctl, pgaio_method_ops, PGAIO_RS_UNKNOWN, PGAIO_SUBMIT_BATCH_SIZE, PgAioHandle::report_return, PgAioHandle::resowner, IoMethodOps::shmem_init, ShmemInitStruct(), PgAioBackend::staged_ios, and PgAioResult::status.
Referenced by CreateOrAttachShmemStructs().
Size AioShmemSize | ( | void | ) |
Definition at line 117 of file aio_init.c.
References add_size(), AioBackendShmemSize(), AioChooseMaxConcurrency(), AioCtlShmemSize(), AioHandleDataShmemSize(), AioHandleIOVShmemSize(), AioHandleShmemSize(), buf, io_max_concurrency, pgaio_method_ops, PGC_POSTMASTER, PGC_S_DYNAMIC_DEFAULT, PGC_S_OVERRIDE, SetConfigOption(), IoMethodOps::shmem_size, and snprintf.
Referenced by CalculateShmemSize().
void pgaio_init_backend | ( | void | ) |
Definition at line 222 of file aio_init.c.
References AioProcs(), Assert(), B_IO_WORKER, PgAioCtl::backend_state, before_shmem_exit(), elog, ERROR, IoMethodOps::init_backend, MyBackendType, MyProc, MyProcNumber, pgaio_ctl, pgaio_method_ops, pgaio_my_backend, and pgaio_shutdown().
Referenced by BaseInit().