Re: [Qemu-devel] [PATCH v4 0/7] tcg: allocate TB structs preceding translate

2017-06-08 Thread Richard Henderson

On 06/08/2017 10:44 AM, Emilio G. Cota wrote:

On Thu, Jun 08, 2017 at 09:44:11 -0700, Richard Henderson wrote:

On 06/07/2017 04:30 PM, Emilio G. Cota wrote:

On Wed, Jun 07, 2017 at 08:55:29 -0700, Richard Henderson wrote:

Then I've a few follow-up patches to take advantage of the new TB
placement for arm platforms.  I've had a look at the asm output for
ppc64 and s390x, and don't see anything obvious that can be improved.


Nice! Just tested patches 3-7 with an arm guest image on
x86 and aarch64 hosts:

   Tested-by: Emilio G. Cota 


So... you've tested patch 3 then?
Patches 4-7 are for an arm host.


Ha! Yes, sorry for the confusion -- I blindly went by the patch titles'
"target/arm" prefix; shouldn't they be "tcg/arm"?


Oops, yes indeed.  I'll fix that too for v5.


r~



Re: [Qemu-devel] [PATCH v4 0/7] tcg: allocate TB structs preceding translate

2017-06-08 Thread Emilio G. Cota
On Thu, Jun 08, 2017 at 09:44:11 -0700, Richard Henderson wrote:
> On 06/07/2017 04:30 PM, Emilio G. Cota wrote:
> >On Wed, Jun 07, 2017 at 08:55:29 -0700, Richard Henderson wrote:
> >>Then I've a few follow-up patches to take advantage of the new TB
> >>placement for arm platforms.  I've had a look at the asm output for
> >>ppc64 and s390x, and don't see anything obvious that can be improved.
> >
> >Nice! Just tested patches 3-7 with an arm guest image on
> >x86 and aarch64 hosts:
> >
> >   Tested-by: Emilio G. Cota 
> 
> So... you've tested patch 3 then?
> Patches 4-7 are for an arm host.

Ha! Yes, sorry for the confusion -- I blindly went by the patch titles'
"target/arm" prefix; shouldn't they be "tcg/arm"?

E.



Re: [Qemu-devel] [PATCH v4 0/7] tcg: allocate TB structs preceding translate

2017-06-08 Thread Richard Henderson

On 06/07/2017 04:30 PM, Emilio G. Cota wrote:

On Wed, Jun 07, 2017 at 08:55:29 -0700, Richard Henderson wrote:

Then I've a few follow-up patches to take advantage of the new TB
placement for arm platforms.  I've had a look at the asm output for
ppc64 and s390x, and don't see anything obvious that can be improved.


Nice! Just tested patches 3-7 with an arm guest image on
x86 and aarch64 hosts:

   Tested-by: Emilio G. Cota 


So... you've tested patch 3 then?
Patches 4-7 are for an arm host.


r~



Re: [Qemu-devel] [PATCH v4 0/7] tcg: allocate TB structs preceding translate

2017-06-07 Thread no-reply
Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20170607155536.1193-1-...@twiddle.net
Subject: [Qemu-devel] [PATCH v4 0/7] tcg: allocate TB structs preceding 
translate

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
failed=1
echo
fi
n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
a5f5544 target/arm: Use ldr (literal) for goto_tb
15a92d8 target/arm: Try pc-relative addresses for movi
c270c42 target/arm: Remove limit on code buffer size
92df92d target/arm: Use indirect branch for goto_tb
ca5d3fd tcg/aarch64: Use ADR in tcg_out_movi
c62a640 tcg: allocate TB structs before the corresponding translated code
b3e2a1f util: add cacheinfo

=== OUTPUT BEGIN ===
Checking PATCH 1/7: util: add cacheinfo...
ERROR: do not initialise globals to 0 or NULL
#149: FILE: util/cacheinfo.c:11:
+int qemu_icache_linesize = 0;

ERROR: do not initialise globals to 0 or NULL
#150: FILE: util/cacheinfo.c:12:
+int qemu_dcache_linesize = 0;

