qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 00d09f: vl: pause vcpus before stopping iothr


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 00d09f: vl: pause vcpus before stopping iothreads
Date: Thu, 15 Feb 2018 09:16:07 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 00d09fdbbae5f7864ce754913efc84c12fdf9f1a
      
https://github.com/qemu/qemu/commit/00d09fdbbae5f7864ce754913efc84c12fdf9f1a
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2018-02-15 (Thu, 15 Feb 2018)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl: pause vcpus before stopping iothreads

Commit dce8921b2baaf95974af8176406881872067adfa ("iothread: Stop threads
before main() quits") introduced iothread_stop_all() to avoid the
following virtio-scsi assertion failure:

  assert(blk_get_aio_context(d->conf.blk) == s->ctx);

Back then the assertion failed because when bdrv_close_all() made
d->conf.blk NULL, blk_get_aio_context() returned the global AioContext
instead of s->ctx.

The same assertion can still fail today when vcpus submit new I/O
requests after iothread_stop_all() has moved the BDS to the global
AioContext.

This patch hardens the iothread_stop_all() approach by pausing vcpus
before calling iothread_stop_all().

Note that the assertion failure is a race condition.  It is not possible
to reproduce it reliably.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: b7728f32216f0a7a87bee2f4e009e68b00fd4fb5
      
https://github.com/qemu/qemu/commit/b7728f32216f0a7a87bee2f4e009e68b00fd4fb5
  Author: Wolfgang Bumiller <address@hidden>
  Date:   2018-02-15 (Thu, 15 Feb 2018)

  Changed paths:
    M include/qemu/ratelimit.h

  Log Message:
  -----------
  ratelimit: don't align wait time with slices

It is possible for rate limited writes to keep overshooting a slice's
quota by a tiny amount causing the slice-aligned waiting period to
effectively halve the rate.

Signed-off-by: Wolfgang Bumiller <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: d2f668b74907cbd96d9df0774971768ed06de2f0
      
https://github.com/qemu/qemu/commit/d2f668b74907cbd96d9df0774971768ed06de2f0
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-02-15 (Thu, 15 Feb 2018)

  Changed paths:
    M util/qemu-coroutine-lock.c

  Log Message:
  -----------
  misc: fix spelling

s/pupulate/populate

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: f003d07337a6d4d02c43429b26a4270459afb51a
      
https://github.com/qemu/qemu/commit/f003d07337a6d4d02c43429b26a4270459afb51a
  Author: Peter Maydell <address@hidden>
  Date:   2018-02-15 (Thu, 15 Feb 2018)

  Changed paths:
    M include/qemu/ratelimit.h
    M util/qemu-coroutine-lock.c
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into 
staging

Pull request

v2:
 * Dropped Fam's git-publish series because there is still ongoing discussion

# gpg: Signature made Thu 15 Feb 2018 09:42:03 GMT
# gpg:                using RSA key 9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg:                 aka "Stefan Hajnoczi <address@hidden>"
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha/tags/block-pull-request:
  misc: fix spelling
  ratelimit: don't align wait time with slices
  vl: pause vcpus before stopping iothreads

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/8c5e7bddc22d...f003d07337a6

reply via email to

[Prev in Thread] Current Thread [Next in Thread]