qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Aurelien Jarno <aurelien@aurel32.net>
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: peter.maydell@linaro.org, John Snow <jsnow@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PULL 18/19] macio: move unaligned DMA write code into separate pmac_dma_write() function
Date: Tue, 28 Jul 2015 20:02:00 +0200	[thread overview]
Message-ID: <20150728180200.GC22010@aurel32.net> (raw)
In-Reply-To: <55B742E0.50709@ilande.co.uk>

On 2015-07-28 09:52, Mark Cave-Ayland wrote:
> On 27/07/15 23:00, Aurelien Jarno wrote:
> 
> > On 2015-05-22 15:59, John Snow wrote:
> >> From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> >>
> >> Similarly switch the macio IDE routines over to use the new function and
> >> tidy-up the remaining code as required.
> >>
> >> [Maintainer edit: printf format codes adjusted for 32/64bit. --js]
> >>
> >> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> >> Acked-by: John Snow <jsnow@redhat.com>
> >> Message-id: 1425939893-14404-3-git-send-email-mark.cave-ayland@ilande.co.uk
> >> Signed-off-by: John Snow <jsnow@redhat.com>
> >> ---
> >>  hw/ide/macio.c             | 268 +++++++++++++++++++++------------------------
> >>  include/hw/ppc/mac_dbdma.h |   4 -
> >>  2 files changed, 125 insertions(+), 147 deletions(-)
> > 
> > This patch has removed TRIM support without any obvious reason, and
> > without mentioning it in the changelog. As a consequence guests with
> > TRIM enabled now fail to boot:
> > 
> > | [   46.916047] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
> > | [   46.916545] ata1.00: failed command: DATA SET MANAGEMENT
> > | [   46.916794] ata1.00: cmd 06/01:01:00:00:00/00:00:00:00:00/a0 tag 0 dma 512 out
> > | [   46.916794]          res 40/00:01:00:00:00/00:00:00:00:00/e0 Emask 0x20 (host bus error)
> > | [   46.917219] ata1.00: status: { DRDY }
> > | [   51.957389] ata1.00: qc timeout (cmd 0xec)
> > | [   51.958076] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
> > | [   51.958551] ata1.00: revalidation failed (errno=-5)
> > | [   56.996713] ata1: link is slow to respond, please be patient (ready=0)
> > | [   61.981042] ata1: device not ready (errno=-16), forcing hardreset
> > | [   61.981669] ata1: soft resetting link
> > | [   62.137894] ata1.00: configured for MWDMA2
> > | [   62.138294] ata1.00: device reported invalid CHS sector 0
> > | [   62.139045] sd 0:0:0:0: [sda]  
> > | [   62.139128] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
> > | [   62.139243] sd 0:0:0:0: [sda]  
> > | [   62.139346] Sense Key : Aborted Command [current] [descriptor]
> > | [   62.139581] Descriptor sense data with sense descriptors (in hex):
> > | [   62.139670]         72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
> > | [   62.139812]         00 00 00 00 
> > | [   62.139897] sd 0:0:0:0: [sda]  
> > | [   62.140009] Add. Sense: No additional sense information
> > | [   62.140115] sd 0:0:0:0: [sda] CDB: 
> > | [   62.140204] Write same(16): 93 08 00 00 00 00 03 c0 00 48 00 3f ff b8 00 00
> > | [   62.140661] end_request: I/O error, dev sda, sector 62914632
> > | [   62.141270] ata1: EH complete
> 
> Hi Aurelien,
> 
> Thanks for the heads-up. I have a fairly comprehensive suite of various
> OS test images I use for OpenBIOS testing and evidently not a single one
> of them issues a TRIM command as I don't see any regressions here. Can
> you point me towards the particular test image you are using?

You need a Linux based image, with a relatively recent kernel (3.2 is
ok). The disk image has to be created with -drive file=...,discard=unmap
for the TRIM feature to be advertised in the guest. Finally you need to
run the command "fstrim /" or mount a partition or the swap with the
option discard.

As a summary:
- wget https://people.debian.org/~aurel32/qemu/powerpc/debian_wheezy_powerpc_standard.qcow2
- qemu-system-ppc -snapshot -drive file=debian_wheezy_powerpc_standard.qcow2,discard=unmap 
- in the image, login as root (password root) and run fstrim /.

I have looked a bit at the code, and it looks like we have to provide a
function similar to pmac_dma_read/write for the TRIM. I'll look at it a
bit more in details and I will try to provide a patch, but it's probably
won't be before the week-end.

Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net

  reply	other threads:[~2015-07-28 18:02 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-22 19:59 [Qemu-devel] [PULL 00/19] Ide patches John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 01/19] configure: require glib 2.22 John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 02/19] glib: remove stale compat functions John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 03/19] libqos/ahci: Add halted command helpers John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 04/19] libqos/ahci: Fix sector set method John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 05/19] libqos: Add migration helpers John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 06/19] ich9/ahci: Enable Migration John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 07/19] qtest/ahci: Add migration test John Snow
2015-11-05 15:26   ` Peter Maydell
2015-11-05 16:52     ` John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 08/19] qtest/ahci: add migrate dma test John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 09/19] qtest/ahci: add flush migrate test John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 10/19] qtest/ahci: add halted dma test John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 11/19] qtest/ahci: add migrate " John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 12/19] qtest: allow arbitrarily long sends John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 13/19] qtest: Add base64 encoded read/write John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 14/19] qtest: add memset to qtest protocol John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 15/19] libqos/ahci: Swap memread/write with bufread/write John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 16/19] qtest: pre-buffer hex nibs John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 17/19] macio: move unaligned DMA read code into separate pmac_dma_read() function John Snow
2015-05-22 19:59 ` [Qemu-devel] [PULL 18/19] macio: move unaligned DMA write code into separate pmac_dma_write() function John Snow
2015-07-27 22:00   ` Aurelien Jarno
2015-07-28  8:52     ` Mark Cave-Ayland
2015-07-28 18:02       ` Aurelien Jarno [this message]
2015-08-01 11:21         ` Mark Cave-Ayland
2015-08-01 12:37           ` Aurelien Jarno
2015-08-01 16:09             ` Mark Cave-Ayland
2015-07-30 10:10       ` Kevin Wolf
2015-07-31 20:37       ` John Snow
2015-08-02 13:02         ` Mark Cave-Ayland
2015-05-22 19:59 ` [Qemu-devel] [PULL 19/19] ahci: do not remap clb/fis unconditionally John Snow
2015-05-26 11:54 ` [Qemu-devel] [PULL 00/19] Ide patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150728180200.GC22010@aurel32.net \
    --to=aurelien@aurel32.net \
    --cc=jsnow@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).