[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <062801d10265$5a749fc0$0f5ddf40$@alibaba-inc.com>
Date: Fri, 09 Oct 2015 15:37:29 +0800
From: "Hillf Danton" <hillf.zj@...baba-inc.com>
To: "'Nikolay Borisov'" <kernel@...p.com>
Cc: "'linux-kernel'" <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH 1/2] ext4: Fix possible deadlock with local interrupts disabled and page-draining IPI
> >> @@ -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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists