Date: Mon, 14 Apr 2014 08:19:37 +0200 From: Baptiste Daroussin <bapt@freebsd.org> To: Konstantin Belousov <kostikbel@gmail.com> Cc: desrt@desrt.ca, John-Mark Gurney <jmg@funkthat.com>, "freebsd-hackers@freebsd.org" <hackers@freebsd.org> Subject: Re: [CFR] Kevent timer improvements Message-ID: <20140414061936.GA60058@ivaldir.etoilebsd.net> In-Reply-To: <20140413202038.GE4016@kib.kiev.ua> References: <20140310131632.GI6900@ithaqua.etoilebsd.net> <CAJ-Vmok7ODK7FfJaHiQej8Za4-JH6Aryctk577vM9cYpeUcHew@mail.gmail.com> <20140310180404.GI32089@funkthat.com> <20140413131550.GD17898@ivaldir.etoilebsd.net> <20140413142028.GD4016@kib.kiev.ua> <20140413191928.GE17898@ivaldir.etoilebsd.net> <20140413202038.GE4016@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
--envbJBWh7q8WU6mo Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Apr 13, 2014 at 11:20:38PM +0300, Konstantin Belousov wrote: > On Sun, Apr 13, 2014 at 09:19:28PM +0200, Baptiste Daroussin wrote: > > On Sun, Apr 13, 2014 at 05:20:28PM +0300, Konstantin Belousov wrote: > > > On Sun, Apr 13, 2014 at 03:15:51PM +0200, Baptiste Daroussin wrote: > > > > I have splitted my patch in multiple parts, let start with the firs= t one: > > > > adding NOTE_NSECONDS, NOTE_USECONDS, NOTE_NSECONDS > > > >=20 > > > > http://people.freebsd.org/~bapt/kevent_timer.diff > > >=20 > > [...] > > > > + else if (flags & NOTE_NSECONDS) > > > > + modifier =3D SBT_1NS; > > > It is better to put the 'modifier =3D SBT_1MS;' statement as the else= part. > > >=20 > > > That said, IMO it would be sometimes beneficial to have real flag to > > > specify milliseconds precision, in addition to milliseconds be the > > > default. > >=20 > > Done in the new patch > > > > + > > > > + timer2sbintime(kn->kn_sdata, kn->kn_sfflags), 0 /* 1ms? */, > > > There, at least the comment about precision should be updated. > > > But, it seems that for the seconds precision, it makes sense to > > > specify e.g. 1/2 sec as precision; or add an API flag to allow imprec= ise > > > callout scheduling. > > >=20 > > While I do agree this might be useful I do not have time to work on tha= t right > > now so I just removed the comment which wasn't really accurate anyway. > >=20 > > Is that ok? > Leave XXX comment right near the zero argument, at least ? >=20 > > + if (flags & NOTE_SECONDS) > > + modifier =3D SBT_1S; > > + else if (flags & NOTE_USECONDS) > > + modifier =3D SBT_1US; > > + else if (flags & NOTE_NSECONDS) > > + modifier =3D SBT_1NS; > > + else > > + modifier =3D SBT_1MS; > There should be a case for NOTE_MSECONDS. >=20 ok I'll do > Hm, I think the checks should be made stronger. System should ensure > that only one flag is passed, and no invalid flags are supplied, right ? I can check that only one flags is passed and no invalid flagrs are supplie= d but =66rom what I see not a single part of kqueue(2) is checking that, so won't= that be inconsistent with the rest of the API? I can probably check that only ona or 0 of the NOTE_*SECONDS is passed and return EINVAL in that case but no more. (note that more NOTE_* are to be added later) regards, Bapt --envbJBWh7q8WU6mo Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlNLffgACgkQ8kTtMUmk6EwNiACgqi+lKt0PnyXazuSUpeaQesQv ogkAoKXz9fxAcVLrj2kta1533Cj56m3F =K9tE -----END PGP SIGNATURE----- --envbJBWh7q8WU6mo--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140414061936.GA60058>