ERROR: space prohibited after that '&&' (ctx:ExW)
#187: FILE: util/cacheinfo.c:49:
+&& buf[i].Cache.Level == 1) {
 ^

WARNING: architecture specific defines should be avoided
#209: FILE: util/cacheinfo.c:71:
+# if defined(__APPLE__)

total: 3 errors, 1 warnings, 207 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 2/7: tcg: allocate TB structs before the corresponding 
translated code...
Checking PATCH 3/7: tcg/aarch64: Use ADR in tcg_out_movi...
Checking PATCH 4/7: target/arm: Use indirect branch for goto_tb...
Checking PATCH 5/7: target/arm: Remove limit on code buffer size...
Checking PATCH 6/7: target/arm: Try pc-relative addresses for movi...
ERROR: code indent should never use tabs
#54: FILE: tcg/arm/tcg-target.inc.c:446:
+^I}$

ERROR: code indent should never use tabs
#64: FILE: tcg/arm/tcg-target.inc.c:453:
+^I}$

total: 2 errors, 0 warnings, 54 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 7/7: target/arm: Use ldr (literal) for goto_tb...
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-de...@freelists.org

Re: [Qemu-devel] [PATCH v4 0/7] tcg: allocate TB structs preceding translate

2017-06-07 Thread Emilio G. Cota
On Wed, Jun 07, 2017 at 08:55:29 -0700, Richard Henderson wrote:
> Then I've a few follow-up patches to take advantage of the new TB
> placement for arm platforms.  I've had a look at the asm output for
> ppc64 and s390x, and don't see anything obvious that can be improved.

Nice! Just tested patches 3-7 with an arm guest image on 
x86 and aarch64 hosts:

  Tested-by: Emilio G. Cota 

Thanks,

E.



Re: [Qemu-devel] [PATCH v4 0/7] tcg: allocate TB structs preceding translate

2017-06-07 Thread no-reply
Hi,

This series failed automatic build test. Please find the testing commands and
their output below. If you have docker installed, you can probably reproduce it
locally.

Subject: [Qemu-devel] [PATCH v4 0/7] tcg: allocate TB structs preceding 
translate
Type: series
Message-id: 20170607155536.1193-1-...@twiddle.net

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-quick@centos6
time make docker-test-mingw@fedora
time make docker-test-build@min-glib
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
a5f5544 target/arm: Use ldr (literal) for goto_tb
15a92d8 target/arm: Try pc-relative addresses for movi
c270c42 target/arm: Remove limit on code buffer size
92df92d target/arm: Use indirect branch for goto_tb
ca5d3fd tcg/aarch64: Use ADR in tcg_out_movi
c62a640 tcg: allocate TB structs before the corresponding translated code
b3e2a1f util: add cacheinfo

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-dlt2qyme/src/dtc'...
Submodule path 'dtc': checked out '558cd81bdd432769b59bff01240c44f82cfb1a9d'
  BUILD   centos6
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-dlt2qyme/src'
  ARCHIVE qemu.tgz
  ARCHIVE dtc.tgz
  COPYRUNNER
RUN test-quick in qemu:centos6 
Packages installed:
SDL-devel-1.2.14-7.el6_7.1.x86_64
ccache-3.1.6-2.el6.x86_64
epel-release-6-8.noarch
gcc-4.4.7-17.el6.x86_64
git-1.7.1-4.el6_7.1.x86_64
glib2-devel-2.28.8-5.el6.x86_64
libfdt-devel-1.4.0-1.el6.x86_64
make-3.81-23.el6.x86_64
package g++ is not installed
pixman-devel-0.32.8-1.el6.x86_64
tar-1.23-15.el6_8.x86_64
zlib-devel-1.2.3-29.el6.x86_64

