Re: [PATCH 0/32] Refcounts and rbtrees to increase luns above 255

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

 



On Mon, 2013-12-16 at 17:49 -0800, Andy Grover wrote:
> On 12/16/2013 02:03 PM, Nicholas A. Bellinger wrote:
> > On Fri, 2013-12-13 at 15:58 -0800, Andy Grover wrote:
> >> Hi Nicholas,
> >>
> >> This patchset uses krefs to refcount structures shared across threads.
> >> LIO is full of these because configfs-based configuration actions can
> >> be removing an object, even while that object is being used by a SCSI
> >> command.
> >>
> >> Using kref to free the struct on whichever thread drops the last
> >> reference allows us to avoid busy-waiting in configfs removal functions.
> >> Next, this set removes the statically-sized tpg lun and deve arrays in
> >> favor of dynamically adding entries into rbtrees. This reduces memory
> >> consumption and allows more than 255 luns per tpg and initiator mapping.
> >>
> >> Except for some rbtree lookups, these changes are entirely in the
> >> configuration paths of Lio. I have tested these as extensively as I can,
> >> and it's ready for wider testing.
> >>
> >> Note: patch 22 converts a percpu refcount to a normal kref. I'd argue
> >> the benefit is really in the "refcount" part rather than the "percpu",
> >> so a simpler kref does the job, but we might want to discuss this some
> >> more.
> >>
> >
> > It would be helpful to breakup future patches into different series
> > based on:
> >
> >    * Bugfixes
> >    * New features
> >    * Minor improvements
> 
> Thanks for all the reviews. For the remaining changes, it'll be after 
> the new year before a v2. I'm still hopeful we can work out the issues 
> preventing the use of krefs.
> 

So I'd like to see krefs implemented for these cases, but the rub is
that configfs_group_operations->drop_items() cannot return before the
last reference has dropped.

> I'm somewhat surprised over the resistance to rbtrees. I guess I'll need 
> to hold off on resubmitting that until I have some performance data on 
> their effect.
> 

I do appreciate the effort, but the extra pointer chasing here makes
rbtrees prohibitively expensive for fast past operations.

--nab

--
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