Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755516AbcCaIxI (ORCPT ); Thu, 31 Mar 2016 04:53:08 -0400 Received: from mail-bl2on0099.outbound.protection.outlook.com ([65.55.169.99]:7744 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751368AbcCaIxB (ORCPT ); Thu, 31 Mar 2016 04:53:01 -0400 Authentication-Results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=amd.com; Subject: Re: [PART1 RFC v3 12/12] svm: Manage vcpu load/unload when enable AVIC To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= References: <1458281388-14452-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1458281388-14452-13-git-send-email-Suravee.Suthikulpanit@amd.com> <20160318214450.GB2332@potion.brq.redhat.com> CC: , , , , , , , , From: Suravee Suthikulpanit Message-ID: <56FCE556.80306@amd.com> Date: Thu, 31 Mar 2016 15:52:38 +0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <20160318214450.GB2332@potion.brq.redhat.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [124.121.8.20] X-ClientProxiedBy: HK2PR0201CA0022.apcprd02.prod.outlook.com (10.162.206.32) To BLUPR12MB0434.namprd12.prod.outlook.com (10.162.92.14) X-MS-Office365-Filtering-Correlation-Id: b255ed2b-de7a-4c75-a769-08d35941daaf X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0434;2:YEjnqWg1tnclr0iOavR7Zq+iz94cq98xnmgMq/axjHKbL67oy6IahZJMciy+IYMD1qayJAZ6U+nZoVJ9MuwMNSKFT1K8cEi6hz8QCQ6ZsIuNCXw6MsWIC6gVnLHWjCeeBCvGwYqIDMpgrZ5k3souDCUL6z+/IZueJbHXOnwUJQGYKHXYlo4nNqFEZj73SpT4;3:ZTzxngqWKY56otgu6vkmQdrGixq34B2KNS8VmQ+l0Vl+SiBVhFvFePiiKJqW9+3RAgyGa/2+QLiXOurXkskiC6lBohElLqjhzm7zCsfgdMqUYF2zX92+Y7skuJVo/wTx;25:GhAIVlCLzR5fpyz2NQb32SK3A3jmC4HHI3sdOqSHBrUhG15kC53kvN3kqW4dflwp9UuJvBWAk9dYi8p7llpxuZImWLKERVp5l0p9Y6OlMw/btYYIHPeagdkIyBUC0jXiMiiEipj1rHpsGXmHQEchDvZHBaBsKA1pSXRIMlag0kHzzEhHQpVKX4MAy4jZcM4iCKnskPFfFT5QqSDxeo2vL6UALQ2DRIhqb7k+kWRK09zxkNHVOOpNhXeObIfKOLCObhlHP57JznP3kBQgOcZFYkzZCTDYt8QBihgXhigakz0/pxa5b542SGFhUdxnPh1X1YiEmh+54GUadoRh9KED6dzsF9Ed0dz5cZI0bZwyfBjYg5kPlFvVQi5EuM6c4Y9dLA0EcKttUHVUw34wHhMPg2ZZ4aVwVv7c1BUMM2kirttdbiofTkAC66FRA3d9S77w+waC1BL3pgmPC94O6K4E3Npx76K9YWJAXQIBGcMhezT1qIFhRbEw/1IdGFdjr0e/e61rqGQU/1o9InoEYDpXGCTppaZWIIAHDkjnsiJ/G6xcIbin4qMi0gCy79Or512s X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0434; X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0434;20:VnfgN1qPvRN6SSFNU82O+cIVBQL04XTI0emkgkfVXV0EoCp3kBFe3ApJX3VwlN5tUhTSwcs5YknlG0wi1XWaeJ993FjSbPTlfzHTXlXLZ6pKniVXj4INEarAlRP1Z27Q4mJLKi2eQ7us4hoNCAYiPVZBgc6OecVMc49NqzMnElA8zwTI7mT+ToyWOpAJsY77BvwTjyiQ3rQKbKrP79IGmIm53xVatk2J67l5O1scqb/rG7tVnxVEfpYvLriQgYgMaJSZ2gX+kJBy/niCVewqLFHtkvws3Pp/jY5fqcs92Bk347iHfLjPKQvHna37lEdVsRSaFiLDm/87ITQljKf9z5n399oE0lbetWkOdxGLoS8dMeOf8ltoB7tcl7+dzomevHHcagl+PR2DHrUixjVuAK5X+xniZHUyehvr0XTZy1BaI8VoagBmG86Nu9v4Ie0uL4NB3cGdWSSCU8+clLQuADbvrFsE40zRdrmmSSCBEsDq8EM9wZ3RoA/Fes2ibWiT;4:VtJYaowHo1OGCR/JUFmnVdvn2Alcj4O4WKTcAXfw87SagFC9GZzryxgb04K3+Gr5HFWRpD5+S2IRo+Yt7jf1Y2UCvdgAzOBDrV5x6ozohy9xkA7WkbzAMohe7yp8hVKjjUTwK5ujrA8e8yZyWJiek5r7eIp7hTyUdqC3Pbv8cU3zpdJ5iPk/bMRcteRUC9wRnWsDQ2LQa1gZ4vRHzAKD0Dxn8NC8HE/e0etpENWmO/xwSexdIIY2yJRhAO7hRsDaM28rIaG20WRqp+GOXPdFmSoOTP+iRsLXY7LGFH6WpIPIl1YoI5eEUSWlgtnjhqSGOU8dE0nFTz/RmIM5GGrTj2NoHiljI+MuQoRcu+b2K2AMkvw31LdFdqk1LFtOi4lp X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:BLUPR12MB0434;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0434; X-Forefront-PRVS: 0898A6E028 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(377454003)(164054003)(24454002)(377424004)(86362001)(47776003)(36756003)(66066001)(65806001)(3846002)(1096002)(6116002)(2950100001)(83506001)(65816999)(42186005)(189998001)(54356999)(5008740100001)(50986999)(110136002)(50466002)(76176999)(23676002)(19580405001)(19580395003)(33656002)(117156001)(4001350100001)(5004730100002)(586003)(81166005)(92566002)(4326007)(77096005)(2906002);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR12MB0434;H:[192.168.0.19];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTFVQUjEyTUIwNDM0OzIzOmhGbjdIU1AxS0ZZcGVmaVIwM1cxckcrT0Nr?= =?utf-8?B?WmVTVUM2clVBVDg1V0Z0b2ZVRlU2RUZVZnEycW5sMlpBZ09yZ0lrRTlWUVN2?= =?utf-8?B?TFU0VmQrSkxxa01EUlU3L2h5bmtOYWlHVThZOUhOQ1FnRkNtNGpJUVVKUXVw?= =?utf-8?B?WURFTFNRdHhJclRYZHlSOWFDdzZRQTRhMzNtRUFmaVhwcjhlRnNTVzNhMVFC?= =?utf-8?B?a1VDZEljR0tYZXViZ0ZtaDJjT1A3dmdPWDlQMXZNNGkxS1pxeVoyYVNyZkZX?= =?utf-8?B?Q1RSc0dTMGxma28yTEJIemhDb3BmbDN2UGc2ZW1mYzBmU3JRditWWEhTb1Qy?= =?utf-8?B?d0YxSUt4MUMvNGY3RFpWTXVZdFBNN294SkM5eEdLaWV4b2tMM2lJL3lWOGNQ?= =?utf-8?B?cTVLN3JIOEduV1p6Qmh0eG9zWmthWEZHT2JuaUhpTTRSSWR0WW96U1FiQ1pa?= =?utf-8?B?a1RTUHNDanhwbnlEdGM2WUJVa0cvMEVqZ1MvcGVZcWt5Y1lvWkM3VGdMQytB?= =?utf-8?B?Z1BObTgxMXg5ZGlpUGtYckJLZ3ROM2paZ1JGd21CZnh0bDVWOENKaVkrOHFH?= =?utf-8?B?T3I4NUpWUjV2TXBGZU1lYUcyc3l3Rk1DK0Z0cFVzUFc2Q05jVmE1a1VDR0dK?= =?utf-8?B?OHBGYU5hcjg1dE1KOG00Q0tzOTdRQlg3RWs1R3k0MTFuRzVoekJaWEdzRVJh?= =?utf-8?B?UldBTEZsZ1hIcU1EOEpjL3YxT3JBcEc2MG9JTTRZemxoWWpaMGNNRUZQU0oz?= =?utf-8?B?WU4zV0o2MEUyVWJIeGtOVk10bGE3Tk1RY3lQdDg3VmhMaERncTEzdEtMdDls?= =?utf-8?B?WU9hdHlKYW9CazRDUVZPUkhDNmJWUndjSmhFeEtRN1diekhEd05FZVIwQ0px?= =?utf-8?B?ZEUzbkZGY2o4VzVKV2I0b2pEcjRYazFnVC9uemxrdnR6cXpTZnMvMFFiU1FC?= =?utf-8?B?NThMMWRUaXBPWFdkaGRaRHBIYnptWVJSU1llaGE3Wk83aTFSLzNJK3Bic2ZI?= =?utf-8?B?bHNnVlJYK0dITEpxbmxhamRHdVlKN2NkdUIrNTh4WVdUdHl6RS9WS3pXZlB0?= =?utf-8?B?Ui93S1hxMEloMGQzRnVPNmhqeUpVMFN2NjdtWTZaV1Vkb0EyTUNYTkhDWDBq?= =?utf-8?B?L2hkczdpUmNUblp4ODRDSStJb1ZlZXFNWHlSQUZkVmx1ZHllM1JweE5ZM213?= =?utf-8?B?alh0TTk2Sm5BQ0Njd0NZL29MaXJYTkd3MkZ6andKVFl1Wm5ta1oyL0NHZDNM?= =?utf-8?B?VTNyL0JmNEZRSlRXd3BxYk1LKzN4S2JsaXNXcVNxVE1rNmJ4Tkd4Uk8vVFc3?= =?utf-8?B?YnAwUGhlc3Jad0VqU2xRbGlDTW9jUUVQdnpiQ0pwdFVrdlF3cGFOZlVTM2k3?= =?utf-8?B?TXBDMDgxOUhSa2JBWENEL2pncXNSaUp5SjhNc2JwTDd2elQrdmJ6U1V6NTFB?= =?utf-8?Q?uPddV8=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0434;5:ajxwQPuL10mq7CJyMACH52OsgLhT7w97NzLh4J+Z6jw/RTCW0vPkMmByiMDEs5T8LXzM+AGnGmep1gjUakKPtQbnR8bo79ofa6GS1eSVE2RzrWhKg9Gn+m+6qPF5mVKxmT2EW21HOSQqVZ6IGO6ydA==;24:QkzgxGKCcJvJ3AXxgrL6Luoxln7kWJCCs/9Bw26AjCZSMpYpDDySR2xLC/vpz3B1X1rOjkgOlRvc6G+qurvDPq5iIrs73MifhN7Y17Re2TU=;20:n4R4lpABDrfHEagb9VBuV42YqGbBJAkEnjZHzVhL1oC4Ktfcv6+qT1EIt7zBP/QlVv7La61yEtvB7BwkXW3JQP9YaWzxe538yFKXqj2hq/4ercVS0CD42996t4pep9HHoglPryKTcMUKp8qAlupHUPYFROmRhEqOTy29fh8goSUwKbFe658vGp6o3A8G1CODDzUMUEXFSTkkBFWds4rrwKZmZTMOSn/bb5R5JwoQTKU4mn15o1hAIzoXxiqdqLx2 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2016 08:52:53.1686 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR12MB0434 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1192 Lines: 34 Hi Radim, On 03/19/2016 04:44 AM, Radim Krčmář wrote: > 2016-03-18 01:09-0500, Suravee Suthikulpanit: >> From: Suravee Suthikulpanit >> + >> + WRITE_ONCE(*entry, new_entry); > > This will translate to two writes in 32 bit mode and we need to write > physical ID first to avoid spurious doorbells ... > is the order guaranteed? Hm.. not sure on that. >> + } else { >> + new_entry = READ_ONCE(*entry); >> + /** >> + * This handles the case when vcpu is scheduled out >> + * and has not yet not called blocking. We save the >> + * AVIC running flag so that we can restore later. >> + */ > > is_running must be disabled in between ...blocking and ...unblocking, > because we don't want to miss interrupts and block forever. > I somehow don't get it from the comment. :) Not sure if I understand your concern. However, the is_running bit setting/clearing should be handled in the avic_set_running below. This part only handles othe case when the is_running bit still set when calling vcpu_put (and later on loading some other vcpus). This way, when we are re-loading this vcpu, we can restore the is_running bit accordingly. Thanks, Suravee