6565 * double this size, and so on. Larger segments may be created if necessary
6666 * to satisfy large requests.
6767 */
68- #define DSA_INITIAL_SEGMENT_SIZE ((Size ) (1 * 1024 * 1024))
68+ #define DSA_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
9898#define DSA_OFFSET_BITMASK (((dsa_pointer) 1 << DSA_OFFSET_WIDTH) - 1)
9999
100100/* The maximum size of a DSM segment. */
101- #define DSA_MAX_SEGMENT_SIZE ((Size ) 1 << DSA_OFFSET_WIDTH)
101+ #define DSA_MAX_SEGMENT_SIZE ((size_t ) 1 << DSA_OFFSET_WIDTH)
102102
103103/* Number of pages (see FPM_PAGE_SIZE) per regular superblock. */
104104#define DSA_PAGES_PER_SUPERBLOCK 16
121121#define DSA_EXTRACT_OFFSET (dp ) ((dp) & DSA_OFFSET_BITMASK)
122122
123123/* The type used for index segment indexes (zero based). */
124- typedef Size dsa_segment_index ;
124+ typedef size_t dsa_segment_index ;
125125
126126/* Sentinel value for dsa_segment_index indicating 'none' or 'end'. */
127127#define DSA_SEGMENT_INDEX_NONE (~(dsa_segment_index)0)
@@ -153,9 +153,9 @@ typedef struct
153153 /* Sanity check magic value. */
154154 uint32 magic ;
155155 /* Total number of pages in this segment (excluding metadata area). */
156- Size usable_pages ;
156+ size_t usable_pages ;
157157 /* Total size of this segment in bytes. */
158- Size size ;
158+ size_t size ;
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_index next ;
171171 /* The index of the bin that contains this segment. */
172- Size bin ;
172+ size_t bin ;
173173
174174 /*
175175 * A flag raised to indicate that this segment is being returned to the
@@ -197,7 +197,7 @@ typedef struct
197197 dsa_pointer prevspan ; /* Previous span. */
198198 dsa_pointer nextspan ; /* Next span. */
199199 dsa_pointer start ; /* Starting address. */
200- Size npages ; /* Length of span in pages. */
200+ size_t npages ; /* Length of span in pages. */
201201 uint16 size_class ; /* Size class. */
202202 uint16 ninitialized ; /* Maximum number of objects ever allocated. */
203203 uint16 nallocatable ; /* Number of objects currently allocatable. */
@@ -308,17 +308,17 @@ typedef struct
308308 /* The object pools for each size class. */
309309 dsa_area_pool pools [DSA_NUM_SIZE_CLASSES ];
310310 /* The total size of all active segments. */
311- Size total_segment_size ;
311+ size_t total_segment_size ;
312312 /* The maximum total size of backing storage we are allowed. */
313- Size max_total_segment_size ;
313+ size_t max_total_segment_size ;
314314 /* Highest used segment index in the history of this area. */
315315 dsa_segment_index high_segment_index ;
316316 /* The reference count for this area. */
317317 int refcnt ;
318318 /* A flag indicating that this area has been pinned. */
319319 bool pinned ;
320320 /* The number of times that segments have been freed. */
321- Size freed_segment_counter ;
321+ size_t freed_segment_counter ;
322322 /* The LWLock tranche ID. */
323323 int lwlock_tranche_id ;
324324 /* The general lock (protects everything except object pools). */
@@ -371,7 +371,7 @@ struct dsa_area
371371 dsa_segment_index high_segment_index ;
372372
373373 /* The last observed freed_segment_counter. */
374- Size freed_segment_counter ;
374+ size_t freed_segment_counter ;
375375};
376376
377377#define DSA_SPAN_NOTHING_FREE ((uint16) -1)
@@ -382,7 +382,7 @@ struct dsa_area
382382 (segment_map_ptr - &area->segment_maps[0])
383383
384384static void init_span (dsa_area * area , dsa_pointer span_pointer ,
385- dsa_area_pool * pool , dsa_pointer start , Size npages ,
385+ dsa_area_pool * pool , dsa_pointer start , size_t npages ,
386386 uint16 size_class );
387387static bool transfer_first_span (dsa_area * area , dsa_area_pool * pool ,
388388 int fromclass , int toclass );
@@ -396,8 +396,8 @@ static void unlink_span(dsa_area *area, dsa_area_span *span);
396396static void add_span_to_fullness_class (dsa_area * area , dsa_area_span * span ,
397397 dsa_pointer span_pointer , int fclass );
398398static void unlink_segment (dsa_area * area , dsa_segment_map * segment_map );
399- static dsa_segment_map * get_best_segment (dsa_area * area , Size npages );
400- static dsa_segment_map * make_new_segment (dsa_area * area , Size requested_pages );
399+ static dsa_segment_map * get_best_segment (dsa_area * area , size_t npages );
400+ static dsa_segment_map * make_new_segment (dsa_area * area , size_t requested_pages );
401401static dsa_area * create_internal (void * place , size_t size ,
402402 int tranche_id ,
403403 dsm_handle control_handle ,
@@ -662,7 +662,7 @@ dsa_pin_mapping(dsa_area *area)
662662 * flags.
663663 */
664664dsa_pointer
665- dsa_allocate_extended (dsa_area * area , Size size , int flags )
665+ dsa_allocate_extended (dsa_area * area , size_t size , int flags )
666666{
667667 uint16 size_class ;
668668 dsa_pointer start_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- Size npages = fpm_size_to_pages (size );
689- Size first_page ;
688+ size_t npages = fpm_size_to_pages (size );
689+ size_t first_page ;
690690 dsa_pointer span_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- Size size ;
821+ size_t size ;
822822 int size_class ;
823823
824824 /* Make sure we don't have a stale segment in the slot 'dp' refers to. */
@@ -925,7 +925,7 @@ void *
925925dsa_get_address (dsa_area * area , dsa_pointer dp )
926926{
927927 dsa_segment_index index ;
928- Size offset ;
928+ size_t offset ;
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 */
10001000void
1001- dsa_set_size_limit (dsa_area * area , Size limit )
1001+ dsa_set_size_limit (dsa_area * area , size_t limit )
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)
10571057void
10581058dsa_dump (dsa_area * area )
10591059{
1060- Size i ,
1060+ size_t i ,
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
11621162dsa_minimum_size (void )
11631163{
1164- Size size ;
1164+ size_t size ;
11651165 int pages = 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- Size usable_pages ;
1193- Size total_pages ;
1194- Size metadata_bytes ;
1192+ size_t usable_pages ;
1193+ size_t total_pages ;
1194+ size_t metadata_bytes ;
11951195 int i ;
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)
13371337static void
13381338init_span (dsa_area * area ,
13391339 dsa_pointer span_pointer ,
1340- dsa_area_pool * pool , dsa_pointer start , Size npages ,
1340+ dsa_area_pool * pool , dsa_pointer start , size_t npages ,
13411341 uint16 size_class )
13421342{
13431343 dsa_area_span * span = dsa_get_address (area , span_pointer );
1344- Size obsize = dsa_size_classes [size_class ];
1344+ size_t obsize = 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_pointer block ;
14381438 dsa_pointer result ;
14391439 char * object ;
1440- Size size ;
1440+ size_t size ;
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_pointer span_pointer ;
15251525 dsa_pointer start_pointer ;
1526- Size obsize = dsa_size_classes [size_class ];
1527- Size nmax ;
1526+ size_t obsize = dsa_size_classes [size_class ];
1527+ size_t nmax ;
15281528 int fclass ;
1529- Size npages = 1 ;
1530- Size first_page ;
1531- Size i ;
1529+ size_t npages = 1 ;
1530+ size_t first_page ;
1531+ size_t i ;
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 */
19611961static dsa_segment_map *
1962- get_best_segment (dsa_area * area , Size npages )
1962+ get_best_segment (dsa_area * area , size_t npages )
19631963{
1964- Size bin ;
1964+ size_t bin ;
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- Size threshold = (Size ) 1 << (bin - 1 );
1981+ size_t threshold = (size_t ) 1 << (bin - 1 );
19821982 dsa_segment_index segment_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_index next_segment_index ;
1990- Size contiguous_pages ;
1990+ size_t contiguous_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- Size new_bin ;
2006+ size_t new_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 */
20532053static dsa_segment_map *
2054- make_new_segment (dsa_area * area , Size requested_pages )
2054+ make_new_segment (dsa_area * area , size_t requested_pages )
20552055{
20562056 dsa_segment_index new_index ;
2057- Size metadata_bytes ;
2058- Size total_size ;
2059- Size total_pages ;
2060- Size usable_pages ;
2057+ size_t metadata_bytes ;
2058+ size_t total_size ;
2059+ size_t total_pages ;
2060+ size_t usable_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)
22222222static void
22232223check_for_freed_segments (dsa_area * area )
22242224{
2225- Size freed_segment_counter ;
2225+ size_t freed_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)
22582258static void
22592259check_for_freed_segments_locked (dsa_area * area )
22602260{
2261- Size freed_segment_counter ;
2261+ size_t freed_segment_counter ;
22622262 int i ;
22632263
22642264 Assert (LWLockHeldByMe (DSA_AREA_LOCK (area )));
0 commit comments