mbox series

[ovs-dev,v2,0/2] ovn-controller: Add a new thread in pinctrl module to process packet-ins

Message ID 20190312163002.17607-1-nusiddiq@redhat.com
Headers show
Series ovn-controller: Add a new thread in pinctrl module to process packet-ins | expand

Message

Numan Siddique March 12, 2019, 4:30 p.m. UTC
From: Numan Siddique <nusiddiq@redhat.com>

This series attempts to add a new thread in pinctrl module. This thread
will handle the packet-ins.

v1 -> v2
------
  * Added a new patch p1 to the series suggessted by Mark.
  * Addressed the review comments from Han and Mark.


Numan Siddique (2):
  ovn pinctrl: Pass 'struct rconn *swconn' to all the functions which
    use it
  ovn-controller: Add a new thread in pinctrl module to handle
    packet-ins.

 ovn/controller/pinctrl.c | 756 ++++++++++++++++++++++++++++++---------
 1 file changed, 587 insertions(+), 169 deletions(-)

Comments

Mark Michelson March 15, 2019, 1:17 a.m. UTC | #1
Hi Numan, looks great!

Acked-by: Mark Michelson <mmichels@redhat.com>

On 3/12/19 12:30 PM, nusiddiq@redhat.com wrote:
> From: Numan Siddique <nusiddiq@redhat.com>
> 
> This series attempts to add a new thread in pinctrl module. This thread
> will handle the packet-ins.
> 
> v1 -> v2
> ------
>    * Added a new patch p1 to the series suggessted by Mark.
>    * Addressed the review comments from Han and Mark.
> 
> 
> Numan Siddique (2):
>    ovn pinctrl: Pass 'struct rconn *swconn' to all the functions which
>      use it
>    ovn-controller: Add a new thread in pinctrl module to handle
>      packet-ins.
> 
>   ovn/controller/pinctrl.c | 756 ++++++++++++++++++++++++++++++---------
>   1 file changed, 587 insertions(+), 169 deletions(-)
>
Ben Pfaff March 15, 2019, 9:11 p.m. UTC | #2
On Tue, Mar 12, 2019 at 10:00:02PM +0530, nusiddiq@redhat.com wrote:
> From: Numan Siddique <nusiddiq@redhat.com>
> 
> This series attempts to add a new thread in pinctrl module. This thread
> will handle the packet-ins.
> 
> v1 -> v2
> ------
>   * Added a new patch p1 to the series suggessted by Mark.
>   * Addressed the review comments from Han and Mark.

Thanks for the series.

Does this depend on some other series?  I get a cascade of errors from
Clang:

