Re: [PATCH 0/5] pnfs-submit fix kfree under spin lock

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

 



Trond and Fred informed me that kfree under a spin lock is actually
OK. So, maybe these patches aren't needed.

On the other hand, with these patches we don't hold the spin lock over
function calls which to my mind is easier to read. Also, the
free_layout/free_lseg layoutdriver calls may do more than call kfree.

At least, we should document what we expect from the
free_layout/free_lseg - e.g. no side affects that conflict with being
called under a spinlock..

-->Andy

On Tue, Jul 20, 2010 at 1:01 PM,  <andros@xxxxxxxxxx> wrote:
>
> Fix kfree under spin lock
>
> Both put_lseg and put_layout are called under the inode i_lock where the
> last reference will end up freeing structures.
>
> I know there has been a lot of churn in this code, but free'ing under the
> spin lock is a no-no.
> In this patch I refactor the layout allocation, combining it with the
> layout segment lookup code. The new function, pnfs_get_layout_segment takes
> inode spin lock, and looks to see if the requested range is serviced by an
> existing layout segment. If the layout has not been allocated, allocate it.
> If a layout segement is found, reference it and give up the lock. If no
> layout segment is found, reference the layout for the layoutget call and
> give up the lock.
>
> 0001-SQUASHME-pnfs-submit-alloc-layout-don-t-call-put_lay.patch
> 0002-SQUASHME-pnfs-submit-use-atomic_dec_and_lock-for-lay.patch
>
> Fix the put_lseg under spin lock.
> 0003-SQUASHME-pnfs-submit-don-t-call-put_lseg-under-spin-.patch
>
> Cleanup.
> 0004-SQUASHME-pnfs-submit-pnfs_release_layout-just-use-in.patch
> 0005-SQUASHME-pnfs-submit-fix-has_layout-compile-error.patch
>
> Tests:
> CONFIG_NFS_V4_1 set:
> Connectathon tests pass against GFS2 and pyNFS file layout servers.
>
> CONFIG_NFS_V4_1 not set:
> Connectathon tests pass.
>
> -->Andy
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux