[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4] page_alloc: assert IRQs are enabled in heap alloc/free
- To: David Vrabel <dvrabel@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>
- From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
- Date: Tue, 26 Apr 2022 14:35:19 +0000
- Accept-language: en-GB, en-US
- 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=fbINpKt/1RYyj1cWGsZ3YaiNFHNjyGzplUSls67ClYA=; b=hxEOfS42U5prvuuMJ3ch1YabQqJuM5OVxoqotD+1k6aQo8NSaM4y+3oLs/yAmPykcVuYYSNZBQ+pw5xcA8K7Bbw1MpfUNfJuFUX/IxoM+V7fkO0dlbM1naWb6s/VvmNDteSowbcnJ5rLGxWcBZM1EpViwFGUj8bBApJFIU0ydjpWJntZCpnpW28gCuApP+4oKIA4p5BnJO/vhLHEj2gHwJmgLoVIGf9SNvGydcFMl6jJJVSjRMYdd7ddZB/0xtA6tgSudcLzq5LMQjJyAxyJ/lEcRmivNvo5sX9GY7DUc3CqPSFoGLokrWLa+62KAnyyrpmx8v+qGXGLO+5v6rd5IA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mLtWvV62/heFLSh5WSAaMY8soQ1ZTDwu/Mj4wWssomCFBY+Shhwcc7dOkjz4AObwH2X0fMAeSfOrcz1KWd9ibQ9BC2fPmVORZezgRSshzoxZxbRnnNKlSHf8pSqdpuDZ/0PEdDQ/20QP6NxPbJGqWpJp0up6VfjdvupJC4ojjyk1MlndX7UiefyUjlxkBVIjLKom40BSGD7MG/B94EIqw7pnrbmsmXFFxpZi1RSF4a4WVthrzE1u9p938mq2VCyXpn6MGrioSZ0TY/6Fdt9HyX1c/YimBmWgpm1ly3EcydUKwdf4K3vm0sSGd+z3ILYxKHmcJTyZbGbbRAfwPU2weA==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: George Dunlap <George.Dunlap@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, David Vrabel <dvrabel@xxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Tue, 26 Apr 2022 14:36:45 +0000
- Ironport-data: A9a23:WQ41U6i7ikOCkDdkR1pweS+AX161rREKZh0ujC45NGQN5FlHY01je htvC2mDOP+IZGL3Lot2aoqy8U4P7cXRzYcwTQNlrS8xQSIb9cadCdqndUqhZCn6wu8v7a5EA 2fyTvGacajYm1eF/k/F3oDJ9CU6jefSLlbFILas1hpZHGeIcw98z0M78wIFqtQw24LhX1nT4 YmaT/D3YzdJ5RYlagr41IrbwP9flKyaVOQw5wFWiVhj5TcyplFNZH4tDfjZw0jQG+G4KtWSV efbpIxVy0uCl/sb5nFJpZ6gGqECaua60QFjERO6UYD66vRJjnRaPqrWqJPwwKqY4tmEt4kZ9 TlDiXC/YVowI/WUh8YgaSRjPXBgFK9a0oKbGWfq5KR/z2WeG5ft69NHKRhueKc+paNwC2wI8 uEEIjcQaBzFn/ix3L+wVuhrgIIkMdXvO4Qc/HpnyFk1D95/GcyFH/qMuocehW9r7ixNNa+2i 84xQDxjdhnfJTZIPU8aEskWl+a0nHjvNTZfrTp5oIJpsjiIklQuitABNvLrI5/Vd5l8r3qD/ FjB/ULiHigWN/2AnG/tHnWEw7WncTnAcI4MDrSy+/pCi1SV2mUZThsbSTOTo+S9i0O4c8JSL QoT4CVGhao4+VGvT9L9dwalu3PCtRkZM/JLCPEz4gyJzqvS4i6aC3ICQzoHb8Yp3OcpQRQ62 1nPmMnmbRRjrqecQ3+Z3r6RpCG1P24eKikfZkcsXQYDptXuvow3phbOVcp4Vr64iMXvHjP9y CzMqzIx74j/luYO3qS/uFrB3DSlo8GRShZvv12MGGW48gl+eYipIZSy7kTW5upBK4DfSUSdu H8DmI6V6+Vm4YyxqRFhid4lRNmBj8tp+hWF6bKzN/HNLwiQxkM=
- Ironport-hdrordr: A9a23:GGSoA6hep5nQz/YYUdvsabe0x3BQX4N23DAbv31ZSRFFG/FwyP rCoB1L73XJYWgqM03IwerwQ5VpQRvnhP1ICRF4B8bvYOCUghrTEGgE1/qs/9SAIVyyygc578 tdmsdFebrN5DRB7PoSpTPIa+rIo+P3vpxA592uqUuFJDsCA84P0+46MHfjLqQcfnglOXNNLu v52iMxnUvERZ14VKSGL0hAe9KGi8zAlZrgbxJDLQUg8hOygTSh76O/OwSE3z8FOgk/gYsKwC zgqUjU96+ju/a0xlv3zGnI9albn9Pn159qGNGMsM4IMT/h4zzYJ7iJGofy/gzdktvfrGrCo+ O85CvI+P4DrU85S1vF5CcFHTOQiQrGpUWSkWNwykGT3PARDAhKd/apw7gpMycxonBQwu2Vms hwrh2knosSAhXakCvn4d/UExlsi0qvuHIn1fUelnpFTOIlGfdsRKEkjTVo+a07bWvHAUEcYZ tTJdCZ4OwTfUKRbnjfsGUqyNuwXm4rFhPDRkQZoMSa3zVfgXg8liIjtYYit2ZF8Ih4R4hP5u zCPKgtnLZSTtUOZaY4AOsaW8O4BmHEXBqJOmOPJlbsEr0BJhv22tXKyaRw4PvvdI0DzZM0lp iEWFREtXQqc0arEsGK1I0jyGG7fIx8Z0WY9ihz3ekIhlSnfsubDcSqciFcr+Kw5/MCH8bcR/ G/fJpLHv6LFxqaJbp0
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Thread-index: AQHYWKhQkHRex9QHaUa4HuRkaWqbCK0COu2AgAADggCAAAViAIAAAJKA
- Thread-topic: [PATCH v4] page_alloc: assert IRQs are enabled in heap alloc/free
On 26/04/2022 15:33, David Vrabel wrote:
>
>
> On 26/04/2022 15:14, Julien Grall wrote:
>> Hi,
>>
>> On 26/04/2022 15:01, Jan Beulich wrote:
>>> On 25.04.2022 15:28, David Vrabel wrote:
>>>> --- a/xen/common/page_alloc.c
>>>> +++ b/xen/common/page_alloc.c
>>>> @@ -162,6 +162,13 @@
>>>> static char __initdata opt_badpage[100] = "";
>>>> string_param("badpage", opt_badpage);
>>>> +/*
>>>> + * Heap allocations may need TLB flushes which require IRQs to be
>>>> + * enabled (except when only 1 PCPU is online).
>>>> + */
>>>> +#define ASSERT_ALLOC_CONTEXT() \
>>>> + ASSERT(!in_irq() && (local_irq_is_enabled() ||
>>>> num_online_cpus() <= 1))
>>>
>>> At least one of these tightened assertions triggers on Arm, as per the
>>> most recent smoke flight. I'm going to revert this for the time being.
>>
>> From the serial console [1]:
>>
>> (XEN) Xen call trace:
>> (XEN) [<0022a510>] alloc_xenheap_pages+0x120/0x150 (PC)
>> (XEN) [<00000000>] 00000000 (LR)
>> (XEN) [<002736ac>] arch/arm/mm.c#xen_pt_update+0x144/0x6e4
>> (XEN) [<002740d4>] map_pages_to_xen+0x10/0x20
>> (XEN) [<00236864>] __vmap+0x400/0x4a4
>> (XEN) [<0026aee8>]
>> arch/arm/alternative.c#__apply_alternatives_multi_stop+0x144/0x1ec
>> (XEN) [<0022fe40>] stop_machine_run+0x23c/0x300
>
> An allocation inside a stop_machine_run() action function. That is
> what the asserts were designed to catch.
>
> I did try the run the GitLab CI pipelines but it is setup to use
> runners that are only available to the Xen Project group, so forking
> the repo doesn't work.
>
> Can my (personal) GitLab be added as a Developer to the Xen Project
> group? I think this is the intended way for people to run the CI
> pipelines on their own branches.
It is. Username?
~Andrew
|