diff --git a/src/backend/storage/freespace/README b/src/backend/storage/freespace/README index d591cbb5856f9ebc0783e17f00c258414dd17fbb..9732ad54d3ef237fe076791866bb04c2bd013c5a 100644 --- a/src/backend/storage/freespace/README +++ b/src/backend/storage/freespace/README @@ -125,7 +125,7 @@ we get a disk layout like this: where the numbers are page numbers *at that level*, starting from 0. To find the physical block # corresponding to leaf page n, we need to -count the number number of leaf and upper-level pages preceding page n. +count the number of leaf and upper-level pages preceding page n. This turns out to be y = n + (n / F + 1) + (n / F^2 + 1) + ... + 1 diff --git a/src/backend/storage/ipc/standby.c b/src/backend/storage/ipc/standby.c index 845a839e67f27cda099f83437bdf76ec10d80f05..3a6831cab0c30129e31d63b2c947241f4d96fb61 100644 --- a/src/backend/storage/ipc/standby.c +++ b/src/backend/storage/ipc/standby.c @@ -1009,7 +1009,7 @@ LogAccessExclusiveLockPrepare(void) * RecordTransactionAbort() do not optimise away the transaction * completion record which recovery relies upon to release locks. It's a * hack, but for a corner case not worth adding code for into the main - * commit path. Second, must must assign an xid before the lock is + * commit path. Second, we must assign an xid before the lock is * recorded in shared memory, otherwise a concurrently executing * GetRunningTransactionLocks() might see a lock associated with an * InvalidTransactionId which we later assert cannot happen. diff --git a/src/backend/storage/lmgr/README.barrier b/src/backend/storage/lmgr/README.barrier index f9f3593b778f152bd35806c0832625a5c1fd67ec..4e37a4acbe7a77c3c20977bf20fdc58f9c4b98c5 100644 --- a/src/backend/storage/lmgr/README.barrier +++ b/src/backend/storage/lmgr/README.barrier @@ -128,7 +128,7 @@ And the reader can do this: On machines with strong memory ordering, these weaker barriers will simply prevent compiler rearrangement, without emitting any actual machine code. -On machines with weak memory ordering, they will will prevent compiler +On machines with weak memory ordering, they will prevent compiler reordering and also emit whatever hardware barrier may be required. Even on machines with weak memory ordering, a read or write barrier may be able to use a less expensive instruction than a full barrier.