Re: file metadata via fs API

From: Al Viro
Date: Tue Aug 18 2020 - 22:29:21 EST


On Tue, Aug 18, 2020 at 11:51:25AM -0700, Linus Torvalds wrote:

> I think people who have problems parsing plain ASCII text are just
> wrong. It's not that expensive. The thing that makes /proc/mounts
> expensive is not the individual lines - it's that there are a lot of
> them.

It is expensive - if you use strdup() all over the place,
do asprintf() equivalents for concatenation, etc. IOW, you can write
BASIC (or javascript) in any language...

systemd used to be that bad - exactly in parsing /proc/mounts;
I hadn't checked that code lately, so it's possible that it had gotten
better, but about 4 years ago it had been awful. OTOH, at that time
I'd been looking at the atrocities kernel-side (in fs/pnode.c), where
on realistic setups we had O(N^2) allocations done, with all but O(N)
of them ending up freed before anyone could see them. So it's not as
if they had a monopoly on bloody awful code...