Re: [GIT PULL] kdbus for 4.1-rc1

From: Michal Hocko
Date: Fri Apr 17 2015 - 05:20:01 EST


On Thu 16-04-15 10:04:17, Andy Lutomirski wrote:
> On Thu, Apr 16, 2015 at 8:01 AM, David Herrmann <dh.herrmann@xxxxxxxxx> wrote:
> > Hi
> >
> > On Thu, Apr 16, 2015 at 4:34 PM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
> >> Whose memcg does the pool use?
> >
> > The pool-owner's (i.e., the receiver's).
> >
> >> If it's the receiver's, and if the
> >> receiver can configure a memcg, then it seems that even a single
> >> receiver could probably cause the sender to block for an unlimited
> >> amount of time.
> >
> > How? Which of those calls can block? I don't see how that can happen.
>
> I admit I don't fully understand memcg, but vfs_iter_write is
> presumably going to need to get write access to the target pool page,
> and that, in turn, will need that page to exist in memory and to be
> writable, which may need to page it in and/or allocate a page. If
> that uses the receiver's memcg (as it should), then the receiver can
> make it block. Even if it doesn't use the receiver's memcg, it can
> trigger direct reclaim, I think.

Yes, memcg direct reclaim might trigger but we are no longer waiting for
the OOM victim from non page fault paths so the time is bounded. It
still might a quite some time, though, depending on the amount of work
done in the direct reclaim.
--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/