tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Making MPSAFE/Converting Wi-Fi driver (GSoC)



On Wed, Apr 13, 2022 at 01:19:54PM +1200, Jeandre Kruger wrote:
> Hello,
> 
> If it it's not much too late to apply for Google Summer of Code
> (please tell me if it is),

It is not, deadline is April 19:
https://developers.google.com/open-source/gsoc/timeline

> I'm considering either of these, about
> which I have a few questions:
> 
> https://wiki.netbsd.org/projects/project/mpsafe_net_driver/
> https://wiki.netbsd.org/projects/project/Convert_a_Wi-Fi_driver_to_the_new_Wi-Fi_stack/
> 
> The latter mentions "fine-grained locking," so is there some overlap
> between them?  Is the second project much harder than the first?  Will
> it eventually make the first one redundant?

The projects are related, but there are lots of non-wifi network drivers ;-)
So it is maybe easier to read the first project as "make a ethernet
network driver MPSAFE" (we have few examples in tree that already
are, like wm(4)), while the second is specifically about wlan drivers,
where we (additionally to the MPSAFE-ness) are converting to a different
IEEE 802.11 stack, so more than MPSAFE-changes are needed, see:

https://wiki.netbsd.org/Converting_drivers_to_the_new_wifi_stack/

I don't think one of the projects is harder than the other.

> Is a basic idea of how to use mutexes sufficient, or do you need
> experience in writing SMP code, avoiding/debugging race conditions,
> etc.? Is a "faster performing card" necessary?  Is a true
> multiprocessor system necessary or will a netbook with hyper threading
> (a single-core Intel Atom processor, but two logical cores) suffice?

You need hardware for the driver you are changing - nothing else is
a requirement.

> I had a quick look at athn.c and it doesn't look too difficult to
> follow, although I have no experience working on network drivers.  I
> have dipped my toes into some bare-metal programming, e.g. x86
> assembly, a tiny bit of VGA graphics.  Would this be suitable for me,
> or should I try to pick another project?

I'd say both projects are good for you - just pick what you prefer to
work on.

Martin


Home | Main Index | Thread Index | Old Index