Re: [RFC][PATCH] Add a flight data recorder for scsi commands

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

 



On Tue, 27 August 2013 22:09:19 -0700, Nicholas A. Bellinger wrote:
> On Tue, 2013-08-27 at 18:17 -0400, Jörn Engel wrote:
> > Here is a fun patch in an early state.  Essentially I want to trace
> > scsi commands, which has already been done long ago.  The problem I
> > have is that I care about all the scsi commands for one particular
> > device - without knowing in advance which device it will be.  Once I
> > know the device in question, I want to dump the last X commands.
> > 
> > The existing tracing is covering all commands to all devices.  So
> > either I have to oversize my trace buffer and dump way too much, or I
> > will miss the stuff I am interested in most of the time.  Hence my
> > per-device trace buffer (called fdr to avoid namespace collisions).
> > 
> 
> Sounds like a useful idea..
> 
> However, it adds another kmalloc + spin_lock -> spin_unlock in the fast
> path for each struct scsi_cmnd I/O dispatch, which is exactly what the
> scsi-mq prototype code is trying to avoid at all costs.

Agreed.  It shouldn't be too hard to replace the spin_lock with
cmpxchg, maybe even rcu.  And for the common case, one could reuse the
old buffer, getting rid of kmalloc overhead as well.

For the time being I will likely skip the work and see whether the
existing patch actually catches something useful.  First prove the
quick hack to be useful, then optimize the hell out of it.

Jörn

--
No art, however minor, demands less than total dedication if you want
to excel in it.
-- Leon Battista Alberti
--
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