../ovn/controller/pinctrl.c:65:18: error: use of undeclared identifier 'pinctrl_mutex'; did you mean 'pinctrl_run'?
../include/openvswitch/compiler.h:124:45: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
../ovn/controller/pinctrl.c:65:5: error: 'exclusive_locks_required' attribute requires arguments whose type is annotated with 'capability' attribute; type here is 'void (struct ovsdb_idl_txn *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const struct sbrec_chassis *, const struct hmap *, const struct sset *)' [-Werror,-Wthread-safety-attributes]
../include/openvswitch/compiler.h:124:20: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.c:73:18: error: use of undeclared identifier 'pinctrl_mutex'; did you mean 'pinctrl_run'?
../include/openvswitch/compiler.h:124:45: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
../ovn/controller/pinctrl.c:73:5: error: 'exclusive_locks_required' attribute requires arguments whose type is annotated with 'capability' attribute; type here is 'void (struct ovsdb_idl_txn *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const struct sbrec_chassis *, const struct hmap *, const struct sset *)' [-Werror,-Wthread-safety-attributes]
../include/openvswitch/compiler.h:124:20: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.c:79:18: error: use of undeclared identifier 'pinctrl_mutex'; did you mean 'pinctrl_run'?
../include/openvswitch/compiler.h:124:45: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
../ovn/controller/pinctrl.c:79:5: error: 'exclusive_locks_required' attribute requires arguments whose type is annotated with 'capability' attribute; type here is 'void (struct ovsdb_idl_txn *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const struct sbrec_chassis *, const struct hmap *, const struct sset *)' [-Werror,-Wthread-safety-attributes]
../include/openvswitch/compiler.h:124:20: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.c:92:18: error: use of undeclared identifier 'pinctrl_mutex'; did you mean 'pinctrl_run'?
../include/openvswitch/compiler.h:124:45: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
../ovn/controller/pinctrl.c:92:5: error: 'exclusive_locks_required' attribute requires arguments whose type is annotated with 'capability' attribute; type here is 'void (struct ovsdb_idl_txn *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const struct sbrec_chassis *, const struct hmap *, const struct sset *)' [-Werror,-Wthread-safety-attributes]
../include/openvswitch/compiler.h:124:20: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.c:94:18: error: use of undeclared identifier 'pinctrl_mutex'; did you mean 'pinctrl_run'?
../include/openvswitch/compiler.h:124:45: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
../ovn/controller/pinctrl.c:94:5: error: 'exclusive_locks_required' attribute requires arguments whose type is annotated with 'capability' attribute; type here is 'void (struct ovsdb_idl_txn *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const struct sbrec_chassis *, const struct hmap *, const struct sset *)' [-Werror,-Wthread-safety-attributes]
../include/openvswitch/compiler.h:124:20: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.c:119:18: error: use of undeclared identifier 'pinctrl_mutex'; did you mean 'pinctrl_run'?
../include/openvswitch/compiler.h:124:45: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
../ovn/controller/pinctrl.c:119:5: error: 'exclusive_locks_required' attribute requires arguments whose type is annotated with 'capability' attribute; type here is 'void (struct ovsdb_idl_txn *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const struct sbrec_chassis *, const struct hmap *, const struct sset *)' [-Werror,-Wthread-safety-attributes]
../include/openvswitch/compiler.h:124:20: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.c:122:18: error: use of undeclared identifier 'pinctrl_mutex'; did you mean 'pinctrl_run'?
../include/openvswitch/compiler.h:124:45: note: expanded from macro 'OVS_REQUIRES'
../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
../ovn/controller/pinctrl.c:122:5: error: 'exclusive_locks_required' attribute requires arguments whose type is annotated with 'capability' attribute; type here is 'void (struct ovsdb_idl_txn *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const struct sbrec_chassis *, const struct hmap *, const struct sset *)' [-Werror,-Wthread-safety-attributes]
../include/openvswitch/compiler.h:124:20: note: expanded from macro 'OVS_REQUIRES'
Numan Siddique March 16, 2019, 5:59 a.m. UTC | #3
On Sat, Mar 16, 2019 at 2:41 AM Ben Pfaff <blp@ovn.org> wrote:

