mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 06:15:47 +00:00
ovsdb-idlc: Make no-op writes to write-only columns cheaper.
For 1000 tunnels with CFM enabled, this reduces CPU use from about 36% to about 30%. Bug #15171. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc.
|
||||
# Copyright (c) 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -353,6 +353,15 @@ class BaseType(object):
|
||||
else:
|
||||
return "%(dst)s = %(src)s;" % args
|
||||
|
||||
def assign_c_value_casting_away_const(self, dst, src):
|
||||
args = {'dst': dst, 'src': src}
|
||||
if self.ref_table_name:
|
||||
return ("%(dst)s = %(src)s->header_.uuid;") % args
|
||||
elif self.type == StringType:
|
||||
return "%(dst)s = CONST_CAST(char *, %(src)s);" % args
|
||||
else:
|
||||
return "%(dst)s = %(src)s;" % args
|
||||
|
||||
def initCDefault(self, var, is_optional):
|
||||
if self.ref_table_name:
|
||||
return "%s = NULL;" % var
|
||||
|
Reference in New Issue
Block a user