On 03/17/2015 04:59 PM, Alex Deucher wrote: > radeon_bo_create() calls radeon_ttm_placement_from_domain() > before ttm_bo_init() is called. radeon_ttm_placement_from_domain() > uses the ttm bo size to determine when to select top down > allocation but since the ttm bo is not initialized yet the > check is always false. It only took affect when buffers > were validated later. It also seemed to regress suspend > and resume on some systems possibly due to it not > taking affect in radeon_bo_create(). > > radeon_bo_create() and radeon_ttm_placement_from_domain() > need to be reworked substantially for this to be optimally > effective. Re-enable it at that point. > > Noticed-by: Oded Gabbay <oded.gabbay@xxxxxxx> > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx Minor nitpick: s/take affect/take effect/ /Thomas > --- > drivers/gpu/drm/radeon/radeon_object.c | 11 ----------- > 1 file changed, 11 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c > index 43e0994..318165d 100644 > --- a/drivers/gpu/drm/radeon/radeon_object.c > +++ b/drivers/gpu/drm/radeon/radeon_object.c > @@ -173,17 +173,6 @@ void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain) > else > rbo->placements[i].lpfn = 0; > } > - > - /* > - * Use two-ended allocation depending on the buffer size to > - * improve fragmentation quality. > - * 512kb was measured as the most optimal number. > - */ > - if (rbo->tbo.mem.size > 512 * 1024) { > - for (i = 0; i < c; i++) { > - rbo->placements[i].flags |= TTM_PL_FLAG_TOPDOWN; > - } > - } > } > > int radeon_bo_create(struct radeon_device *rdev, -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html