LOR on nfs: vfs_vnops.c:301 kern_descrip.c:1580

pluknet pluknet at gmail.com
Thu Aug 19 09:32:16 UTC 2010


On 19 August 2010 04:04, Rick Macklem <rmacklem at uoguelph.ca> wrote:
>> On 18 August 2010 12:07, pluknet <pluknet at gmail.com> wrote:
>> > On 17 August 2010 20:04, Kostik Belousov <kostikbel at gmail.com> wrote:
>> >
>> >>
>> >> Also please take a note of the John' suggestion to use the taskqueue.
>> >
>> > I decided to go this road. Thank you both.
>> > Now I do nfs buildkernel survive and prepare some benchmark results.
>> >
>>
> I'm away from home, so I can only do email and haven't looked at the
> patch, but I think you might want to consider avoiding the malloc()
> failure by calling malloc(... M_WAITOK); before grabbing the mutex.
> Then, set the pointer to NULL if you use it and free it at the end
> (I tend to test for non-NULL before calling free(), but others have
> pointed out that this isn't necessary.)
>
> I believe this is called "Dykstra's technique", although I used it
> a lot before I found out it had been published.
>
> I think handling the case where malloc() fails correctly could
> be difficult which is why I suggested the above.
>
> Good luck with the patch, rick

Nice :)

I need to step back and get a timeout
to re-think how to use this technique.

-- 
wbr,
pluknet


More information about the freebsd-current mailing list