Hello Dave,
I was wondering if you still needed help on how to get the dm-cache warmed. It seems that by doing sequential I/O to the dmcache device you should be fine, though. Just remember that for writes operations to be cached you need to load the dm-cache with the write-back configuration. Also, make sure the you're performing the I/O to the cache device itself (/dev/mapper/foodevice) and not the source device.
If you still need help, let us know.
Regards,
Jorge