mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Nick Piggin <npiggin@suse.de>
To: "Thomas Hellström" <thomas@tungstengraphics.com>
Cc: keith.packard@intel.com, eric@anholt.net, hugh@veritas.com,
	hch@infradead.org, airlied@linux.ie, jbarnes@virtuousgeek.org,
	dri-devel@lists.sourceforge.net,
	Linux Memory Management List <linux-mm@kvack.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [patch] mm: pageable memory allocator (for DRM-GEM?)
Date: Thu, 25 Sep 2008 02:18:56 +0200	[thread overview]
Message-ID: <20080925001856.GB23494@wotan.suse.de> (raw)
In-Reply-To: <48D8C326.80909@tungstengraphics.com>

On Tue, Sep 23, 2008 at 12:21:26PM +0200, Thomas Hellström wrote:
> Nick,
> From my point of view, this is exactly what's needed, although there 
> might be some different opinions among the
> DRM developers. A question:
> 
> Sometimes it's desirable to indicate that a page / object is "cleaned", 
> which would mean data has moved and is backed by device memory. In that 
> case one could either free the object or indicate to it that it can 
> release it's pages. Is freeing / recreating such an object an expensive 
> operation? Would it, in that case, be possible to add an object / page 
> "cleaned" function?

Ah, interesting... freeing/recreating isn't _too_ expensive, but it is
going to have to allocate a lot of pages (for a big object) and copy
a lot of memory. It's strange to say "cleaned", in a sense, because the
allocator itself doesn't know it is being used as a writeback cache ;)
(and it might get confusing with the shmem implementation because your
cleaned != shmem cleaned!).

I understand the operation you need, but it's tricky to make it work in
the existing shmem / vm infrastructure I think. Let's call it "dontneed",
and I'll add a hook in there we can play with later to see if it helps?

What I could imagine is to have a second backing store (not shmem), which
"dontneed" pages go onto, and they simply get discarded rather than swapped
out (eg. via the ->shrinker() memory pressure indicator). You could then
also register a callback to recreate these parts of memory if they have been
discarded then become used again. It wouldn't be terribly difficult come to
think of it... would that be useful?


  parent reply	other threads:[~2008-09-25  0:19 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-23  9:10 Nick Piggin
2008-09-23 10:21 ` Thomas Hellström
2008-09-23 11:31   ` Jerome Glisse
2008-09-23 13:18     ` Christoph Lameter
2008-09-25  0:18   ` Nick Piggin [this message]
2008-09-25  7:19     ` Thomas Hellström
2008-09-25 14:38       ` Keith Packard
2008-09-25 15:39         ` Thomas Hellström
2008-09-25 22:41           ` Dave Airlie
2008-09-23 15:50 ` Keith Packard
2008-09-23 18:29   ` Jerome Glisse
2008-09-25  0:30   ` Nick Piggin
2008-09-25  1:20     ` Keith Packard
2008-09-25  2:30       ` Nick Piggin
2008-09-25  2:43         ` Keith Packard
2008-09-25  3:07           ` Nick Piggin
2008-09-25  6:16             ` Keith Packard
2008-09-25  8:45 ` KAMEZAWA Hiroyuki
2008-09-30  1:10 ` Eric Anholt
2008-10-02 17:15   ` Jesse Barnes
2008-10-03  5:17     ` Keith Packard
2008-10-03  6:40       ` Nick Piggin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080925001856.GB23494@wotan.suse.de \
    --to=npiggin@suse.de \
    --cc=airlied@linux.ie \
    --cc=dri-devel@lists.sourceforge.net \
    --cc=eric@anholt.net \
    --cc=hch@infradead.org \
    --cc=hugh@veritas.com \
    --cc=jbarnes@virtuousgeek.org \
    --cc=keith.packard@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=thomas@tungstengraphics.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®