Bug 210593 - net/samba36: Samba w/ aio throws ENOTSUPP errors on 11.0-ALPHA2
Summary: net/samba36: Samba w/ aio throws ENOTSUPP errors on 11.0-ALPHA2
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Only Me
Assignee: Timur I. Bakeyev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-26 17:49 UTC by John-Mark Gurney
Modified: 2017-10-30 14:37 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John-Mark Gurney freebsd_committer freebsd_triage 2016-06-26 17:49:20 UTC
$pkg info | grep samba
samba36-3.6.25_3               Free SMB and CIFS client and server for Unix

When accessing a samba server from MacOSX 10.10.5 w/ aio enabled via the
following in the global section:
   aio read size = 1
   aio write size = 1
   aio write behind = true

I get tons of errors:
[2016/06/25 13:07:16.538032,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.542241,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.543268,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.545097,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.651903,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.654807,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.673397,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.686022,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.744821,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.812774,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.839417,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.875530,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.877068,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.905727,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.906400,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.918365,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.919426,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.919999,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.953497,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported
[2016/06/25 13:07:16.965503,  0] smbd/aio.c:232(schedule_aio_read_and_X)
  schedule_aio_read_and_X: aio_read failed. Error Operation not supported

and so on...  This significantly impacts performance as Samba now
consumes a large amount of CPU time, I believe trying the aio call
multiple times, before it gives up, and tries a normal read or write..

After disabling this, CPU usage dropped from 60-90% down to ~5%...

There are many people who have aio turned on in their configs as this
is a recommended performance tuning option for Samba posted throughout
the inet.
Comment 1 Jilles Tjoelker freebsd_committer freebsd_triage 2016-07-03 12:57:49 UTC
You can set sysctl vfs.aio.enable_unsafe=1 to make aio behave much like kldload aio used to do: read/write requests to regular files are done by AIO daemons and cannot be aborted.
Comment 2 VK freebsd_triage 2016-10-18 00:01:22 UTC
net/samba36 expired and is removed from the tree:

https://svnweb.freebsd.org/ports?view=revision&revision=415323

Can we close this issue? Or does this problem affect newer versions of Samba as well?