Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Dec 2009 14:30:31 -0700 (MST)
From:      Scott Long <scottl@samsco.org>
To:        Jaakko Heinonen <jh@freebsd.org>
Cc:        scsi@freebsd.org
Subject:   Re: cd(4) M_WAITOK allocations with periph lock held
Message-ID:  <20091201142930.I99667@pooker.samsco.org>
In-Reply-To: <20091201180524.GB7961@a91-153-117-195.elisa-laajakaista.fi>
References:  <20091201180524.GB7961@a91-153-117-195.elisa-laajakaista.fi>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-2138113359-1259703031=:99667
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed


How about the attached match instead.  It refactors the code so that 
unlocks aren't needed.

Scott

On Tue, 1 Dec 2009, Jaakko Heinonen wrote:

>
> Hi,
>
> There are some M_WAITOK malloc invocations with periph lock held in
> cd(4). Below is a link to a patch which drops the periph lock while
> doing those allocations. Comments/review?
>
> ---
>
> Drop periph lock while allocating memory with M_WAITOK flag in
> cdreportkey(), cdsendkey() and cdreaddvdstructure().
>
> PR:		kern/130735
> Tested by:	Eygene Ryabinkin
>
> The patch against head:
>
> http://people.freebsd.org/~jh/patches/scsi_cd-M_WAITOK-fixes.diff
>
> -- 
> Jaakko
> _______________________________________________
> freebsd-scsi@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
> To unsubscribe, send any mail to "freebsd-scsi-unsubscribe@freebsd.org"
>
--0-2138113359-1259703031=:99667
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=scsi_cd.c.WAITOK.diff
Content-Transfer-Encoding: BASE64
Content-ID: <20091201143031.W99667@pooker.samsco.org>
Content-Description: 
Content-Disposition: attachment; filename=scsi_cd.c.WAITOK.diff

