All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1503002469.2615.13.camel@wdc.com>

diff --git a/a/1.txt b/N1/1.txt
index 51ac8c6..fbbfd13 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,36 +1,42 @@
-T24gVGh1LCAyMDE3LTA4LTE3IGF0IDE2OjMwIC0wNDAwLCBTdGV2ZW4gUm9zdGVkdCB3cm90ZToN
-Cj4gT24gVGh1LCAxNyBBdWcgMjAxNyAxMjoyNDozOSAtMDQwMA0KPiBXYWltYW4gTG9uZyA8bG9u
-Z21hbkByZWRoYXQuY29tPiB3cm90ZToNCj4gDQo+ID4gT24gMDgvMTcvMjAxNyAwOTozNCBBTSwg
-U3RldmVuIFJvc3RlZHQgd3JvdGU6DQo+ID4gPiBPbiBXZWQsIDE2IEF1ZyAyMDE3IDE2OjQwOjQw
-IC0wNDAwDQo+ID4gPiBXYWltYW4gTG9uZyA8bG9uZ21hbkByZWRoYXQuY29tPiB3cm90ZToNCj4g
-PiA+ICANCj4gPiA+ID4gVGhlIGxvY2tkZXAgY29kZSBoYWQgcmVwb3J0ZWQgdGhlIGZvbGxvd2lu
-ZyB1bnNhZmUgbG9ja2luZyBzY2VuYXJpbzoNCj4gPiA+ID4gDQo+ID4gPiA+ICAgICAgICBDUFUw
-ICAgICAgICAgICAgICAgICAgICBDUFUxDQo+ID4gPiA+ICAgICAgICAtLS0tICAgICAgICAgICAg
-ICAgICAgICAtLS0tDQo+ID4gPiA+ICAgbG9jayhzX2FjdGl2ZSMyMjgpOw0KPiA+ID4gPiAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jaygmYmRldi0+YmRfbXV0ZXgvMSk7DQo+ID4g
-PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NrKHNfYWN0aXZlIzIyOCk7DQo+
-ID4gPiA+ICAgbG9jaygmYmRldi0+YmRfbXV0ZXgpOyAgDQo+ID4gPiANCj4gPiA+IENhbiB5b3Ug
-c2hvdyB0aGUgZXhhY3QgbG9jYXRpb25zIG9mIHRoZXNlIGxvY2tzLiBJIGhhdmUgbm8gaWRlYSB3
-aGVyZQ0KPiA+ID4gdGhpcyAic19hY3RpdmUiIGlzLiAgDQo+ID4gDQo+ID4gVGhlIHNfYWN0aXZl
-IGlzbid0IGFuIGFjdHVhbCBsb2NrLiBJdCBpcyBhIHJlZmVyZW5jZSBjb3VudCAoa24tPmNvdW50
-KQ0KPiA+IG9uIHRoZSBzeXNmcyAoa2VybmZzKSBmaWxlLiBSZW1vdmFsIG9mIGEgc3lzZnMgZmls
-ZSwgaG93ZXZlciwgcmVxdWlyZQ0KPiA+IGEgd2FpdCB1bnRpbCBhbGwgdGhlIHJlZmVyZW5jZXMg
-YXJlIGdvbmUuIFRoZSByZWZlcmVuY2UgY291bnQgaXMNCj4gPiB0cmVhdGVkIGxpa2UgYSByd3Nl
-bSB1c2luZyBsb2NrZGVwIGluc3RydW1lbnRhdGlvbiBjb2RlLg0KPiANCj4gV2hpY2gga2VybmVs
-IGlzIHRoaXM/IEkgZG9uJ3Qgc2VlIGFueSBsb2NrZGVwIGFubm90YXRpb24gYXJvdW5kDQo+IGtu
-LT5jb3VudCAoZG9pbmcgYSBnaXQgZ3JlcCwgSSBmaW5kIGl0IHJlZmVyZW5jZWQgaW4gZnMva2Vy
-bmZzL2Rpci5jKQ0KDQpBcyBmYXIgYXMgSSBrbm93IHRoZSBzX2FjdGl2ZSBsb2NrZGVwIGFubm90
-YXRpb25zIHdlcmUgaW50cm9kdWNlZCBpbiAyMDA3DQp0aHJvdWdoIGNvbW1pdCAwYWI2NjA4OGM4
-NTUgKCJzeXNmczogaW1wbGVtZW50IHN5c2ZzX2RpcmVudCBhY3RpdmUgcmVmZXJlbmNlDQphbmQg
-aW1tZWRpYXRlIGRpc2Nvbm5lY3QiKS4gVG9kYXkgdGhlc2UgYW5ub3RhdGlvbnMgZXhpc3QgaW4g
-a2VybmZzOg0KJCBnaXQgZ3JlcCAtbkh3IGRlcF9tYXAgZnMva2VybmZzDQpmcy9rZXJuZnMvZGly
-LmM6NDIxOgkJcndzZW1fYWNxdWlyZV9yZWFkKCZrbi0+ZGVwX21hcCwgMCwgMSwgX1JFVF9JUF8p
-Ow0KZnMva2VybmZzL2Rpci5jOjQ0MToJCXJ3c2VtX3JlbGVhc2UoJmtuLT5kZXBfbWFwLCAxLCBf
-UkVUX0lQXyk7DQpmcy9rZXJuZnMvZGlyLmM6NDY4OgkJcndzZW1fYWNxdWlyZSgma24tPmRlcF9t
-YXAsIDAsIDAsIF9SRVRfSVBfKTsNCmZzL2tlcm5mcy9kaXIuYzo0NzA6CQkJbG9ja19jb250ZW5k
-ZWQoJmtuLT5kZXBfbWFwLCBfUkVUX0lQXyk7DQpmcy9rZXJuZnMvZGlyLmM6NDc4OgkJbG9ja19h
-Y3F1aXJlZCgma24tPmRlcF9tYXAsIF9SRVRfSVBfKTsNCmZzL2tlcm5mcy9kaXIuYzo0Nzk6CQly
-d3NlbV9yZWxlYXNlKCZrbi0+ZGVwX21hcCwgMSwgX1JFVF9JUF8pOw0KZnMva2VybmZzL2Rpci5j
-OjEzODU6CQlyd3NlbV9hY3F1aXJlKCZrbi0+ZGVwX21hcCwgMCwgMSwgX1JFVF9JUF8pOw0KZnMv
-a2VybmZzL2ZpbGUuYzoxMDAwOgkJbG9ja2RlcF9pbml0X21hcCgma24tPmRlcF9tYXAsICJzX2Fj
-dGl2ZSIsIGtleSwgMCk7DQoNCkJhcnQu
+On Thu, 2017-08-17 at 16:30 -0400, Steven Rostedt wrote:
+> On Thu, 17 Aug 2017 12:24:39 -0400
+> Waiman Long <longman@redhat.com> wrote:
+> 
+> > On 08/17/2017 09:34 AM, Steven Rostedt wrote:
+> > > On Wed, 16 Aug 2017 16:40:40 -0400
+> > > Waiman Long <longman@redhat.com> wrote:
+> > >  
+> > > > The lockdep code had reported the following unsafe locking scenario:
+> > > > 
+> > > >        CPU0                    CPU1
+> > > >        ----                    ----
+> > > >   lock(s_active#228);
+> > > >                                lock(&bdev->bd_mutex/1);
+> > > >                                lock(s_active#228);
+> > > >   lock(&bdev->bd_mutex);  
+> > > 
+> > > Can you show the exact locations of these locks. I have no idea where
+> > > this "s_active" is.  
+> > 
+> > The s_active isn't an actual lock. It is a reference count (kn->count)
+> > on the sysfs (kernfs) file. Removal of a sysfs file, however, require
+> > a wait until all the references are gone. The reference count is
+> > treated like a rwsem using lockdep instrumentation code.
+> 
+> Which kernel is this? I don't see any lockdep annotation around
+> kn->count (doing a git grep, I find it referenced in fs/kernfs/dir.c)
+
+As far as I know the s_active lockdep annotations were introduced in 2007
+through commit 0ab66088c855 ("sysfs: implement sysfs_dirent active reference
+and immediate disconnect"). Today these annotations exist in kernfs:
+$ git grep -nHw dep_map fs/kernfs
+fs/kernfs/dir.c:421:		rwsem_acquire_read(&kn->dep_map, 0, 1, _RET_IP_);
+fs/kernfs/dir.c:441:		rwsem_release(&kn->dep_map, 1, _RET_IP_);
+fs/kernfs/dir.c:468:		rwsem_acquire(&kn->dep_map, 0, 0, _RET_IP_);
+fs/kernfs/dir.c:470:			lock_contended(&kn->dep_map, _RET_IP_);
+fs/kernfs/dir.c:478:		lock_acquired(&kn->dep_map, _RET_IP_);
+fs/kernfs/dir.c:479:		rwsem_release(&kn->dep_map, 1, _RET_IP_);
+fs/kernfs/dir.c:1385:		rwsem_acquire(&kn->dep_map, 0, 1, _RET_IP_);
+fs/kernfs/file.c:1000:		lockdep_init_map(&kn->dep_map, "s_active", key, 0);
+
+Bart.
diff --git a/a/content_digest b/N1/content_digest
index fa06da7..24eb804 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -16,41 +16,47 @@
  " linux-fsdevel@vger.kernel.org <linux-fsdevel@vger.kernel.org>\0"
  "\00:1\0"
  "b\0"
- "T24gVGh1LCAyMDE3LTA4LTE3IGF0IDE2OjMwIC0wNDAwLCBTdGV2ZW4gUm9zdGVkdCB3cm90ZToN\n"
- "Cj4gT24gVGh1LCAxNyBBdWcgMjAxNyAxMjoyNDozOSAtMDQwMA0KPiBXYWltYW4gTG9uZyA8bG9u\n"
- "Z21hbkByZWRoYXQuY29tPiB3cm90ZToNCj4gDQo+ID4gT24gMDgvMTcvMjAxNyAwOTozNCBBTSwg\n"
- "U3RldmVuIFJvc3RlZHQgd3JvdGU6DQo+ID4gPiBPbiBXZWQsIDE2IEF1ZyAyMDE3IDE2OjQwOjQw\n"
- "IC0wNDAwDQo+ID4gPiBXYWltYW4gTG9uZyA8bG9uZ21hbkByZWRoYXQuY29tPiB3cm90ZToNCj4g\n"
- "PiA+ICANCj4gPiA+ID4gVGhlIGxvY2tkZXAgY29kZSBoYWQgcmVwb3J0ZWQgdGhlIGZvbGxvd2lu\n"
- "ZyB1bnNhZmUgbG9ja2luZyBzY2VuYXJpbzoNCj4gPiA+ID4gDQo+ID4gPiA+ICAgICAgICBDUFUw\n"
- "ICAgICAgICAgICAgICAgICAgICBDUFUxDQo+ID4gPiA+ICAgICAgICAtLS0tICAgICAgICAgICAg\n"
- "ICAgICAgICAtLS0tDQo+ID4gPiA+ICAgbG9jayhzX2FjdGl2ZSMyMjgpOw0KPiA+ID4gPiAgICAg\n"
- "ICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jaygmYmRldi0+YmRfbXV0ZXgvMSk7DQo+ID4g\n"
- "PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NrKHNfYWN0aXZlIzIyOCk7DQo+\n"
- "ID4gPiA+ICAgbG9jaygmYmRldi0+YmRfbXV0ZXgpOyAgDQo+ID4gPiANCj4gPiA+IENhbiB5b3Ug\n"
- "c2hvdyB0aGUgZXhhY3QgbG9jYXRpb25zIG9mIHRoZXNlIGxvY2tzLiBJIGhhdmUgbm8gaWRlYSB3\n"
- "aGVyZQ0KPiA+ID4gdGhpcyAic19hY3RpdmUiIGlzLiAgDQo+ID4gDQo+ID4gVGhlIHNfYWN0aXZl\n"
- "IGlzbid0IGFuIGFjdHVhbCBsb2NrLiBJdCBpcyBhIHJlZmVyZW5jZSBjb3VudCAoa24tPmNvdW50\n"
- "KQ0KPiA+IG9uIHRoZSBzeXNmcyAoa2VybmZzKSBmaWxlLiBSZW1vdmFsIG9mIGEgc3lzZnMgZmls\n"
- "ZSwgaG93ZXZlciwgcmVxdWlyZQ0KPiA+IGEgd2FpdCB1bnRpbCBhbGwgdGhlIHJlZmVyZW5jZXMg\n"
- "YXJlIGdvbmUuIFRoZSByZWZlcmVuY2UgY291bnQgaXMNCj4gPiB0cmVhdGVkIGxpa2UgYSByd3Nl\n"
- "bSB1c2luZyBsb2NrZGVwIGluc3RydW1lbnRhdGlvbiBjb2RlLg0KPiANCj4gV2hpY2gga2VybmVs\n"
- "IGlzIHRoaXM/IEkgZG9uJ3Qgc2VlIGFueSBsb2NrZGVwIGFubm90YXRpb24gYXJvdW5kDQo+IGtu\n"
- "LT5jb3VudCAoZG9pbmcgYSBnaXQgZ3JlcCwgSSBmaW5kIGl0IHJlZmVyZW5jZWQgaW4gZnMva2Vy\n"
- "bmZzL2Rpci5jKQ0KDQpBcyBmYXIgYXMgSSBrbm93IHRoZSBzX2FjdGl2ZSBsb2NrZGVwIGFubm90\n"
- "YXRpb25zIHdlcmUgaW50cm9kdWNlZCBpbiAyMDA3DQp0aHJvdWdoIGNvbW1pdCAwYWI2NjA4OGM4\n"
- "NTUgKCJzeXNmczogaW1wbGVtZW50IHN5c2ZzX2RpcmVudCBhY3RpdmUgcmVmZXJlbmNlDQphbmQg\n"
- "aW1tZWRpYXRlIGRpc2Nvbm5lY3QiKS4gVG9kYXkgdGhlc2UgYW5ub3RhdGlvbnMgZXhpc3QgaW4g\n"
- "a2VybmZzOg0KJCBnaXQgZ3JlcCAtbkh3IGRlcF9tYXAgZnMva2VybmZzDQpmcy9rZXJuZnMvZGly\n"
- "LmM6NDIxOgkJcndzZW1fYWNxdWlyZV9yZWFkKCZrbi0+ZGVwX21hcCwgMCwgMSwgX1JFVF9JUF8p\n"
- "Ow0KZnMva2VybmZzL2Rpci5jOjQ0MToJCXJ3c2VtX3JlbGVhc2UoJmtuLT5kZXBfbWFwLCAxLCBf\n"
- "UkVUX0lQXyk7DQpmcy9rZXJuZnMvZGlyLmM6NDY4OgkJcndzZW1fYWNxdWlyZSgma24tPmRlcF9t\n"
- "YXAsIDAsIDAsIF9SRVRfSVBfKTsNCmZzL2tlcm5mcy9kaXIuYzo0NzA6CQkJbG9ja19jb250ZW5k\n"
- "ZWQoJmtuLT5kZXBfbWFwLCBfUkVUX0lQXyk7DQpmcy9rZXJuZnMvZGlyLmM6NDc4OgkJbG9ja19h\n"
- "Y3F1aXJlZCgma24tPmRlcF9tYXAsIF9SRVRfSVBfKTsNCmZzL2tlcm5mcy9kaXIuYzo0Nzk6CQly\n"
- "d3NlbV9yZWxlYXNlKCZrbi0+ZGVwX21hcCwgMSwgX1JFVF9JUF8pOw0KZnMva2VybmZzL2Rpci5j\n"
- "OjEzODU6CQlyd3NlbV9hY3F1aXJlKCZrbi0+ZGVwX21hcCwgMCwgMSwgX1JFVF9JUF8pOw0KZnMv\n"
- "a2VybmZzL2ZpbGUuYzoxMDAwOgkJbG9ja2RlcF9pbml0X21hcCgma24tPmRlcF9tYXAsICJzX2Fj\n"
- dGl2ZSIsIGtleSwgMCk7DQoNCkJhcnQu
+ "On Thu, 2017-08-17 at 16:30 -0400, Steven Rostedt wrote:\n"
+ "> On Thu, 17 Aug 2017 12:24:39 -0400\n"
+ "> Waiman Long <longman@redhat.com> wrote:\n"
+ "> \n"
+ "> > On 08/17/2017 09:34 AM, Steven Rostedt wrote:\n"
+ "> > > On Wed, 16 Aug 2017 16:40:40 -0400\n"
+ "> > > Waiman Long <longman@redhat.com> wrote:\n"
+ "> > >  \n"
+ "> > > > The lockdep code had reported the following unsafe locking scenario:\n"
+ "> > > > \n"
+ "> > > >        CPU0                    CPU1\n"
+ "> > > >        ----                    ----\n"
+ "> > > >   lock(s_active#228);\n"
+ "> > > >                                lock(&bdev->bd_mutex/1);\n"
+ "> > > >                                lock(s_active#228);\n"
+ "> > > >   lock(&bdev->bd_mutex);  \n"
+ "> > > \n"
+ "> > > Can you show the exact locations of these locks. I have no idea where\n"
+ "> > > this \"s_active\" is.  \n"
+ "> > \n"
+ "> > The s_active isn't an actual lock. It is a reference count (kn->count)\n"
+ "> > on the sysfs (kernfs) file. Removal of a sysfs file, however, require\n"
+ "> > a wait until all the references are gone. The reference count is\n"
+ "> > treated like a rwsem using lockdep instrumentation code.\n"
+ "> \n"
+ "> Which kernel is this? I don't see any lockdep annotation around\n"
+ "> kn->count (doing a git grep, I find it referenced in fs/kernfs/dir.c)\n"
+ "\n"
+ "As far as I know the s_active lockdep annotations were introduced in 2007\n"
+ "through commit 0ab66088c855 (\"sysfs: implement sysfs_dirent active reference\n"
+ "and immediate disconnect\"). Today these annotations exist in kernfs:\n"
+ "$ git grep -nHw dep_map fs/kernfs\n"
+ "fs/kernfs/dir.c:421:\t\trwsem_acquire_read(&kn->dep_map, 0, 1, _RET_IP_);\n"
+ "fs/kernfs/dir.c:441:\t\trwsem_release(&kn->dep_map, 1, _RET_IP_);\n"
+ "fs/kernfs/dir.c:468:\t\trwsem_acquire(&kn->dep_map, 0, 0, _RET_IP_);\n"
+ "fs/kernfs/dir.c:470:\t\t\tlock_contended(&kn->dep_map, _RET_IP_);\n"
+ "fs/kernfs/dir.c:478:\t\tlock_acquired(&kn->dep_map, _RET_IP_);\n"
+ "fs/kernfs/dir.c:479:\t\trwsem_release(&kn->dep_map, 1, _RET_IP_);\n"
+ "fs/kernfs/dir.c:1385:\t\trwsem_acquire(&kn->dep_map, 0, 1, _RET_IP_);\n"
+ "fs/kernfs/file.c:1000:\t\tlockdep_init_map(&kn->dep_map, \"s_active\", key, 0);\n"
+ "\n"
+ Bart.
 
-d7603fbf184105a45cd6b719fd61cafa44bfa365431937b7638bd7bd4d8c2699
+81dd51e876a5b9f7979f7e80b117c59be4b89dab39b9fc706b4e3dcd66d3b139

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.