> >> @@ -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/