SW5kZXg6IHNjc2lfY2QuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT
IGZpbGU6IC91c3IxL25jdnMvc3JjL3N5cy9jYW0vc2NzaS9zY3NpX2NkLmMs
dg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjExMg0KZGlmZiAtdSAtcjEuMTEy
IHNjc2lfY2QuYw0KLS0tIHNjc2lfY2QuYwkxNCBOb3YgMjAwOSAyMDoxMzoz
OCAtMDAwMAkxLjExMg0KKysrIHNjc2lfY2QuYwkxIERlYyAyMDA5IDIxOjI4
OjAwIC0wMDAwDQpAQCAtMjY3MywxMiArMjY3MywxMCBAQA0KIA0KIAkJYXV0
aGluZm8gPSAoc3RydWN0IGR2ZF9hdXRoaW5mbyAqKWFkZHI7DQogDQotCQlj
YW1fcGVyaXBoX2xvY2socGVyaXBoKTsNCiAJCWlmIChjbWQgPT0gRFZESU9D
UkVQT1JUS0VZKQ0KIAkJCWVycm9yID0gY2RyZXBvcnRrZXkocGVyaXBoLCBh
dXRoaW5mbyk7DQogCQllbHNlDQogCQkJZXJyb3IgPSBjZHNlbmRrZXkocGVy
aXBoLCBhdXRoaW5mbyk7DQotCQljYW1fcGVyaXBoX3VubG9jayhwZXJpcGgp
Ow0KIAkJYnJlYWs7DQogCQl9DQogCWNhc2UgRFZESU9DUkVBRFNUUlVDVFVS
RTogew0KQEAgLTI2ODYsOSArMjY4NCw3IEBADQogDQogCQlkdmRzdHJ1Y3Qg
PSAoc3RydWN0IGR2ZF9zdHJ1Y3QgKilhZGRyOw0KIA0KLQkJY2FtX3Blcmlw
aF9sb2NrKHBlcmlwaCk7DQogCQllcnJvciA9IGNkcmVhZGR2ZHN0cnVjdHVy
ZShwZXJpcGgsIGR2ZHN0cnVjdCk7DQotCQljYW1fcGVyaXBoX3VubG9jayhw
ZXJpcGgpOw0KIA0KIAkJYnJlYWs7DQogCX0NCkBAIC0zNzMyLDggKzM3Mjgs
NiBAQA0KIAlkYXRhYnVmID0gTlVMTDsNCiAJbGJhID0gMDsNCiANCi0JY2Ni
ID0gY2RnZXRjY2IocGVyaXBoLCBDQU1fUFJJT1JJVFlfTk9STUFMKTsNCi0N
CiAJc3dpdGNoIChhdXRoaW5mby0+Zm9ybWF0KSB7DQogCWNhc2UgRFZEX1JF
UE9SVF9BR0lEOg0KIAkJbGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBzY3NpX3Jl
cG9ydF9rZXlfZGF0YV9hZ2lkKTsNCkBAIC0zNzU5LDkgKzM3NTMsNyBAQA0K
IAkJbGVuZ3RoID0gMDsNCiAJCWJyZWFrOw0KIAlkZWZhdWx0Og0KLQkJZXJy
b3IgPSBFSU5WQUw7DQotCQlnb3RvIGJhaWxvdXQ7DQotCQlicmVhazsgLyog
Tk9UUkVBQ0hFRCAqLw0KKwkJcmV0dXJuIChFSU5WQUwpOw0KIAl9DQogDQog
CWlmIChsZW5ndGggIT0gMCkgew0KQEAgLTM3NjksNiArMzc2MSw4IEBADQog
CX0gZWxzZQ0KIAkJZGF0YWJ1ZiA9IE5VTEw7DQogDQorCWNhbV9wZXJpcGhf
bG9jayhwZXJpcGgpOw0KKwljY2IgPSBjZGdldGNjYihwZXJpcGgsIENBTV9Q
UklPUklUWV9OT1JNQUwpOw0KIA0KIAlzY3NpX3JlcG9ydF9rZXkoJmNjYi0+
Y3NpbywNCiAJCQkvKiByZXRyaWVzICovIDEsDQpAQCAtMzg3MCwxMSArMzg2
NCwxMiBAQA0KIAkJYnJlYWs7IC8qIE5PVFJFQUNIRUQgKi8NCiAJfQ0KIGJh
aWxvdXQ6DQorCXhwdF9yZWxlYXNlX2NjYihjY2IpOw0KKwljYW1fcGVyaXBo
X3VubG9jayhwZXJpcGgpOw0KKw0KIAlpZiAoZGF0YWJ1ZiAhPSBOVUxMKQ0K
IAkJZnJlZShkYXRhYnVmLCBNX0RFVkJVRik7DQogDQotCXhwdF9yZWxlYXNl
X2NjYihjY2IpOw0KLQ0KIAlyZXR1cm4oZXJyb3IpOw0KIH0NCiANCkBAIC0z
ODg5LDggKzM4ODQsNiBAQA0KIAllcnJvciA9IDA7DQogCWRhdGFidWYgPSBO
VUxMOw0KIA0KLQljY2IgPSBjZGdldGNjYihwZXJpcGgsIENBTV9QUklPUklU
WV9OT1JNQUwpOw0KLQ0KIAlzd2l0Y2goYXV0aGluZm8tPmZvcm1hdCkgew0K
IAljYXNlIERWRF9TRU5EX0NIQUxMRU5HRTogew0KIAkJc3RydWN0IHNjc2lf
cmVwb3J0X2tleV9kYXRhX2NoYWxsZW5nZSAqY2hhbGxlbmdlX2RhdGE7DQpA
QCAtMzk0MiwxMSArMzkzNSwxMiBAQA0KIAkJYnJlYWs7DQogCX0NCiAJZGVm
YXVsdDoNCi0JCWVycm9yID0gRUlOVkFMOw0KLQkJZ290byBiYWlsb3V0Ow0K
LQkJYnJlYWs7IC8qIE5PVFJFQUNIRUQgKi8NCisJCXJldHVybiAoRUlOVkFM
KTsNCiAJfQ0KIA0KKwljYW1fcGVyaXBoX2xvY2socGVyaXBoKTsNCisJY2Ni
ID0gY2RnZXRjY2IocGVyaXBoLCBDQU1fUFJJT1JJVFlfTk9STUFMKTsNCisN
CiAJc2NzaV9zZW5kX2tleSgmY2NiLT5jc2lvLA0KIAkJICAgICAgLyogcmV0
cmllcyAqLyAxLA0KIAkJICAgICAgLyogY2JmY25wICovIGNkZG9uZSwNCkBA
IC0zOTYzLDExICszOTU3LDEyIEBADQogDQogYmFpbG91dDoNCiANCisJeHB0
X3JlbGVhc2VfY2NiKGNjYik7DQorCWNhbV9wZXJpcGhfdW5sb2NrKHBlcmlw
aCk7DQorDQogCWlmIChkYXRhYnVmICE9IE5VTEwpDQogCQlmcmVlKGRhdGFi
dWYsIE1fREVWQlVGKTsNCiANCi0JeHB0X3JlbGVhc2VfY2NiKGNjYik7DQot
DQogCXJldHVybihlcnJvcik7DQogfQ0KIA0KQEAgLTM5ODUsOCArMzk4MCw2
IEBADQogCS8qIFRoZSBhZGRyZXNzIGlzIHJlc2VydmVkIGZvciBtYW55IG9m
IHRoZSBmb3JtYXRzICovDQogCWFkZHJlc3MgPSAwOw0KIA0KLQljY2IgPSBj
ZGdldGNjYihwZXJpcGgsIENBTV9QUklPUklUWV9OT1JNQUwpOw0KLQ0KIAlz
d2l0Y2goZHZkc3RydWN0LT5mb3JtYXQpIHsNCiAJY2FzZSBEVkRfU1RSVUNU
X1BIWVNJQ0FMOg0KIAkJbGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBzY3NpX3Jl
YWRfZHZkX3N0cnVjdF9kYXRhX3BoeXNpY2FsKTsNCkBAIC00MDA0LDEzICsz
OTk3LDcgQEANCiAJCWxlbmd0aCA9IHNpemVvZihzdHJ1Y3Qgc2NzaV9yZWFk
X2R2ZF9zdHJ1Y3RfZGF0YV9tYW51ZmFjdHVyZXIpOw0KIAkJYnJlYWs7DQog
CWNhc2UgRFZEX1NUUlVDVF9DTUk6DQotCQllcnJvciA9IEVOT0RFVjsNCi0J
CWdvdG8gYmFpbG91dDsNCi0jaWZkZWYgbm90eWV0DQotCQlsZW5ndGggPSBz
aXplb2Yoc3RydWN0IHNjc2lfcmVhZF9kdmRfc3RydWN0X2RhdGFfY29weV9t
YW5hZ2UpOw0KLQkJYWRkcmVzcyA9IGR2ZHN0cnVjdC0+YWRkcmVzczsNCi0j
ZW5kaWYNCi0JCWJyZWFrOyAvKiBOT1RSRUFDSEVEICovDQorCQlyZXR1cm4g
KEVOT0RFVik7DQogCWNhc2UgRFZEX1NUUlVDVF9QUk9URElTQ0lEOg0KIAkJ
bGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBzY3NpX3JlYWRfZHZkX3N0cnVjdF9k
YXRhX3Byb3RfZGlzY2lkKTsNCiAJCWJyZWFrOw0KQEAgLTQwMjcsMjEgKzQw
MTQsOSBAQA0KIAkJbGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBzY3NpX3JlYWRf
ZHZkX3N0cnVjdF9kYXRhX3NwYXJlX2FyZWEpOw0KIAkJYnJlYWs7DQogCWNh
c2UgRFZEX1NUUlVDVF9STURfTEFTVDoNCi0JCWVycm9yID0gRU5PREVWOw0K
LQkJZ290byBiYWlsb3V0Ow0KLSNpZmRlZiBub3R5ZXQNCi0JCWxlbmd0aCA9
IHNpemVvZihzdHJ1Y3Qgc2NzaV9yZWFkX2R2ZF9zdHJ1Y3RfZGF0YV9ybWRf
Ym9yZGVyb3V0KTsNCi0JCWFkZHJlc3MgPSBkdmRzdHJ1Y3QtPmFkZHJlc3M7
DQotI2VuZGlmDQotCQlicmVhazsgLyogTk9UUkVBQ0hFRCAqLw0KKwkJcmV0
dXJuIChFTk9ERVYpOw0KIAljYXNlIERWRF9TVFJVQ1RfUk1EX1JNQToNCi0J
CWVycm9yID0gRU5PREVWOw0KLQkJZ290byBiYWlsb3V0Ow0KLSNpZmRlZiBu
b3R5ZXQNCi0JCWxlbmd0aCA9IHNpemVvZihzdHJ1Y3Qgc2NzaV9yZWFkX2R2
ZF9zdHJ1Y3RfZGF0YV9ybWQpOw0KLQkJYWRkcmVzcyA9IGR2ZHN0cnVjdC0+
YWRkcmVzczsNCi0jZW5kaWYNCi0JCWJyZWFrOyAvKiBOT1RSRUFDSEVEICov
DQorCQlyZXR1cm4gKEVOT0RFVik7DQogCWNhc2UgRFZEX1NUUlVDVF9QUkVS
RUNPUkRFRDoNCiAJCWxlbmd0aCA9IHNpemVvZihzdHJ1Y3Qgc2NzaV9yZWFk
X2R2ZF9zdHJ1Y3RfZGF0YV9sZWFkaW4pOw0KIAkJYnJlYWs7DQpAQCAtNDA0
OSwxMyArNDAyNCw3IEBADQogCQlsZW5ndGggPSBzaXplb2Yoc3RydWN0IHNj
c2lfcmVhZF9kdmRfc3RydWN0X2RhdGFfZGlzY19pZCk7DQogCQlicmVhazsN
CiAJY2FzZSBEVkRfU1RSVUNUX0RDQjoNCi0JCWVycm9yID0gRU5PREVWOw0K
LQkJZ290byBiYWlsb3V0Ow0KLSNpZmRlZiBub3R5ZXQNCi0JCWxlbmd0aCA9
IHNpemVvZihzdHJ1Y3Qgc2NzaV9yZWFkX2R2ZF9zdHJ1Y3RfZGF0YV9kY2Ip
Ow0KLQkJYWRkcmVzcyA9IGR2ZHN0cnVjdC0+YWRkcmVzczsNCi0jZW5kaWYN
Ci0JCWJyZWFrOyAvKiBOT1RSRUFDSEVEICovDQorCQlyZXR1cm4gKEVOT0RF
Vik7DQogCWNhc2UgRFZEX1NUUlVDVF9MSVNUOg0KIAkJLyoNCiAJCSAqIFRo
aXMgaXMgdGhlIG1heGltdW0gYWxsb2NhdGlvbiBsZW5ndGggZm9yIHRoZSBS
RUFEIERWRA0KQEAgLTQwNjcsOSArNDAzNiw3IEBADQogCQlsZW5ndGggPSA2
NTUzNTsNCiAJCWJyZWFrOw0KIAlkZWZhdWx0Og0KLQkJZXJyb3IgPSBFSU5W
QUw7DQotCQlnb3RvIGJhaWxvdXQ7DQotCQlicmVhazsgLyogTk9UUkVBQ0hF
RCAqLw0KKwkJcmV0dXJuIChFSU5WQUwpOw0KIAl9DQogDQogCWlmIChsZW5n
dGggIT0gMCkgew0KQEAgLTQwNzcsNiArNDA0NCw5IEBADQogCX0gZWxzZQ0K
IAkJZGF0YWJ1ZiA9IE5VTEw7DQogDQorCWNhbV9wZXJpcGhfbG9jayhwZXJp
cGgpOw0KKwljY2IgPSBjZGdldGNjYihwZXJpcGgsIENBTV9QUklPUklUWV9O
T1JNQUwpOw0KKw0KIAlzY3NpX3JlYWRfZHZkX3N0cnVjdHVyZSgmY2NiLT5j
c2lvLA0KIAkJCQkvKiByZXRyaWVzICovIDEsDQogCQkJCS8qIGNiZmNucCAq
LyBjZGRvbmUsDQpAQCAtNDE2NiwxMSArNDEzNiwxMiBAQA0KIAl9DQogYmFp
bG91dDoNCiANCisJeHB0X3JlbGVhc2VfY2NiKGNjYik7DQorCWNhbV9wZXJp
cGhfdW5sb2NrKHBlcmlwaCk7DQorDQogCWlmIChkYXRhYnVmICE9IE5VTEwp
DQogCQlmcmVlKGRhdGFidWYsIE1fREVWQlVGKTsNCiANCi0JeHB0X3JlbGVh
c2VfY2NiKGNjYik7DQotDQogCXJldHVybihlcnJvcik7DQogfQ0KIA0K

--0-2138113359-1259703031=:99667--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091201142930.I99667>