mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* question on read_barrier_depends
@ 2014-04-16  7:47 Oliver Neukum
  2014-04-16 15:26 ` Alan Stern
  0 siblings, 1 reply; 9+ messages in thread
From: Oliver Neukum @ 2014-04-16  7:47 UTC (permalink / raw)
  To: Alan Stern; +Cc: linux-kernel

Hi,

I am looking at memory ordering and a question hit me.
I was looking at the kfifo code. kfifo_put() has a barrier:

			)[__kfifo->in & __tmp->kfifo.mask] = \
				(typeof(*__tmp->type))__val; \
			smp_wmb(); \
			__kfifo->in++; \

Looking at kfifo_get() 

		__ret = !kfifo_is_empty(__tmp); \
		if (__ret) { \
			*(typeof(__tmp->type))__val = \
				(__is_kfifo_ptr(__tmp) ? \

A thought struck me. There is no corresponding barrier. I cannot
help myself, but I think there needs to be a smp_read_barrier_depends()
between reading kfifo->in (in kfifo_is empty) and reading val.
What do you think?

	Regards
		Oliver



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-04-21 14:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-16  7:47 question on read_barrier_depends Oliver Neukum
2014-04-16 15:26 ` Alan Stern
2014-04-17 15:16   ` Oliver Neukum
2014-04-17 15:50     ` Alan Stern
2014-04-18 14:02       ` Oliver Neukum
2014-04-18 18:16         ` Alan Stern
2014-04-18 17:17       ` Oliver Neukum
2014-04-21  9:40   ` Oliver Neukum
2014-04-21 14:03     ` Alan Stern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®