Re: [fuse-devel] fuse: trying to steal weird page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 26, 2019 at 9:35 PM Nikolaus Rath <Nikolaus@xxxxxxxx> wrote:
>
> [ Moving fuse-devel and linux-fsdevel to Bcc ]
>
> Hello linux-mm people,
>
> I am posting this here as advised by Miklos (see below). In short, I
> have a workload that reliably produces kernel messages of the form:
>
> [ 2562.773181] fuse: trying to steal weird page
> [ 2562.773187] page=<something> index=<something> flags=17ffffc00000ad, count=1, mapcount=0, mapping= (null)
>
> What are the implications of this message? Is something activelly going
> wrong (aka do I need to worry about data integrity)?

Fuse is careful and basically just falls back on page copy, so it
definitely shouldn't affect data integrity.

The more interesting question is: how can page_cache_pipe_buf_steal()
return a dirty page?  The logic in remove_mapping() should prevent
that, but something is apparently slipping through...

>
> Is there something I can do to help debugging (and hopefully fixing)
> this?
>
> This is with kernel 4.18 (from Ubuntu cosmic).

One thought: have you tried reproducing with a recent vanilla
(non-ubuntu) kernel?

Thanks,
Miklos


>
> Best,
> -Nikolaus
>
>
> On Feb 26 2019, Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
> > On Tue, Feb 26, 2019 at 1:57 PM Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
> >>
> >> On Mon, Feb 25, 2019 at 10:41 PM Nikolaus Rath <Nikolaus@xxxxxxxx> wrote:
> >> >
> >> > On Feb 12 2019, Nikolaus Rath <Nikolaus@xxxxxxxx> wrote:
> >> > > On Feb 12 2019, Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
> >> > >> On Sun, Feb 10, 2019 at 11:05 PM Nikolaus Rath <Nikolaus@xxxxxxxx> wrote:
> >> > >>
> >> > >>> Bad news. I can now reliably reproduce the issue again.
> >> > >>
> >> > >> A reliable reproducer is always good news.   Are the messages exactly
> >> > >> the same as last time (value of flags, etc)?
> >> > >
> >> > > The flags, count, mapcount and mapping values are always the same. The
> >> > > page and index is varying. So the general format is:
> >> > >
> >> > > [ 2562.773181] fuse: trying to steal weird page
> >> > > [ 2562.773187] page=<something> index=<something>
> >> > > flags=17ffffc00000ad, count=1, mapcount=0, mapping= (null)
> >> >
> >> > Is there anything else I can do to help debugging this?
> >>
> >> Could you please try the attached patch?
> >
> > Looking more, it's very unlikely to help.  remove_mapping() should
> > already ensure that the page count is 1.
> >
> > I think this bug report needs to be forwarded to the
> > <linux-mm@xxxxxxxxx> mailing list as this appears to be  a race
> > somewhere in the memory management subsystem and fuse is only making
> > it visible due to its sanity checking in the page stealing code.
> >
> > Thanks,
> > Miklos
> >
> >
> > --
> > fuse-devel mailing list
> > To unsubscribe or subscribe, visit https://lists.sourceforge.net/lists/listinfo/fuse-devel
>
>
> --
> GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F
>
>              »Time flies like an arrow, fruit flies like a Banana.«





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux