kernel: Approaching the limit on PV entries...
Mark Tinguely
tinguely at casselton.net
Mon Oct 13 15:24:31 UTC 2008
> Thanks. I'll see what happens.
>
> In amd64/7.0 is there any chance running out of pv_entrys would show
> up as failures in interprocess communication rather than a panic? The
> original symptom was that certain web pages (or jailed servers, I'm
> not sure) were unreachable, as if the firewall were misconfigured,
> until the system was rebooted. I didn't get to look at the system
> before it was rebooted, and I find very little in the logs to explain
> what was going on.
Sometimes pv_entry allocation can fail even below the pv_entry_high_water
if there is no more free pages available to allocate for a pv_entry chunk.
Operations (such temp mappings, copies) will not occur if the
pv_entry_high_water (90% if pv_entry_max) has been reached OR a
page is not immediately available for allocation. The first situation is
quiet, you could put a sysctl counter. Maybe PV_STAT(pc_chunk_tryfail++)
should be moved from get_pv_entry() to the "else" case of the routine
pmap_try_insert_pv_entry().
On the other hand, some allocations (permanent mapping) are unconditional
and can occur even when pv_entry_max has been exceeded (amd64).
The code will also wait for page allocations.
--Mark Tinguely.
More information about the freebsd-questions
mailing list