From: Shanker Donthineni <shankerd@codeaurora.org>
To: Ganapatrao Kulkarni <gpkulkarni@gmail.com>,
Marc Zyngier <marc.zyngier@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>,
Vikram Sethi <vikrams@codeaurora.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
"ganapatrao.kulkarni@cavium.com" <ganapatrao.kulkarni@cavium.com>,
Thomas Gleixner <tglx@linutronix.de>,
linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
Jayachandran C <jnair@caviumnetworks.com>
Subject: Re: [PATCH] irqchip: gicv3-its: Use NUMA aware memory allocation for ITS tables
Date: Mon, 10 Jul 2017 07:30:50 -0500 [thread overview]
Message-ID: <c883dfb1-1df3-13fa-dc22-efa86b18513a@codeaurora.org> (raw)
In-Reply-To: <CAFpQJXUm5tEyaBURzx9OtssBt8+ThO0dmPqtdjjGRJzY5cMv-w@mail.gmail.com>
Marc,
Do you have any other concerns taking this patch?
On 07/10/2017 05:21 AM, Ganapatrao Kulkarni wrote:
> Hi Marc,
>
> On Mon, Jul 10, 2017 at 2:53 PM, Marc Zyngier <marc.zyngier@arm.com> wrote:
>> On 10/07/17 10:08, Ganapatrao Kulkarni wrote:
>>> On Mon, Jul 10, 2017 at 2:36 PM, Marc Zyngier <marc.zyngier@arm.com> wrote:
>>>> On 10/07/17 09:48, Ganapatrao Kulkarni wrote:
>>>>> Hi Marc,
>>>>>
>>>>> On Mon, Jul 3, 2017 at 8:23 PM, Marc Zyngier <marc.zyngier@arm.com> wrote:
>>>>>> Hi Shanker,
>>>>>>
>>>>>> On 03/07/17 15:24, Shanker Donthineni wrote:
>>>>>>> Hi Marc,
>>>>>>>
>>>>>>> On 06/30/2017 03:51 AM, Marc Zyngier wrote:
>>>>>>>> On 30/06/17 04:01, Ganapatrao Kulkarni wrote:
>>>>>>>>> On Fri, Jun 30, 2017 at 8:04 AM, Ganapatrao Kulkarni
>>>>>>>>> <gpkulkarni@gmail.com> wrote:
>>>>>>>>>> Hi Shanker,
>>>>>>>>>>
>>>>>>>>>> On Sun, Jun 25, 2017 at 9:16 PM, Shanker Donthineni
>>>>>>>>>> <shankerd@codeaurora.org> wrote:
>>>>>>>>>>> The NUMA node information is visible to ITS driver but not being used
>>>>>>>>>>> other than handling errata. This patch allocates the memory for ITS
>>>>>>>>>>> tables from the corresponding NUMA node using the appropriate NUMA
>>>>>>>>>>> aware functions.
>>>>>>>>>
>>>>>>>>> IMHO, the description would have been more constructive?
>>>>>>>>>
>>>>>>>>> "All ITS tables are mapped by default to NODE 0 memory.
>>>>>>>>> Adding changes to allocate memory from respective NUMA NODES of ITS devices.
>>>>>>>>> This will optimize tables access and avoids unnecessary inter-node traffic."
>>>>>>>>
>>>>>>>> But more importantly, I'd like to see figures showing the actual benefit
>>>>>>>> of this per-node allocation. Given that both of you guys have access to
>>>>>>>> such platforms, please show me the numbers!
>>>>>>>>
>>>>>>>
>>>>>>> I'll share the actual results which shows the improvement whenever
>>>>>>> available on our next chips. Current version of Qualcomm qdf2400 doesn't
>>>>>>> support multi socket configuration to capture results and share with you.
>>>>>>>
>>>>>>> Do you see any other issues with this patch apart from the performance
>>>>>>> improvements. I strongly believe this brings the noticeable improvement
>>>>>>> in numbers on systems where it has multi node memory/CPU configuration.
>>>>>>
>>>>>> I agree that it *could* show an improvement, but it very much depends on
>>>>>> how often the ITS misses in its caches. For this kind of patches, I want
>>>>>> to see two things:
>>>>>>
>>>>>> 1) It brings a measurable benefit on NUMA platforms
>>>>>
>>>>> Did some measurement of interrupt response time for LPIs and we don't
>>>>> see any major
>>>>> improvement due to caching of Tables. However, we have seen
>>>>> improvements of around 5%.
>>>>
>>>> An improvement of what exactly?
>>>
>>> interrupt response time.
>>
>> Measured how? On which HW? Using which benchmark?
>
> This has been tested on ThunderX2.
> We have instrumented gic-v3-its driver code to create dummy LPI device
> with few vectors.
> The LPI is induced from dummy device(through sysfs by writing to
> TRANSLATOR reg).
> The ISR routine(gic_handle_irq) being called to handle the induced LPI.
> NODE 1 cpu is used to induce LPI and NODE 1 cpu/collection is mapped
> in ITT to route this LPI.
>
> CPU timer counter are sampled at the time LPI is Induced and in ISR
> routine to calculate interrupt response time.
> the result shown improvement of 5% with this patch.
>
> Do you have any recommended benchmarks to test the same?
>
Ganapatrao,
Thanks for your efforts on instrumenting ITS driver code to show interrupt performance
improvement of 5% on the ThunderX2 hardware. Actually the current ITS driver is not
consistent on allocating memory for ITS/GICR tables, GICR pending tables are allocated
from the corresponding NUMA node based on CPU proximity, but not the other tables.
>>
>> Give me the actual benchmark results. Don't expect me to accept this
>> kind of hand-wavy statement.
>>
>> M.
>> --
>> Jazz is not dead. It just smells funny...
>
> thanks
> Ganapat
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
--
Shanker Donthineni
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
next prev parent reply other threads:[~2017-07-10 12:30 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-25 15:46 [PATCH] irqchip: gicv3-its: Use NUMA aware memory allocation for ITS tables Shanker Donthineni
2017-06-30 2:34 ` Ganapatrao Kulkarni
2017-06-30 3:01 ` Ganapatrao Kulkarni
2017-06-30 8:51 ` Marc Zyngier
2017-07-03 14:24 ` Shanker Donthineni
2017-07-03 14:53 ` Marc Zyngier
2017-07-03 15:15 ` Shanker Donthineni
2017-07-10 8:48 ` Ganapatrao Kulkarni
2017-07-10 9:06 ` Marc Zyngier
2017-07-10 9:08 ` Ganapatrao Kulkarni
2017-07-10 9:23 ` Marc Zyngier
2017-07-10 10:21 ` Ganapatrao Kulkarni
2017-07-10 12:30 ` Shanker Donthineni [this message]
2017-07-10 13:53 ` Marc Zyngier
2017-07-10 13:50 ` Marc Zyngier
2017-07-10 14:57 ` Shanker Donthineni
2017-07-10 15:15 ` Marc Zyngier
2017-07-11 8:48 ` Jayachandran C
2017-07-13 15:40 ` Robert Richter
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=c883dfb1-1df3-13fa-dc22-efa86b18513a@codeaurora.org \
--to=shankerd@codeaurora.org \
--cc=ganapatrao.kulkarni@cavium.com \
--cc=gpkulkarni@gmail.com \
--cc=jason@lakedaemon.net \
--cc=jnair@caviumnetworks.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=tglx@linutronix.de \
--cc=vikrams@codeaurora.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