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

Re: [PATCH v2] x86/time: switch platform timer hooks to altcall


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Thu, 24 Feb 2022 15:09:58 +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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WK2wEGyyPtiRAwLzmuL1Xx7dgmiNnWcwAFWR0DlvWUc=; b=OCX0p8y6h4irYJqF5GND0PAriz2TAH9harWztld6Ih0+nADA59iXDUSP6rzYvGnZs5Ks5IoQ82LvV/MFevbtH+Ad3zHjFBlBez68xFF8oAtWNi3/Yjr8axjLA+RYH70zoOOkzaq+pVPG3DyopodEBbC4BtJveMylsxe3kN28k5XJ31hrihiKVDSw1belH2urHHGXShZvxvRMGwWxDauGmxKHWhWf84X9ZXqkMxtAuASVYTxTlMBwztpZ/2GkjqdB/OPu0bx0X3yR+tQszsHUzNL3HaA3Gmq4M1xJHH+VsvDyq2XkZ79+Hez9vk9ixh3crQGrci7sAOB+rjruBi9qxQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zsqd6xnAMBiXmwBzY8FGLugqGsYpYofLTJTYPdSDNtgdOgAThrPMJew6tfq8kfGOoQqpoeAV/MhTKmUeXBL/fzygFMzGknWDyTYxNCj3Lk62GkPXtMRAqd/4Me4F21gjw7dgi9a9ywG0+2Gr9VwnksmY8fYkFOqVttB2wcg87IPAcIf9Nax9pCNtEXlrd0MNLoMG7uVMQcqoImtSVA1lRJ1GgZIVoX+TZElhqQ/RuSHPC0HJfZ7YWpDgmkJBdNK8llT8ospmjUMuE5rKSTOclo5JwI/gNjHtdEo7V/bMTkuw71iImaByCC6RDvGvbNCfLdP47DTfJPyRbfoehA/edg==
  • Authentication-results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "Andrew Cooper" <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Thu, 24 Feb 2022 14:10:13 +0000
  • Ironport-data: A9a23:HdP6uK6NAodK4EofwljI+wxRtC/HchMFZxGqfqrLsTDasY5as4F+v mFMCGiCbPrYYWf0fdpwPInkp0xX6JPdyYAxSgI+pHtkHi5G8cbLO4+Ufxz6V8+wwmwvb67FA +E2MISowBUcFyeEzvuVGuG96yE6j8lkf5KkYAL+EnkZqTRMFWFw0XqPp8Zj2tQy2YLjX1vW0 T/Pi5a31GGNimYc3l08s8pvmDs31BglkGpF1rCWTakjUG72zxH5PrpGTU2CByKQrr1vNvy7X 47+IISRpQs1yfuP5uSNyd4XemVSKlLb0JPnZnB+A8BOiTAazsA+PzpS2FPxpi67hh3Q9+2dx umhurSZRyp4YvbInd8jfEZ+LCtzDIhbpbnudC3XXcy7lyUqclPpyvRqSko3IZcZ6qB8BmQmG f4wcW5XKErZ3qTvnez9GrIEascLdaEHOKsFvX5t13fBBOsOSpHfWaTao9Rf2V/cg+gQQamPO ZtHMlKDajyYOTkRJUcoWKs1gcDv2lTGLR1Xlg6s8P9fD2/7k1UqjemF3MDuUsOObdVYmACfv G2u13T0BFQWOcKSzRKB82mwnanfkCXjQoUQGbaksPlwjzW7xGYeFRkXXluTuuSihwi1XNc3F qAP0nNw9+5orhXtF4SjGU3jyJKZgvICc/NePrxmswWI8ZT7vCCmDGU1ayMcbvVz4afaWgcW/ lOOmtroAxlmv7uUVW+R+9+okN+iBcQGBTRcPHFZFGPp9/Gm+dhu1UyXEr6PBYbo1oWdJN3m/ 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNOtTABbvzt68owGOlor+p5 iZsdy+2tr1mMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ieRk1aJpeImCxO yc/XD+9ArcJYhNGioctPuqM5zkCl/C8RbwJqNiOBjaxXnSBXFDep3w/DaJh92vsjFItgckC1 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6DFPjTkkX8uZLDNSH9dFvwGAbXBgzPxPjf+1u9H hc2H5bi9iizp8WkPHGMqNZLdQpiwLpSLcmelvG7v9Wre2JOMGogF+XQ0fUmfYlklL5SjeDG4 je2XUow9bY1rSSvxdmiApy7VI7SYA==
  • Ironport-hdrordr: A9a23:BbhWQ6jugE0EZHBLfg/jzfA9b3BQXz513DAbv31ZSRFFG/FwyP rBoB1L73DJYWgqNE3I+erhBEGBKUmsk6KdxbNhQItKOzOWxFdATbsSl7cKpgeAJ8SQzJ856U 4NSdkbNDS0NykEsS+Y2njJLz9D+qj+zEnAv463pB0BPGIaCZ2IrT0JcTpzencGNTWubqBJba Z0iPA3wAZJLh8sH7qG7zQ+LqP+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd+hsFSTtAzZor7G CAymXCl+iemsD+7iWZ+37Y7pxQltek4txfBPaUgsxQDjn3kA6naKloRrXHljEop+OE7kosjb D30l0dFvU2z0mUUnC+oBPr1QWl+DEy60X6wVvdunfnqdyRfkNNN+NxwaZiNjfJ4Uspu99xlI hR2XiCipZRBRTc2Azg+tnhTXhR5wSJiEtntdRWo21UUIMYZrMUh5cY5llpHJAJGz+/wJw7Ed NpENrX6J9tABynhkjizylSKeGXLzcO9k/seDlBhiXV6UkboJlB9TpY+CRF9U1wsa7USPF/lp P52+pT5fVzp/QtHNBA7dc6MLiK41P2MGfx2UKpUB3a/fI8SjrwQ6Ce2sRA2AjtQu1O8KcP
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Thu, Jan 13, 2022 at 02:17:18PM +0100, Jan Beulich wrote:
> Except in the "clocksource=tsc" case we can replace the indirect calls
> involved in accessing the platform timers by direct ones, as they get
> established once and never changed. To also cover the "tsc" case, invoke
> what read_tsc() resolves to directly. In turn read_tsc() then becomes
> unreachable and hence can move to .init.*.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>

> ---
> TBD: Instead of adding __init to read_tsc() we could also ditch the
>      function altogether, using a dedicated (non-canonical) pointer
>      constant instead for the .read_counter initializer and the two
>      comparisons done on plt_src.read_counter.

I was going to suggest adding an ASSERT_UNREACHABLE, but not sure it
makes much sense if the function is init only.

I would be fine with using a non-canonical pointer.

Thanks, Roger.



 


Rackspace

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