Re: [RFC 00/22] target: se_node_acl LUN list RCU conversion

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

 



I went through this in detail, and the odd patch split that splits
one change up into muliple patches, but then also mixes up other
changes makes it hard to read.

So I started rebasing the tree to understand it moving your various
cleanups to the front of the series.  Of coure while reading through
it the number of cleanups grew, so there are a few more now.

Based on that I don't think this series will work very well, RCU works
when replacing strutures in a lookup data structure, but not when
changing the content of it, so the new locking scheme doesn't work
very well, as the device_list array is static, it's just the content
that changes.

Fortunately there is the old patch from Andy to make the se_dev_entry
dynamically allocated, which comes in useful here.  With that we might
only change the rdonly flag on a live dev entry, or assign an ACL when
it previously was NULL, something that RCU can handle nicely.

I've pushed a git tree to

	git://git.infradead.org/users/hch/scsi.git target-rcu-hch

Gitweb:

	http://git.infradead.org/users/hch/scsi.git/shortlog/refs/heads/target-rcu-hch

that implements this scheme.  Note that I dropped the percpu refcount
changes - the reference is only taken in the SCSI3-PR slow path, and the
percpu refcount API is extremly cumbersome.

This survives I/O testing nicely, but I couldn't find a good test suite
for the control path.
--
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