On 05/04/2017 08:17 PM, Balbir Singh wrote: >>> However the TLB invalidations are quite expensive with a GPU so too >>> much harvesting is detrimental, and the GPU tends to check pages out >>> using a special "read with intend to write" mode, which means it almost >>> always set the dirty bit if the page is writable to begin with. >> Why do you have to invalidate the TLB? Does the GPU have a TLB so large >> that it can keep thing in the TLB for super-long periods of time? >> >> We don't flush the TLB on clearing Accessed on x86 normally. > Isn't that mostly because x86 relies on non-global pages to be flushed > on context switch? Well, that's not the case with Process Context Identifiers. Somebody will enable those some day. It also isn't true for a long-lived process camping on a CPU core. I don't know about "mostly", but it's certainly a combination of stuff having to be reloaded in the TLB and flushed at context switch today. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>