Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ipmctl create fail #160

Open
Taya666 opened this issue Jan 21, 2021 · 4 comments
Open

ipmctl create fail #160

Taya666 opened this issue Jan 21, 2021 · 4 comments

Comments

@Taya666
Copy link

Taya666 commented Jan 21, 2021

Hi,
I am new to use Optane DC. I try to use APP Direct region.
I run
sudo ipmctl create -goal PersistentMemoryType=AppDirect
It reports that

The following configuration will be applied:
 SocketID | DimmID | MemorySize | AppDirect1Size | AppDirect2Size 
==================================================================
 0x0000   | 0x0101 | 0.000 GiB  | 126.000 GiB    | 0.000 GiB
 0x0001   | 0x1101 | 0.000 GiB  | 126.000 GiB    | 0.000 GiB
Do you want to continue? [y/n] y
Create region configuration goal failed: Error 124 - Namespaces exist on specified DIMMs. They have to be removed before running this command.
WARNING: Removing Namespaces will erase existing data. Please make a backup first.

So I tried to delete the existing region and namespace follow #107. But I failed to delete regions.
I run ndctl destroy-namespace -f all. It reports

Error: destroy namespace: namespace3.0 failed to enable for zeroing, continuing

Error: destroy namespace: namespace2.0 failed to enable for zeroing, continuing

destroyed 0 namespaces

And sudo ipmctl delete -goal gets

Delete memory allocation goal from DIMM 0x0101: Error 122 - There is no goal configuration on DIMM.
Delete memory allocation goal from DIMM 0x1101: Error 122 - There is no goal configuration on DIMM.

The configurations in my server is below:
sudo ipmctl show -a -region
---ISetID=0x6413da90c4848a22---
SocketID=0x0000
PersistentMemoryType=AppDirectNotInterleaved
Capacity=126.000 GiB
FreeCapacity=0.000 GiB
HealthState=Healthy
DimmID=0x0101
---ISetID=0x7213da905f848a22---
SocketID=0x0001
PersistentMemoryType=AppDirectNotInterleaved
Capacity=126.000 GiB
FreeCapacity=0.000 GiB
HealthState=Healthy
DimmID=0x1101

ndctl list -Ni
[
{
"dev":"namespace3.0",
"mode":"raw",
"size":0,
"uuid":"00000000-0000-0000-0000-000000000000",
"sector_size":512,
"state":"disabled"
},
{
"dev":"namespace2.0",
"mode":"raw",
"size":0,
"uuid":"00000000-0000-0000-0000-000000000000",
"sector_size":512,
"state":"disabled"
}
]

ndctl list -Ri
[
{
"dev":"region1",
"size":0,
"available_size":0,
"type":"blk",
"state":"disabled",
"persistence_domain":"unknown"
},
{
"dev":"region3",
"size":135291469824,
"available_size":135291469824,
"type":"pmem",
"iset_id":3230769783061020672,
"persistence_domain":"unknown"
},
{
"dev":"region0",
"size":0,
"available_size":0,
"type":"blk",
"state":"disabled",
"persistence_domain":"unknown"
},
{
"dev":"region2",
"size":135291469824,
"available_size":135291469824,
"type":"pmem",
"iset_id":-660340293292589056,
"persistence_domain":"unknown"
}
]

@nolanhergert
Copy link
Contributor

I am not sure why ndctl is not able to delete disabled namespaces. I would ask on their GitHub page: https://github.com/pmem/ndctl/issues

Maybe there is a way to clear the LSA with ndctl like there is with ipmctl ("ipmctl delete -dimm -pcd LSA"). This command for ipmctl intentionally doesn't work in OS because we don't want to mess up Linux's understanding of the namespaces. However if you reboot to the UEFI HII menu we have an option to delete namespaces there. And if necessary, the delete -dimm command above will work on the UEFI shell, you just need our UEFI build of ipmctl.

And to echo the other thread, you delete regions by creating a new goal, which will reconfigure the modules on the next boot (delete the old regions and create new ones).

@kellycouch
Copy link
Contributor

Have you tried ndctl zero-labels command?
Agree with Nolan's suggestions:

  • reboot to UEFI and try removing namespaces, then create new goal request.
  • post issue to ndctl github to inquire about why it is failing to delete the namespaces.

@StevenPontsler
Copy link
Contributor

You could try adding the -v option to the ndctl command to get more verbose output. That might aid in understanding why the command is failing.

@shenben
Copy link

shenben commented Mar 14, 2023

lsmod | grep dax | awk '{print $1}' | xargs -r sudo rmmod
sudo ndctl destroy-namespace -f all
sudo ipmctl delete -goal
sudo reboot
sudo ipmctl create -goal PersistentMemoryType=AppDirect
sudo reboot

hopefully it helps to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants