Hello Dave,
Looking at the patch, I see that now we call xfs_idestroy_fork() in RCU
callback. This can do the following chain:
xfs_iext_destroy => xfs_iext_irec_remove =>
xfs_iext_realloc_indirect=> kmem_realloc => kmem_alloc => kmem_alloc
=> congestion_wait()
At least according to documentation, the RCU callback cannot block, since
it may be called from softirq context. Is this fine?
Thanks,
Alex.
P.S.: I have submitted a patch called “[PATCH] xfs: optimize destruction of
the indirection array”, which changes xfs_iext_destroy to call only kmem_free().
But this patch got stuck in the spam filter of the mailing list, and Brent is
working to release it from there.
|
_______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs