sbp_targ memory leak
Sean Bruno
sbruno at miralink.com
Wed Jan 16 15:51:49 PST 2008
Hidetoshi Shimokawa wrote:
> Thanks for digging out the problem.
> I did not suppose multiple CTIO's for an ATIO so that your guess
> should be right.
>
> I'm sorry that I will be busy until mid of Feb.
> I'd like to merge your fixes to -current in a few month.
>
> I appreciate if you would do the following:
> - test on -current and make a patch for -current.
> - split the patch for each fix
> (a version control system or ports/devel/quilt may be useful)
> - non-reversed patch
>
> Thanks,
>
> On Jan 17, 2008 1:05 AM, Sean Bruno <sbruno at miralink.com> wrote:
>
>> Hidetoshi Shimokawa wrote:
>>
>>> 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
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>> I seem to have been able to resolve the memory leak, multiple CTIO's and
>> some various lockups with the patch in this PR -->
>> http://www.freebsd.org/cgi/query-pr.cgi?pr=119575
>>
>> This is against RELENG_6 and should be applied. I noted 3 more issues
>> that I'd like to resolve in the ticket.
>>
>> What do you think?
>>
>> Sean
>>
>>
>
>
>
>
Excellent. I'll get on it. Probably, it will be around 4 patches?
Sean
More information about the freebsd-firewire
mailing list