* Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > PAGE_SIZE is not guaranteed to be equal to or less than 8 times the > THREAD_SIZE. > > E.g. architecture hexagon may have page size 1M and thread size 4096. > This would lead to a division by zero in the calculation of max_threads. > > With 32-bit calculus there is no solution which delivers valid results > for all possible combinations of the parameters. > The code is only called once. > Hence a 64-bit calculation can be used as solution. > > The calculation of max_threads is moved to a separate function. > This allows future patches to use the same logic, e.g. when > - max_threads is set by writing to /proc/sys/kernel/threads-max > - when adding or removing memory. > > Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> > --- > kernel/fork.c | 59 > ++++++++++++++++++++++++++++++++++++++++++----------------- > 1 file changed, 42 insertions(+), 17 deletions(-)
So it would be nice to split this patch into two parts: first do a patch that splits out a version of set_max_threads() that matches current behavior (including the bug). Then a second patch that fixes the bug. This would make it much easier to review. Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/