The comment describing cost_nonsequential_access() says that the two
functions "meet in the middle". They meet at random_page_cost/2,
however, not in the middle between 1 and random_page_cost. For
random_page_cost < 2 the result can be less than 1 for relpages near
effective_cache_size. I don't think that this was intended.
This patch makes sure that cost_nonsequential_access() is always between
1 and randon_page_cost and the functions meet a (1+random_page_cost)/2.
Servus
Manfred