Re: [PATCH 10 of 20] ipath - support for userspace apps using coredriver

From: Andrew Morton
Date: Thu Mar 09 2006 - 19:33:07 EST


"Bryan O'Sullivan" <bos@xxxxxxxxxxxxx> wrote:
>
> On Thu, 2006-03-09 at 16:01 -0800, Roland Dreier wrote:
> > Bryan> Any idea what I should be using instead?
> >
> > It depends what you're trying to do. Hence my original question: why
> > are you doing SetPageReserved?
>
> We're mapping some memory that the chip DMAs to into userspace, so that
> user processes can spin on memory locations without going through the
> kernel. The SetPageReserved hack is an attempt to stop the VM from
> reclaiming those pages from us once a user process exits.

If your driver allocated these pages and never added them to the LRU then
the VM won't touch them.

If your driver owns the pages and has a ref on them then they won't get
freed at task exit-time.

If the app owns the pages and you're using get_user_pages() then your
driver owns the last ref on the pages.

> I realise that it's surely bogus, and I'd be thrilled to do something
> correct instead. We've tried doing both SetPageReserved and get_page,
> but it hasn't work out too well so far.

We'd need to see a halfway decent description of the problem first ;)
-
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/