2011-02-01 16:38:26

by Luis R. Rodriguez

[permalink] [raw]
Subject: Review of moving all DFS parameters to userspace

I though we had reviewed the possibility of moving DFS parameters to
userspace but it seems that's not the case. We now at least know we
can keep the DFS regions: US, JP, ETSI, the next step is to determine
if the DFS parameters for these regions will come from userspace or
kernelspace. I'm inclined to support starting off with moving this to
kernelspace just to let us move forward with this support, and once in
kernel, review the possibility to move this out to userspace.

Thoughts?

Luis


2011-02-15 00:49:05

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: Review of moving all DFS parameters to userspace

On Mon, Feb 14, 2011 at 7:39 AM, Zefir Kurtisi
<[email protected]> wrote:
> On 02/01/2011 06:32 PM, John W. Linville wrote:
>> On Tue, Feb 01, 2011 at 08:38:05AM -0800, Luis R. Rodriguez wrote:
>>> I though we had reviewed the possibility of moving DFS parameters to
>>> userspace but it seems that's not the case. We now at least know we
>>> can keep the DFS regions: US, JP, ETSI, the next step is to determine
>>> if the DFS parameters for these regions will come from userspace or
>>> kernelspace. I'm inclined to support starting off with moving this to
>>> kernelspace just to let us move forward with this support, and once in
>>> kernel, review the possibility to move this out to userspace.
>>>
>>> Thoughts?
>>
>> Seems like a reasonable approach for the short term...better than
>> locking-in userland ABI...
>>
>> John
>
> Sorry, I was not aware that the userspace DFS approach was already discussed
> and rejected.

19:14 < *nbd> initially the pulse pattern matching will be somewhat hw specific
19:14 < *nbd> or at least driver specific

So ideally if we can generalize things great, I really did not think
we'd be able to get there on a first step.

> I missed two IRC meetings in January and reading [1] sounded
> to me that potential approaches are still evaluated.
>
> Anyhow, I meanwhile posted both approaches (kernel vs. userspace) that are
> equivalent from functional point, assuming that a HW independent pattern
> matching is what we need to implement for DFS radar detection.
>
> This in fact is still an open issue: Atheros claimed that detection is
> HW-dependent while we have got up and (maybe not-so-perfectly ;)) running
> HW-independen radar pattern detection

That's cool ! However I was told that for some parameters you might
see some values programmed into hw which won't immediately make sense
given that the programmed values are there in consideration for a
hardware quirk of some sort. Mahboob, what parameters were those?

> We are still waiting to get Atheros'
> pattern detector source code to evaluate detection performance and finally
> prove the benefit of a HW dependent implementation.

That's being baked with legal.

> Until then (and since the DFS activities degraded lastly) we will continue
> fine-tuning our detectors based on the proposed design

Driver or userspace?

> and move to the
> finally chosen architecture as soon as an agreement is reached.

Sorry for my delay on the first set of patches, I hope to send a v2
hopefully by tomorrow..

Luis

2011-02-15 12:16:35

by Zefir Kurtisi

[permalink] [raw]
Subject: Re: Review of moving all DFS parameters to userspace

On 02/15/2011 03:33 AM, Felix Fietkau wrote:
> On 2011-02-15 1:48 AM, Luis R. Rodriguez wrote:
>> On Mon, Feb 14, 2011 at 7:39 AM, Zefir Kurtisi
>> <[email protected]> wrote:
>>> On 02/01/2011 06:32 PM, John W. Linville wrote:
>>>> On Tue, Feb 01, 2011 at 08:38:05AM -0800, Luis R. Rodriguez wrote:
>>>>> I though we had reviewed the possibility of moving DFS parameters to
>>>>> userspace but it seems that's not the case. We now at least know we
>>>>> can keep the DFS regions: US, JP, ETSI, the next step is to determine
>>>>> if the DFS parameters for these regions will come from userspace or
>>>>> kernelspace. I'm inclined to support starting off with moving this to
>>>>> kernelspace just to let us move forward with this support, and once in
>>>>> kernel, review the possibility to move this out to userspace.
>>>>>
>>>>> Thoughts?
>>>>
>>>> Seems like a reasonable approach for the short term...better than
>>>> locking-in userland ABI...
>>>>
>>>> John
>>>
>>> Sorry, I was not aware that the userspace DFS approach was already discussed
>>> and rejected.
>>
>> 19:14 < *nbd> initially the pulse pattern matching will be somewhat hw specific
>> 19:14 < *nbd> or at least driver specific
>>
>> So ideally if we can generalize things great, I really did not think
>> we'd be able to get there on a first step.
> It's good to have the pulse pattern matching code be as generic as
> possible, but I would like to keep it in the ath module until we're sure
> that there actually is non-Atheros hardware out there that it can be
> used for (and preferably has been tested with).
>
> I would strongly prefer if it stays in the kernel though, because
> certainly not all drivers are going to need pulse pattern matching code
> in the driver or stack (some will do this in firmware), and to have two
> completely different reporting mechanisms for radar detection events
> seems kind of pointless to me.
>
> But even after moving it to the kernel, it would still be nice to have
> the code structured in a way that it can alternatively be compiled with
> some wrapper code for running user space tests.
>
> - Felix

