[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1f37d5c8-b919-8163-942a-660e7e7a964d@redhat.com>
Date: Thu, 22 Nov 2018 16:21:44 +0800
From: lijiang <lijiang@...hat.com>
To: Dave Young <dyoung@...hat.com>
Cc: linux-kernel@...r.kernel.org, bhe@...hat.com, x86@...nel.org,
kexec@...ts.infradead.org, mingo@...hat.com, bp@...en8.de,
tglx@...utronix.de, akpm@...ux-foundation.org
Subject: Re: [PATCH 1/2 v7] resource: add the new I/O resource descriptor
'IORES_DESC_RESERVED'
在 2018年11月22日 15:42, Dave Young 写道:
> On 11/15/18 at 05:55pm, Lianbo Jiang wrote:
>> The upstream kernel can not accurately add the e820 reserved type to
>> kdump krenel e820 table.
>>
>> Kdump uses walk_iomem_res_desc() to iterate io resources, then adds
>> the matched resource ranges to the e820 table for kdump kernel. But,
>> when convert the e820 type into the iores descriptor, several e820
>> types are converted to 'IORES_DESC_NONE' in this function e820_type
>> _to_iores_desc(). So the walk_iomem_res_desc() will get unnecessary
>> types(such as E820_TYPE_RAM/E820_TYPE_UNUSABLE/E820_TYPE_KERN) when
>> walk through io resources by the descriptor 'IORES_DESC_NONE'.
>>
>> This patch adds the new I/O resource descriptor 'IORES_DESC_RESERVED'
>> for the iomem resources search interfaces. It is helpful to exactly
>> match the reserved resource ranges when walking through iomem resources.
>>
>> Suggested-by: Dave Young <dyoung@...hat.com>
>> Signed-off-by: Lianbo Jiang <lijiang@...hat.com>
>> ---
>> Changes since v5:
>> 1. Improve the patch log
>>
>> Changes since v6:
>> 1. Modify this patch, and add the new I/O resource descriptor
>> 'IORES_DESC_RESERVED' for the iomem resources search interfaces.
>> 2. Improve patch log.
>>
>> arch/x86/kernel/e820.c | 2 +-
>> include/linux/ioport.h | 1 +
>> 2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
>> index 50895c2f937d..57fafdafb860 100644
>> --- a/arch/x86/kernel/e820.c
>> +++ b/arch/x86/kernel/e820.c
>> @@ -1048,10 +1048,10 @@ static unsigned long __init e820_type_to_iores_desc(struct e820_entry *entry)
>> case E820_TYPE_NVS: return IORES_DESC_ACPI_NV_STORAGE;
>> case E820_TYPE_PMEM: return IORES_DESC_PERSISTENT_MEMORY;
>> case E820_TYPE_PRAM: return IORES_DESC_PERSISTENT_MEMORY_LEGACY;
>> + case E820_TYPE_RESERVED: return IORES_DESC_RESERVED;
>> case E820_TYPE_RESERVED_KERN: /* Fall-through: */
>> case E820_TYPE_RAM: /* Fall-through: */
>> case E820_TYPE_UNUSABLE: /* Fall-through: */
>> - case E820_TYPE_RESERVED: /* Fall-through: */
>> default: return IORES_DESC_NONE;
>> }
>> }
>> diff --git a/include/linux/ioport.h b/include/linux/ioport.h
>> index da0ebaec25f0..6ed59de48bd5 100644
>> --- a/include/linux/ioport.h
>> +++ b/include/linux/ioport.h
>> @@ -133,6 +133,7 @@ enum {
>> IORES_DESC_PERSISTENT_MEMORY_LEGACY = 5,
>> IORES_DESC_DEVICE_PRIVATE_MEMORY = 6,
>> IORES_DESC_DEVICE_PUBLIC_MEMORY = 7,
>> + IORES_DESC_RESERVED = 8,
>> };
>
> There more works for a new iores desc. Originally IORES_DESC_NONE
> is assumed to include reserved e820 type so all code path relates to
> IORES_DESC_NONE should be carefully checked and ensure they still work after
> your changes.
>
Thanks for your reminder.
I'm checking it, and also will resend v7 later. Please ignore this patch.
Regards,
Lianbo
>>
>> /* helpers to define resources */
>> --
>> 2.17.1
>>
>>
>> _______________________________________________
>> kexec mailing list
>> kexec@...ts.infradead.org
>> http://lists.infradead.org/mailman/listinfo/kexec
>
> Thanks
> Dave
>
Powered by blists - more mailing lists