Re: [PATCH v5 00/11] mempolicy2, mbind2, and weighted interleave

From: Gregory Price
Date: Tue Jan 02 2024 - 14:06:40 EST


> >> > struct mpol_args {
> >> > /* Basic mempolicy settings */
> >> > __u16 mode;
> >> > __u16 mode_flags;
> >> > __s32 home_node;
> >> > __u64 pol_maxnodes;
> >>
> >> I understand that we want to avoid hole in struct. But I still feel
> >> uncomfortable to use __u64 for a small. But I don't have solution too.
> >> Anyone else has some idea?
> >>
> >
> > maxnode has been an `unsigned long` in every other interface for quite
> > some time. Seems better to keep this consistent rather than it suddenly
> > become `unsigned long` over here and `unsigned short` over there.
>
> I don't think that it matters. The actual maximum node number will be
> less than maximum `unsigned short`.
>

the structure will end up being

struct mpol_args {
__u16 mode;
__u16 mode_flags;
__s32 home_node;
__u16 pol_maxnodes;
__u8 rsv[6];
__aligned_u64 pol_nodes;
__aligned_u64 il_weights;
}

If you're fine with that, i'll make the change.
~Gregory