Re: Question on the VFS inode structure.

Alexander Viro (viro@math.psu.edu)
Wed, 27 Oct 1999 14:46:46 -0400 (EDT)


On Wed, 27 Oct 1999, Malcolm Beattie wrote:

> I don't remember exactly what you proposed for this, but if you are
> intending to replace the inode structure with a generic one which has
> a pointer to a separately allocated per-fs structure then here's a
> warning. Digital UNIX used to that but had to change it exactly the
> opposite way for performance reasons. Its vnode structure used to
> have a v_data pointer to a separately allocated per-fs "private"
> structure. However, performance was bad because of the pointer
> following and the extra fragmentation. They ended up reuniting the two

Ouch. From what I've seen in Vahalia they seem to be doing ungodly amount
of directory accesses - even worse than 4.4BSD. Completely different load
_and_ mix. So I seriously doubt that we can apply their data.

> so that they could allocate the whole (generic + private) structure in
> one chunk and then made v_data point to directly after the generic
> part (i.e. the start of the no-longer-separate private part).
>
> They did the same with their ungodly mixture of BSD and Mach
> structures for tasks and threads: they had separate struct task,
> struct proc and struct utask which they combined into a single struct
> super_task (though still with pointers between the supposedly
> "separate" bits) and they had separate struct thread and struct
> np_uthread which they combined into struct super_thread.

<shudder>

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