smp: optimize smp_message_queue::flush_request_batch() for empty queue
smp: optimize smp_message_queue::flush_request_batch() for empty queue

move_pending() will attempt to move work_items to the cross-shard queue
even if the local pending_fifo queue is empty, which will cause cross-core
cache lines to be accessed.

Fix be checking if pending_fifo is empty before calling move_pending().

Message-Id: <f09112d3b19d8242539aeaee53e82ed7b0d297e3@scylladb.com>

syuu1228/seastar,dreamsxin/seastar,avikivity/seastar,cloudius-systems/seastar,avikivity/seastar,cloudius-systems/seastar,dreamsxin/seastar,kjniemi/seastar,avikivity/seastar,scylladb/seastar,cloudius-systems/seastar,scylladb/seastar,scylladb/seastar,kjniemi/seastar,syuu1228/seastar,kjniemi/seastar,dreamsxin/seastar,syuu1228/seastar