[Intel-gfx] [PATCH 3/3] igt/gem_stolen: Check for available stolen memory size

Ankitprasad Sharma ankitprasad.r.sharma at intel.com
Mon Jun 6 09:25:21 UTC 2016


On Fri, 2016-06-03 at 11:58 +0100, Tvrtko Ursulin wrote:
> On 03/06/16 09:51, ankitprasad.r.sharma at intel.com wrote:
> > From: Ankitprasad Sharma <ankitprasad.r.sharma at intel.com>
> >
> > Check for available stolen memory size before attempting to run
> > the stolen memory tests. This way we make sure that we do not
> > create objects from stolen memory without knowing the available size.
> >
> > This checks if the kernel supports creation of stolen backed objects
> > before doing any operation on stolen backed objects.
> >
> > Also correcting the CREATE_VERSION ioctl number in getparam ioctl,
> > due to kernel changes added in between.
> >
> > Signed-off-by: Ankitprasad Sharma <ankitprasad.r.sharma at intel.com>
> > ---
> >   lib/ioctl_wrappers.c | 48 +++++++++++++++++++++++++++++++++++++++++++++++-
> >   lib/ioctl_wrappers.h |  7 +++++--
> >   tests/gem_create.c   |  2 +-
> >   tests/gem_pread.c    |  3 +++
> >   tests/gem_pwrite.c   |  2 ++
> >   tests/gem_stolen.c   | 16 ++++++++--------
> >   6 files changed, 66 insertions(+), 12 deletions(-)
> >
> > diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
> > index f224091..e6120bb 100644
> > --- a/lib/ioctl_wrappers.c
> > +++ b/lib/ioctl_wrappers.c
> > @@ -455,7 +455,7 @@ bool gem_create__has_stolen_support(int fd)
> >
> >   	if (has_stolen_support < 0) {
> >   		memset(&gp, 0, sizeof(gp));
> > -		gp.param = 36; /* CREATE_VERSION */
> > +		gp.param = 38; /* CREATE_VERSION */
> >   		gp.value = &val;
> >
> >   		/* Do we have the extended gem_create_ioctl? */
> > @@ -1230,6 +1230,52 @@ bool gem_has_bsd2(int fd)
> >   		has_bsd2 = has_param(fd, LOCAL_I915_PARAM_HAS_BSD2);
> >   	return has_bsd2;
> >   }
> > +
> > +struct local_i915_gem_get_aperture {
> > +	__u64 aper_size;
> > +	__u64 aper_available_size;
> > +	__u64 version;
> > +	__u64 map_total_size;
> > +	__u64 stolen_total_size;
> > +};
> > +#define DRM_I915_GEM_GET_APERTURE	0x23
> > +#define LOCAL_IOCTL_I915_GEM_GET_APERTURE DRM_IOR  (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct local_i915_gem_get_aperture)
> > +/**
> > + * gem_total_mappable_size:
> > + * @fd: open i915 drm file descriptor
> > + *
> > + * Feature test macro to query the kernel for the total mappable size.
> 
> Minor: it is not a feature test nor a macro.
I have just added this to maintain consistency among other helper
functions. You want me to change it?

Thanks,
Ankit



More information about the Intel-gfx mailing list