[FFmpeg-devel] [PATCH] Runtime detection for the number of processors/cores
Måns Rullgård
mans
Wed May 21 16:01:59 CEST 2008
Fran?ois Revol wrote:
>> >
>> > Philipp Meinen wrote:
>> > > Hello FFmpeg Team
>> > >
>> > > The attached patch is an attempt to allow runtime detection for
>> > > the
>> > > number of online processors/cores instead of having to specify
>> > > the
>> > > number of threads. The idea is to type:
>> > > ffmpeg -threads 0 ....
>> > > to use as many threads as processors/cores are online.
>> > >
>> > > I guess cmdutils.c/h is not the right file to place the new
>> > > detection function. To which file should this function belong?
>> > >
>> > > Comments welcome :)
>> >
>> > This is the wrong way to go about it. The number of processors in
>> > the
>> > machine is not interesting, the number of processors we're running
>> > on
>> > is. On Linux, this information can be found from
>> > sched_get_affinity().
>> > Other systems have other methods.
>>
>> _SC_NPROCESSORS_ONLN Number of processors online
>>
>> Seems to mean the same to me, unlike:
>
> Unless of course sched_get_affinity() returns a subset mask for NUMA
> machines, then disregard.
sched_get_affinity() returns the processors on which the process is
allowed to run, which can be any subset of the processors currently
online. (On a normal desktop system, all processors are always online.)
> It's POSIX only anyway so it has to be platform dependant...
It's not POSIX, at least not anywhere that I can find it.
> Hmm doesn't pthread have a less linuxish call for that btw ?
I couldn't find one.
> Else one can still #ifdef __linux__ to use sched_get_affinity and fall
> back to sysconf.
#ifdef __some_os_or_other__ is banned from FFmpeg.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list