[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 3/7] mm/memory_hotplug: prepare passing flags to add_memory() and friends
- To: David Hildenbrand <david@xxxxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
- From: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
- Date: Wed, 09 Sep 2020 21:24:02 +1000
- Cc: linux-kernel@xxxxxxxxxxxxxxx, virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, linux-hyperv@xxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx, linux-acpi@xxxxxxxxxxxxxxx, linux-nvdimm@xxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Wei Liu <wei.liu@xxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>, Dan Williams <dan.j.williams@xxxxxxxxx>, Jason Gunthorpe <jgg@xxxxxxxx>, Pankaj Gupta <pankaj.gupta.linux@xxxxxxxxx>, Baoquan He <bhe@xxxxxxxxxx>, Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>, Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>, Paul Mackerras <paulus@xxxxxxxxx>, "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>, Len Brown <lenb@xxxxxxxxxx>, Vishal Verma <vishal.l.verma@xxxxxxxxx>, Dave Jiang <dave.jiang@xxxxxxxxx>, "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>, Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>, Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>, Heiko Carstens <hca@xxxxxxxxxxxxx>, Vasily Gorbik <gor@xxxxxxxxxxxxx>, Christian Borntraeger <borntraeger@xxxxxxxxxx>, "Michael S. Tsirkin" <mst@xxxxxxxxxx>, Jason Wang <jasowang@xxxxxxxxxx>, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Oliver O'Halloran <oohall@xxxxxxxxx>, Pingfan Liu <kernelfans@xxxxxxxxx>, Nathan Lynch <nathanl@xxxxxxxxxxxxx>, Libor Pechacek <lpechacek@xxxxxxx>, Anton Blanchard <anton@xxxxxxxxxx>, Leonardo Bras <leobras.c@xxxxxxxxx>, linuxppc-dev@xxxxxxxxxxxxxxxx
- Delivery-date: Wed, 09 Sep 2020 11:24:25 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
David Hildenbrand <david@xxxxxxxxxx> writes:
> On 09.09.20 09:17, Greg Kroah-Hartman wrote:
>> On Tue, Sep 08, 2020 at 10:10:08PM +0200, David Hildenbrand wrote:
>>> We soon want to pass flags, e.g., to mark added System RAM resources.
>>> mergeable. Prepare for that.
>>
>> What are these random "flags", and how do we know what should be passed
>> to them?
>>
>> Why not make this an enumerated type so that we know it all works
>> properly, like the GPF_* flags are? Passing around a random unsigned
>> long feels very odd/broken...
>
> Agreed, an enum (mhp_flags) seems to give a better hint what can
> actually be passed. Thanks!
You probably know this but ...
Just using a C enum doesn't get you any type safety.
You can get some checking via sparse by using __bitwise, which is what
gfp_t does. You don't actually have to use an enum for that, it works
with #defines also.
Or you can wrap the flag in a struct, the way atomic_t does, and then
the compiler will prevent passing plain integers in place of your custom
type.
cheers
|