I really dislike the term "flush". Sometimes it means writeback, sometimes it means invalidate. Perhaps at other times it means both.
Can we please be very clear in comments and changelogs about exactly what this "flush" does. With bonus points for being more specific in the function naming?