verity: only requeue if necessary

For the most part, I/Os will be ordered so it is more than likely that
PENDING I/Os will become ready. Instead of requeuing an I/O for which
there were pending I/Os, check the state of all dependent I/Os and
only requeue if necessary.

I also removed the _queue functions. They were two liners that could
easily be open-coded to reduce abstraction. Just makes it easier for
me to see what's really going on.

This change saves about 2 seconds off of a depth=3 boot:

Before:

  seconds_power_on_to_login                                       10.03
  seconds_power_on_to_login{1}                                    9.96
  seconds_power_on_to_login{2}                                    10.4
  seconds_power_on_to_login{3}                                    9.96
  seconds_power_on_to_login{4}                                    10.04
  seconds_power_on_to_login{5}                                    10.04
  seconds_power_on_to_login{6}                                    9.95
  seconds_power_on_to_login{7}                                    10.18
  seconds_power_on_to_login{8}                                    10.13
  seconds_power_on_to_login{9}                                    10.07

0 1740800 verity 0 0 0 438 4017

After:

  seconds_power_on_to_login                                       7.74
  seconds_power_on_to_login{1}                                    7.89
  seconds_power_on_to_login{2}                                    7.84
  seconds_power_on_to_login{3}                                    7.74
  seconds_power_on_to_login{4}                                    7.8
  seconds_power_on_to_login{5}                                    7.85
  seconds_power_on_to_login{6}                                    7.92
  seconds_power_on_to_login{7}                                    7.77
  seconds_power_on_to_login{8}                                    7.81
  seconds_power_on_to_login{9}                                    7.88

0 1740800 verity 0 0 0 0 4014

Notice: No more requeus in the after case.

BUG=chromium-os:9752
TEST=Ran platform_DMVerityCorruption on H/W. Ran platform_BootPerf on H/W.

kernel.git Review URL: http://codereview.chromium.org/6739006

TBRing. Already LGTMed and commited to kernel.git.

Change-Id: I95da7af3f90619a0c6bea6da0ac578dc1cb61aa0

R=wad@chromium.org

Review URL: http://codereview.chromium.org/6675057
2 files changed