Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Nov 2007 14:13:36 -0800
From:      "Kip Macy" <kip.macy@gmail.com>
To:        "Vivek Khera" <vivek@khera.org>
Cc:        FreeBSD Stable List <freebsd-stable@freebsd.org>
Subject:   Re: reboot after panic: vm_page_unwire: invalid wire count: 0
Message-ID:  <b1fa29170711131413g70af61bch1fb29ea917068272@mail.gmail.com>
In-Reply-To: <91893E44-B766-4B31-9DA7-62F5EC0CCD45@khera.org>
References:  <0ECA0F43-497A-4823-8731-D517889D5822@khera.org> <ad79ad6b0711131350u7c00fb0ek16a23f5dc12089cb@mail.gmail.com> <91893E44-B766-4B31-9DA7-62F5EC0CCD45@khera.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Unfortunately, ZERO_COPY_SOCKETs have long been a known source of
problems. I think also, when a page is copied as part of COW the new
page is unwired (see pmap_copy et al.), this could lead to
socow_iodone unwiring after send a page that was not wired. An added
issue is that parts of the VM assume that COW and wired are mutually
exclusive which the socow code violates.

At some point in the near future I may be adding support for doing
zero copy send without COW for blocking sockets. The one down side of
this approach is that if you have multiple threads in your process it
widens the window during which they can stomp on data that you're
sending. Nonetheless, this would be a bug in the application code.
More complicated would be zero-copy non-COW send on non-blocking
sockets as it would require an extension to kevent for completion
notification.

In the meantime, your best bet is to disable ZERO_COPY_SOCKETS.


 -Kip



On Nov 13, 2007 1:59 PM, Vivek Khera <vivek@khera.org> wrote:
>
> On Nov 13, 2007, at 4:50 PM, Vlad GALU wrote:
>
> >>        vmio = 1
> >>        offset = Unhandled dwarf expression opcode 0x93
> >> (kgdb)
> >>
> >
> >    Do you happen to have ZERO_COPY_SOCKETS in your kernel config?
> >
> >
>
> Yes, I do.  Are they known to be bad under certain loads or just in
> general.  I don't have this issue with any other web server running
> the same kernel config but those are amd64 boxes mostly.
>
>
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b1fa29170711131413g70af61bch1fb29ea917068272>