> >> > 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