Please sign in to comment.
Trim data stored in shared memory
Replace the array of timestamps with a single value of an atomic type and remove padding. On i386, the struct will most likely be 8 bytes long (16 bytes on 64-bit arches), which gives a not so bad chance of fitting a whole upstream block in a single cacheline (depending on CPU and number of backends). Putting every ngx_http_upstream_fair_shared_t is pretty pointless since a few commits, because we touch all of them at the same time, when looking for an idle backend.
- Loading branch information...