Congratulations, you appear to be the world's first user of the
pre-allocated buffer head pool in pagebuf! :)
when pagebuf initializes, it sets aside a handful of buffer heads to use
in "emergency" situations, i.e. if it tries to allocate a buffer head and
fails. If this happens, it takes one from this pre-allocated pool
instead. If normal allocation fails, _and_ the pre-allocated pool is
empty, that thread will sleep until buffer heads get replaced in the
pre-allocated pool - this is what happened to you. The thread gets woken
up and picks up where it left off as soon as it is able to get a
buffer head allocated from the pool.
It should not be a problem; it's doing exactly what it's supposed to do.
Perhaps the kernel message should be removed, since it really isn't
indicative of anything going wrong.
Glad to hear that that you didn't seem to encounter any other problems.
I'm curious, though, how you hit this on a 1GB machine. I have not seen
it even when running on very low-memory systems (32M or so).
-Eric
On Sun, 16 Dec 2001, David Chambers wrote:
> While copying a large number of large files to one of my XFS partitions
> I got two of these messages from the kernel:
>
> pagebuf: out of preallocated buffer heads, sleeping.
>
> Is this anything to be concerned about? The copy (from an NFS
> mounted filesystem to a local filesystem) proceeded normally otherwise.
>
> The machine is using Friday morning's (12/14/01) CVS 2.4.16 kernel
> and the filesystem is 420Gb on a 3Ware 7850 controller running RAID-5.
> Machine has 1Gb of RAM. Anything else pertinent?
>
> Happy holiday season to all!
>
> - David
>
|