Le 01/02/2011 16:38, Ian Campbell a écrit :
> On Tue, 2011-02-01 at 15:14 +0000, Jean Baptiste Favre wrote:
> > Le 01/02/2011 15:18, Ian Campbell a écrit :
>
> >> Assuming the driver is modular:
> >> "modprobe sky2 copybreak=<N>"
> >>
> >> Depending on your distro there will be somewhere in /etc you can add
> >> this. e.g. on Debian you can create a file in /etc/modprobe.d/
> >> containing "option sky copybreak=<N>" other distros
> >> use /etc/modprobe.conf etc.
> > OK I see but it doesn't seems to have any effect.
> > I tried "option sky copybreak=0" to get all packet copied with no
> change.
>
> The driver is called sky2 not sky so this won't have done anything. I
> typo'd it above, sorry.
My bad, I fixed your typo during tests, but I just copied it while
writing the mail. So basically, using:
# cat /etc/modprobe.d/sky2.conf
option sky2 copybreak=0
does not help.
I have to remove module and load it with right option.
BTW it's not a real issue for me, I can add it in init script :)
> > But I have to say that I'm a bit confused: as I run a PV domU, kernel
> > and initrd are provided by dom0.
> > So basically, I had no module related binaries installed. After
> > installation, I tried to remove module and reload it with different
> > configuration without changes.
> > Is there any way to provide this sort of option in kernel commandline so
> > that it 'll be taken into account even in initrd ?
>
> It depends on your distro and/or initrd tool, I don't know a generic
> answer.
Both are Debian ones.
I've tried to compile kernel from Jeremy's git repo, but face some
problems: it's been a long time since my last kernel compilation and I
did not find all configuration options I need :-/
> If the driver is statically compiled and not modular at all you can do
> <module>.<param>=<value> on the kernel command line, e.g.
> "sky2.copybreak=256".
I may use this way because, as a firewall, I prefer using static kernels :)
> There doesn't appear to be any way to find out what copybreak the driver
> actually uses, short of hacking something into the driver itself. e.g.
>
> diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
> index 7d85a38..786b8c6 100644
> --- a/drivers/net/sky2.c
> +++ b/drivers/net/sky2.c
> @@ -87,7 +87,7 @@ module_param(debug, int, 0);
> MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
>
> static int copybreak __read_mostly = 128;
> -module_param(copybreak, int, 0);
> +module_param(copybreak, int, 0444);
> MODULE_PARM_DESC(copybreak, "Receive copy threshold");
>
> static int disable_msi = 0;
>
> Allow you to see the current active value
> in /sys/module/sky2/parameters/copybreak. If you are going to do that
> you might as well just change the constant above though ;-)
Will try this as well
Regards,
JB
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|