[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141030064018.GD3519@sudip-PC>
Date: Thu, 30 Oct 2014 12:10:18 +0530
From: Sudip Mukherjee <sudipm.mukherjee@...il.com>
To: "Elliott, Robert (Server Storage)" <Elliott@...com>
Cc: Fabian Frederick <fabf@...net.be>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Stephen M. Cameron" <scameron@...rdog.cce.hp.com>,
"James E.J. Bottomley" <JBottomley@...allels.com>,
"iss_storagedev@...com" <iss_storagedev@...com>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>
Subject: Re: [PATCH 1/1 linux-next] hpsa: remove set but unused variable rc
On Thu, Oct 30, 2014 at 06:28:13AM +0000, Elliott, Robert (Server Storage) wrote:
>
>
> > -----Original Message-----
> > From: linux-scsi-owner@...r.kernel.org [mailto:linux-scsi-
> > owner@...r.kernel.org] On Behalf Of Sudip Mukherjee
> > Sent: Thursday, October 30, 2014 12:55 AM
> > To: Fabian Frederick
> > Cc: linux-kernel@...r.kernel.org; Stephen M. Cameron; James E.J.
> > Bottomley; iss_storagedev@...com; linux-scsi@...r.kernel.org
> > Subject: Re: [PATCH 1/1 linux-next] hpsa: remove set but unused variable
> > rc
> >
> > On Wed, Oct 29, 2014 at 04:15:04PM +0100, Fabian Frederick wrote:
> > > Fix -Wunused-but-set-variable warning
> >
> > you should also mention why you have left the call to
> > irq_set_affinity_hint().
> > i am not sure , but it looks like irq_set_affinity_hint() is only
> > checking if
> > the lock is available or not. It is just locking ,then if lock is
> > successfull then
> > returning 0 or if lock fails then return -EINVAL, and unlocks before
> > returnig.
> > not doing anything else.
> >
> > thanks
> > sudip
>
> No, that function sets a mask value that shows up in
> /proc/irq/nnn/affinity_hint
> that a program like irqbalance may use to set the CPU affinity mask
> for each irq via
> /proc/irq/nnn/smp_affinity (bitmap format)
> /proc/irq/nnn/smp_affinity_list (range format)
>
> The reason is that in many cases, it is best when all these occur
> on the same CPU that submitted the IO:
> * LLD submission queues (if multiple are supported)
> * LDD completion queues
> * MSI-X interrupt indicating completion
> * LLD completion interrupt handler
> * block layer completion handler
>
> Benefits include:
> * cache efficiency - the data structures for the IO aren't
> pulled from CPU to CPU.
>
> * avoid IPI overhead in the block layer to get the completion
> processed on the submitting CPU (which is done if using
> rq_affinity=2 and the interrupt is routed to on another CPU).
>
> * self-throttle the CPUs - avoid swamping one CPU with
> completion processing for IOs submitted by many other CPUs
> (which leads to stalls on the victim and timeouts on the
> aggressors).
>
> You must run irqbalance with an option to honor the hints;
> some versions default to that, others don't. Or, disable
> the irqbalance service and set them up the affinities
> manually.
>
thanks , i think this is happening at desc->affinity_hint = m;
thanks
sudip
>
--
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