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

Re: [PATCH v2.1 RFC 17/12] xen/trace: Drop cycles parameter


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Wed, 22 Sep 2021 10:38:06 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=DeFHLfT6FhtD/+P5O/dO2BdBq0jqEifzE5pQ0jwkd68=; b=LU3rUCheTRMu6bPcFID90s+z1IBLb0BOFagHvIT/AJAjw1hZHUswpDfSMBiatH+vRPwfmvirAsuDbJr0AZIIGbKRQP2bNMA04QVZd4a+YlJLDxMYZ7NZ+ck4nx1IRzZZYnJLEfLH4453X7IoYkACNKVR88xa3y9VEJ/P8SGaHDDUtEBJ/IaPTuUmyrMQQ2uQHT9OrZtmoR2PKQ1eiool7VGiUnqtJpUUG7F3l7I3HNIuNseqojqLhwKLtC9LiJMN6VoVfPQWsRwNYMxTQEBPTxv224LykLVcKDTZJTWdlT49Xd5HfCilacqL9i+QcGvzEFHF+EBgCHxZgBwdl+HRAQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YkFg648Oj43vv0Slrd2ZFmn3JVLLt6o5j+eDUs8GIQ26+Kb4AE4pCQBBAjsU9WCxjD9yqWBl/noKZa9DjKNQ40HVjXUu2OEgWs6pe3r4fnBKrwJIlEzBaHRqrh5hcZ4+Dug4YW6+dGqQRAD1aV7qJtf3lCHzeOlN/E5aVltw0N4pq/SM+jwdwNg77c2d0iQBZtIwMtMToT0how0MwZhU+51sReWjVRuGbXn5ci7dw8qHEZ6LeTcTfCHM45Ki36JnJKJBzkbu9BZY2CN4eJKpAYi6m7heKBIHr/th77QIFPuH/HrWoYv2UrMo6MpbIaMtaYMgj3BVIH4HXSb91bFhgA==
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Dario Faggioli <dfaggioli@xxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Meng Xu <mengxu@xxxxxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Wed, 22 Sep 2021 09:38:25 +0000
  • Ironport-data: A9a23:6+ro1qJ0DfpJeFBgFE+RZ5IlxSXFcZb7ZxGr2PjKsXjdYENS0mdRz GUeC2yAO/6OYmekc993btm09EpXv8OEyNBgT1dlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUZ0ideSc+EH140UM5wbZj6mJVqYPR7z2l6 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2FhNBhy u9VmqCcWFlxNK7thbkSTghxRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr LpBdW5LPkvra+GemdpXTsFFgMg5IdatF4QYonx6lhnSDOo8QICFSKLPjTNd9Gpr3ZoWRKuBD yYfQR1hPFecTzFGAXg0Mag9wMjxj33+LSIN/Tp5ooJoujOOnWSdyoPFL979atGMA8JPkS6wp H/C/mn/KgEXMpqY0zXt2mm3mubFkCf/WYQTPL617PhnhBuU3GN7IB8cWEa/oPK5olWjQN8ZI EsRkgIvsqoa5EGtVsP6XRCzvDiDpBF0c99dFeIq9SmGy7GS/h6UAG5CQzJcAPQ2uclzSTE02 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9BVEFYSgIXA4U+e7JqYs4jg/MZtt7GavzhdrwcRn8z TmFoyk5g7Q7ltMQ2uOw+lWvqzCjvJ/SVSYu+x7aGGmi62tEiJWNPtLyrwKBtLAZcdjfHgLpU GU4d9a24PsOHZO3jAOxbPRTRLuqxuvYPyDNqAs6d3U+zAhB60JPbKgJvmokfRc3bp5dEdP6S BSM4lIKvfe/KFPvNPUuMtzrU6zG2IC9TYyNaxzCUjZZjnGdnie89SdybAa722n3mSDAeoluZ M/GLa5A4ZscYJmLLQZapc9GitfHJQhknAs/oKwXKDz9itKjiIa9E+ttDbd3RrlRAFm4TODpz jqiH5HSl0U3vBLCjtn/rtdIcAFiwYkTLpHqsc1HHtO+zv5dMDh5UZf5mOp5E6Q8xvg9vrqYr xmVBx4DoHKi1CKvFOl/Qi06AF8Zdc0k9ixT0O1FFQvA5kXPlq71vf9DKMNoLed4nAGhpNYtJ 8Q4lwy7Kq0nYhzM+igHbIm7q4pndR+xghmJMTbjaz86F6OMjSSQkjM9VgewpiQIEAStss4y/ ++p2g/BGMJRTAV+FsfGLvmoygrp73QanetzWWrOI8VSJxqwoNQ7dXSpg69lOdwIJDXC2iCei 1ScDyAHqLSfuIQy6tTI2/yJ9t/7D+tkE0NGNGDH9rLqZzLC92+uzNYYAuaFdDzQTk3u/6Cma bkHxv3wKqRfzl1Lr5B9A/Bgyqdnv4njoLpTzwJFGnTXbgv0VuM8cyfehcQW7/9D3L5UvweyS 3mjwNgCNOXbIt7hHX4QOBEhMraJ28YLl2SA9v8yOkj7unN6peLVTUVIMhCQoyVBN78pYpg9y OIstcNKuQyyjh0mboSPgixOrjneK3UBV+Mst40AAZ+tgQ0ukwkQbZvZAy7wwZeOd9QTbRV6f m7K3PLP1+ZG207PU3svDnycj+NSiKMHtA1O0FJfdU+CncDIh6Nv0RBcmdjtot+5EvmTPzpPB 1VW
  • Ironport-hdrordr: A9a23:zwdNDKgoMsEa4NnRvBBeLxGZmnBQX0113DAbv31ZSRFFG/FwyP rAoB1L73PJYWgqNU3I+ergBEGBKUmskKKdkrNhQotKOzOWxFdATbsSkLcKpgePJ8SQzJ8k6U 4NSdkYNDS0NykBsS+Y2njJLz9D+qj/zEnAv463pB0MPGIaGJ2IrT0JbjpzencGNTWubqBJcq Z0iPA3xQZINU5nFfhSURI+Lpb+TpDw5d7bSC9DIyRixBiFjDuu5rK/Ox+E3i0GWzcK5bs562 DKnyHw+63m6piAu1Hh/l6Wy64TtMrqy9NFCsDJos8JKg/0ggLtQIh6QbWNsB08venqwlc3l9 vnpQsmIq1ImjzsV1DwhSGo9xjr0T4o5XOn4ViEgUH7qci8fz4+A9opv/MTTjLpr24b+P1s2q NC2GyU87BNCwnboSj779/UEzl3i0uduxMZ4K0upk0adbFbRK5arIQZ8k8QOowHBjjG5IcuF/ QrJN3A5cxRbUiRYxnizylSKeSXLzEO9yq9Mww/UpT/6UkQoJk59TpY+CUnpAZDyHpnIKM0od gtMcxT5flzp4EtHPtA7Epoe7rBNoX3e2O4DIulGyWvKEg2AQO+l3fJ2sRA2AiLQu1D8HJgou WNbLtn3VRCDX4GT/f+hKF2zg==
  • Ironport-sdr: FPdGzB7/LiMCCPAgm3RytwewjDHeCDsqwZbU138ECICK8asHPlFc75wd7ZOFRb2fppwamOkAFF 5E2+7IgxDarqHCTYCK+aTQTxHbAapdUcAxtd/CxQkK7jFOvyS2vEj+6xhsA2Gmu6+tn8VydgE/ Sd/YlJUI9SINH7vSke3yFk2J03Gn08fnNjlgNlQ/2MupqZRZqJSa3iZqE5XMGPkpBKzlwbUTR8 DbYfRzFYRTNpi4A1/7yYPuok+VAamVbQ2CDFgC8jPbPDdfKF4gjFhVwvavlmoJKs1XDkYvi8Yo VF5E7a1GOT9bjUaZiK6etzRU
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 22/09/2021 08:03, Jan Beulich wrote:
> On 21.09.2021 22:08, Andrew Cooper wrote:
>> Not a patch, but an RFC idea for one...
>>
>> It occurred to me that the cycles parameter from __trace_var() and
>> friends is pointless, as the cycles bit is encoded in the top bit of the
>> event field anyway, and passed in the adjacent parameter.
>>
>> Dropping the cycles parameter results in +85/-1029 (-944) net change.
>>
>> The common change in callers is e.g. from:
>>
>> lea    0x3c(%rsp),%rcx
>> mov    $0x4,%edx
>> mov    $0x1,%esi
>> mov    $0x10f002,%edi
>> mov    %ebp,0x3c(%rsp)
>> callq  ffff82d04022ea20 <__trace_var>
>>
>> to this:
>>
>> lea    0x3c(%rsp),%rdx
>> mov    $0x4,%esi
>> mov    $0x8010f002,%edi
>> mov    %ebp,0x3c(%rsp)
>> callq  ffff82d04022ea20 <__trace_var>
>>
>>
>> Just sprinkling "| TRC_HD_CYCLE_FLAG" over the place makes things a
>> little bit unwieldy.
>>
>> Instead, I was thinking of implementing trace() (and a thin trace_time()
>> wrapper) mirroring the "new API" in patch 14.  Half of the trace_var()
>> users should be __trace_var() already because of living inside a
>> tb_init_done conditional, and the rest are actually opencoded TRACE()
>> taking no extra data.
>>
>> Thoughts?
> Sounds quite reasonable to me.

In which case, for v3 I'll reposition "new API" towards the beginning of
the series, extend it with these two new APIs, then adjust all the
cleanup patches to avoid double-patching most of the call-sites.

~Andrew




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.