lkml.org 
[lkml]   [2018]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH V3 0/4] genirq/affinity: irq vector spread among online CPUs as far as possible
    On Thu, Mar 08, 2018 at 03:18:33PM +0200, Artem Bityutskiy wrote:
    > On Thu, 2018-03-08 at 18:53 +0800, Ming Lei wrote:
    > > Hi,
    > >
    > > This patchset tries to spread among online CPUs as far as possible, so
    > > that we can avoid to allocate too less irq vectors with online CPUs
    > > mapped.
    > >
    > > For example, in a 8cores system, 4 cpu cores(4~7) are offline/non present,
    > > on a device with 4 queues:
    > >
    > > 1) before this patchset
    > > irq 39, cpu list 0-2
    > > irq 40, cpu list 3-4,6
    > > irq 41, cpu list 5
    > > irq 42, cpu list 7
    > >
    > > 2) after this patchset
    > > irq 39, cpu list 0,4
    > > irq 40, cpu list 1,6
    > > irq 41, cpu list 2,5
    > > irq 42, cpu list 3,7
    > >
    > > Without this patchset, only two vectors(39, 40) can be active, but there
    > > can be 4 active irq vectors after applying this patchset.
    >
    > Tested-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
    > Link: https://lkml.kernel.org/r/1519311270.2535.53.camel@intel.com

    Hi Artem,

    Thanks for your test!

    >
    > Ming,
    >
    > this patchset fixes the v4.16-rcX regression that I reported few weeks
    > ago. I applied it and verified that Dell R640 server that I mentioned
    > in the bug report boots up and the disk works.
    >
    > So this is not just an improvement, it also includes a bugfix.

    Actually, it isn't a real fix, the real one is in the following two:

    0c20244d458e scsi: megaraid_sas: fix selection of reply queue
    ed6d043be8cd scsi: hpsa: fix selection of reply queue

    This patchset can't guarantee that all IRQ vectors are assigned by one
    online CPU, for example, in a quad-socket system, if only one processor
    is present, then some of vectors are still assigned by all offline CPUs,
    and it is a valid case, but still may cause io hang if drivers(hpsa, megaraid_sas)
    select reply queue in current way.

    Thanks,
    Ming

    \
     
     \ /
      Last update: 2018-03-08 14:35    [W:3.301 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site