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

From: Rick Macklem <rmacklem_at_uoguelph.ca>
Date: Wed, 18 Aug 2010 20:04:54 -0400 (EDT)
> 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
Received on Wed Aug 18 2010 - 22:04:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:06 UTC