reiserfs-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* a suspected bug at let_transaction_grow()
@ 2009-09-01 13:39 홍신 shin hong
  0 siblings, 0 replies; only message in thread
From: 홍신 shin hong @ 2009-09-01 13:39 UTC (permalink / raw)
  To: reiserfs-devel

Hi. I would like to report a suspected bug at let_transaction_grow()
in fs/reiserfs/journal.c of Linux 2.6.30.4.

I found this suspected bug while I survey the usage of atomic instruction
and memory barriers. I am not certain whether this report is real or not
since I do not have ReiserFS background. But I hope that this report is helpful.
Please examine the report and let me know your opinion.

In let_transaction_grow(), I found the following code for busy-waiting:

	while ((atomic_read(&journal->j_wcount) > 0 ||
                  atomic_read(&journal->j_jlock)) &&
                  journal->j_trans_id == trans_id) {
	    queue_log_writer(sb);
	}

However, it may result starvation(or infinite loop) since there is no
memory barrier for atomic_read()
(atomic_read() may read out-of-dates value).

Thank you.

Sincerely
Shin Hong

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-09-01 13:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-01 13:39 a suspected bug at let_transaction_grow() 홍신 shin hong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).