generic_writepages and balance_dirty_pages_ratelimited_nr appear to be the entry points into the kernel (2.6.20) that are related to dirty pages. I hope they work in 2.6.30+ as well. Interesting question, can I ask what you are writing that requires such control over the pages?