5252#define IO_WORKER_WAKEUP_FANOUT 2
5353
5454
55- typedef struct AioWorkerSubmissionQueue
55+ typedef struct PgAioWorkerSubmissionQueue
5656{
5757uint32 size ;
5858uint32 mask ;
5959uint32 head ;
6060uint32 tail ;
61- uint32 ios [FLEXIBLE_ARRAY_MEMBER ];
62- }AioWorkerSubmissionQueue ;
61+ uint32 sqes [FLEXIBLE_ARRAY_MEMBER ];
62+ }PgAioWorkerSubmissionQueue ;
6363
64- typedef struct AioWorkerSlot
64+ typedef struct PgAioWorkerSlot
6565{
6666Latch * latch ;
6767bool in_use ;
68- }AioWorkerSlot ;
68+ }PgAioWorkerSlot ;
6969
70- typedef struct AioWorkerControl
70+ typedef struct PgAioWorkerControl
7171{
7272uint64 idle_worker_mask ;
73- AioWorkerSlot workers [FLEXIBLE_ARRAY_MEMBER ];
74- }AioWorkerControl ;
73+ PgAioWorkerSlot workers [FLEXIBLE_ARRAY_MEMBER ];
74+ }PgAioWorkerControl ;
7575
7676
7777static size_t pgaio_worker_shmem_size (void );
@@ -96,8 +96,8 @@ intio_workers = 3;
9696
9797static int io_worker_queue_size = 64 ;
9898static int MyIoWorkerId ;
99- static AioWorkerSubmissionQueue * io_worker_submission_queue ;
100- static AioWorkerControl * io_worker_control ;
99+ static PgAioWorkerSubmissionQueue * io_worker_submission_queue ;
100+ static PgAioWorkerControl * io_worker_control ;
101101
102102
103103static size_t
@@ -106,15 +106,15 @@ pgaio_worker_queue_shmem_size(int *queue_size)
106106/* Round size up to next power of two so we can make a mask. */
107107* queue_size = pg_nextpower2_32 (io_worker_queue_size );
108108
109- return offsetof(AioWorkerSubmissionQueue , ios )+
109+ return offsetof(PgAioWorkerSubmissionQueue , sqes )+
110110sizeof (uint32 )* * queue_size ;
111111}
112112
113113static size_t
114114pgaio_worker_control_shmem_size (void )
115115{
116- return offsetof(AioWorkerControl ,workers )+
117- sizeof (AioWorkerSlot )* MAX_IO_WORKERS ;
116+ return offsetof(PgAioWorkerControl ,workers )+
117+ sizeof (PgAioWorkerSlot )* MAX_IO_WORKERS ;
118118}
119119
120120static size_t
@@ -162,7 +162,7 @@ pgaio_worker_shmem_init(bool first_time)
162162}
163163
164164static int
165- pgaio_choose_idle_worker (void )
165+ pgaio_worker_choose_idle (void )
166166{
167167int worker ;
168168
@@ -180,7 +180,7 @@ pgaio_choose_idle_worker(void)
180180static bool
181181pgaio_worker_submission_queue_insert (PgAioHandle * ioh )
182182{
183- AioWorkerSubmissionQueue * queue ;
183+ PgAioWorkerSubmissionQueue * queue ;
184184uint32 new_head ;
185185
186186queue = io_worker_submission_queue ;
@@ -192,7 +192,7 @@ pgaio_worker_submission_queue_insert(PgAioHandle *ioh)
192192return false;/* full */
193193}
194194
195- queue -> ios [queue -> head ]= pgaio_io_get_id (ioh );
195+ queue -> sqes [queue -> head ]= pgaio_io_get_id (ioh );
196196queue -> head = new_head ;
197197
198198return true;
@@ -201,14 +201,14 @@ pgaio_worker_submission_queue_insert(PgAioHandle *ioh)
201201static uint32
202202pgaio_worker_submission_queue_consume (void )
203203{
204- AioWorkerSubmissionQueue * queue ;
204+ PgAioWorkerSubmissionQueue * queue ;
205205uint32 result ;
206206
207207queue = io_worker_submission_queue ;
208208if (queue -> tail == queue -> head )
209209return UINT32_MAX ;/* empty */
210210
211- result = queue -> ios [queue -> tail ];
211+ result = queue -> sqes [queue -> tail ];
212212queue -> tail = (queue -> tail + 1 )& (queue -> size - 1 );
213213
214214return result ;
@@ -241,37 +241,37 @@ pgaio_worker_needs_synchronous_execution(PgAioHandle *ioh)
241241}
242242
243243static void
244- pgaio_worker_submit_internal (int nios ,PgAioHandle * ios [] )
244+ pgaio_worker_submit_internal (int num_staged_ios ,PgAioHandle * * staged_ios )
245245{
246246PgAioHandle * synchronous_ios [PGAIO_SUBMIT_BATCH_SIZE ];
247247int nsync = 0 ;
248248Latch * wakeup = NULL ;
249249int worker ;
250250
251- Assert (nios <=PGAIO_SUBMIT_BATCH_SIZE );
251+ Assert (num_staged_ios <=PGAIO_SUBMIT_BATCH_SIZE );
252252
253253LWLockAcquire (AioWorkerSubmissionQueueLock ,LW_EXCLUSIVE );
254- for (int i = 0 ;i < nios ;++ i )
254+ for (int i = 0 ;i < num_staged_ios ;++ i )
255255{
256- Assert (!pgaio_worker_needs_synchronous_execution (ios [i ]));
257- if (!pgaio_worker_submission_queue_insert (ios [i ]))
256+ Assert (!pgaio_worker_needs_synchronous_execution (staged_ios [i ]));
257+ if (!pgaio_worker_submission_queue_insert (staged_ios [i ]))
258258{
259259/*
260260 * We'll do it synchronously, but only after we've sent as many as
261261 * we can to workers, to maximize concurrency.
262262 */
263- synchronous_ios [nsync ++ ]= ios [i ];
263+ synchronous_ios [nsync ++ ]= staged_ios [i ];
264264continue ;
265265}
266266
267267if (wakeup == NULL )
268268{
269269/* Choose an idle worker to wake up if we haven't already. */
270- worker = pgaio_choose_idle_worker ();
270+ worker = pgaio_worker_choose_idle ();
271271if (worker >=0 )
272272wakeup = io_worker_control -> workers [worker ].latch ;
273273
274- pgaio_debug_io (DEBUG4 ,ios [i ],
274+ pgaio_debug_io (DEBUG4 ,staged_ios [i ],
275275"choosing worker %d" ,
276276worker );
277277}
@@ -490,7 +490,7 @@ IoWorkerMain(const void *startup_data, size_t startup_data_len)
490490IO_WORKER_WAKEUP_FANOUT );
491491for (int i = 0 ;i < nwakeups ;++ i )
492492{
493- if ((worker = pgaio_choose_idle_worker ())< 0 )
493+ if ((worker = pgaio_worker_choose_idle ())< 0 )
494494break ;
495495latches [nlatches ++ ]= io_worker_control -> workers [worker ].latch ;
496496}