* 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).