DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Mohakud, Amiya Ranjan" <amohakud@rbbn.com>
To: "Burakov, Anatoly" <anatoly.burakov@intel.com>, dpdk-dev <dev@dpdk.org>
Subject: Re: [dpdk-dev] eal: DPDK: 18.11.6 version rte_eal_init() function cleans the runtime directory in 5.4.35 kernel
Date: Fri, 16 Oct 2020 05:34:05 +0000	[thread overview]
Message-ID: <DM6PR03MB3547259B9DCE963DFD841D07B9030@DM6PR03MB3547.namprd03.prod.outlook.com> (raw)
In-Reply-To: <edd2a559-d18c-1419-300a-08e9f72504aa@intel.com>

Hi Anatoly,
Thanks for your confirmation. Yes, you got it right now. The primary process removing *its own* own files for some locking issue, which should not be the case.

Just to clarify:
Removing stuff at the end of the init process is intended process. This
is because every process will create their own shadow page tables, and
defunct processes will not remove them afterwards. This is done because
otherwise the tmpfs will slowly fill up with unused processes' fbarrays.

What is *not* intended behavior is primary process removing *its own*
filesystem entries - this shouldn't happen, and in fact wouldn't have
happened if the file locking was working as it was intended. Normally,
when seeing files that are locked (in use), EAL will skip them, so that
only files that are not in use would be deleted. It looks like you're
observing exactly that - primary process removing *its own* files for
some reason.

Regards
Amiya

From: Burakov, Anatoly <anatoly.burakov@intel.com>
Sent: 16 October 2020 00:04
To: Mohakud, Amiya Ranjan <amohakud@rbbn.com>; dpdk-dev <dev@dpdk.org>
Cc: Dey, Souvik <sodey@rbbn.com>
Subject: Re: [dpdk-dev] eal: DPDK: 18.11.6 version rte_eal_init() function cleans the runtime directory in 5.4.35 kernel

________________________________
NOTICE: This email was received from an EXTERNAL sender
________________________________

On 15-Oct-20 7:01 PM, Burakov, Anatoly wrote:
> On 15-Oct-20 5:14 PM, Mohakud, Amiya Ranjan wrote:
>> + Souvik
>>
>> *From:*Mohakud, Amiya Ranjan
>> *Sent:* 15 October 2020 21:38
>> *To:* Burakov, Anatoly <anatoly.burakov@intel.com<mailto:anatoly.burakov@intel.com>>; dpdk-dev
>> <dev@dpdk.org<mailto:dev@dpdk.org>>
>> *Subject:* RE: [dpdk-dev] eal: DPDK: 18.11.6 version rte_eal_init()
>> function cleans the runtime directory in 5.4.35 kernel
>>
>> Hi Anatoly - Thanks for helping on this.
>>
>> I am not aware, where the primary process re-creates the files. Can
>> you please point me to that? As per my code browsing and
>> understanding, I can see, fbarray_memzone file gets created in
>> rte_eal_memzone_init()->rte_fbarray_init() and it stays there till
>> eal_clean_runtime_dir() gets called towards end of rte_eal_init().
>> This does not get deleted in 4.19 kernel, but in 5.4, it does.
>>
>> /I'm not sure i understand. Primary process is supposed to clear the
>> files. It will then recreate them. Are you suggesting that it's clearing
>> them *after* it has created them?/
>>
>> /
>> /Going by my observation, the file highlighted below gets deleted by
>> the time rte_eal_init() is over.
>>
>> srwxr-xr-x 1 root root      0 Oct 15 11:24 mp_socket
>>
>> -rw------- 1 root root  12432 Oct 15 11:24 hugepage_info
>>
>> -rw------- 1 root root 188416 Oct 15 11:24 fbarray_memzone
>>
>> -rw------- 1 root root 397312 Oct 15 11:24 fbarray_memseg-2048k-0-1
>>
>> -rw------- 1 root root 397312 Oct 15 11:24 fbarray_memseg-2048k-0-0
>>
>> -rw------- 1 root root 397312 Oct 15 11:24 fbarray_memseg-2048k-0-3
>>
>> -rw------- 1 root root 397312 Oct 15 11:24 fbarray_memseg-2048k-0-2
>>
>> -rw------- 1 root root  16529 Oct 15 11:24 config
>>
>> Please reach out to me for further clarification.
>>
>> Regards
>>
>> Amiya
>
> Hi,
>
> Sorry, yes, you're right (it's been a while since i looked at the code),
> it removes unused stuff at the end of init. There's even a comment
> explaining why that's done :D
>
> It sounds like closing the file descriptor also drops the lock. This
> locking business is a huge pain because we have to support old kernels
> which don't have the only sane file locking implementation that Linux has.
>
> While i wouldn't go as far as to say "this is a kernel regression" as
> most likely it's me who's at fault here, but this definitely shouldn't
> happen. Unfortunately, i won't be online for the next two weeks, but
> i'll definitely look into this after i'm back, so thanks for your report.
>

Hi,

Just to clarify:

Removing stuff at the end of the init process is intended process. This
is because every process will create their own shadow page tables, and
defunct processes will not remove them afterwards. This is done because
otherwise the tmpfs will slowly fill up with unused processes' fbarrays.

What is *not* intended behavior is primary process removing *its own*
filesystem entries - this shouldn't happen, and in fact wouldn't have
happened if the file locking was working as it was intended. Normally,
when seeing files that are locked (in use), EAL will skip them, so that
only files that are not in use would be deleted. It looks like you're
observing exactly that - primary process removing *its own* files for
some reason.

--
Thanks,
Anatoly

  reply	other threads:[~2020-10-16  5:34 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <DM6PR03MB3547EDC8BAAD1DA17AE4470EB9020@DM6PR03MB3547.namprd03.prod.outlook.com>
2020-10-15 13:26 ` Mohakud, Amiya Ranjan
2020-10-15 13:52   ` Burakov, Anatoly
2020-10-15 14:43     ` Mohakud, Amiya Ranjan
2020-10-15 15:08       ` Burakov, Anatoly
2020-10-15 16:07         ` Mohakud, Amiya Ranjan
2020-10-15 16:14           ` Mohakud, Amiya Ranjan
2020-10-15 18:01             ` Burakov, Anatoly
2020-10-15 18:34               ` Burakov, Anatoly
2020-10-16  5:34                 ` Mohakud, Amiya Ranjan [this message]
2020-10-22  7:12                   ` Mohakud, Amiya Ranjan
     [not found]                     ` <DM6PR03MB3547C263D4E20B3DD124AD43B91D0@DM6PR03MB3547.namprd03.prod.outlook.com>
2020-10-28  7:00                       ` Mohakud, Amiya Ranjan
2020-10-29 15:51                         ` Burakov, Anatoly
2020-10-29 17:10                           ` Burakov, Anatoly
2020-10-29 17:40                             ` Mohakud, Amiya Ranjan
2020-10-30 10:00                               ` Burakov, Anatoly
2021-01-04  7:53                                 ` Mohakud, Amiya Ranjan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM6PR03MB3547259B9DCE963DFD841D07B9030@DM6PR03MB3547.namprd03.prod.outlook.com \
    --to=amohakud@rbbn.com \
    --cc=anatoly.burakov@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).