Re: [PATCH] Export shmem_file_setup and shmem_getpage for DRM-GEM

From: Jesse Barnes
Date: Thu Aug 21 2008 - 12:16:00 EST


On Thursday, August 21, 2008 6:42 am Jerome Glisse wrote:
> On Tue, 19 Aug 2008 11:50:11 -0700
>
> Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> wrote:
> > As for in-kernel stuff, as long as we keep the GEM shmem hooks separate
> > from the actual bookkeeping (like we do now with i915_gem_create_ioctl()
> > vs drm_gem_object_alloc() for example) we should be able to do the
> > in-kernel stuff w/o jumping through too many VFS/VM hoops. That would
> > also assume we don't care about swapping in the in-kernel case, which we
> > don't; we want to pin the kernel allocated frame buffer and other memory
> > anyway, so using the internal functions should be fine.
>
> What about suspend to disk ? How do we save such buffers ?

We'll have to deal with it like other kernel memory, or in the case of cards
with VRAM maybe have a special hook that copies out the front buffer.
Depends on how Dave implemented the GEM stuff on a device with VRAM (I
haven't looked yet).

> Btw i think that GTT looks a lot like IOMMU, i don't know the IOMMU kernel
> side API that much, but from memory i think that you have call to ask IOMMU
> mapping why not do somethings like that for GTT ?
>
> You get normal mapping of object diret but userspace can ask some kind of
> GTT mapping on a given object. Anyway new flag on fd sounds good enough
> too.

At a high level that's pretty much what we're doing. We already have to map
things through the GTT in the kernel for pwrite/pread etc., so that code is
done. It's just exposing it to userspace that's a bit of a pain, since we
have an all-ioctl interface...

--
Jesse Barnes, Intel Open Source Technology Center
--
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/