tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: File handling changes



On Thu, Feb 21, 2008 at 04:49:56PM +0000, Andrew Doran wrote:
> 
> - Redo reference counting to be sane. Right now it looks like the product of
>   ~30 years worth of incremental changes. With the patch, LWPs accessing
>   files take a short term reference on the local file descriptor. This is
>   the most common case. While a file is in a process descriptor table, a
>   reference is held to the file. The file reference count only changes
>   during control operations like open() or close(). Code that comes at files
>   from an unusual direction (i.e. foreign to the process) like procfs or
>   sysctl takes a reference on the file (f_count), and not on a descriptor.

I have noticed that the code has 2 ref counts - where only one is needed.
(and that you can't need the process creds for close()!)

> http://www.netbsd.org/~ad/fd1.diff
> http://www.netbsd.org/~ad/fd2.diff
> 
> There are still problems with the patched code, which I am working on it at
> the moment. Comments?

The diffs are inpenetrable - especially the first one.

The changes to remove passing of curlwp and curproc (etc) really should
be committed separately.

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index