Subject: Re: timedwork
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Iain Hibbert <plunky@rya-online.net>
List: tech-kern
Date: 01/16/2007 19:20:54
  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-1067321834-1168975254=:7139
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Tue, 16 Jan 2007, YAMAMOTO Takashi wrote:

> > On Mon, 15 Jan 2007, YAMAMOTO Takashi wrote:
> > > > On Sat, 13 Jan 2007, Iain Hibbert wrote:
> > > > > On Sat, 13 Jan 2007, YAMAMOTO Takashi wrote:
> > > > > > once callout_setwork() is called on a callout,
> > > > > > callout_schedule() is only legal operation on the callout.
> > > > >
> > > > > callout_schedule() cannot be called multiple times, either..
> > > >
> > > > I think that these issues would go away, if callout managed its own
> > > > kthread, instead of utilising workqueue to do that?

I think the attached method is cleaner (is untried, not sure if its
complete or the locking is ok?)

>> how long is too long?
>
> i understand your concern about vagueness here.
> but i think we can use a common sense as we currently do for callout handlers.

Ok, it should be documented of course..

iain
--0-1067321834-1168975254=:7139
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=callout.diff
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.NEB.4.64.0701161920540.7139@localhost.>
Content-Description: callout thread diff
Content-Disposition: attachment; filename=callout.diff

