Search Linux Wireless

Re: maranello for linux-current [b43 driver]

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

 



(Adding linux-wireless in CC)

Le 03/29/12 00:24, Jim Cromie a écrit :
you may have heard of maranello, a project to add
partial packet recovery to 80211, by adding block checksums
on transmit, validating them or re-requesting retransmit
of corrupted blocks.

http://www.cs.umd.edu/projects/maranello/

the code at the page is for 2.6.29-rc2

Ive taken it, did some refactoring to ease merging,
and merged in each linux release, up to 3.3

The refactoring is:

- move code from include/net/mac80211.h utils.c to
drivers/net/wireless/maranello.*
this makes it somewhat common, but more isolated overall,
and reduces merge conflicts due to continued evolution of those files.
I imagine new code would eventually go back to the original files, but
not for a while.

- move most of new code in each *.c file to *_mnlo.c
fn decls added to corresponding *.h
again, this code probably would be moved back to original *.c, but not yet.


After all the merges, I compiled, and found some errors.
I had problems building plain 2.6.29-rc2, and several later releases,
so punted on compiling every step.

The compile errors are fixed on top of the merges, but ideally should be
rearranged to fix each release.  This requires more git-fu than I possess,
and IIUC, netdev ML is more interested in patches to linux-current.

Repeating:  this is only compile tested, I dont have a b43 based wifi card
in my desk/lap-tops.

I do have a WRT54G router, currently running openWRT 10.03
which does have a b43 wifi chip.  I intend to try putting this code
there eventually,
but that may take a while yet, and cannot test maranello itself anyway.

Having split maranello code into new files, I have some misgivings about
that approach - it simplified merges, but at the cost of not seeing
the underlying conflicts.  The compiler told me about some, surely others lurk.

So I guess Im seeking advice:

- what did I break
- what happens when the driver is tested
- whether to repeat this merge-effort w/o the split

- why did earlier releases fail to build
   [jimc@groucho linux-2.6]$ git checkout v2.6.29
   [jimc@groucho build-dell-2]$ make xconfig
   Makefile:23: *** mixed implicit and normal rules.  Stop.
   I also see breakage on unrelated stuff (that builds fine on mainline)
   [jimc@groucho build-dell-2]$ make
   AS      arch/x86/xen/xen-asm_64.o
   /home/jimc/projects/lx/linux-2.6/arch/x86/xen/xen-asm_64.S:
Assembler messages:
   /home/jimc/projects/lx/linux-2.6/arch/x86/xen/xen-asm_64.S:48:
Error: unsupported for `mov'
   ...
the tree is here:
https://github.com/jimc/linux-2.6/tree/maranello/released-split

Im happy to open it up for collaboration if theres interest,
I'll have to figure out how to do that though..
Of course you can clone and fork it.

Its probably premature to concentrate on rework for inclusion,
I think itd be better to get it working on mainline 1st,
but the long view might inform the short-term steps.

thanks
Jim Cromie
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux