Re: [PATCH] qla2xxx: always allocate qla_tgt_wq

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

 



Hannes,

It assumed you're running just Initiator Mode.  Our FW should be handling ABTS below us with Initiator Mode.  So, we don't expect to see ABTS (ABTS_RECV_24XX) to come to driver with Initiator Mode.  Unless something accidentally turns on Target Mode when times to Initialize FW.

Initiator side eh_abort goes through a specific IOCB call "Abort IO" that can enter through our Request IOCB Q or Mailbox interface.  Abort IO completion would 'NOT' return back to driver as ABTS_RECV_24XX.

Regards,
Quinn Tran 

On 7/12/19, 12:01 AM, "linux-scsi-owner@xxxxxxxxxxxxxxx on behalf of Martin Wilck" <linux-scsi-owner@xxxxxxxxxxxxxxx on behalf of mwilck@xxxxxxx> wrote:

    On Thu, 2019-05-09 at 14:58 -0400,  Ewan D. Milne wrote:
    > On Thu, 2019-05-09 at 07:06 -0700, Bart Van Assche wrote:
    > > On 5/9/19 6:18 AM, Hannes Reinecke wrote:
    > > > The 'qla_tgt_wq' workqueue is used for generic command aborts,
    > > > not just target-related functions. So allocate the workqueue
    > > > always to avoid a kernel crash when aborting commands.
    > > 
    > > Hi Hannes,
    > > 
    > > Can the abort code be called directly? This means not queueing the
    > > abort
    > > work? Do you perhaps know why the target workqueue is used for
    > > processing aborts? In other words, can the abort functions be
    > > modified
    > > to use one of the system workqueues instead of always allocating
    > > the
    > > target workqueue?
    > > 
    > > Thanks,
    > > 
    > > Bart.
    > 
    > How exactly is the qla_tgt_wq used for generic command aborts?
    > Do you mean initiator mode aborts from the SCSI EH calls?  Those look
    > like they issue mailbox commands to the HBA directly.
    > Or do we get frames received even if we are not using target mode or
    > something?
    
    Sorry for jumping late onto this thread.
    
    The code in question has been introduced by 2f424b9b36ad "qla2xxx: Move
    atioq to a different lock to reduce lock contention", with the purpose
    to "ensure that the ATIO queue is empty", for certain controller types,
    if a ABTS_RECV_24XX element is encountered on the response queue.
    
    Maybe Quinn or Himanshu can shed light on the question under which
    conditions this would happen.
    
    Martin
    
    
    





[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