How is CPU calculated for large numbers of CPU cores?

We recently upgraded our hardware and SQL server to be able to use 104 cores hyperthreaded.  In traces I see both @@CPU_BUSY and sys.dm_os_ring_buffers.  Which one is used for the dashboard?  We recently saw an issue where using sys.dm_os_ring_buffers gave us over 100% CPU and when we asked Microsoft about it they said that we should use sys.dm_os_sys_info instead e.g.:

select process_user_time_ms from sys.dm_os_sys_info

--92625 

waitfor delay '00:00:05'

select process_user_time_ms from sys.dm_os_sys_info

--91000

select (92625 - 91000) / (104*5000.00)