Nups patcher gcm software#
Its experimental software transactional memory support.
Is a bit problematic, because it affects PyPy as well, unless you want to use (GIL), which ensures that only one Python thread can run at a single time. This is easy to achieve with language binding generators such as CFFI,Ī further performance-related issue is Python's Global Interpreter Lock Non-performance-critical areas, such as the UI and database access, andĭrop to C or C++ only when it's required for for CPU intensive tasks.
Not all parts of a program have to be blazingly fast.Use an alternative Python implementation for impressive.However, it's often criticised for being slow. i40e_release_nvm(hw) + if (hw->flags & I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK) + i40e_release_nvm(hw) ĭiff -git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h index 00d4833e9925.0e8568719b4e 100644 - a/drivers/net/ethernet/intel/i40e/i40e_type.h +++ b/drivers/net/ethernet/intel/i40e/i40e_type.I love Python because it's an incredibly fun, expressive and productive Ret_code = _i40e_read_nvm_word(hw, offset, data) i40e_status ret_code + i40e_status ret_code = 0 - ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ) + if (hw->flags & I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK) + ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ) I40e_status i40e_read_nvm_word(struct i40e_hw *hw, u16 offset, + /* Newer versions of firmware require lock when reading the NVM */ + if (hw->aq.api_maj_ver > 1 || + (hw->aq.api_maj_ver = 1 & + hw->aq.api_min_ver >= 5)) + hw->flags |= I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK +
Hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE Signed-off-by: Jacob Keller Tested-by: Andrew Bowers Signed-off-by: Jeff Kirsher ĭrivers/net/ethernet/intel/i40e/i40e_adminq.c | 6 ++++++ĭrivers/net/ethernet/intel/i40e/i40e_common.c | 3 ++-ĭrivers/net/ethernet/intel/i40e/i40e_nvm.c | 8 +++++-ĭrivers/net/ethernet/intel/i40e/i40e_type.h | 1 +Ĥ files changed, 14 insertions(+), 4 deletions(-)ĭiff -git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c index 9dcb2a961197.9af74253c3f7 100644 - a/drivers/net/ethernet/intel/i40e/i40e_adminq.c +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c -613,6 +613,12 i40e_status i40e_init_adminq(struct i40e_hw *hw) The NVM), or if we're currently running 1.5 or newer firmware. To synchronize NVM reads even on devices which don't strictlyĭoing so can cause a regression on older firmware prior to 1.5,Įspecially when downgrading the firmware.įix this by only grabbing the lock if we're running on an X722ĭevice (which requires the lock as it uses the AdminQ to read Reads on all devices") we've used the NVM lock Since commit 96a39aed25e6 ("i40e: Acquire NVM lock before Subject: i40e: Fix for NUP NVM image downgrade failure Received: from orsmga002.jf. ()īy fmsmga102.fm. with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384