Re: Is there a "make hole" (truncate in middle) syscall?

Jörn Engel
2003-12-12T12:55:29Z

On Thu, 11 December 2003 14:32:12 -0600, Rob Landley wrote:
> On Thursday 11 December 2003 13:48, Jörn Engel wrote:
> >
> > If you really do it, please don't add a syscall for it. Simply check
> > each written page if it is completely filled with zero. (This will be
> > a very quick check for most pages, as they will contain something
> > nonzero in the first couple of words)
>
> Cache poisoning, streaming writes to large RAID arrays... There are about 8
> zllion reasons not to do this. Really. (It defeats the whole purpose of
> DMA, doesn't it?)

Yes, the obvious and stupid implementation has a ton of problems.
Most likely the right approach is some sort of background deamon
(garbage collector, defragmenter, journald, whatever you may call it)
that does exacly this even after the fact for the last unchecked
writes. Asyncronous under load, possibly even synchronous when almost
idle.

A stupid implementation would still help for some workload (few, while
hurting many) and already get the code tested, so even a stupid
implementation helps.

Jörn

--
There's nothing better for promoting creativity in a medium than
making an audience feel "Hmm ­ I could do better than that!"
-- Douglas Adams in a slashdot interview