Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf025bd2

Browse files
committed
Use size_t consistently in dsa.{ch}.
Takeshi Ideriha complained that there is a mixture of Size and size_tin dsa.c and corresponding header. Let's use size_t. Back-patch to 10where dsa.c landed, to make future back-patching easy.Discussion:https://postgr.es/m/4E72940DA2BF16479384A86D54D0988A6F19ABD9%40G01JPEXMBKW04
1 parentce9cf8e commitf025bd2

File tree

2 files changed

+53
-53
lines changed

2 files changed

+53
-53
lines changed

‎src/backend/utils/mmgr/dsa.c

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
* double this size, and so on. Larger segments may be created if necessary
6666
* to satisfy large requests.
6767
*/
68-
#defineDSA_INITIAL_SEGMENT_SIZE ((Size) (1 * 1024 * 1024))
68+
#defineDSA_INITIAL_SEGMENT_SIZE ((size_t) (1 * 1024 * 1024))
6969

7070
/*
7171
* How many segments to create before we double the segment size. If this is
@@ -98,7 +98,7 @@
9898
#defineDSA_OFFSET_BITMASK (((dsa_pointer) 1 << DSA_OFFSET_WIDTH) - 1)
9999

100100
/* The maximum size of a DSM segment. */
101-
#defineDSA_MAX_SEGMENT_SIZE ((Size) 1 << DSA_OFFSET_WIDTH)
101+
#defineDSA_MAX_SEGMENT_SIZE ((size_t) 1 << DSA_OFFSET_WIDTH)
102102

103103
/* Number of pages (see FPM_PAGE_SIZE) per regular superblock. */
104104
#defineDSA_PAGES_PER_SUPERBLOCK16
@@ -121,7 +121,7 @@
121121
#defineDSA_EXTRACT_OFFSET(dp) ((dp) & DSA_OFFSET_BITMASK)
122122

123123
/* The type used for index segment indexes (zero based). */
124-
typedefSizedsa_segment_index;
124+
typedefsize_tdsa_segment_index;
125125

126126
/* Sentinel value for dsa_segment_index indicating 'none' or 'end'. */
127127
#defineDSA_SEGMENT_INDEX_NONE (~(dsa_segment_index)0)
@@ -153,9 +153,9 @@ typedef struct
153153
/* Sanity check magic value. */
154154
uint32magic;
155155
/* Total number of pages in this segment (excluding metadata area). */
156-
Sizeusable_pages;
156+
size_tusable_pages;
157157
/* Total size of this segment in bytes. */
158-
Sizesize;
158+
size_tsize;
159159

160160
/*
161161
* Index of the segment that precedes this one in the same segment bin, or
@@ -169,7 +169,7 @@ typedef struct
169169
*/
170170
dsa_segment_indexnext;
171171
/* The index of the bin that contains this segment. */
172-
Sizebin;
172+
size_tbin;
173173

174174
/*
175175
* A flag raised to indicate that this segment is being returned to the
@@ -197,7 +197,7 @@ typedef struct
197197
dsa_pointerprevspan;/* Previous span. */
198198
dsa_pointernextspan;/* Next span. */
199199
dsa_pointerstart;/* Starting address. */
200-
Sizenpages;/* Length of span in pages. */
200+
size_tnpages;/* Length of span in pages. */
201201
uint16size_class;/* Size class. */
202202
uint16ninitialized;/* Maximum number of objects ever allocated. */
203203
uint16nallocatable;/* Number of objects currently allocatable. */
@@ -308,17 +308,17 @@ typedef struct
308308
/* The object pools for each size class. */
309309
dsa_area_poolpools[DSA_NUM_SIZE_CLASSES];
310310
/* The total size of all active segments. */
311-
Sizetotal_segment_size;
311+
size_ttotal_segment_size;
312312
/* The maximum total size of backing storage we are allowed. */
313-
Sizemax_total_segment_size;
313+
size_tmax_total_segment_size;
314314
/* Highest used segment index in the history of this area. */
315315
dsa_segment_indexhigh_segment_index;
316316
/* The reference count for this area. */
317317
intrefcnt;
318318
/* A flag indicating that this area has been pinned. */
319319
boolpinned;
320320
/* The number of times that segments have been freed. */
321-
Sizefreed_segment_counter;
321+
size_tfreed_segment_counter;
322322
/* The LWLock tranche ID. */
323323
intlwlock_tranche_id;
324324
/* The general lock (protects everything except object pools). */
@@ -371,7 +371,7 @@ struct dsa_area
371371
dsa_segment_indexhigh_segment_index;
372372

