pgsql: Avoid floating-point underflow while tracking buffer allocation
От | Tom Lane |
---|---|
Тема | pgsql: Avoid floating-point underflow while tracking buffer allocation |
Дата | |
Msg-id | E1RRdcr-0007Jl-PN@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Avoid floating-point underflow while tracking buffer allocation rate. When the system is idle for awhile after activity, the "smoothed_alloc" state variable in BgBufferSync converges slowly to zero. With standard IEEE float arithmetic this results in several iterations with denormalized values, which causes kernel traps and annoying log messages on some poorly-designed platforms. There's no real need to track such small values of smoothed_alloc, so we can prevent the kernel traps by forcing it to zero as soon as it's too small to be interesting for our purposes. This issue is purely cosmetic, since the iterations don't happen fast enough for the kernel traps to pose any meaningful performance problem, but still it seems worth shutting up the log messages. The kernel log messages were previously reported by a number of people, but kudos to Greg Matthews for tracking down exactly where they were coming from. Branch ------ REL8_3_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/fdaff0ba1e7d7c38484f1c6b426230d42fbc63e6 Modified Files -------------- src/backend/storage/buffer/bufmgr.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)
В списке pgsql-committers по дате отправления: