For the structs containing variables with the same sizes, or already size aligned > variables, we knew the __packed has no effect. And for these structs, it doesn't > cause performance impact either, correct? > > But in the future, if different sized variables are added, the __packed may > become necessary again. To prevent anyone accidently forget to add __packed > when adding new variables to these structs, can we keep the __packed for all > messages going through the "wire"? It should not be a problem because anybody adding new variables should know packed is not liked in the kernel and will take care. If you want to be paranoid add a BUILD_BUG_ON(size(struct foo) != 42); Andrew