sbp_targ memory leak

Hidetoshi Shimokawa simokawa at FreeBSD.ORG
Thu Dec 20 17:27:41 PST 2007


Thanks for the test.
I'll look into the page_table problem this weekend.
Sorry for late response.

On 12/21/07, Sean Bruno <sbruno at miralink.com> wrote:
> Hidetoshi Shimokawa wrote:
> > I think you are right and page table is not freed when CAM_SEND_STATUS
> > is not set.
> > Maybe we should always free page tables if refcont == 0 rather than
> > free in sbp_targ_send_status().
> >
> > You patch is not just adding debug printfs, right?
> > What is the mtx locks for?
> >
> > On 12/18/07, Sean Bruno <sbruno at miralink.com> wrote:
> >
> >> Hidetoshi Shimokawa wrote:
> >>
> >>> Thanks for the tracking of the problem.
> >>> Could you resend the patch in unified or context diff?
> >>>
> >>> Thanks,
> >>>
> >>> On 12/17/07, Sean Bruno <sbruno at miralink.com> wrote:
> >>>
> >>>
> >>>> In trying to understand and make sbp_targ functional, I've noted that
> >>>> the code seems to lose track of how many page tables it allocates for
> >>>> any give orbi.  I had to add a lot of debugging code around the
> >>>> malloc/free's to find out what was going on, and I'm not sure what the
> >>>> code is supposed to do in this case.
> >>>>
> >>>> Please review the patch diff at --> http://consultcsg.com/RELENG_6.diff
> >>>>
> >>>> And the log at -->http://consultcsg.com/malloc_failure.txt
> >>>>
> >>>>
> >>>>
> >>>>
> >> Diff updated at http://consultcsg.com/RELENG_6.diff
> >>
> >> Sean
> >>
> >>
> I moved the free around as you suggested and the memory leak does indeed
> go away and there are no further crashes.
> Here is my current diff -->  http://consultcsg.com/RELENG_6.diff .
>
> It does look like the data is not being written or read to the backend
> correctly however.  I.e. the page_table is not being
> setup correctly when more than one read or write is required to service
> an ORB.  Any ideas on how to look into that?
>
> Sean
>
>


-- 
/\ Hidetoshi Shimokawa
\/  simokawa at FreeBSD.ORG


More information about the freebsd-firewire mailing list