DragonFly BSD
DragonFly commits List (threaded) for 2005-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: cvs commit: src/sys/kern uipc_mbuf.c


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 8 Jun 2005 14:49:28 -0700 (PDT)

:
:Matthew Dillon wrote:
:> dillon      2005/06/08 12:29:32 PDT
:> 
:> DragonFly src repository
:> 
:>   Modified files:
:>     sys/kern             uipc_mbuf.c 
:>   Log:
:>   Temporary hack to fix interrupt race when decrementing a shared
:>   mbuf cluster count.
:
:I was kinda hoping this would fix my panic-on-boot, but no luck.
:
:Can I do anything to give you more helpful data?

    Wait for the next commit and see if that helps.

    There are multiple bugs in the mbuf code.  I've fixed at least half a
    dozen and buildworld still stalls out, but I think I've found the last
    one (related to the buildworld issue anyway).  Jeff is trying to 
    ultra-optimize the mbuf allocator by creating separate object caches
    for mbufs, mbufs with packet headers, mbuf clusters, and mbuf clusters
    with packet headers.  The main problem seems to be that the m_free()
    path is getting really confused as to which objcache an mbuf should be
    freed to because it is checking based on M_PKTHDR and M_EXT.  But
    M_PKTHDR can move between mbufs, and shared clusters can be deref'd
    by unrelated mbufs, so that doesn't work.

    I'm not entirely sure what your problem is if it isn't that interrupt
    race, but as I said there are multiple bugs so wait for the rollup
    commit and then try again.

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]