[ovs-git] [openvswitch/ovs] 73e713: util: Add PADDED_MEMBERS_CACHELINE_MARKER macro to...

GitHub noreply at github.com
Thu Aug 3 18:33:46 UTC 2017


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 73e713fc7b69984f75e5947397f9599eb4fb0f83
      https://github.com/openvswitch/ovs/commit/73e713fc7b69984f75e5947397f9599eb4fb0f83
  Author: Bhanuprakash Bodireddy <bhanuprakash.bodireddy at intel.com>
  Date:   2017-08-03 (Thu, 03 Aug 2017)

  Changed paths:
    M include/openvswitch/util.h
    M lib/util.h

  Log Message:
  -----------
  util: Add PADDED_MEMBERS_CACHELINE_MARKER macro to mark cachelines.

PADDED_MEMBERS_CACHELINE_MARKER macro introduces a way to mark
cachelines.

This macro expands to an anonymous union containing cacheline marker,
members in nested anonymous structure, followed by array of bytes that
is multiple of UNIT bytes.

Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy at intel.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>


  Commit: 99fc16c036f7e6b978a41cce7dc995660d140d96
      https://github.com/openvswitch/ovs/commit/99fc16c036f7e6b978a41cce7dc995660d140d96
  Author: Bhanuprakash Bodireddy <bhanuprakash.bodireddy at intel.com>
  Date:   2017-08-03 (Thu, 03 Aug 2017)

  Changed paths:
    M lib/packets.h

  Log Message:
  -----------
  packets: Reorganize the pkt_metadata structure.

pkt_metadata_init() is called for every packet in userspace datapath and
initializes few members in pkt_metadata. Before this the members that
needs to be initialized are prefetched using pkt_metadata_prefetch_init().

The above functions are critical to the userspace datapath performance
and should be in sync. Any changes to the pkt_metadata should also include
changes to metadata_init() and prefetch_init() if necessary.

This commit slightly refactors the pkt_metadata structure and introduces
cache line markers to catch any violations to the structure. Also only
prefetch the cachelines having the members that needs to be zeroed out.

Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy at intel.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>


Compare: https://github.com/openvswitch/ovs/compare/fbe061cbec75...99fc16c036f7


More information about the git mailing list