373373
/* The last observed freed_segment_counter. */
374-
Sizefreed_segment_counter;
374+
size_tfreed_segment_counter;
375375
};
376376

377377
#defineDSA_SPAN_NOTHING_FREE((uint16) -1)
@@ -382,7 +382,7 @@ struct dsa_area
382382
(segment_map_ptr - &area->segment_maps[0])
383383

384384
staticvoidinit_span(dsa_area*area,dsa_pointerspan_pointer,
385-
dsa_area_pool*pool,dsa_pointerstart,Sizenpages,
385+
dsa_area_pool*pool,dsa_pointerstart,size_tnpages,
386386
uint16size_class);
387387
staticbooltransfer_first_span(dsa_area*area,dsa_area_pool*pool,
388388
intfromclass,inttoclass);
@@ -396,8 +396,8 @@ static void unlink_span(dsa_area *area, dsa_area_span *span);
396396
staticvoidadd_span_to_fullness_class(dsa_area*area,dsa_area_span*span,
397397
dsa_pointerspan_pointer,intfclass);
398398
staticvoidunlink_segment(dsa_area*area,dsa_segment_map*segment_map);
399-
staticdsa_segment_map*get_best_segment(dsa_area*area,Sizenpages);
400-
staticdsa_segment_map*make_new_segment(dsa_area*area,Sizerequested_pages);
399+
staticdsa_segment_map*get_best_segment(dsa_area*area,size_tnpages);
400+
staticdsa_segment_map*make_new_segment(dsa_area*area,size_trequested_pages);
401401
staticdsa_area*create_internal(void*place,size_tsize,
402402
inttranche_id,
403403
dsm_handlecontrol_handle,
@@ -662,7 +662,7 @@ dsa_pin_mapping(dsa_area *area)
662662
* flags.
663663
*/
664664
dsa_pointer
665-
dsa_allocate_extended(dsa_area*area,Sizesize,intflags)
665+
dsa_allocate_extended(dsa_area*area,size_tsize,intflags)
666666
{
667667
uint16size_class;
668668
dsa_pointerstart_pointer;
@@ -685,8 +685,8 @@ dsa_allocate_extended(dsa_area *area, Size size, int flags)
685685
*/
686686
if (size>dsa_size_classes[lengthof(dsa_size_classes)-1])
687687
{
688-
Sizenpages=fpm_size_to_pages(size);
689-
Sizefirst_page;
688+
size_tnpages=fpm_size_to_pages(size);
689+
size_tfirst_page;
690690
dsa_pointerspan_pointer;
691691
dsa_area_pool*pool=&area->control->pools[DSA_SCLASS_SPAN_LARGE];
692692

@@ -818,7 +818,7 @@ dsa_free(dsa_area *area, dsa_pointer dp)
818818
dsa_area_span*span;
819819
char*superblock;
820820
char*object;
821-
Sizesize;
821+
size_tsize;
822822
intsize_class;
823823

824824
/* Make sure we don't have a stale segment in the slot 'dp' refers to. */
@@ -925,7 +925,7 @@ void *
925925
dsa_get_address(dsa_area*area,dsa_pointerdp)
926926
{
927927
dsa_segment_indexindex;
928-
Sizeoffset;
928+
size_toffset;
929929

930930
/* Convert InvalidDsaPointer to NULL. */
931931
if (!DsaPointerIsValid(dp))
@@ -998,7 +998,7 @@ dsa_unpin(dsa_area *area)
998998
* backends that have attached to them.
999999
*/
10001000
void
1001-
dsa_set_size_limit(dsa_area*area,Sizelimit)
1001+
dsa_set_size_limit(dsa_area*area,size_tlimit)
10021002
{
10031003
LWLockAcquire(DSA_AREA_LOCK(area),LW_EXCLUSIVE);
10041004
area->control->max_total_segment_size=limit;
@@ -1057,7 +1057,7 @@ dsa_trim(dsa_area *area)
10571057
void
10581058
dsa_dump(dsa_area*area)
10591059
{
1060-
Sizei,
1060+
size_ti,
10611061
j;
10621062

10631063
/*
@@ -1158,10 +1158,10 @@ dsa_dump(dsa_area *area)
11581158
* Return the smallest size that you can successfully provide to
11591159
* dsa_create_in_place.
11601160
*/
1161-
Size
1161+
size_t
11621162
dsa_minimum_size(void)
11631163
{
1164-
Sizesize;
1164+
size_tsize;
11651165
intpages=0;
11661166

11671167
size=MAXALIGN(sizeof(dsa_area_control))+
@@ -1189,9 +1189,9 @@ create_internal(void *place, size_t size,
11891189
dsa_area_control*control;
11901190
dsa_area*area;
11911191
dsa_segment_map*segment_map;
1192-
Sizeusable_pages;
1193-
Sizetotal_pages;
1194-
Sizemetadata_bytes;
1192+
size_tusable_pages;
1193+
size_ttotal_pages;
1194+
size_tmetadata_bytes;
11951195
inti;
11961196

11971197
/* Sanity check on the space we have to work in. */
@@ -1224,7 +1224,7 @@ create_internal(void *place, size_t size,
12241224
control->segment_header.freed= false;
12251225
control->segment_header.size=DSA_INITIAL_SEGMENT_SIZE;
12261226
control->handle=control_handle;
1227-
control->max_total_segment_size= (Size)-1;
1227+
control->max_total_segment_size= (size_t)-1;
12281228
control->total_segment_size=size;
12291229
memset(&control->segment_handles[0],0,
12301230
sizeof(dsm_handle)*DSA_MAX_SEGMENTS);
@@ -1337,11 +1337,11 @@ attach_internal(void *place, dsm_segment *segment, dsa_handle handle)
13371337
staticvoid
13381338
init_span(dsa_area*area,
13391339
dsa_pointerspan_pointer,
1340-
dsa_area_pool*pool,dsa_pointerstart,Sizenpages,
1340+
dsa_area_pool*pool,dsa_pointerstart,size_tnpages,
13411341
uint16size_class)
13421342
{
13431343
dsa_area_span*span=dsa_get_address(area,span_pointer);
1344-
Sizeobsize=dsa_size_classes[size_class];
1344+
size_tobsize=dsa_size_classes[size_class];
13451345

13461346
/*
13471347
* The per-pool lock must be held because we manipulate the span list for
@@ -1437,7 +1437,7 @@ alloc_object(dsa_area *area, int size_class)
14371437
dsa_pointerblock;
14381438
dsa_pointerresult;
14391439
char*object;
1440-
Sizesize;
1440+
size_tsize;
14411441

14421442
/*
14431443
* Even though ensure_active_superblock can in turn call alloc_object if
@@ -1523,12 +1523,12 @@ ensure_active_superblock(dsa_area *area, dsa_area_pool *pool,
15231523
{
15241524
dsa_pointerspan_pointer;
15251525
dsa_pointerstart_pointer;
1526-
Sizeobsize=dsa_size_classes[size_class];
1527-
Sizenmax;
1526+
size_tobsize=dsa_size_classes[size_class];
1527+
size_tnmax;
15281528
intfclass;
1529-
Sizenpages=1;
1530-
Sizefirst_page;
1531-
Sizei;
1529+
size_tnpages=1;
1530+
size_tfirst_page;
1531+
size_ti;
15321532
dsa_segment_map*segment_map;
15331533

15341534
Assert(LWLockHeldByMe(DSA_SCLASS_LOCK(area,size_class)));
@@ -1959,9 +1959,9 @@ unlink_segment(dsa_area *area, dsa_segment_map *segment_map)
19591959
* pages map.
19601960
*/
19611961
staticdsa_segment_map*
1962-
get_best_segment(dsa_area*area,Sizenpages)
1962+
get_best_segment(dsa_area*area,size_tnpages)
19631963
{
1964-
Sizebin;
1964+
size_tbin;
19651965

19661966
Assert(LWLockHeldByMe(DSA_AREA_LOCK(area)));
19671967
check_for_freed_segments_locked(area);
@@ -1978,7 +1978,7 @@ get_best_segment(dsa_area *area, Size npages)
19781978
* The minimum contiguous size that any segment in this bin should
19791979
* have. We'll re-bin if we see segments with fewer.
19801980
*/
1981-
Sizethreshold= (Size)1 << (bin-1);
1981+
size_tthreshold= (size_t)1 << (bin-1);
19821982
dsa_segment_indexsegment_index;
19831983

19841984
/* Search this bin for a segment with enough contiguous space. */
@@ -1987,7 +1987,7 @@ get_best_segment(dsa_area *area, Size npages)
19871987
{
19881988
dsa_segment_map*segment_map;
19891989
dsa_segment_indexnext_segment_index;
1990-
Sizecontiguous_pages;
1990+
size_tcontiguous_pages;
19911991

19921992
segment_map=get_segment_by_index(area,segment_index);
19931993
next_segment_index=segment_map->header->next;
@@ -2003,7 +2003,7 @@ get_best_segment(dsa_area *area, Size npages)
20032003
/* Re-bin it if it's no longer in the appropriate bin. */
20042004
if (contiguous_pages<threshold)
20052005
{
2006-
Sizenew_bin;
2006+
size_tnew_bin;
20072007

20082008
new_bin=contiguous_pages_to_segment_bin(contiguous_pages);
20092009

@@ -2051,13 +2051,13 @@ get_best_segment(dsa_area *area, Size npages)
20512051
* segments would be exceeded.
20522052
*/
20532053
staticdsa_segment_map*
2054-
make_new_segment(dsa_area*area,Sizerequested_pages)
2054+
make_new_segment(dsa_area*area,size_trequested_pages)
20552055
{
20562056
dsa_segment_indexnew_index;
2057-
Sizemetadata_bytes;
2058-
Sizetotal_size;
2059-
Sizetotal_pages;
2060-
Sizeusable_pages;
2057+
size_tmetadata_bytes;
2058+
size_ttotal_size;
2059+
size_ttotal_pages;
2060+
size_tusable_pages;
20612061
dsa_segment_map*segment_map;
20622062
dsm_segment*segment;
20632063

@@ -2095,7 +2095,7 @@ make_new_segment(dsa_area *area, Size requested_pages)
20952095
* pages we can fit.
20962096
*/
20972097
total_size=DSA_INITIAL_SEGMENT_SIZE*
2098-
((Size)1 << (new_index /DSA_NUM_SEGMENTS_AT_EACH_SIZE));
2098+
((size_t)1 << (new_index /DSA_NUM_SEGMENTS_AT_EACH_SIZE));
20992099
total_size=Min(total_size,DSA_MAX_SEGMENT_SIZE);
21002100
total_size=Min(total_size,
21012101
area->control->max_total_segment_size-
@@ -2222,7 +2222,7 @@ make_new_segment(dsa_area *area, Size requested_pages)
22222222
staticvoid
22232223
check_for_freed_segments(dsa_area*area)
22242224
{
2225-
Sizefreed_segment_counter;
2225+
size_tfreed_segment_counter;
22262226

22272227
/*
22282228
* Any other process that has freed a segment has incremented
@@ -2258,7 +2258,7 @@ check_for_freed_segments(dsa_area *area)
22582258
staticvoid
22592259
check_for_freed_segments_locked(dsa_area*area)
22602260
{
2261-
Sizefreed_segment_counter;
2261+
size_tfreed_segment_counter;
22622262
inti;
22632263

22642264
Assert(LWLockHeldByMe(DSA_AREA_LOCK(area)));

‎src/include/utils/dsa.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ struct dsa_area;
2222
typedefstructdsa_areadsa_area;
2323

2424
/*
25-
* If this system only uses a 32-bit value forSize, then use the 32-bit
25+
* If this system only uses a 32-bit value forsize_t, then use the 32-bit
2626
* implementation of DSA. This limits the amount of DSA that can be created
2727
* to something significantly less than the entire 4GB address space because
2828
* the DSA pointer must encode both a segment identifier and an offset, but
@@ -102,7 +102,7 @@ typedef dsm_handle dsa_handle;
102102
externvoiddsa_startup(void);
103103

104104
externdsa_area*dsa_create(inttranche_id);
105-
externdsa_area*dsa_create_in_place(void*place,Sizesize,
105+
externdsa_area*dsa_create_in_place(void*place,size_tsize,
106106
inttranche_id,dsm_segment*segment);
107107
externdsa_area*dsa_attach(dsa_handlehandle);
108108
externdsa_area*dsa_attach_in_place(void*place,dsm_segment*segment);
@@ -113,10 +113,10 @@ extern void dsa_pin_mapping(dsa_area *area);
113113
externvoiddsa_detach(dsa_area*area);
114114
externvoiddsa_pin(dsa_area*area);
115115
externvoiddsa_unpin(dsa_area*area);
116-
externvoiddsa_set_size_limit(dsa_area*area,Sizelimit);
117-
externSizedsa_minimum_size(void);
116+
externvoiddsa_set_size_limit(dsa_area*area,size_tlimit);
117+
externsize_tdsa_minimum_size(void);
118118
externdsa_handledsa_get_handle(dsa_area*area);
119-
externdsa_pointerdsa_allocate_extended(dsa_area*area,Sizesize,intflags);
119+
externdsa_pointerdsa_allocate_extended(dsa_area*area,size_tsize,intflags);
120120
externvoiddsa_free(dsa_area*area,dsa_pointerdp);
121121
externvoid*dsa_get_address(dsa_area*area,dsa_pointerdp);
122122
externvoiddsa_trim(dsa_area*area);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp