Re: file locking.
- From: Jeff Roberson <jroberson@xxxxxxxxxxxxxx>
- Date: Thu, 16 Aug 2007 13:18:51 -0700 (PDT)
On Thu, 16 Aug 2007, John Baldwin wrote:
On Thursday 16 August 2007 03:01:18 am Jeff Roberson wrote:I have been looking at file locking for 8.0 and have come up with a way to
completely eliminate the file lock, reduce the size of struct file by
~4 pointers (22%), remove the global list of files and associated lock,
and restrict the scope of unp_gc while removing several race conditions.
Thanks for the review.
I like finit(). I would maybe change socketpair() to pass so1 and so2 to
finit() rather than setting f_data twice.
I'm not sure what you mean?
Did you consider using refcount_* for f_count rather than using the atomic
operations directly?
Yes, I may change it. I was investigating some schemes where it may not have been sufficient but I think it will work fine for what I've settled on.
I also think I'll wrap some atomics for manipulating f_type in macros.
It appears you never call unp_discard() and thus 'closef()' on the sockets in
unp_gc() now. Perhaps the fdrop()'s in the end of the loop should be
unp_discard()'s instead?
unp_discard() happens as a side-effect of sorflush().
Also, it's a bit of a shame to lose 'show files' from ddb.
Yes, I can re-implement that using the same technique as sysctl kern.file. What's more troubling is the continued erosion of support for libkvm as it uses filelist. I don't think libkvm is a strong enough case to keep filelist around. I guess I will have to hack it to work similarly to sysctl as well.
Do we have an official stance on libkvm? Now that we have sysctl for run-time it's only useful for crashdump debugging. Really in most cases it could be replaced with a reasonable set of gcc scripts.
Jeff
_______________________________________________
--
John Baldwin
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: file locking.
- From: John Baldwin
- Re: file locking.
- References:
- file locking.
- From: Jeff Roberson
- Re: file locking.
- From: John Baldwin
- file locking.
- Prev by Date: Re: file locking.
- Next by Date: Re: file locking.
- Previous by thread: Re: file locking.
- Next by thread: Re: file locking.
- Index(es):