On 10/30/20, Konstantin Belousov <kostik...@gmail.com> wrote: > On Fri, Oct 30, 2020 at 03:08:32PM +0100, Mateusz Guzik wrote: >> On 10/30/20, Mateusz Guzik <m...@freebsd.org> wrote: >> > Author: mjg >> > Date: Fri Oct 30 14:07:25 2020 >> > New Revision: 367165 >> > URL: https://svnweb.freebsd.org/changeset/base/367165 >> > >> > Log: >> > tmpfs: change tmpfs dirent zone into a malloc type >> > >> > It is 64 bytes. >> > >> >> Right now malloc has only power-of-2 zones but I'm looking into >> changing that. The allocator itself trivially extends to multiply of >> 16, but stat collection needs reworking. > > Either commit message or follow-up do not explain why stopping using > zone for dirents is useful. Intuition says exactly reverse, dirents > on tmpfs are allocation-intensive typically. >
Off hand the only reasons to use a dedicated zones that I see are: - use of any of the routines on object creation/destruction - non-standard flags like NOFREE - SMR - high expected allocated count with sizes poorly fit for malloc Since malloc itself is implemented on top of zones, the difference before/after the patch is that now it can re-use the pre-existing 64 byte buckets instead of creating its own copy. The above follow up was to address potential comments about the size changing from 64 -- with better malloc granularity this wont be a big deal. Also note tmpfs already uses malloc to store names. If anything in my opinion the kernel has unnecessary zones (like the vnode poll one I patched prior to this). -- Mateusz Guzik <mjguzik gmail.com> _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"