PostgreSQL Source Code: src/backend/storage/buffer/buf_init.c Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

16

20

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67void

69{

70 bool foundBufs,

71 foundDescs,

72 foundIOCV,

73 foundBufCkpt;

74

75

79 &foundDescs);

80

81

86 &foundBufs));

87

88

92 &foundIOCV);

93

94

95

96

97

98

99

100

104

105 if (foundDescs || foundBufs || foundIOCV || foundBufCkpt)

106 {

107

108 Assert(foundDescs && foundBufs && foundIOCV && foundBufCkpt);

109

110 }

111 else

112 {

113 int i;

114

115

116

117

119 {

121

123

126

127 buf->buf_id = i;

128

130

131

132

133

134

135 buf->freeNext = i + 1;

136

139

141 }

142

143

145 }

146

147

149

150

153}

154

155

156

157

158

159

160

163{

164 Size size = 0;

165

166

168

170

171

174

175

177

178

181

183

184

186

187 return size;

188}

void pgaio_wref_clear(PgAioWaitRef *iow)

static void pg_atomic_init_u32(volatile pg_atomic_uint32 *ptr, uint32 val)

CkptSortItem * CkptBufferIds

Size BufferManagerShmemSize(void)

WritebackContext BackendWritebackContext

void BufferManagerShmemInit(void)

ConditionVariableMinimallyPadded * BufferIOCVArray

BufferDescPadded * BufferDescriptors

static ConditionVariable * BufferDescriptorGetIOCV(const BufferDesc *bdesc)

static LWLock * BufferDescriptorGetContentLock(const BufferDesc *bdesc)

#define FREENEXT_END_OF_LIST

static void ClearBufferTag(BufferTag *tag)

static BufferDesc * GetBufferDescriptor(uint32 id)

void WritebackContextInit(WritebackContext *context, int *max_pending)

#define TYPEALIGN(ALIGNVAL, LEN)

void ConditionVariableInit(ConditionVariable *cv)

void StrategyInitialize(bool init)

Size StrategyShmemSize(void)

Assert(PointerIsAligned(start, uint64))

void LWLockInitialize(LWLock *lock, int tranche_id)

@ LWTRANCHE_BUFFER_CONTENT

#define PG_CACHE_LINE_SIZE

#define INVALID_PROC_NUMBER

Size add_size(Size s1, Size s2)

Size mul_size(Size s1, Size s2)

void * ShmemInitStruct(const char *name, Size size, bool *foundPtr)