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

Re: [PATCH] xen/arm: smmuv1: Fixed stream matching register allocation


  • To: Julien Grall <julien@xxxxxxx>
  • From: Rahul Singh <Rahul.Singh@xxxxxxx>
  • Date: Wed, 30 Jun 2021 17:49:10 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.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-SenderADCheck; bh=u59L1DPlbkD5PqGrE9Hb//T7Ee7m1KExDJqn8cbCrIU=; b=JMwEMcEl7Wh7CCGW9Zi0KWmyfKeYUVAWOr5mIZoJCbLu0ju4bsFLaoO7QXJb1SGcNAY0cQbTX74S3CAo5QKudP1sOST36cEDOpKzDtGjeP1+7OB7hEnMkVLQienpinwxv4MYd/vn/sz6aCiFH1dFuxr59R9McmFZO13iYL1Zl9DpXJCTfKvBn+mhorxOXp+U+Zrev3CdEmzIlSvm/1xI4u9b4ZsApSDXPOMMpeXhTKU6eNZ8ZbAsyDvO/SQbjhFBL9PHhD72HLaZlbWmT0hgErj8AZUMiJBLF+NKgqur58Kbd0qJ/0B3CIlwAc8yfr3/UVbVYcTHckrK0iLljUiz8g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cd/jnWlQH9Tic0PPWhGLB7Ae0yTa4XuVxneUx0zf77/cX/vUCg26Rs/zwOlNfFljwwMQQKlt+6q1T7BJGfv6aOltp1x5dW1Zrn2sBwvoQr0hw51Tl+68b1OulGwWOzLR7ObNhxtzQ2ghTNejNxTIpy43Tz7Qob2v2ztpQdc4CP7nwKy7AtAw/aPxl1lzMeIZnUWXflHsM0pxVU3wA8ENdcpYUxho48INVQjAnUoFBaUSZiXDk+oZxRFiy2mh6l0RmM3a5t/5JXyXtHJgjSY0k6e+k61CXU+vZDFAfRacjXjniWjHJQlfAHc4Ou7RwXM+OUB6sxLjEQMtpQ+0m7ypUw==
  • Authentication-results-original: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Wed, 30 Jun 2021 17:49:25 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHXaeBuO8lC15Rvy0GU2dq6zulC56ssS6GAgACREoA=
  • Thread-topic: [PATCH] xen/arm: smmuv1: Fixed stream matching register allocation

Hi Julien,

> On 30 Jun 2021, at 10:09 am, Julien Grall <julien@xxxxxxx> wrote:
> 
> Hi Rahul,
> 
> On 25/06/2021 17:37, Rahul Singh wrote:
>> SMR allocation should be based on the number of supported stream
>> matching register for each SMMU device.
>> Issue introduced by commit 5e08586afbb90b2e2d56c175c07db77a4afa873c
>> when backported the patches from Linux to XEN to fix the stream match
>> conflict issue when two devices have the same stream-id.
>> Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
>> Tested-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
>> Signed-off-by: Rahul Singh <rahul.singh@xxxxxxx>
>> ---
>>  xen/drivers/passthrough/arm/smmu.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>> diff --git a/xen/drivers/passthrough/arm/smmu.c 
>> b/xen/drivers/passthrough/arm/smmu.c
>> index d9a3a0cbf6..da2cd457d7 100644
>> --- a/xen/drivers/passthrough/arm/smmu.c
>> +++ b/xen/drivers/passthrough/arm/smmu.c
>> @@ -149,6 +149,7 @@ typedef enum irqreturn irqreturn_t;
>>  #define kzalloc(size, flags)                _xzalloc(size, sizeof(void *))
>>  #define devm_kzalloc(dev, size, flags)      _xzalloc(size, sizeof(void *))
>>  #define kmalloc_array(size, n, flags)       _xmalloc_array(size, 
>> sizeof(void *), n)
>> +#define kzalloc_array(size, n, flags)       _xzalloc_array(size, 
>> sizeof(void *), n)
>>    static void __iomem *devm_ioremap_resource(struct device *dev,
>>                                         struct resource *res)
>> @@ -2221,7 +2222,7 @@ static int arm_smmu_device_cfg_probe(struct 
>> arm_smmu_device *smmu)
>>              smmu->smr_mask_mask = smr >> SMR_MASK_SHIFT;
>>              /* Zero-initialised to mark as invalid */
>> -            smmu->smrs = devm_kzalloc(smmu->dev, sizeof(*smmu->smrs), 
>> GFP_KERNEL);
>> +            smmu->smrs = kzalloc_array(sizeof(*smmu->smrs), size, 
>> GFP_KERNEL);
> 
> I noticed this is already in... However, I am a bit puzzled into why this was 
> switched devm_kzalloc() to kzalloc_array(). This doesn't matter for Xen as 
> they are just wrappers to x*alloc() but a mention in the commit message would 
> have been useful.

Yes we can use the devm_kzalloc(..) but then we have to pass 
(sizeof(*smmu->smrs) * size ) as size argument to devm_kzalloc(..)
I thought for better code readability I will use kzalloc_array() as the 
function name suggests we are allocating memory for an array.

> 
> Also, when sending series, please remember to create a cover letter and 
> number each patch.
> 

Ok.

Regards,
Rahul
> Cheers,
> 
> -- 
> Julien Grall




 


Rackspace

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