Port-xen archive

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

Re: NetBSD/xen network problems (need help)



On Mon, Mar 13, 2006 at 05:01:00PM -0500, Andreas Wrede wrote:
> 
> On 13-Mar-06, at 3:45 PM, Manuel Bouyer wrote:
> >>
> >>panic: m_makewritable: length changed
> >
> >Not that I know. But AFAIK it's not an issue with m_makewritable() or
> >m_copyback0(), not in Xen itself (it just happens that Xen can  
> >triggers
> >it). Can you add some debug checks in m_copyback0() and  
> >m_makewritable()
> >to see what's really happening here ?
> 
> I'll try but that's somewhat over my head, some guidance would be  
> appreciated. The panic occurs regularly during a nightly backup-run  
> but so far, I cannot produce it at will yet.

The first thing I would do is print the new mbuf chain in m_makewritable.
We have:
        for (n = *mp; n; n = n->m_next)
                reslen += n->m_len;   
        if (origlen != reslen)
                panic("m_makewritable: length changed");

I would change it to:
        for (n = *mp; n; n = n->m_next)
                reslen += n->m_len;   
        if (origlen != reslen) {
                for (n = *mp; n; n = n->m_next)
                        printf("mbuf len %d type %d flags %d\n",
                            n->m_next, n->m_type, n->m_flags);
                printf("m_makewritable origlen %d newlen %d\n",
                    origlen, reslen);
                panic("m_makewritable: length changed");
        }

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--



Home | Main Index | Thread Index | Old Index