From: Andrew Morton <akpm@linux-foundation.org>
To: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Markus Lidel <Markus.Lidel@shadowconnect.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] i2o: fix notifiers when max_drivers is configured
Date: Sun, 20 May 2007 21:16:59 -0700 [thread overview]
Message-ID: <20070520211659.91c84574.akpm@linux-foundation.org> (raw)
In-Reply-To: <20070520142728.GB4207@APFDCB5C>
On Sun, 20 May 2007 23:27:28 +0900 Akinobu Mita <akinobu.mita@gmail.com> wrote:
> Maxinum number of I2O drivers which could be registered is
> configurable by max_drivers module parameter.
>
> But the module parameter is ignored and default value (I2O_MAX_DRIVERS = 8)
> is used in the loops to notify all registered drivers.
>
> Cc: Markus Lidel <Markus.Lidel@shadowconnect.com>
> Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
>
> ---
> drivers/message/i2o/driver.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> Index: 2.6-mm/drivers/message/i2o/driver.c
> ===================================================================
> --- 2.6-mm.orig/drivers/message/i2o/driver.c
> +++ 2.6-mm/drivers/message/i2o/driver.c
> @@ -20,6 +20,7 @@
> #include <linux/workqueue.h>
> #include <linux/string.h>
> #include <linux/slab.h>
> +#include <linux/log2.h>
> #include "core.h"
>
> #define OSM_NAME "i2o"
> @@ -260,7 +261,7 @@ void i2o_driver_notify_controller_add_al
> int i;
> struct i2o_driver *drv;
>
> - for (i = 0; i < I2O_MAX_DRIVERS; i++) {
> + for (i = 0; i < i2o_max_drivers; i++) {
> drv = i2o_drivers[i];
>
> if (drv)
> @@ -280,7 +281,7 @@ void i2o_driver_notify_controller_remove
> int i;
> struct i2o_driver *drv;
>
> - for (i = 0; i < I2O_MAX_DRIVERS; i++) {
> + for (i = 0; i < i2o_max_drivers; i++) {
> drv = i2o_drivers[i];
>
> if (drv)
> @@ -299,7 +300,7 @@ void i2o_driver_notify_device_add_all(st
> int i;
> struct i2o_driver *drv;
>
> - for (i = 0; i < I2O_MAX_DRIVERS; i++) {
> + for (i = 0; i < i2o_max_drivers; i++) {
> drv = i2o_drivers[i];
>
> if (drv)
> @@ -318,7 +319,7 @@ void i2o_driver_notify_device_remove_all
> int i;
> struct i2o_driver *drv;
>
> - for (i = 0; i < I2O_MAX_DRIVERS; i++) {
> + for (i = 0; i < i2o_max_drivers; i++) {
> drv = i2o_drivers[i];
>
> if (drv)
> @@ -340,8 +341,7 @@ int __init i2o_driver_init(void)
> spin_lock_init(&i2o_drivers_lock);
>
> if ((i2o_max_drivers < 2) || (i2o_max_drivers > 64) ||
> - ((i2o_max_drivers ^ (i2o_max_drivers - 1)) !=
> - (2 * i2o_max_drivers - 1))) {
> + !is_power_of_2(i2o_max_drivers)) {
> osm_warn("max_drivers set to %d, but must be >=2 and <= 64 and "
> "a power of 2\n", i2o_max_drivers);
> i2o_max_drivers = I2O_MAX_DRIVERS;
> @@ -349,7 +349,7 @@ int __init i2o_driver_init(void)
> osm_info("max drivers = %d\n", i2o_max_drivers);
>
> i2o_drivers =
> - kzalloc(i2o_max_drivers * sizeof(*i2o_drivers), GFP_KERNEL);
> + kcalloc(i2o_max_drivers, sizeof(*i2o_drivers), GFP_KERNEL);
> if (!i2o_drivers)
> return -ENOMEM;
>
Is there any particular reason why i2o_max_drivers must be a power of two?
It seems a peculiar constraint.
next prev parent reply other threads:[~2007-05-21 4:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-20 14:27 [PATCH] i2o: fix notifiers when max_drivers is configured Akinobu Mita
2007-05-21 4:16 ` Andrew Morton [this message]
2007-05-21 16:58 ` Akinobu Mita
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070520211659.91c84574.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=Markus.Lidel@shadowconnect.com \
--cc=akinobu.mita@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.