Apenas olhando o código do kernel, isso não deve permitir a troca de um arquivo que está em uma montagem CIFS, então estou surpreso que isso funcione. Existem dois problemas genéricos com a troca em um sistema de arquivos em rede:
- A troca no Linux requer um mapeamento de bloco estático. É por isso que os arquivos de troca não podem ser esparsos, a menos que usem extensões não gravadas, e por que você precisa de um dispositivo de loop para colocar um arquivo de troca em sistemas de arquivos de gravação ou gravação em log. Você pode contornar isso em teoria usando um dispositivo de loop, mas isso deve ser um último recurso.
- Alguns protocolos ou configurações de autenticação exigem componentes do espaço do usuário e, se não ocuparem todo o espaço de endereço, você pode acabar em uma situação em que não pode trocar nada porque não pode executar o código do espaço do usuário porque você não tem memória para carregá-lo.
O CIFS sofre com o primeiro problema, e também o segundo se você estiver usando autenticação e o sistema não mantém uma conexão constante.
Você mencionou que está usando um Pi, sugiro pesquisar o uso do ZRAM e, possivelmente, um arquivo de troca local (os cartões SD decentes não são caros). Você pode até usar uma unidade flash USB, se necessário, em vez do cartão SD.
Alternativamente, e mais genericamente, se você tiver um sistema NAS razoável, você poderia procurar por meio de (em ordem geral de preferência) NBD, ATA sobre Ethernet ou iSCSI (que dependendo de como ele é configurado no Pi pode também sofrem da segunda limitação listada acima).