Environment variables:
PACKAGES=libfdt-devel ccache tar git make gcc g++ zlib-devel 
glib2-devel SDL-devel pixman-devel epel-release
HOSTNAME=08601069c9dd
TERM=xterm
MAKEFLAGS= -j8
HISTSIZE=1000
J=8
USER=root
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
MAIL=/var/spool/mail/root
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
LANG=en_US.UTF-8
TARGET_LIST=
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
LOGNAME=root
LESSOPEN=||/usr/bin/lesspipe.sh %s
FEATURES= dtc
DEBUG=
G_BROKEN_FILENAMES=1
CCACHE_HASHDIR=
_=/usr/bin/env

Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu 
--prefix=/var/tmp/qemu-build/install
No C++ compiler available; disabling C++ specific optional code
Install prefix/var/tmp/qemu-build/install
BIOS directory/var/tmp/qemu-build/install/share/qemu
binary directory  /var/tmp/qemu-build/install/bin
library directory /var/tmp/qemu-build/install/lib
module directory  /var/tmp/qemu-build/install/lib/qemu
libexec directory /var/tmp/qemu-build/install/libexec
include directory /var/tmp/qemu-build/install/include
config directory  /var/tmp/qemu-build/install/etc
local state directory   /var/tmp/qemu-build/install/var
Manual directory  /var/tmp/qemu-build/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path   /tmp/qemu-test/src
C compilercc
Host C compiler   cc
C++ compiler  
Objective-C compiler cc
ARFLAGS   rv
CFLAGS-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS   -I/usr/include/pixman-1   -I$(SRC_PATH)/dtc/libfdt -pthread 
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -fPIE -DPIE -m64 -mcx16 
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes 
-Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes 
-fno-strict-aliasing -fno-common -fwrapv  -Wendif-labels 
-Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security 
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration 
-Wold-style-definition -Wtype-limits -fstack-protector-all
LDFLAGS   -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g 
make  make
install   install
pythonpython -B
smbd  /usr/sbin/smbd
module supportno
host CPU  x86_64
host big endian   no
target list   x86_64-softmmu aarch64-softmmu
tcg debug enabled no
gprof enabled no
sparse enabledno
strip binariesyes
profiler  no
static build  no
pixmansystem
SDL support   yes (1.2.14)
GTK support   no 
GTK GL supportno
VTE support   no 
TLS priority  NORMAL
GNUTLS supportno
GNUTLS rndno
libgcrypt no
libgcrypt kdf no
nettleno 
nettle kdfno
libtasn1  no
curses supportno
virgl support no
curl support  no
mingw32 support   no
Audio drivers oss
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS supportno
VNC support   yes
VNC SASL support  no
VNC JPEG support  no
VNC PNG support   no
xen support   no
brlapi support

[Qemu-devel] [PATCH v4 0/7] tcg: allocate TB structs preceding translate

2017-06-07 Thread Richard Henderson
This is a follow-up to Emilio's patch set.

My primary changes to Emilio's patches are to the first patch, in
merging the existing implementations from tcg/ppc/tcg-target.inc.c
into util/cacheinfo.c.

Then I've a few follow-up patches to take advantage of the new TB
placement for arm platforms.  I've had a look at the asm output for
ppc64 and s390x, and don't see anything obvious that can be improved.


r~


Emilio G. Cota (2):
  util: add cacheinfo
  tcg: allocate TB structs before the corresponding translated code

Richard Henderson (5):
  tcg/aarch64: Use ADR in tcg_out_movi
  target/arm: Use indirect branch for goto_tb
  target/arm: Remove limit on code buffer size
  target/arm: Try pc-relative addresses for movi
  target/arm: Use ldr (literal) for goto_tb

 include/exec/exec-all.h  |   5 +-
 include/exec/tb-context.h|   3 +-
 include/qemu/osdep.h |   3 +
 tcg/aarch64/tcg-target.inc.c |   7 +-
 tcg/arm/tcg-target.inc.c |  82 +++-
 tcg/ppc/tcg-target.inc.c |  71 +-
 tcg/tcg.c|  20 +
 tcg/tcg.h|   2 +-
 translate-all.c  |  41 +-
 util/Makefile.objs   |   1 +
 util/cacheinfo.c | 174 +++
 11 files changed, 282 insertions(+), 127 deletions(-)
 create mode 100644 util/cacheinfo.c

-- 
2.9.4