All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: "Siluvery, Arun" <arun.siluvery@linux.intel.com>,
	Chris Wilson <chris@chris-wilson.co.uk>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [RFC 0/3] Add new ioctl to resize gem object for deferred allocation
Date: Mon, 07 Apr 2014 15:54:39 +0100	[thread overview]
Message-ID: <5342BC2F.5000706@linux.intel.com> (raw)
In-Reply-To: <5342A59E.3090205@linux.intel.com>


On 04/07/2014 02:18 PM, Siluvery, Arun wrote:
> On 27/03/2014 22:23, Chris Wilson wrote:
>> On Thu, Mar 27, 2014 at 03:28:26PM +0000,
>> arun.siluvery@linux.intel.com wrote:
>>> From: "Siluvery, Arun" <arun.siluvery@intel.com>
>>>
>>> This patch series adds a new ioctl to resize a gem object.
>>
>> I'm tired, but off the top of my head, I think you can do away with the
>> magic extension to create_ioctl. If we allow any one to fallocate()
>> ranges of any object, the user can create a large object, populate it
>> all with a scratch page, then later populate regions as required. This
>> looks quite a reasonable and useful feature.
>> -Chris
>>
> Could you clarify my understanding on how to use fallocate() to resize
> the object, considering the case where we start with an object of size x
> and want to increase its size  to (x+y) at a later point.
> My understanding is, first object is created with gem_create ioctl with
> size x. At a later point if it is to be resized, we allocate y at the
> end of x using fallocate(). It is allocating the pages for us and from
> its implementation it is clear that the file size is updated with new
> value if offset+len is greater than initial size.
> Do we need to make any changes for GEM to get the new size or it is
> completely transparent to it?
> could you give an overview on how you think it should work?

My understanding of what Chris said is that fallocate(2) could be used 
to toggle ranges of an object - from "normal" backing store, to scratch 
page backing store.

There is a mode argument passed in to fallocate, so if that is zero you 
could populate the passed in range with scratch pages. Or if mode is 
FALLOC_FL_KEEP_SIZE you could allocate proper backing.

Tvrtko

      reply	other threads:[~2014-04-07 14:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-27 15:28 [RFC 0/3] Add new ioctl to resize gem object for deferred allocation arun.siluvery
2014-03-27 15:28 ` [RFC 1/3] drm/i915: Prepare gem object to handle resize arun.siluvery
2014-03-27 15:28 ` [RFC 2/3] drm/i915: Handle gem object resize using scratch page for lazy allocation arun.siluvery
2014-03-27 15:28 ` [RFC 3/3] drm/i915: Create new ioctl to request gem object resize arun.siluvery
2014-03-27 22:23 ` [RFC 0/3] Add new ioctl to resize gem object for deferred allocation Chris Wilson
2014-04-04 10:45   ` Siluvery, Arun
2014-04-07 13:18   ` Siluvery, Arun
2014-04-07 14:54     ` Tvrtko Ursulin [this message]

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=5342BC2F.5000706@linux.intel.com \
    --to=tvrtko.ursulin@linux.intel.com \
    --cc=arun.siluvery@linux.intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.