[alsa-devel] Boundary calculation

Takashi Iwai tiwai at suse.de
Tue Jul 17 09:41:52 CEST 2018


On Tue, 17 Jul 2018 08:43:27 +0200,
Clemens Ladisch wrote:
> 
> Ricardo Biehl Pasquali wrote:
> > The current calculation for boundary is:
> >
> > 	boundary = buffer_size;
> > 	while (boundary * 2 <= LONG_MAX - buffer_size)
> > 		boundary *= 2;
> >
> > Why isn't a simpler calculation used instead? e.g.:
> >
> > 	/* closest multiple of buffer size less or equal LONG_MAX */
> > 	boundary = LONG_MAX - LONG_MAX % buffer_size;
> 
> To ensure that the factor is a power of two.
> 
> Originally, that was not really necessary, but the algorithm is
> now part of the kernel/userspace interface.

Right.

I don't think we have strictly ABI issue even if relaxing this, but I
also don't think it would give so much benefit, either.


thanks,

Takashi


More information about the Alsa-devel mailing list