diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-01-12 21:11:33 +0000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-02-23 11:15:39 +1000 |
commit | 4cb81ac2028a18f3f872f56fb7527afe5f5d0278 (patch) | |
tree | 6fac03f7bfcc0935a793f384ab6ebd5f4d085e02 /drivers/gpu/drm/drm_gem.c | |
parent | b1f559ecdc6026ef783ccadc62a61e7da906fcb4 (diff) | |
download | talos-op-linux-4cb81ac2028a18f3f872f56fb7527afe5f5d0278.tar.gz talos-op-linux-4cb81ac2028a18f3f872f56fb7527afe5f5d0278.zip |
drm: Trim the GEM mmap offset hashtab
Using an order 19 drm_ht for the mmap offsets is a little obscene. That
means that will a fully populated GTT with every single object mmaped at
least once in its lifetime, there will be exactly one object in each
bucket.
Typically systems only have at most a few thousand objects, though you
may see a KDE desktop hit 50000. And most of those should never be
mapped... On my systems, just using an order 10 ht would still have an
average occupancy less than 1, so apply a small safety factor and
use an order 12 ht, like the other mmap offset ht.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_gem.c')
-rw-r--r-- | drivers/gpu/drm/drm_gem.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index aa8df2534819..57ce27c9a747 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -101,7 +101,7 @@ drm_gem_init(struct drm_device *dev) dev->mm_private = mm; - if (drm_ht_create(&mm->offset_hash, 19)) { + if (drm_ht_create(&mm->offset_hash, 12)) { kfree(mm); return -ENOMEM; } |