LS0tIC91c3Ivc3JjL3N5cy9rZXJuL2tlcm5fdGltZW91dC5jCTIwMDUtMTIt
MTMgMDg6MjE6MzEuMDAwMDAwMDAwICswMDAwDQorKysgc3lzL2tlcm4va2Vy
bl90aW1lb3V0LmMJMjAwNy0wMS0xNiAxOToxNToyOS4wMDAwMDAwMDAgKzAw
MDANCkBAIC03Niw2ICs3Niw3IEBADQogI2luY2x1ZGUgPHN5cy9wYXJhbS5o
Pg0KICNpbmNsdWRlIDxzeXMvc3lzdG0uaD4NCiAjaW5jbHVkZSA8c3lzL2tl
cm5lbC5oPg0KKyNpbmNsdWRlIDxzeXMva3RocmVhZC5oPg0KICNpbmNsdWRl
IDxzeXMvbG9jay5oPg0KICNpbmNsdWRlIDxzeXMvY2FsbG91dC5oPg0KIA0K
QEAgLTEwMiw2ICsxMDMsOSBAQA0KIHN0YXRpYyBzdHJ1Y3QgY2FsbG91dF9j
aXJjcSB0aW1lb3V0X3doZWVsW0JVQ0tFVFNdOwkvKiBRdWV1ZXMgb2YgdGlt
ZW91dHMgKi8NCiBzdGF0aWMgc3RydWN0IGNhbGxvdXRfY2lyY3EgdGltZW91
dF90b2RvOwkJLyogV29ya2xpc3QgKi8NCiANCitzdGF0aWMgc3RydWN0IGNh
bGxvdXRfY2lyY3EgdGltZW91dF93b3JrOwkJLyogV29ya2xpc3QgZm9yIHRo
cmVhZCAqLw0KK3N0YXRpYyBzdHJ1Y3QgcHJvYyAqdGltZW91dF9wcm9jOwkJ
CS8qIFByb2Nlc3MgZm9yIHRocmVhZCAqLw0KKw0KICNkZWZpbmUgTUFTS1dI
RUVMKHdoZWVsLCB0aW1lKSAoKCh0aW1lKSA+PiAoKHdoZWVsKSpXSEVFTEJJ
VFMpKSAmIFdIRUVMTUFTSykNCiANCiAjZGVmaW5lIEJVQ0tFVChyZWwsIGFi
cykJCQkJCQlcDQpAQCAtMTk0LDYgKzE5OCw1NyBAQA0KICNlbmRpZg0KIA0K
IC8qDQorICogY2FsbG91dF90aHJlYWQ6DQorICoNCisgKglQcm9jZXNzIGZv
ciB0aHJlYWQgcnVucyBoZXJlLg0KKyAqLw0KK3N0YXRpYyB2b2lkDQorY2Fs
bG91dF90aHJlYWQodm9pZCAqYXJnKQ0KK3sNCisJc3RydWN0IGNhbGxvdXRf
Y2lyY3EgKnEgPSBhcmc7DQorCXN0cnVjdCBjYWxsb3V0ICpjOw0KKwl2b2lk
ICgqZnVuYykodm9pZCAqKTsNCisJaW50IGVycm9yLCBzOw0KKwkNCisJQ0FM
TE9VVF9MT0NLKHMpOw0KKwlmb3IgKDs7KSB7DQorCQljID0gQ0lSQ1FfRklS
U1QocSk7DQorCQlpZiAoYyA9PSBOVUxMKSB7DQorCQkJZXJyb3IgPSBsdHNs
ZWVwKHEsIFBVU0VSIC0gMSwgImNhbGxvdXQiLCAwLA0KKwkJCQkJCQkgICAg
JmNhbGxvdXRfc2xvY2spOw0KKwkJCWlmIChlcnJvcikNCisJCQkJcGFuaWMo
IiVzOiBsdHNsZWVwIGVycm9yPSVkIiwgX19mdW5jX18sIGVycm9yKTsNCisN
CisJCQljb250aW51ZTsNCisJCX0NCisNCisJCUNJUkNRX1JFTU9WRSgmYy0+
Y19saXN0KTsNCisNCisJCWZ1bmMgPSBjLT5jX2Z1bmM7DQorCQlhcmcgPSBj
LT5jX2FyZzsNCisNCisJCUNBTExPVVRfVU5MT0NLKHMpOw0KKwkJKCpmdW5j
KShhcmcpOw0KKwkJQ0FMTE9VVF9MT0NLKHMpOw0KKwl9DQorfQ0KKw0KKy8q
DQorICogY2FsbG91dF9zdGFydHVwX3RocmVhZDoNCisgKg0KKyAqCUNyZWF0
ZSBhIHRocmVhZCB0byBoYW5kbGUgdGhyZWFkZWQgY2FsbG91dHMNCisgKi8N
CitzdGF0aWMgdm9pZA0KK2NhbGxvdXRfc3RhcnR1cF90aHJlYWQodm9pZCAq
YXJnKQ0KK3sNCisJaW50IGVycm9yOw0KKw0KKwllcnJvciA9IGt0aHJlYWRf
Y3JlYXRlMShjYWxsb3V0X3RocmVhZCwgYXJnLCAmdGltZW91dF9wcm9jLCAi
Y2FsbG91dCIpOw0KKwlpZiAoZXJyb3IpDQorCQlwcmludGYoImNhbGxvdXRf
c3RhcnR1cF90aHJlYWQ6IGZhaWxlZCB0byBzdGFydCBjYWxsb3V0IHRocmVh
ZFxuIik7DQorfQ0KKw0KKy8qDQogICogY2FsbG91dF9zdGFydHVwOg0KICAq
DQogICoJSW5pdGlhbGl6ZSB0aGUgY2FsbG91dCBmYWNpbGl0eSwgY2FsbGVk
IGF0IHN5c3RlbSBzdGFydHVwIHRpbWUuDQpAQCAtMjA4LDYgKzI2Myw5IEBA
DQogCQlDSVJDUV9JTklUKCZ0aW1lb3V0X3doZWVsW2JdKTsNCiAJc2ltcGxl
X2xvY2tfaW5pdCgmY2FsbG91dF9zbG9jayk7DQogDQorCUNJUkNRX0lOSVQo
JnRpbWVvdXRfd29yayk7DQorCWt0aHJlYWRfY3JlYXRlKGNhbGxvdXRfc3Rh
cnR1cF90aHJlYWQsICZ0aW1lb3V0X3dvcmspOw0KKw0KICNpZmRlZiBDQUxM
T1VUX0VWRU5UX0NPVU5URVJTDQogCWV2Y250X2F0dGFjaF9keW5hbWljKCZj
YWxsb3V0X2V2X2xhdGUsIEVWQ05UX1RZUEVfTUlTQywNCiAJICAgIE5VTEws
ICJjYWxsb3V0IiwgImxhdGUiKTsNCkBAIC0zODAsMTIgKzQzOCwxNyBAQA0K
IAkJCWMtPmNfZmxhZ3MgPSAoYy0+Y19mbGFncyAgJiB+Q0FMTE9VVF9QRU5E
SU5HKSB8DQogCQkJICAgIChDQUxMT1VUX0ZJUkVEfENBTExPVVRfSU5WT0tJ
TkcpOw0KIA0KLQkJCWZ1bmMgPSBjLT5jX2Z1bmM7DQotCQkJYXJnID0gYy0+
Y19hcmc7DQotDQotCQkJQ0FMTE9VVF9VTkxPQ0socyk7DQotCQkJKCpmdW5j
KShhcmcpOw0KLQkJCUNBTExPVVRfTE9DSyhzKTsNCisJCQlpZiAoYy0+Y19m
bGFncyAmIENBTExPVVRfVEhSRUFEKSB7DQorCQkJCUNJUkNRX0lOU0VSVCgm
Yy0+Y19saXN0LCAmdGltZW91dF93b3JrKTsNCisJCQkJd2FrZXVwKCZ0aW1l
b3V0X3dvcmspOw0KKwkJCX0gZWxzZSB7DQorCQkJCWZ1bmMgPSBjLT5jX2Z1
bmM7DQorCQkJCWFyZyA9IGMtPmNfYXJnOw0KKw0KKwkJCQlDQUxMT1VUX1VO
TE9DSyhzKTsNCisJCQkJKCpmdW5jKShhcmcpOw0KKwkJCQlDQUxMT1VUX0xP
Q0socyk7DQorCQkJfQ0KIAkJfQ0KIAl9DQogDQotLS0gL3Vzci9zcmMvc3lz
L3N5cy9jYWxsb3V0LmgJMjAwNS0xMi0xMyAwODoyMzoxNy4wMDAwMDAwMDAg
KzAwMDANCisrKyBzeXMvc3lzL2NhbGxvdXQuaAkyMDA3LTAxLTE2IDE4OjU3
OjQ5LjAwMDAwMDAwMCArMDAwMA0KQEAgLTk3LDYgKzk3LDcgQEANCiAJaW50
CWNfZmxhZ3M7CQkJLyogc3RhdGUgb2YgdGhpcyBlbnRyeSAqLw0KIH07DQog
DQorI2RlZmluZQlDQUxMT1VUX1RIUkVBRAkJMHgwMDAxCS8qIGNhbGxvdXQg
ZnJvbSB0aHJlYWQgKi8NCiAjZGVmaW5lCUNBTExPVVRfUEVORElORwkJMHgw
MDAyCS8qIGNhbGxvdXQgaXMgb24gdGhlIHF1ZXVlICovDQogI2RlZmluZQlD
QUxMT1VUX0ZJUkVECQkweDAwMDQJLyogY2FsbG91dCBoYXMgZmlyZWQgKi8N
CiAjZGVmaW5lCUNBTExPVVRfSU5WT0tJTkcJMHgwMDA4CS8qIGNhbGxvdXQg
ZnVuY3Rpb24gaXMgYmVpbmcgaW52b2tlZCAqLw0KQEAgLTEyMSw2ICsxMjIs
MTEgQEANCiAJKGMpLT5jX2FyZyA9IChhKTsJCQkJCQlcDQogfSB3aGlsZSAo
LypDT05TVENPTkQqLzApDQogDQorI2RlZmluZSBjYWxsb3V0X3NldGZsYWco
YywgZikJCQkJCQlcDQorZG8gewkJCQkJCQkJCVwNCisJKGMpLT5jX2ZsYWdz
IHw9IChmKTsJCQkJCQlcDQorfSB3aGlsZSAoLypDT05TVENPTkQqLzApDQor
DQogI2RlZmluZQljYWxsb3V0X3BlbmRpbmcoYykJKChjKS0+Y19mbGFncyAm
IENBTExPVVRfUEVORElORykNCiAjZGVmaW5lCWNhbGxvdXRfZXhwaXJlZChj
KQkoKGMpLT5jX2ZsYWdzICYgQ0FMTE9VVF9GSVJFRCkNCiAjZGVmaW5lCWNh
bGxvdXRfYWN0aXZlKGMpCSgoYyktPmNfZmxhZ3MgJiAoQ0FMTE9VVF9QRU5E
SU5HfENBTExPVVRfRklSRUQpKQ0K

--0-1067321834-1168975254=:7139--