> On Tue, Mar 12, 2019 at 10:00:02PM +0530, nusiddiq@redhat.com wrote:
> > From: Numan Siddique <nusiddiq@redhat.com>
> >
> > This series attempts to add a new thread in pinctrl module. This thread
> > will handle the packet-ins.
> >
> > v1 -> v2
> > ------
> >   * Added a new patch p1 to the series suggessted by Mark.
> >   * Addressed the review comments from Han and Mark.
>
> Thanks for the series.
>
> Does this depend on some other series?  I get a cascade of errors from
> Clang:
>
> ../ovn/controller/pinctrl.c:65:18: error: use of undeclared identifier
> 'pinctrl_mutex'; did you mean 'pinctrl_run'?
> ../include/openvswitch/compiler.h:124:45: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
> ../ovn/controller/pinctrl.c:65:5: error: 'exclusive_locks_required'
> attribute requires arguments whose type is annotated with 'capability'
> attribute; type here is 'void (struct ovsdb_idl_txn *, struct
> ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *,
> struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index
> *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const
> struct sbrec_chassis *, const struct hmap *, const struct sset *)'
> [-Werror,-Wthread-safety-attributes]
> ../include/openvswitch/compiler.h:124:20: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.c:73:18: error: use of undeclared identifier
> 'pinctrl_mutex'; did you mean 'pinctrl_run'?
> ../include/openvswitch/compiler.h:124:45: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
> ../ovn/controller/pinctrl.c:73:5: error: 'exclusive_locks_required'
> attribute requires arguments whose type is annotated with 'capability'
> attribute; type here is 'void (struct ovsdb_idl_txn *, struct
> ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *,
> struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index
> *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const
> struct sbrec_chassis *, const struct hmap *, const struct sset *)'
> [-Werror,-Wthread-safety-attributes]
> ../include/openvswitch/compiler.h:124:20: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.c:79:18: error: use of undeclared identifier
> 'pinctrl_mutex'; did you mean 'pinctrl_run'?
> ../include/openvswitch/compiler.h:124:45: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
> ../ovn/controller/pinctrl.c:79:5: error: 'exclusive_locks_required'
> attribute requires arguments whose type is annotated with 'capability'
> attribute; type here is 'void (struct ovsdb_idl_txn *, struct
> ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *,
> struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index
> *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const
> struct sbrec_chassis *, const struct hmap *, const struct sset *)'
> [-Werror,-Wthread-safety-attributes]
> ../include/openvswitch/compiler.h:124:20: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.c:92:18: error: use of undeclared identifier
> 'pinctrl_mutex'; did you mean 'pinctrl_run'?
> ../include/openvswitch/compiler.h:124:45: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
> ../ovn/controller/pinctrl.c:92:5: error: 'exclusive_locks_required'
> attribute requires arguments whose type is annotated with 'capability'
> attribute; type here is 'void (struct ovsdb_idl_txn *, struct
> ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *,
> struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index
> *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const
> struct sbrec_chassis *, const struct hmap *, const struct sset *)'
> [-Werror,-Wthread-safety-attributes]
> ../include/openvswitch/compiler.h:124:20: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.c:94:18: error: use of undeclared identifier
> 'pinctrl_mutex'; did you mean 'pinctrl_run'?
> ../include/openvswitch/compiler.h:124:45: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
> ../ovn/controller/pinctrl.c:94:5: error: 'exclusive_locks_required'
> attribute requires arguments whose type is annotated with 'capability'
> attribute; type here is 'void (struct ovsdb_idl_txn *, struct
> ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *,
> struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index
> *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const
> struct sbrec_chassis *, const struct hmap *, const struct sset *)'
> [-Werror,-Wthread-safety-attributes]
> ../include/openvswitch/compiler.h:124:20: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.c:119:18: error: use of undeclared identifier
> 'pinctrl_mutex'; did you mean 'pinctrl_run'?
> ../include/openvswitch/compiler.h:124:45: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
> ../ovn/controller/pinctrl.c:119:5: error: 'exclusive_locks_required'
> attribute requires arguments whose type is annotated with 'capability'
> attribute; type here is 'void (struct ovsdb_idl_txn *, struct
> ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *,
> struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index
> *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const
> struct sbrec_chassis *, const struct hmap *, const struct sset *)'
> [-Werror,-Wthread-safety-attributes]
> ../include/openvswitch/compiler.h:124:20: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.c:122:18: error: use of undeclared identifier
> 'pinctrl_mutex'; did you mean 'pinctrl_run'?
> ../include/openvswitch/compiler.h:124:45: note: expanded from macro
> 'OVS_REQUIRES'
> ../ovn/controller/pinctrl.h:34:6: note: 'pinctrl_run' declared here
> ../ovn/controller/pinctrl.c:122:5: error: 'exclusive_locks_required'
> attribute requires arguments whose type is annotated with 'capability'
> attribute; type here is 'void (struct ovsdb_idl_txn *, struct
> ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index *,
> struct ovsdb_idl_index *, struct ovsdb_idl_index *, struct ovsdb_idl_index
> *, const struct sbrec_dns_table *, const struct ovsrec_bridge *, const
> struct sbrec_chassis *, const struct hmap *, const struct sset *)'
> [-Werror,-Wthread-safety-attributes]
> ../include/openvswitch/compiler.h:124:20: note: expanded from macro
> 'OVS_REQUIRES'
>

Oops. My bad. I forgot to run with "clang".

I fixed the errors and submitted v3 -
https://patchwork.ozlabs.org/project/openvswitch/list/?series=97473

Thanks
Numan