I understand your thoughts, but am still not clear on how you suggest to
proceed with DFS implementation. Do you opt for taking DFS source code
provided by Atheros (assumed we get it) and integrate it into ath9k, or
take our proposal into ath9k as starting point?

In the latter case, would it be required to change the proposed interface
to the detector with some Atheros specific parameters, or is it only to hide
the (generic) detector from the outside world? With that latter case I
personally would disagree, since - even if no other driver might ever use
the generic detector - it does not hurt to make a generic module generally
available.

We are circuiting this issue now for quite some time and we will continue so
until we clarify its root cause, i.e. is pattern detection for radar pulse
detecting chipsets HW-dependent or not.
Hope we will get it resolved soon, now that Atheros DFS algorithm folks are
included in the discussion.


See you at the meeting today.
Zefir


2011-02-15 02:33:22

by Felix Fietkau

[permalink] [raw]
Subject: Re: Review of moving all DFS parameters to userspace

On 2011-02-15 1:48 AM, Luis R. Rodriguez wrote:
> On Mon, Feb 14, 2011 at 7:39 AM, Zefir Kurtisi
> <[email protected]> wrote:
>> On 02/01/2011 06:32 PM, John W. Linville wrote:
>>> On Tue, Feb 01, 2011 at 08:38:05AM -0800, Luis R. Rodriguez wrote:
>>>> I though we had reviewed the possibility of moving DFS parameters to
>>>> userspace but it seems that's not the case. We now at least know we
>>>> can keep the DFS regions: US, JP, ETSI, the next step is to determine
>>>> if the DFS parameters for these regions will come from userspace or
>>>> kernelspace. I'm inclined to support starting off with moving this to
>>>> kernelspace just to let us move forward with this support, and once in
>>>> kernel, review the possibility to move this out to userspace.
>>>>
>>>> Thoughts?
>>>
>>> Seems like a reasonable approach for the short term...better than
>>> locking-in userland ABI...
>>>
>>> John
>>
>> Sorry, I was not aware that the userspace DFS approach was already discussed
>> and rejected.
>
> 19:14 < *nbd> initially the pulse pattern matching will be somewhat hw specific
> 19:14 < *nbd> or at least driver specific
>
> So ideally if we can generalize things great, I really did not think
> we'd be able to get there on a first step.
It's good to have the pulse pattern matching code be as generic as
possible, but I would like to keep it in the ath module until we're sure
that there actually is non-Atheros hardware out there that it can be
used for (and preferably has been tested with).

I would strongly prefer if it stays in the kernel though, because
certainly not all drivers are going to need pulse pattern matching code
in the driver or stack (some will do this in firmware), and to have two
completely different reporting mechanisms for radar detection events
seems kind of pointless to me.

But even after moving it to the kernel, it would still be nice to have
the code structured in a way that it can alternatively be compiled with
some wrapper code for running user space tests.

- Felix

2011-02-14 15:39:53

by Zefir Kurtisi

[permalink] [raw]
Subject: Re: Review of moving all DFS parameters to userspace

On 02/01/2011 06:32 PM, John W. Linville wrote:
> On Tue, Feb 01, 2011 at 08:38:05AM -0800, Luis R. Rodriguez wrote:
>> I though we had reviewed the possibility of moving DFS parameters to
>> userspace but it seems that's not the case. We now at least know we
>> can keep the DFS regions: US, JP, ETSI, the next step is to determine
>> if the DFS parameters for these regions will come from userspace or
>> kernelspace. I'm inclined to support starting off with moving this to
>> kernelspace just to let us move forward with this support, and once in
>> kernel, review the possibility to move this out to userspace.
>>
>> Thoughts?
>
> Seems like a reasonable approach for the short term...better than
> locking-in userland ABI...
>
> John

Sorry, I was not aware that the userspace DFS approach was already discussed
and rejected. I missed two IRC meetings in January and reading [1] sounded
to me that potential approaches are still evaluated.

Anyhow, I meanwhile posted both approaches (kernel vs. userspace) that are
equivalent from functional point, assuming that a HW independent pattern
matching is what we need to implement for DFS radar detection.

This in fact is still an open issue: Atheros claimed that detection is
HW-dependent while we have got up and (maybe not-so-perfectly ;)) running
HW-independen radar pattern detection. We are still waiting to get Atheros'
pattern detector source code to evaluate detection performance and finally
prove the benefit of a HW dependent implementation.

Until then (and since the DFS activities degraded lastly) we will continue
fine-tuning our detectors based on the proposed design and move to the
finally chosen architecture as soon as an agreement is reached.



