sandwitching append_plog with wait-and-wake lock removed

also refactor
incrementing refcount (nr_inflight_ios, nr_inflight_plog_writes)
are moved to inside advance*

Signed-off-by: Akira Hayakawa <ruby.wktk@gmail.com>
add unlikely to waitqueue_active

this function is only used in case the wait queue is seldom active.
otherwise simple wake_up should be used without checking if
the workqueue is active.

Signed-off-by: Akira Hayakawa <ruby.wktk@gmail.com>
FIX: misuse of wait_event_interruptible()

only drop_caches can be interruptible and the rest are not.

refactor, add comments are foled

Signed-off-by: Akira Hayakawa <ruby.wktk@gmail.com>
FIX: memory leak in type=0 is fixed

write_job and its resouces should be freed in any wb type

Signed-off-by: Akira Hayakawa <ruby.wktk@gmail.com>
RENAME: diritness_snapshot -> memorized_dirtiness

Signed-off-by: Akira Hayakawa <ruby.wktk@gmail.com>