A background flush work may run for ever. So it's reasonable for it tomimic the kupdate behavior of syncing old/expired inodes first.

The policy is- enqueue all newly expired inodes at each queue_io() time- enqueue all dirty inodes if there are no more expired inodes to sync

This will help reduce the number of dirty pages encountered by pagereclaim, eg. the pageout() calls. Normally older inodes contain olderdirty pages, which are more close to the end of the LRU lists. Sosyncing older inodes first helps reducing the dirty pages reached bythe page reclaim code.

Side effects: it will reduce the batch size and hence reduceinode_wb_list_lock hold time, but also make the cluster-by-partitionlogic in the same function less effective on reducing disk seeks.