[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Seeking opinion on where networking-related user space code should go
On Apr 16, 2013, at 3:55 PM, Beverly Schwartz <bschwart%bbn.com@localhost>
> I have created a facility in the kernel for tracking mbuf clusters. (Twice
> at BBN, we have successfully used this cluster tracking code to find mbuf
> cluster leaks.)
> This facility can be compiled in the kernel by enabling the option MCL_DEBUG.
> If MCL_DEBUG is enabled, then tracking data is kept for each mbuf cluster.
> Examples of data kept:
> When and where in the code the cluster was allocated.
> When and where in the code the cluster was freed.
> When and where the cluster was queued or dequeued.
> When and where the cluster was passed from one protocol to another.
> At each of these points, I note which CPU we're on, the LWP id, whether or
> not we have KERNEL_LOCK and/or softnet lock, if there was something
> anomalous. Anomalies detected: cluster allocated twice without being freed
> in-between, cluster freed without being allocated, cluster unallocated when
> expected to be allocated, lock not held when expected to be held.
> I have set up code in /proc for accessing the data, but it would be nice to
> have a user space program to look at the data. Using kvm, this data can be
> inspected in a live kernel or in a core dump.
> Keep in mind, there can be up to 8192 clusters, so there is potentially a
> *lot* of data. Using kvm, we can also follow pointers in the data to inspect
> the contents of mbuf's and mbuf clusters. I expect that this, too, could be
> quite useful.
> Options I have considered:
> - a new usr.bin program
> - adding new options to vmstat for this data
> - adding new options to netstat for this data
> Any thoughts or preferences?
seems like netstat -m should display it if available.
maybe -m -v
Main Index |
Thread Index |