Cheers
Zefir



[1] http://linuxwireless.org/en/developers/DFS/#DFS_events

2011-02-01 17:45:16

by John W. Linville

[permalink] [raw]
Subject: Re: Review of moving all DFS parameters to userspace

On Tue, Feb 01, 2011 at 08:38:05AM -0800, Luis R. Rodriguez wrote:
> I though we had reviewed the possibility of moving DFS parameters to
> userspace but it seems that's not the case. We now at least know we
> can keep the DFS regions: US, JP, ETSI, the next step is to determine
> if the DFS parameters for these regions will come from userspace or
> kernelspace. I'm inclined to support starting off with moving this to
> kernelspace just to let us move forward with this support, and once in
> kernel, review the possibility to move this out to userspace.
>
> Thoughts?

Seems like a reasonable approach for the short term...better than
locking-in userland ABI...

John
--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.

2011-02-15 09:23:25

by Zefir Kurtisi

[permalink] [raw]
Subject: Re: Review of moving all DFS parameters to userspace

On 02/15/2011 01:48 AM, Luis R. Rodriguez wrote:
> On Mon, Feb 14, 2011 at 7:39 AM, Zefir Kurtisi
> <[email protected]> wrote:
>> On 02/01/2011 06:32 PM, John W. Linville wrote:
>>> On Tue, Feb 01, 2011 at 08:38:05AM -0800, Luis R. Rodriguez wrote:
>>>> I though we had reviewed the possibility of moving DFS parameters to
>>>> userspace but it seems that's not the case. We now at least know we
>>>> can keep the DFS regions: US, JP, ETSI, the next step is to determine
>>>> if the DFS parameters for these regions will come from userspace or
>>>> kernelspace. I'm inclined to support starting off with moving this to
>>>> kernelspace just to let us move forward with this support, and once in
>>>> kernel, review the possibility to move this out to userspace.
>>>>
>>>> Thoughts?
>>>
>>> Seems like a reasonable approach for the short term...better than
>>> locking-in userland ABI...
>>>
>>> John
>>
>> Sorry, I was not aware that the userspace DFS approach was already discussed
>> and rejected.
>
> 19:14 < *nbd> initially the pulse pattern matching will be somewhat hw specific
> 19:14 < *nbd> or at least driver specific
>
This discussion I most probably missed or forgot...

> So ideally if we can generalize things great, I really did not think
> we'd be able to get there on a first step.
>
Let's see how far we would need to specialise our generalised approach to make
it usable in real world environments.
>> I missed two IRC meetings in January and reading [1] sounded
>> to me that potential approaches are still evaluated.
>>
>> Anyhow, I meanwhile posted both approaches (kernel vs. userspace) that are
>> equivalent from functional point, assuming that a HW independent pattern
>> matching is what we need to implement for DFS radar detection.
>>
>> This in fact is still an open issue: Atheros claimed that detection is
>> HW-dependent while we have got up and (maybe not-so-perfectly ;)) running
>> HW-independen radar pattern detection
>
> That's cool ! However I was told that for some parameters you might
> see some values programmed into hw which won't immediately make sense
> given that the programmed values are there in consideration for a
> hardware quirk of some sort. Mahboob, what parameters were those?
>
For sure some parameters are HW dependent, e.g. the detection of chirping as
defined for radar test signal #4 by ETSI 1.5.1. But this can be perfectly
encapsuled in the driver: assume the HW detected a chirping pulse with 15us
width. This width would be outside the valid range for pulse pattern #4, but
since chirping was detected ath9k is quite sure that this was a type 4 pulse
and reports a pulse event with a width of e.g. 25us. The pattern detector
itself does not care about chirping - its criteria is solely the time stamp
and the width of the pulse, so the last provided pulse event will be
considered for pattern matching.

For the generic approach with pulse detection done in the driver and generic
pattern matching we assume that HW-dependency will be used to increase the
reliability of single pulse detections and that those detections are not
inter-dependent. If otherwise there is a dependency, e.g. you need to know
the last x pulse events to decide if the current one is also a pulse, then
the whole DFS thing is for sure driver dependent.

This is what only you at Atheros definitely know.

>> We are still waiting to get Atheros'
>> pattern detector source code to evaluate detection performance and finally
>> prove the benefit of a HW dependent implementation.
>
> That's being baked with legal.
>
Does this legal checks include approval that the DFS source code might be
integrated into ath9k?

>> Until then (and since the DFS activities degraded lastly) we will continue
>> fine-tuning our detectors based on the proposed design
>
> Driver or userspace?
>
Both are working on target, on host we are using the userspace one (since we
still fail to write error-free kernel code ;))

>> and move to the
>> finally chosen architecture as soon as an agreement is reached.
>
> Sorry for my delay on the first set of patches, I hope to send a v2
> hopefully by tomorrow..
>
Thanks, see you all on Tuesday.

Zefir
> Luis