From: Dave Chinner on
On Thu, Jun 24, 2010 at 01:02:50PM +1000, npiggin(a)suse.de wrote:
> RCU free the struct inode. This will allow:

Rather than what it will allow, what are the constraints this
imposes on allocating and freeing a struct inode? e.g. XFS embeds
the struct inode in a larger inode structure and does it's own
allocation, caching and freeing of the larger structure outside of
the VFS functionality.

Does this need to be converted to RCU? Do we need to do more
initialisation of the struct inode than we currently do? What
functions/call chains now implicitly require RCU freeing semantics
on the struct inode for safe operation? What else do we need to be
aware of?

Cheers,

Dave.
--
Dave Chinner
david(a)fromorbit.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Nick Piggin on
On Wed, Jun 30, 2010 at 06:57:11PM +1000, Dave Chinner wrote:
> On Thu, Jun 24, 2010 at 01:02:50PM +1000, npiggin(a)suse.de wrote:
> > RCU free the struct inode. This will allow:
>
> Rather than what it will allow, what are the constraints this
> imposes on allocating and freeing a struct inode? e.g. XFS embeds
> the struct inode in a larger inode structure and does it's own
> allocation, caching and freeing of the larger structure outside of
> the VFS functionality.
>
> Does this need to be converted to RCU? Do we need to do more
> initialisation of the struct inode than we currently do? What
> functions/call chains now implicitly require RCU freeing semantics
> on the struct inode for safe operation? What else do we need to be
> aware of?

Yeah, filesystems with their own freeing functions will need to
do a call_rcu to free it (many are not converted). Otherwise,
there is nothing else to know. They could take advantage of RCU
if they would like though.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/