Thanks, Ted, for your feedback!
I'll submit a modified version.

- Alex

On 07.04.19 18:52, Theodore Ts'o wrote:
> On Mon, Mar 18, 2019 at 07:42:37PM +0100, Alexander Lochmann wrote:
>>      /*t
>> -     * Where in the log does this transaction's commit start? [no locking]
>> +     * Where in the log does this transaction's commit start?
>> +     * [journal_t.j_state_lock]
>>       */
>>      unsigned long           t_log_start;
> 
> Well, technically, that's not quite right.  It's only assigned in one
> location, and we hold j_state_lock, yes.  But that's because we need
> to access journal->j_head.  At the point where we set t_log_start, the
> transaction has already been locked down (transaction->t_state >
> T_LOCKED).
> 
> Similarly, we happen to be holding j_state where it is currently being
> accessed, but it's not because we needed the lock in order to access
> t_log_start safely.
> 
>>      /*
>> -     * When transaction started
>> +     * When transaction started [journal_t.j_state_lock]
>>       */
>>      unsigned long           t_start;
> 
> And again, not really.  The primary place where t_start is set is when
> the transaction is firstt created, before it's visible anywhere else.
> after that, it is used exclusively by the commit thread, and so no
> locking is necessary.  It's true that in the places where it is used,
> j_state_lock happens to be taken, but it's strictly not necessary.
> 
>>  
>>      /*
>> -     * When commit was requested
>> +     * When commit was requested [journal_t.j_state_lock]
>>       */
>>      unsigned long           t_requested;
> 
> Yes, that appears to be correct.
> 
>>  
>>      /*
>> -     * Checkpointing stats [j_checkpoint_sem]
>> +     * Checkpointing stats [journal_t.j_list_lock]
>>       */
>>      struct transaction_chp_stats_s t_chp_stats;
>>
> 
> This appears to be correct.
> 
>                                               - Ted
> 

-- 
Technische Universität Dortmund
Alexander Lochmann                PGP key: 0xBC3EF6FD
Otto-Hahn-Str. 16                 phone:  +49.231.7556141
D-44227 Dortmund                  fax:    +49.231.7556116
http://ess.cs.tu-dortmund.de/Staff/al

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to