On 03/06, Oleg Nesterov 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. in any case, I think another cleanup before this change makes sense... pipe->ring_size is overused. pipe_read(), pipe_write() and much more users do not need "unsigned int mask", they can use pipe_buf(buf, slot) instead. Oleg.