xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Olaf Hering <olaf@aepfle.de>, <xen-devel@lists.xenproject.org>
Cc: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>,
	"Ian Jackson" <iwj@xenproject.org>, "Wei Liu" <wl@xen.org>
Subject: Re: [PATCH v1] tools: use integer division in convert-legacy-stream
Date: Fri, 18 Jun 2021 10:42:58 +0100	[thread overview]
Message-ID: <8a9be55a-ad6a-d06d-9ddd-0f2d656e4fac@citrix.com> (raw)
In-Reply-To: <20210618093114.1640-1-olaf@aepfle.de>

On 18/06/2021 10:31, Olaf Hering wrote:
> A single slash gives a float, a double slash gives an int.
>
>     bitmap = unpack_exact("Q" * ((max_id/64) + 1))
> TypeError: can't multiply sequence by non-int of type 'float'
>
> This is broken for unknown reasons since 4.14.

:(

This is a Py2 vs Py3 difference.

To not break Py2.7, we need "from __future__ import division" at the top
of the script, but I doubt this is the only script impacted.

>
> Signed-off-by: Olaf Hering <olaf@aepfle.de>
> ---
>  tools/python/scripts/convert-legacy-stream | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
>
> diff --git a/tools/python/scripts/convert-legacy-stream b/tools/python/scripts/convert-legacy-stream
> index ca93a93848..a04c6e4165 100755
> --- a/tools/python/scripts/convert-legacy-stream
> +++ b/tools/python/scripts/convert-legacy-stream
> @@ -163,7 +163,7 @@ def write_libxc_hvm_params(params):
>          raise RuntimeError("Expected even length list of hvm parameters")
>  
>      write_record(libxc.REC_TYPE_hvm_params,
> -                 pack(libxc.HVM_PARAMS_FORMAT, len(params) / 2, 0),
> +                 pack(libxc.HVM_PARAMS_FORMAT, len(params) // 2, 0),
>                   pack("Q" * len(params), *params))
>  
>  def write_libxc_static_data_end():
> @@ -264,8 +264,8 @@ def read_pv_extended_info(vm):
>                            (so_far - total_length, ))
>  
>  def read_pv_p2m_frames(vm):
> -    fpp = 4096 / vm.width
> -    p2m_frame_len = (vm.p2m_size - 1) / fpp + 1
> +    fpp = 4096 // vm.width
> +    p2m_frame_len = (vm.p2m_size - 1) // fpp + 1
>  
>      info("P2M frames: fpp %d, p2m_frame_len %d" % (fpp, p2m_frame_len))
>      write_libxc_pv_p2m_frames(vm, unpack_ulongs(p2m_frame_len))
> @@ -405,7 +405,7 @@ def read_chunks(vm):
>                                    (max_id, legacy.MAX_VCPU_ID))
>  
>              vm.max_vcpu_id = max_id
> -            bitmap = unpack_exact("Q" * ((max_id/64) + 1))
> +            bitmap = unpack_exact("Q" * ((max_id//64) + 1))

While you're changing this, could we make it (max_id // 64) to fix the
style (which I clearly messed up first time around).

~Andrew

>  
>              for idx, word in enumerate(bitmap):
>                  bit_idx = 0
>



  reply	other threads:[~2021-06-18  9:43 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-18  9:31 [PATCH v1] tools: use integer division in convert-legacy-stream Olaf Hering
2021-06-18  9:42 ` Andrew Cooper [this message]
2021-06-18  9:54   ` Olaf Hering
2021-06-18 15:33   ` Olaf Hering

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=8a9be55a-ad6a-d06d-9ddd-0f2d656e4fac@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=iwj@xenproject.org \
    --cc=marmarek@invisiblethingslab.com \
    --cc=olaf@aepfle.de \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.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).