'Mark the given location as changed, broadcast updates if needed.'

def mark_changed(self, where='host'):

    if (where not in self._targets):
        raise ValueError(('"%s"    is    not    a    valid    target' % where))
    if (where == 'host'):
        self._invalidate('gpu')
        if ((self._gpu is not None) and (sys.getrefcount(self._gpu) > 2)):
            self._sync('gpu')
    elif (where == 'gpu'):
        self._invalidate('host')
        if ((self._host is not None) and (sys.getrefcount(self._host) > 2)):
            self._sync('host')
