Re: [PATCH] null_blk: don't enable irqs when in irq

2015-12-28 Thread Jens Axboe
On 12/28/2015 12:51 PM, Rabin Vincent wrote: On Mon, Dec 28, 2015 at 12:11:17PM -0700, Jens Axboe wrote: On 12/28/2015 12:07 PM, Rabin Vincent wrote: On Mon, Dec 28, 2015 at 11:52:24AM -0700, Jens Axboe wrote: Something like this should work, can you test it? Spits out a bunch of the followi

Re: [PATCH] null_blk: don't enable irqs when in irq

2015-12-28 Thread Rabin Vincent
On Mon, Dec 28, 2015 at 12:11:17PM -0700, Jens Axboe wrote: > On 12/28/2015 12:07 PM, Rabin Vincent wrote: > >On Mon, Dec 28, 2015 at 11:52:24AM -0700, Jens Axboe wrote: > >>Something like this should work, can you test it? > > > >Spits out a bunch of the following. It's this assertion: > > > >sta

Re: [PATCH] null_blk: don't enable irqs when in irq

2015-12-28 Thread Jens Axboe
On 12/28/2015 12:07 PM, Rabin Vincent wrote: On Mon, Dec 28, 2015 at 11:52:24AM -0700, Jens Axboe wrote: Something like this should work, can you test it? Spits out a bunch of the following. It's this assertion: static inline void queue_lockdep_assert_held(struct request_queue *q) {

Re: [PATCH] null_blk: don't enable irqs when in irq

2015-12-28 Thread Rabin Vincent
On Mon, Dec 28, 2015 at 11:52:24AM -0700, Jens Axboe wrote: > Something like this should work, can you test it? Spits out a bunch of the following. It's this assertion: static inline void queue_lockdep_assert_held(struct request_queue *q) { if (q->queue_lock) lockdep_asse

Re: [PATCH] null_blk: don't enable irqs when in irq

2015-12-28 Thread Jens Axboe
On 12/25/2015 09:03 PM, Jens Axboe wrote: On 12/25/2015 07:26 AM, Rabin Vincent wrote: When using irq_mode=NULL_IRQ_TIMER, blk_start_queue() is called from the hrtimer interrupt. null_request_fn() calls spin_unlock_irq() and this causes the following splat from lockdep since interrupts are bein

Re: [PATCH] null_blk: don't enable irqs when in irq

2015-12-25 Thread Jens Axboe
On 12/25/2015 07:26 AM, Rabin Vincent wrote: When using irq_mode=NULL_IRQ_TIMER, blk_start_queue() is called from the hrtimer interrupt. null_request_fn() calls spin_unlock_irq() and this causes the following splat from lockdep since interrupts are being enabled while we're in an interrupt handl

[PATCH] null_blk: don't enable irqs when in irq

2015-12-25 Thread Rabin Vincent
When using irq_mode=NULL_IRQ_TIMER, blk_start_queue() is called from the hrtimer interrupt. null_request_fn() calls spin_unlock_irq() and this causes the following splat from lockdep since interrupts are being enabled while we're in an interrupt handler. When we're in null_request_fn() we can't k