Re: [PATCH 0/4 v3] fs: Remove i_devices from struct inode

From: Al Viro
Date: Tue Nov 04 2014 - 10:39:48 EST


On Tue, Nov 04, 2014 at 11:27:27AM +0100, Jan Kara wrote:
> Hello,
>
> this patch set removes use of i_devices from block and character device
> code and thus we can remove the list head from struct inode thus saving two
> pointers in it. As Christoph has reviewed the series, can you please merge
> it Al? Thanks!
>
> Since v2 I've added reviewed-by tags from Christoph and changed one variable
> name in cdev_forget().
>
> Since v1 I have split the patches and properly handled character devices (I
> broke them last time as Christoph pointed out).

My problem with that is in buggered module refcounts (which was the reason
for doing those non-counting references back then). Suppose you open
/dev/some_char_device and close it; having the module pinned down until
the inode of that sucker gets evicted by dcache/icache memory pressure
would be wrong - it _isn't_ in use, and there's no way short of forcing
the full eviction of VFS caches to get it possible to unload...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/