The kernel driver will attempt to free up enough vram to honor the request by migrating other buffers out of vram, but if there is still not enough room, you'll end up with gart. Depending on how much migration has to take place, it's sometimes better to just use gart in the first place. There are no simple answers.
This patch seems relevant (it's queued up for the 3.12 kernel):
Newer asics have a lot of vram so it's less of an issue to waste a little more space for the gart page table. This gives us some additional gart space before having to migrate to non-gart system ram for games, etc. where we use up most of vram.
That sounds strange, I currently own a Radeon HD 3650 and a Radeon HD 5450 both with 512M of VRAM. This submit makes the latter use 1024M of GART memory while the first remains with the old default of 512M. Wouldn't the 3650 benefit at least the same from the extra GART memory as it's faster and has the same amount of VRAM even though being an older generation?