On 3/30/18 8:34 AM, Andrew Lunn wrote: >>> And it seems to want contiguous pages. How well does that work after >>> the system has been running for a while and memory is fragmented? >> >> The allocation can be changed, there is no read need for contiguous pages. >> It is important to note that we the amount of snapshots is limited by the >> driver >> this can be based on the dump size or expected frequency of collection. >> I also prefer not to pre-allocate this memory. > > The driver code also asks for a 1MB contiguous chunk of memory! You > really should think about this API, how can you avoid double memory > allocations. And can kvmalloc be used. But then you get into the > problem for DMA'ing the memory from the device... > > This API also does not scale. 1MB is actually quite small. I'm sure > there is firmware running on CPUs with a lot more than 1MB of RAM. > How well does with API work with 64MB? Say i wanted to snapshot my > GPU? Or the MC/BMC? >
That and the drivers control the number of snapshots. The user should be able to control the number of snapshots, and an option to remove all snapshots to free up that memory.