[Bug 260406] pfctl: Cannot allocate memory (after a time)
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 260406] pfctl: Cannot allocate memory (after a time)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 24 Dec 2021 15:25:24 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260406
--- Comment #47 from Kristof Provost <kp@freebsd.org> ---
(In reply to Diego Linke from comment #45)
Okay, that tells us at least that I used the entry probe in a few places where
I meant to use the return probe.
But also that it looks like in cache_alloc_retry() we failed to find a bucket
with free space, and then presumably also failed zone_alloc_item(). That still
looks for all the world like you're out of memory.
Here's an updated dtrace script:
#!/usr/sbin/dtrace -s
BEGIN
{
self->in_call = 0;
}
fbt:pf:pfr_create_kentry:entry
{
self->in_call = 1;
printf("In");
}
fbt:pf:pfr_create_kentry:return
{
self->in_call = 0;
printf("=> %x (@%x)\n", arg1, arg0);
}
fbt:pf:pfr_create_kentry:return
/ arg1 == 0 /
{
stack();
}
fbt:kernel:uma_zalloc_arg:return
/ self->in_call == 1 /
{
printf("=> %x (@%x)", arg1, arg0);
}
fbt:kernel:cache_alloc_retry:return
/ self->in_call == 1 /
{
printf("=> %x (@%x)", arg1, arg0);
}
fbt:kernel:cache_alloc:return
/ self->in_call == 1 /
{
printf("=> %x (@%x)", arg1, arg0);
}
fbt:kernel:zone_alloc_item:return
/ self->in_call == 1 /
{
printf("=> %x (@%x)", arg1, arg0);
}
fbt:kernel:uma_small_alloc:return
/ self->in_call == 1 /
{
printf("=> %x (@%x)", arg1, arg0);
}
fbt:kernel:zone_alloc_limit_hard:return
/ self->in_call == 1 /
{
printf("=> %x (@%x)", arg1, arg0);
}
fbt:kernel:zone_free_limit:entry
/ self->in_call == 1 /
{
printf("In");
}
--
You are receiving this mail because:
You are the assignee for the bug.