netpoll: call ->ndo_select_queue() in tx path

In netpoll tx path, we miss the chance of calling ->ndo_select_queue(),
thus could cause problems when bonding is involved.

This patch makes dev_pick_tx() extern (and rename it to netdev_pick_tx())
to let netpoll call it in netpoll_send_skb_on_dev().

Reported-by: Sylvain Munaut <s.munaut@whatever-company.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Cong Wang <amwang@redhat.com>
Tested-by: Sylvain Munaut <s.munaut@whatever-company.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off--by: Tao Ma <boyu.mt@taobao.com>
Acked-by: Li Yu <bingtian.ly@taobao.com>
fix task starttime in container

Patch-mainline: inhouse
References:

task's starttime = time_since_1970 - time_since_boot +
                   (task_start_time - wall_to_monotonic) / HZ

Time_since_boot is the time reading from /proc/uptime, which
fixed in patch fix-uptime-in-container.patch to real uptime in
container. In order to get right task starttime in container,
task_start_time should be fix to 'task_start_time - init_task->start_time'.

Signed-off-by: Charles Wang <muming.wq@taobao.com>
md: Avoid waking up a thread after it has been freed.

Two related problems:

1/ some error paths call "md_unregister_thread(mddev->thread)"
   without subsequently clearing ->thread.  A subsequent call
   to mddev_unlock will try to wake the thread, and crash.

2/ Most calls to md_wakeup_thread are protected against the thread
   disappeared either by:
      - holding the ->mutex
      - having an active request, so something else must be keeping
        the array active.
   However mddev_unlock calls md_wakeup_thread after dropping the
   mutex and without any certainty of an active request, so the
   ->thread could theoretically disappear.
   So we need a spinlock to provide some protections.

So change md_unregister_thread to take a pointer to the thread
pointer, and ensure that it always does the required locking, and
clears the pointer properly.

Reported-by: "Moshe Melnikov" <moshe@zadarastorage.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: RobinDong <sanbai@taobao.com>
Merge pull request #18 from RobinDong/master

md: Avoid waking up a thread after it has been freed.
Update KGTP version to 20130915
Merge pull request #22 from teawater/master

Update KGTP version to 20130915