nginx and FreeBSD11
Slawa Olhovchenkov
slw at zxy.spb.ru
Tue Sep 20 06:52:48 UTC 2016
On Mon, Sep 19, 2016 at 06:05:46PM -0700, John Baldwin wrote:
> > > If this panics, then vmspace_switch_aio() is not working for
> > > some reason.
> >
> > I am try using next DTrace script:
> > ====
> > #pragma D option dynvarsize=64m
> >
> > int req[struct vmspace *, void *];
> > self int trace;
> >
> > syscall:freebsd:aio_read:entry
> > {
> > this->aio = *(struct aiocb *)copyin(arg0, sizeof(struct aiocb));
> > req[curthread->td_proc->p_vmspace, this->aio.aio_buf] = curthread->td_proc->p_pid;
> > }
> >
> > fbt:kernel:aio_process_rw:entry
> > {
> > self->job = args[0];
> > self->trace = 1;
> > }
> >
> > fbt:kernel:aio_process_rw:return
> > /self->trace/
> > {
> > req[self->job->userproc->p_vmspace, self->job->uaiocb.aio_buf] = 0;
> > self->job = 0;
> > self->trace = 0;
> > }
> >
> > fbt:kernel:vn_io_fault:entry
> > /self->trace && !req[curthread->td_proc->p_vmspace, args[1]->uio_iov[0].iov_base]/
> > {
> > this->buf = args[1]->uio_iov[0].iov_base;
> > printf("%Y vn_io_fault %p:%p pid %d\n", walltimestamp, curthread->td_proc->p_vmspace, this->buf, req[curthread->td_proc->p_vmspace, this->buf]);
> > }
> > ===
> >
> > And don't got any messages near nginx core dump.
> > What I can check next?
> > May be check context/address space switch for kernel process?
>
> Which CPU are you using?
CPU: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz (2000.04-MHz K8-class CPU)
> Perhaps try disabling PCID support (I think vm.pmap.pcid_enabled=0 from
> loader prompt or loader.conf)? (Wondering if pmap_activate() is somehow not switching)
>
> --
> John Baldwin
More information about the freebsd-stable
mailing list