On Thu, Mar 06 2025, Oleg Nesterov <oleg@xxxxxxxxxx> wrote: > On 03/06, K Prateek Nayak wrote: >> >> @@ -272,9 +272,9 @@ pipe_read(struct kiocb *iocb, struct iov_iter *to) >> */ >> for (;;) { >> /* Read ->head with a barrier vs post_one_notification() */ >> - unsigned int head = smp_load_acquire(&pipe->head); >> - unsigned int tail = pipe->tail; >> - unsigned int mask = pipe->ring_size - 1; >> + unsigned short head = smp_load_acquire(&pipe->head); >> + unsigned short tail = pipe->tail; >> + unsigned short mask = pipe->ring_size - 1; > > I dunno... but if we do this, perhaps we should > s/unsigned int/pipe_index_t instead? > > At least this would be more grep friendly. Agreed. Also, while using u16 on all arches may be good for now to make sure everything is updated, it may also be that it ends up causing suboptimal code gen for 64 bit architectures, so even if we do change pipe_index_t now, perhaps we'd want to change it back to "half a ulong" at some point in the future. Rasmus