block: Strick CPU Affinity

Some systems benefit from completions always being steered to the strict requester cpu rather than the looser "per-socket" steering that blk_cpu_to_group() attempts by default. This is because the first CPU in the group mask ends up being completely overloaded with work, while the others have power left to spare.

By default this was set to value of 1.  I found that a value of 2 had an overall better benchmark for this device (Nexus 5).

How does this work?  According the readme text:

If this option is '1', the block layer will migrate request completions to the
cpu "group" that originally submitted the request. For some workloads this
provides a significant reduction in CPU cycles due to caching effects.

For storage configurations that need to maximize distribution of completion
processing setting this option to '2' forces the completion to run on the
requesting cpu (bypassing the "group" aggregation logic)

Signed-off-by: Chester Kener <Cl3Kener@gmail.com>