On 02/28/2012 09:06 AM,  Jason Wessel was caught saying:
> On 02/27/2012 05:33 PM, Andrei Warkentin wrote:
>>> From: "Jason Wessel"<[email protected]>
>>> To: "Andrei Warkentin"<[email protected]>
>>> Cc: [email protected], [email protected], "Andrei 
>>> Warkentin"<[email protected]>,
>>> [email protected], "Matt Mackall"<[email protected]>
>>> Sent: Monday, February 27, 2012 6:17:12 PM
>>> Subject: Re: [PATCHv3 1/3] NETPOLL: Extend rx_hook support.
>>>
>>>
>>> I am just now starting to look how this patch set compares to kgdboe.
>>>   For the kgdboe the patch is a bit different.  The kgdboe opted to
>>> just pass the skb so as to cut down on the number of arguments to
>>> the function call.
>>>
>>>  From the kgdboe patch:
>>>
>>> -       void (*rx_hook)(struct netpoll *, int, char *, int);
>>> +       void (*rx_hook)(struct netpoll *, int, char *, int, struct
>>> sk_buff *);
>>>
>>>
>> Interesting, I thought about passing the skb, but decided I didn't
>> want to copy and paste the skb parsing code, especially given
>> that it's always UDP anyway. I still have reservations about
>> passing the physical address, but I don't think anyone tried
>> to use netpoll or a non-ethernet device anyway.
>
> With some input from the netdev folks we should decide what makes the most 
> sense and stick with that implementation.  The previous kgdboe change to just 
> pass the skb was signed off long ago as something ok.
>
>>> +   while (atomic_read(&in_count) == 0)
>>> +           netpoll_poll(&np);
>>>
>>>
>>> If it is the case that you really can safely call the
>>> netpoll_poll_dev() without the locks then the horrible sync irq
>>> state etc... could go away in kgdboe, and then it would be worth
>>> considering digging up all the ethernet polling errata fixes that
>>> live of out the mainline and perhaps submit some for review.
>>>
>
> The code has changed since the last time that kgdboe actually worked.
> The v3.1 commit 234b921dbcf killed off the netpoll_poll() function
> as well as the exports needed to allow kgdboe to work as a kernel
> module.  The patch you created here also needs to once again export
> the netpoll_poll_dev() so that we can call it from a kernel module
> because kgdboe or the ethernet kdb patch you submitted should be able
> to be used a loadable module as well as a builtin.
>
>> I didn't look deeply at kgdboe (probably should have...). Anyway, 
>> netpoll_poll
>> doesn't seem to exist. netpoll_poll_dev is called from 
>> netpoll_send_skb_on_dev
>> and the only contract I see is running with the interrupts disabled - 
>> something
>> that is satisfied by running in the context of KDB.
>
> All that netpoll_poll() did was to call netpoll_poll_dev().  I have
> not yet looked at the differences between kgdboe and the netkdb code
> you proposed but I would have suspected it also falls victim to the
> ethernet preemption problem which prevented kgdboe from ever being
> considered for a mainline merge.  Certainly there are ways to fix this
> problem but most involved changes to scheduling, core net code, or
> substantial driver specific changes.
>
> I almost have kgdboe working against the 3.3 kernel so we can have
> both a code and functional comparison.  I would like to do some house
> cleaning and merging of all the other out of tree patches for things
> like kgdb over usb as well as kdb usb keyboard, so we can see if any
> of it makes sense to submit to the mainline.
>
>
>> This is slight OT, but...are WiFi drivers sufficiently similar that netpoll 
>> "just works?"
> Yes and no.  Yes, you could use the NET_POLL api to transmit packets
> if the driver implemented polling hooks, but no in the sense that most
> of the time you need a user space driver to manage the keys which are
> time sensitive for things like WPA (usually the job of wpa
> supplicant).  This is going to prevent you from having WiFi work at
> all while the kernel is in the critical exception state.
Possibly you could use JUST mac filtering on the WiFi thus avoiding the 
need for WPA.

>
> Jason.
>
> ------------------------------------------------------------------------------
> Keep Your Developer Skills Current with LearnDevNow!
> The most comprehensive online learning library for Microsoft developers
> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> Metro Style Apps, more. Free future releases when you subscribe now!
> http://p.sf.net/sfu/learndevnow-d2d
> _______________________________________________
> Kgdb-bugreport mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport
>

-- 
George Anzinger   [email protected]



------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Kgdb-bugreport mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport

Reply via email to