[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.1902141547320.1561@nanos.tec.linutronix.de>
Date: Thu, 14 Feb 2019 15:50:35 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Ming Lei <ming.lei@...hat.com>
cc: Christoph Hellwig <hch@....de>, Bjorn Helgaas <helgaas@...nel.org>,
Jens Axboe <axboe@...nel.dk>, linux-block@...r.kernel.org,
Sagi Grimberg <sagi@...mberg.me>,
linux-nvme@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org, Keith Busch <keith.busch@...el.com>
Subject: Re: [PATCH V4 2/4] genirq/affinity: add new callback for caculating
interrupt sets size
On Thu, 14 Feb 2019, Ming Lei wrote:
> + if (affd->calc_sets) {
> + affd->calc_sets(affd, nvecs);
> + } else if (!affd->nr_sets) {
> + affd->nr_sets = 1;
> + affd->set_size[0] = affvecs;
Hrmpf. I suggested that to you to get rid of the nr_sets local variable,
but that's actually broken. The reason is that on the first invocation from
the pci code, which is with maxvecs usually, the size is stored and if that
allocation failed, the subsequent invocation with maxvecs - 1 will not
update set_size[0] because affd->nr_sets == 1.
/me scratches head and stares at the code some more...
Thanks,
tglx
Powered by blists - more mailing lists