That was not what I was talking about. Take a look at what those fields are used for :)
As far as I see the only usage of the size is in ttm_resource_manager_debug(). But this size is actually totally opaque to TTM, it could be pages, bytes, fried chicken wings or whatever. In other words it would be much better to print it in the debug callback of each resource manager.
Size is a bit trickier as the drivers use in a couple of funky places, radeon pokes inside the range manager and adjust its size post init, and amdgpu uses size to validate a bunch of bo sizing. These shouldn't be too messy to workaround.
The available_caching is completely superfluous as well. The original idea what that a driver could specify multiple placements as flags in one entry, but no driver ever used that as far as I know and it became completely deprecated in 2014 when I moved the lpfn and fpfn into each place.
The default_caching is used in ttm_bo_select_caching(), but this is complete utterly nonsense. It just results in multiple possible cache behaviors being selected, which are then fortunately ignored by ttm_tt_set_placement_caching :)
To be honest I think just removing those parameters and the associated caching flags all together is the next logical step.
Definitely something to burn down alright.
Dave.