[$] Heterogeneous memory management meets EXPORT_SYMBOL_GPL()
One of the many longstanding - though unwritten - rules of kerneldevelopment is that infrastructure is not merged until at least one userfor that infrastructure exists. That helps developers evaluate potentialinterfaces and be sure that the proposed addition is truly needed. A bigexception to this rule was made when the heterogeneous memory management(HMM) code was merged, though. One of the reasons for the lack of users inthis case turns out to be that many of the use cases are proprietary; thathas led to some disagreements over the GPL-only status of an exportedkernel symbol.