Displaying 14 results from an estimated 14 matches for "bypass_lock".
2018 Apr 11
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...include <linux/rtnetlink.h>
>+#include <linux/if_vlan.h>
>+#include <linux/pci.h>
>+#include <net/sch_generic.h>
>+#include <uapi/linux/if_arp.h>
>+#include <net/bypass.h>
>+
>+static LIST_HEAD(bypass_master_list);
>+static DEFINE_SPINLOCK(bypass_lock);
>+
>+static int bypass_slave_pre_register(struct net_device *slave_netdev,
>+ struct net_device *bypass_netdev,
>+ struct bypass_ops *bypass_ops)
>+{
>+ struct bypass_info *bi;
>+ bool backup;
>+
>+ if (bypass_ops) {
>+ if (!bypass_ops->slave_pre_...
2018 Apr 11
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...include <linux/rtnetlink.h>
>+#include <linux/if_vlan.h>
>+#include <linux/pci.h>
>+#include <net/sch_generic.h>
>+#include <uapi/linux/if_arp.h>
>+#include <net/bypass.h>
>+
>+static LIST_HEAD(bypass_master_list);
>+static DEFINE_SPINLOCK(bypass_lock);
>+
>+static int bypass_slave_pre_register(struct net_device *slave_netdev,
>+ struct net_device *bypass_netdev,
>+ struct bypass_ops *bypass_ops)
>+{
>+ struct bypass_info *bi;
>+ bool backup;
>+
>+ if (bypass_ops) {
>+ if (!bypass_ops->slave_pre_...
2018 Apr 10
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...clude <linux/netpoll.h>
+#include <linux/rtnetlink.h>
+#include <linux/if_vlan.h>
+#include <linux/pci.h>
+#include <net/sch_generic.h>
+#include <uapi/linux/if_arp.h>
+#include <net/bypass.h>
+
+static LIST_HEAD(bypass_master_list);
+static DEFINE_SPINLOCK(bypass_lock);
+
+static int bypass_slave_pre_register(struct net_device *slave_netdev,
+ struct net_device *bypass_netdev,
+ struct bypass_ops *bypass_ops)
+{
+ struct bypass_info *bi;
+ bool backup;
+
+ if (bypass_ops) {
+ if (!bypass_ops->slave_pre_register)
+ return -EINVAL;
+
+ retur...
2018 Apr 11
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...t; +#include <linux/if_vlan.h>
>> +#include <linux/pci.h>
>> +#include <net/sch_generic.h>
>> +#include <uapi/linux/if_arp.h>
>> +#include <net/bypass.h>
>> +
>> +static LIST_HEAD(bypass_master_list);
>> +static DEFINE_SPINLOCK(bypass_lock);
>> +
>> +static int bypass_slave_pre_register(struct net_device *slave_netdev,
>> + struct net_device *bypass_netdev,
>> + struct bypass_ops *bypass_ops)
>> +{
>> + struct bypass_info *bi;
>> + bool backup;
>> +
>> + if (bypass...
2018 Apr 18
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...;
>> > +#include <linux/pci.h>
>> > +#include <net/sch_generic.h>
>> > +#include <uapi/linux/if_arp.h>
>> > +#include <net/bypass.h>
>> > +
>> > +static LIST_HEAD(bypass_master_list);
>> > +static DEFINE_SPINLOCK(bypass_lock);
>> > +
>> > +static int bypass_slave_pre_register(struct net_device *slave_netdev,
>> > + struct net_device *bypass_netdev,
>> > + struct bypass_ops *bypass_ops)
>> > +{
>> > + struct bypass_info *bi;
>> > + bool backu...
2018 Apr 18
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...;
>> > +#include <linux/pci.h>
>> > +#include <net/sch_generic.h>
>> > +#include <uapi/linux/if_arp.h>
>> > +#include <net/bypass.h>
>> > +
>> > +static LIST_HEAD(bypass_master_list);
>> > +static DEFINE_SPINLOCK(bypass_lock);
>> > +
>> > +static int bypass_slave_pre_register(struct net_device *slave_netdev,
>> > + struct net_device *bypass_netdev,
>> > + struct bypass_ops *bypass_ops)
>> > +{
>> > + struct bypass_info *bi;
>> > + bool backu...
2018 Apr 10
6
[RFC PATCH net-next v6 0/4] Enable virtio_net to act as a backup for a passthru device
The main motivation for this patch is to enable cloud service providers
to provide an accelerated datapath to virtio-net enabled VMs in a
transparent manner with no/minimal guest userspace changes. This also
enables hypervisor controlled live migration to be supported with VMs that
have direct attached SR-IOV VF devices.
Patch 1 introduces a new feature bit VIRTIO_NET_F_BACKUP that can be
used
2018 Apr 18
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...9;
>
><snip>
>
>
>> +
>> +static struct net_device *bypass_master_get_bymac(u8 *mac,
>> + struct bypass_ops **ops)
>> +{
>> + struct bypass_master *bypass_master;
>> + struct net_device *bypass_netdev;
>> +
>> + spin_lock(&bypass_lock);
>> + list_for_each_entry(bypass_master, &bypass_master_list, list) {
>> > > As I wrote the last time, you don't need this list, spinlock.
>> > > You can do just something like:
>> > > for_each_net(net) {
>> > >...
2018 Apr 18
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...9;
>
><snip>
>
>
>> +
>> +static struct net_device *bypass_master_get_bymac(u8 *mac,
>> + struct bypass_ops **ops)
>> +{
>> + struct bypass_master *bypass_master;
>> + struct net_device *bypass_netdev;
>> +
>> + spin_lock(&bypass_lock);
>> + list_for_each_entry(bypass_master, &bypass_master_list, list) {
>> > > As I wrote the last time, you don't need this list, spinlock.
>> > > You can do just something like:
>> > > for_each_net(net) {
>> > >...
2018 Apr 18
4
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...+static struct net_device *bypass_master_get_bymac(u8 *mac,
>> >> + struct bypass_ops **ops)
>> >> +{
>> >> + struct bypass_master *bypass_master;
>> >> + struct net_device *bypass_netdev;
>> >> +
>> >> + spin_lock(&bypass_lock);
>> >> + list_for_each_entry(bypass_master, &bypass_master_list, list) {
>> >> > > As I wrote the last time, you don't need this list, spinlock.
>> >> > > You can do just something like:
>> >> > > for_each_net(net)...
2018 Apr 18
4
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...+static struct net_device *bypass_master_get_bymac(u8 *mac,
>> >> + struct bypass_ops **ops)
>> >> +{
>> >> + struct bypass_master *bypass_master;
>> >> + struct net_device *bypass_netdev;
>> >> +
>> >> + spin_lock(&bypass_lock);
>> >> + list_for_each_entry(bypass_master, &bypass_master_list, list) {
>> >> > > As I wrote the last time, you don't need this list, spinlock.
>> >> > > You can do just something like:
>> >> > > for_each_net(net)...
2018 Apr 18
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...don't get any, i will go
with 'stolen'
<snip>
> +
> +static struct net_device *bypass_master_get_bymac(u8 *mac,
> + struct bypass_ops **ops)
> +{
> + struct bypass_master *bypass_master;
> + struct net_device *bypass_netdev;
> +
> + spin_lock(&bypass_lock);
> + list_for_each_entry(bypass_master, &bypass_master_list, list) {
>>> As I wrote the last time, you don't need this list, spinlock.
>>> You can do just something like:
>>> for_each_net(net) {
>>> for_each_netdev(net, dev...
2018 Apr 18
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...>> +
> >> +static struct net_device *bypass_master_get_bymac(u8 *mac,
> >> + struct bypass_ops **ops)
> >> +{
> >> + struct bypass_master *bypass_master;
> >> + struct net_device *bypass_netdev;
> >> +
> >> + spin_lock(&bypass_lock);
> >> + list_for_each_entry(bypass_master, &bypass_master_list, list) {
> >> > > As I wrote the last time, you don't need this list, spinlock.
> >> > > You can do just something like:
> >> > > for_each_net(net) {
> >>...
2018 Apr 18
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...t_device *bypass_master_get_bymac(u8 *mac,
>>>>> + struct bypass_ops **ops)
>>>>> +{
>>>>> + struct bypass_master *bypass_master;
>>>>> + struct net_device *bypass_netdev;
>>>>> +
>>>>> + spin_lock(&bypass_lock);
>>>>> + list_for_each_entry(bypass_master, &bypass_master_list, list) {
>>>>>>> As I wrote the last time, you don't need this list, spinlock.
>>>>>>> You can do just something like:
>>>>>>> for_each_n...