sockstat: struct xtcpcb size mismatch
Robert Watson
rwatson at FreeBSD.org
Mon Dec 10 09:19:52 PST 2007
On Mon, 10 Dec 2007, Boris Samorodov wrote:
> On Sat, 8 Dec 2007 17:13:14 -0500 Josh Carroll wrote:
>
>>> Thanks for the answer. And sorry, I can't understand what to do further.
>>> Is it by design and should stay so or should it be fixed?
>>>
>>> BTW, RELENG_7 behaves the same way. And "netstat -a" is broken:
>
>> Your world and kernel are out of sync. I would recommend a
>> buildworld/installworld and building a new kernel. That should do the
>> trick.
>
> I wish you were right.
>
> Fresh cvsup to RELENG_7, buildworld (after make clean twice), make kernel,
> install world, mergemaster. The kernel config (diff from GENERIC shown
> later) doesn't work. If "options LOCK_PROFILING" is removed and the kernel
> is rebuilt, all goes well. The bad case:
This is currently an accepted failure mode -- lock profiling significantly
swells the overhead of various data structures and operations, so is not
compiled in by default, and when compiled in, does modify the ABI for the
monitoring interfaces. You may be able to "fix" the user tools to match the
kernel ABI by recompiling them but adding -DLOCK_PROFILING (or something along
these lines). It turns out that the interfaces that export TCP information
directly export kernel data structures to user space -- this was presumably
easy at the time for whoever did the work, but is a Bad Idea. I've looked at
fixing this before, but it's quite involved. I hope that we will fix it for
8.0.
Robert N M Watson
Computer Laboratory
University of Cambridge
More information about the freebsd-current
mailing list