Re: [PATCH] xfs: fix race while discarding buffers [V4]

Dave Chinner
2012-08-20T23:21:13Z

On Mon, Aug 20, 2012 at 07:47:51PM -0300, Carlos Maiolino wrote:
> Hi Ben,
> >
> >
> Thanks for the comments.
> >
> > What was the symptom that led to the discovery of this problem?
> >
> > Reviewed-by: Ben Myers <bpm@sgi.com>
> >
>
> It started with the messages like the example below being logged by syslog:
>
> shrink_slab: xfs_buftarg_shrink+0x0/0x160 [xfs] negative objects to delete nr=-61993820
> shrink_slab: xfs_buftarg_shrink+0x0/0x160 [xfs] negative objects to delete nr=-146
> shrink_slab: xfs_buftarg_shrink+0x0/0x160 [xfs] negative objects to delete nr=-240601220
> shrink_slab: xfs_buftarg_shrink+0x0/0x160 [xfs] negative objects to delete nr=-152
> shrink_slab: xfs_buftarg_shrink+0x0/0x160 [xfs] negative objects to delete nr=-2921236993
>
> These messages came from shrink_slab().

Worth noting is that this warning came from a RHEL kernel, not a
mainline kernel. The mainline kernels don't screw up the nr_to_scan
calculations when a negative object count is returned to them.
Hence mainline kernels are not impacted by the accounting bug at
all...

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com