> >> @@ -109,8 +109,8 @@ static void ext4_finish_bio(struct bio *bio)
> >>                    if (bio->bi_error)
> >>                            buffer_io_error(bh);
> >>            } while ((bh = bh->b_this_page) != head);
> >> -          bit_spin_unlock(BH_Uptodate_Lock, &head->b_state);
> >>            local_irq_restore(flags);
> >
> > What if it takes 100ms to unlock after IRQ restored?
> 
> I'm not sure I understand in what direction you are going? Care to
> elaborate?
> 
Your change introduces extra time cost the lock waiter has to pay in
the case that irq happens before the lock is released.

> >> +          bit_spin_unlock(BH_Uptodate_Lock, &head->b_state);
> >>            if (!under_io) {
> >>  #ifdef CONFIG_EXT4_FS_ENCRYPTION
> >>                    if (ctx)
> >> --
> >> 2.5.0
> >

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to