Re: [PATCH 2/5] scsi: improved eh timeout handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/05/2013 10:48 PM, Hannes Reinecke wrote:
> On 11/05/2013 08:19 PM, Mike Christie wrote:
>> On 11/04/2013 11:05 PM, Hannes Reinecke wrote:
>>> +
>>> +	scmd->eh_eflags |= SCSI_EH_ABORT_SCHEDULED;
>>> +	SCSI_LOG_ERROR_RECOVERY(3,
>>> +		scmd_printk(KERN_INFO, scmd,
>>> +			    "scmd %p abort scheduled\n", scmd));
>>> +	schedule_delayed_work(&scmd->abort_work, HZ / 100);
>>> +	return SUCCESS;
>>> +}
>>
>> Do we want to use our own workqueue_struct with WQ_MEM_RECLAIM set?
>>
> Errm. Yes, why?
> 
> I must admit I'm not _that_ familiar with workqueues ...
> Care to explain?
> 

We all share the above workqueue_structs pool of threads, so if we get
stuck behind code doing GFP_KERNEL allocs that end up needing to write
data to the disk we are now trying to aborts on, then we could get
stuck. With WQ_MEM_RECLAIM, we have our own backup thread that gets
created at workqueue_struct create time which can get used in cases like
that so we can always make forward progress.

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux