Marcin Slusarz
2011-Nov-06 19:32 UTC
[Nouveau] [PATCH] drm/nv10: disable perf hack on low memory cards
On 16MB cards it's too easy to hit ENOMEM with 2D use when this perf hack is enabled. This should fix https://bugs.freedesktop.org/show_bug.cgi?id=42384 Signed-off-by: Marcin Slusarz <marcin.slusarz at gmail.com> Cc: Francisco Jerez <currojerez at riseup.net> --- drivers/gpu/drm/nouveau/nouveau_bo.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c index 7226f41..a692648 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.c +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -148,6 +148,7 @@ set_placement_range(struct nouveau_bo *nvbo, uint32_t type) if (dev_priv->card_type == NV_10 && nvbo->tile_mode && (type & TTM_PL_FLAG_VRAM) && + dev_priv->vram_size >= 32 * 1024 * 1024 && nvbo->bo.mem.num_pages < vram_pages / 2) { /* * Make sure that the color and depth buffers are handled -- 1.7.7
Francisco Jerez
2011-Nov-06 20:54 UTC
[Nouveau] [PATCH] drm/nv10: disable perf hack on low memory cards
Marcin Slusarz <marcin.slusarz at gmail.com> writes:> On 16MB cards it's too easy to hit ENOMEM with 2D use when this > perf hack is enabled. >AFAIK the "hack" still makes sense on such low memory cards. I guess the right way to fix this corner case would be to have fall-back placement ranges in TTM the same way there's a list of allowed placement types right now. But, it's probably not worth the effort. For now I've just pushed a patch changing the BO size threshold that determines whether to set the placement range or not. That's likely to behave better than a hard memory limit of this kind, both when you have a <32MB card with small enough render buffers or a >32MB card with huge render buffers that would otherwise hit the same bug.> This should fix https://bugs.freedesktop.org/show_bug.cgi?id=42384 > > Signed-off-by: Marcin Slusarz <marcin.slusarz at gmail.com> > Cc: Francisco Jerez <currojerez at riseup.net> > --- > drivers/gpu/drm/nouveau/nouveau_bo.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c > index 7226f41..a692648 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_bo.c > +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c > @@ -148,6 +148,7 @@ set_placement_range(struct nouveau_bo *nvbo, uint32_t type) > > if (dev_priv->card_type == NV_10 && > nvbo->tile_mode && (type & TTM_PL_FLAG_VRAM) && > + dev_priv->vram_size >= 32 * 1024 * 1024 && > nvbo->bo.mem.num_pages < vram_pages / 2) { > /* > * Make sure that the color and depth buffers are handled-------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 229 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20111106/6f5107ce/attachment.pgp>
Possibly Parallel Threads
- [PATCH 1/7] drm/nouveau: remove prototype for non-existent nouveau_connector_bpp
- [RFC PATCH 6/7] drm/nouveau: Support marking buffers for explicit sync
- [PATCH 1/2] drm/nouveau: Use 0x5f instead of 0x9f as imageblit on original NV10.
- [Bug 42384] New: X fails on NV11 with Error allocating scanout buffer: 0
- [Bug 14823] New: nv10 hardware cursor corruption with randr1.2